1. Codificación Alfanumérica

El ordenador no solo procesa datos numéricos, también procesa datos alfanuméricos (caracteres). Estos, al ser datos con los que no se realizan operaciones, pueden ser creados utilizando tablas establecidas por acuerdo.

Sistemas de Codificación Estándar

Los sistemas de codificación estándar más importantes son:

  • ASCII: Utiliza 7 bits para representar cada carácter. Los 32 primeros son de control, no imprimibles y actualmente obsoletos, como el código 10 que hacía a la impresora saltar a la siguiente línea.
  • Latin-1: Codificación de 8 bits. Idéntico a ASCII hasta el carácter 127. Desde el 128 hasta el 255 incluye vocales acentuadas y la ‘ñ’. Sirve para los caracteres de los alfabetos de Europa Occidental.
  • ISO-8859-1: Codificación Estándar de la IANA de 1992 de 8 bits, utilizada para la codificación de texto enviado por Internet. Para indicar que en una página HTML los caracteres están codificados en formato ISO-8859-1 debe aparecer: <meta charset="iso-8859-1">.
  • Unicode (UTF-8): Universal Code. Utiliza 16 bits para representar caracteres alfanuméricos. UTF-8 (8-bit Unicode Transformation Format) es una parte del estándar Unicode compatible con ASCII. La IETF (Internet Engineering Task Force) define que UTF-8 debe estar soportada por todos los protocolos de Internet. Actualmente se tiende a tener todas las aplicaciones y bases de datos con la información codificada en UTF-8. Ejemplo: Para indicar que en una página HTML los caracteres están codificados en formato UTF-8 debe aparecer: <meta charset="utf-8">.

2. La Arquitectura de Von Neumann

Estableció el modelo básico de los computadores digitales en 1946. Construyó una computadora con programas almacenados; hasta entonces trabajaban con programas cableados. Su idea principal consistió en conectar permanentemente las unidades de las computadoras, siendo coordinado su funcionamiento por un elemento de control. Esta tecnología sigue vigente, aunque con modificaciones.

Elementos Funcionales de Von Neumann

La arquitectura de Von Neumann se compone de 4 elementos funcionales:

  • Unidad Central de Proceso (CPU, Central Process Unit): Considerada como el cerebro del ordenador.
  • Memoria Principal (MP): Donde se almacenan datos y programas en ejecución.
  • Unidad de Entrada y Salida (I/O): Periféricos de entrada, salida y entrada-salida, para introducir datos en el ordenador o mostrar los datos procedentes del ordenador. Permiten comunicar al ordenador con el exterior.
  • Buses: Interconectan los tres elementos anteriores a través de un conjunto de líneas que llevan señales de control (bus de control), datos (bus de datos) y direcciones (bus de direcciones). Permiten a la CPU seleccionar a qué direcciones de memoria y dispositivos desea acceder.

3. Unidad de Proceso (CPU)

Su función es controlar todo el sistema y ejecutar las instrucciones que se encuentran en la memoria principal. Las instrucciones se procesan de forma secuencial, leyéndose de posiciones consecutivas de memoria (tras ejecutar la instrucción que se encuentra en la dirección $x$ se ejecuta la instrucción que está en la dirección $x+1$ y así sucesivamente), lo que se conoce como SECUENCIAMIENTO IMPLÍCITO. En la actualidad es un circuito integrado llamado Microprocesador.

Componentes de la CPU

La CPU está compuesta por:

  • La Unidad de Control (UC): Busca las instrucciones en la MP, las interpreta y envía órdenes para ejecutarlas a otras unidades, generando las señales de control y estado necesarias para lograrlo.
  • La ALU (Unidad Aritmético-Lógica): Lleva a cabo operaciones aritméticas y lógicas.
  • Los Registros: Constituyen el almacenamiento interno de la CPU y almacenan temporalmente la información necesaria para ejecutar las instrucciones.
  • Buses Internos: Dentro de la CPU hay una serie de buses que permiten intercambiar información de datos, de direcciones y de control entre la UC, la ALU y los registros.

4. Memoria Principal

Existen dos tipos principales de memorias:

  • ROM (Read Only Memory): Memoria de solo lectura. Es no volátil. Contiene el software básico (BIOS) para poder cargar el Sistema Operativo (SS.OO) desde los periféricos de E/S a la RAM. El SS.OO a su vez se encargará de cargar los programas y datos de usuario en la RAM desde la E/S.
  • RAM (Random Access Memory): Memoria de acceso aleatorio. Es volátil. Almacena tanto los programas (conjunto de instrucciones) como los datos que manejan estos programas en ejecución.

Estructura de la Memoria

La memoria está compuesta de celdas, casillas o posiciones de memoria de un determinado número de bits, normalmente un byte. Los bytes se agrupan en palabras. Cada celda de memoria tiene:

  • Una Dirección: Número que identifica unívocamente a la casilla de memoria. Se utilizan direcciones para palabras. Si la 1ª dirección es la 0 y la palabra es de 64 bits (8 bytes), la siguiente dirección de palabra es la 8.
  • Un Contenido: Instrucción o dato que se almacena en la celda en cada momento. Está ligada a las unidades más rápidas del ordenador (UC y ALU).

5. Unidad de Entrada y Salida (I/O)

La Unidad de Entrada y Salida (I/O) comprende los periféricos de entrada, salida y entrada-salida, utilizados para introducir datos en el ordenador o mostrar los datos procedentes del ordenador. Permiten comunicar al ordenador con el exterior.

6. Buses de Comunicación

Los buses de comunicación son las líneas eléctricas a través de las cuales se comunican las distintas partes de un ordenador. Cada bus está formado por un conjunto de hilos y, simplificando, podemos decir que por cada hilo circula un bit.

Parámetros de los Buses

  • Ancho de bus: El número de bits que puede transmitir simultáneamente (en paralelo) ese bus.
  • Velocidad o frecuencia de bus: Se mide en múltiplos de Hertzios.
  • Ancho de banda de un bus: La cantidad de información que puede transmitir por unidad de tiempo. Se calcula con la siguiente fórmula: Ancho de Banda del bus = Velocidad del bus $\times$ Ancho del bus.

Tipos de Buses

  • Bus de datos: Intercambia instrucciones y datos entre la CPU y el resto de las componentes. Lo lógico sería que el ancho del bus de datos sea igual al tamaño de los registros de datos de la CPU, pero no siempre es así.
  • Bus de control: Lleva señales eléctricas para que la UC gobierne el resto de los elementos, y los demás elementos notifiquen sucesos a la UC.
  • Bus de direcciones: Transmite direcciones entre la CPU y el resto de componentes. Funciona sincronizado con el de datos (a la misma frecuencia). Su ancho de bus es igual al tamaño de los registros de la CPU. El tamaño de la memoria que puede direccionar una CPU depende del ancho del bus de direcciones (o tamaño de los registros), y se calcula con la siguiente fórmula: Tamaño de memoria direccionable = $2^{\text{(Ancho del bus de direcciones)}}$ $\times$ unidad mínima direccionable.

7. Registros Fundamentales de la CPU

Contador de Programa (CP)

El Contador de Programa (CP) contiene la dirección de memoria de la siguiente instrucción a ejecutar. La UC modifica su valor tras finalizar la ejecución de cada instrucción.

Registro de Instrucción (RI)

El Registro de Instrucción (RI) contiene la instrucción que se está ejecutando actualmente.

Registro de Dirección de Memoria (RDM)

El Registro de Dirección de Memoria (RDM) o Memory Address Register (MAR) es donde la UC pone la dirección de memoria o E/S a la que quiere acceder, ya sea para leer o escribir. Se encuentra conectado al bus de direcciones.

8. Registros Generales

Registros: Celdas de memoria de muy alta velocidad, de pequeño tamaño, generalmente múltiplos de 8 bits. A este tamaño le llamamos palabra, y este tamaño de palabra define el tamaño de los registros y los buses.

9. Ciclo de una Instrucción

La ejecución de una instrucción siempre conlleva realizar la misma secuencia de pasos, los cuales pueden necesitar un número diferente de ciclos de reloj.

Fases del Ciclo

  • FASE DE BÚSQUEDA: Búsqueda de la instrucción y decodificación de la instrucción.
  • FASE DE EJECUCIÓN: Búsqueda de los operandos y ejecución de la instrucción.

10. Tecnologías de Procesadores y Memoria

Fabricantes de CPU

Comparativa de tecnologías:

  • Intel: Hyper Threading, Intel QuickPath Interconnect (QPI), Turbo Boost, SpeedStep, Quick Sync, HD Graphic.
  • AMD: CMT (Cluster Based Multithreading), HyperTransport, Turbo Core, Cool N Quiet.

Memoria Caché

La Memoria caché es una memoria ultrarrápida que emplea el procesador para tener alcance directo a ciertos datos que «predeciblemente» serán utilizados en las siguientes operaciones, sin tener que acudir a la memoria RAM, reduciendo así el tiempo de espera para adquisición de datos.

  • Todos los micros compatibles con PC poseen la llamada caché interna de primer nivel o L1 (dentro del micro).
  • Los micros más modernos (Core i3, Core i5, Core i7, etc.) incluyen también en su interior otro nivel de caché, más grande aunque algo menos rápida: la caché de segundo nivel o L2, e incluso hay modelos con memoria caché de nivel 3 o L3.

Overclocking

Consiste en subir la velocidad de reloj por encima de la nominal del micro. Presenta los siguientes aspectos:

  • Problemas: Calentamiento excesivo de los componentes, Rotura del componente overclockeado.
  • Ventajas: Mayor velocidad al mismo precio.

Latencia de Memoria

La latencia se refiere al tiempo que tarda un sistema en responder a una solicitud de acceso a la memoria. En términos simples, una baja latencia significa que hay menos demora entre la solicitud de datos y la entrega de esos datos.

11. Dispositivos de Almacenamiento

HDD vs. SSD

  • HDD (Discos Duros): Son una opción de almacenamiento confiable y económicamente eficiente con capacidades significativas. Utilizan tecnología magnética y son no volátiles. Su principal desventaja es que pueden experimentar fragmentación con el tiempo, lo que afecta su rendimiento general, resultando en velocidades más lentas.
  • SSD (Unidades de Estado Sólido): Ofrecen mayor velocidad de lectura y escritura, baja latencia, son silenciosos, tienen un tamaño compacto y ligero, y no sufren de fragmentación de archivos como los discos duros.

Esquemas de Partición

  • MBR (Master Boot Record): Es un tipo de partición y un sector de arranque especial en un disco duro. Limita a 4 particiones y la información de arranque se almacena en el sector 0, utilizado por sistemas antiguos.
  • GPT (GUID Partition Table): Es un estándar moderno de particionamiento para discos duros y otros dispositivos de almacenamiento. Ofrece información de arranque distribuida y recuperable.

Unidades Ópticas

Las unidades ópticas como CDs, Blu-ray y DVDs son dispositivos de almacenamiento que utilizan tecnología láser para leer y escribir datos en discos ópticos.

12. Ranuras de Expansión y Conectividad

Slots (Ranuras de Expansión)

Los «slots» en el contexto de la informática se refieren a las ranuras de expansión en una placa madre donde se pueden conectar diversos componentes adicionales para ampliar las capacidades del sistema.

  • PCI: Es un estándar de ranura de expansión más antiguo que ha sido utilizado históricamente para conectar una variedad de dispositivos, como tarjetas de sonido, tarjetas de red, tarjetas gráficas.
  • PCIe: Es el estándar de ranura de expansión más moderno y ampliamente utilizado en sistemas actuales. Se ha convertido en la interfaz estándar para tarjetas de expansión de alta velocidad, como tarjetas gráficas, tarjetas de captura de video, tarjetas de almacenamiento SSD, y otras tarjetas de alto rendimiento.

Tarjetas de Red

Medios de conexión a través de Ethernet y Wifi.

13. Sistemas de Alimentación y Periféricos

SAI (Sistema de Alimentación Ininterrumpida)

  • Pasivo: Funcionan solo ante un corte de energía.
  • Interactivo: Además evitan picos de tensión.

Periféricos de Interfaz

  • Monitores: Se caracterizan por Tamaño, Resolución, Características y Tipos.
  • Teclados: Se caracterizan por Características, Tamaño, Cantidad de teclas. Tipos de teclados incluyen Membrana y Mecánico.
  • Ratones: Tipos principales: Óptico y De bola.