Fundamentos de Arquitectura de Computadores, Hardware y Sistemas Operativos
1. Componentes de la Unidad Central de Procesamiento (CPU)
La CPU está compuesta principalmente por dos unidades funcionales fundamentales:
- ALU (Arithmetic Logic Unit / Unidad Aritmético-Lógica): Encargada de realizar las operaciones.
- Componentes de la ALU: Circuito operacional, registros de entrada, registro acumulador, registro de estado y bus del sistema.
- Operaciones: Se definen por el código de operación (en binario) y el circuito operacional. Los operandos pueden ser monádicos (un solo operando) o diádicos (dos operandos).
- CU (Control Unit / Unidad de Control): Sincroniza y coordina las operaciones. Su ciclo básico consiste en: extraer la instrucción de la memoria → decodificar/interpretar la instrucción → ejecutar la instrucción.
- Partes de la Unidad de Control:
- Contador de Programa (CP/PC): Contiene la dirección de memoria de la siguiente instrucción a ejecutar.
- Registro de Instrucción (RI): Almacena la instrucción en curso, compuesta por el código de operación y los operandos.
- Decodificador: Analiza el código de operación y envía las señales de control pertinentes.
- Reloj: Circuito electrónico que marca los instantes de sincronización mediante pulsos.
- Secuenciador: Genera microórdenes sincronizadas con la señal de reloj.
- Partes de la Unidad de Control:
2. Juego y Formato de Instrucciones
Juego de Instrucciones (Instruction Set)
- Tipos de instrucciones: Transferencia de información, aritmético-lógicas y de desplazamiento, transferencia de control y misceláneas.
- Arquitecturas:
- CISC (Complex Instruction Set Computer): Instrucciones complejas con Unidad de Control microprogramada.
- RISC (Reduced Instruction Set Computer): Instrucciones simples de tamaño homogéneo y ejecución rápida.
Formato de Instrucción y Modos de Direccionamiento
El formato de instrucción incluye el código de operación (CodOp), los operandos y su representación, y las direcciones (del resultado o de la siguiente instrucción).
El direccionamiento permite conocer el operando o su ubicación. Los principales tipos son:
- Inmediato: El operando está contenido directamente en la propia instrucción.
- Directo o Absoluto: La instrucción contiene la dirección de memoria del operando.
- Relativo: La dirección se calcula en relación con un registro base o el contador de programa.
- Indirecto: La instrucción contiene una dirección que apunta a otra dirección donde reside el operando.
- Implícito: El operando no se especifica porque la propia instrucción determina su ubicación por defecto.
Microprocesador
La CPU y sus núcleos (1 a N núcleos) se instalan en un zócalo (socket) y requieren de un sistema de refrigeración. Su velocidad se mide en ciclos de reloj (Hz). La comunicación se realiza a través de buses hacia el puente norte (Northbridge). La memoria caché se estructura en niveles: L1 (integrada en cada núcleo), L2 (por procesador/núcleo) y L3 (compartida en la placa base o procesador).
3. Tipos de Memoria y Almacenamiento
Memoria RAM (Random Access Memory)
Es una memoria volátil. Entre sus encapsulados y tipos destacan:
- SIMM (Single In-line Memory Module): Conexiones de 16/32 bits.
- DIMM (Dual In-line Memory Module): Conexiones de 64 bits para ordenadores de sobremesa.
- SO-DIMM: Formato reducido para portátiles.
- RIMM: Formato utilizado por las memorias Rambus.
- DRAM (Dynamic RAM): Requiere ciclos periódicos de refresco para no perder la información.
- SRAM (Static RAM): No necesita refresco; es más rápida pero más cara.
- Sincronía: Memorias síncronas (coordinadas con la señal de reloj) y asíncronas (sin dependencia directa del reloj).
Memoria ROM (Read Only Memory)
Es una memoria de solo lectura y no volátil. Tipos:
- PROM: Programmable ROM.
- EPROM: Erasable Programmable ROM.
- EEPROM: Electrically Erasable Programmable ROM.
Conexiones de Disco Duro y Tarjetas de Expansión
- Conectores de almacenamiento masivo: IDE / (P)ATA, SATA, SCSI y SAS.
- Ranuras de expansión (slots): ISA, PCI, AGP (hasta x16) y PCI-Express (con canales x1, x4, x8, x16, x32).
Tarjeta Gráfica y de Red
- Puertos de salida gráfica: VGA (Video Graphics Array), DVI (Digital Visual Interface) y HDMI (High-Definition Multimedia Interface).
- Componentes gráficos: GPU (Graphics Processing Unit), memoria gráfica dedicada y RAMDAC (conversor de digital a analógico).
- Tarjeta de red (NIC - Network Interface Card): Dispone de conexiones físicas como conectores RJ-45 y BNC.
4. Evolución Histórica de los Computadores
- 1ª Generación (1940-1960): Tubos y válvulas de vacío; programación en ensamblador, Fortran y Lisp.
- 2ª Generación (1960-1965): Transistores; introducción de Cobol.
- 3ª Generación (1966-1971): Circuitos integrados (chips).
- 4ª Generación (1971-1981): Microprocesadores; desarrollo de Unix.
- 5ª Generación (1981 en adelante): Auge del ordenador personal (PC), inteligencia artificial e integración a gran escala.
5. Arquitectura del Computador y Jerarquía de Memoria
Los Sistemas Informáticos (SI) se clasifican por su uso (general o específico) y por su rendimiento (supercomputadores, macrocomputadores/mainframes, servidores y PC).
Modelos de Arquitectura
- Arquitectura Von Neumann (1945): CPU (con ALU), memoria principal, sistema de entrada/salida (E/S) y almacenamiento auxiliar/periféricos, conectados por un bus común dividido en bus de datos, de direcciones y de control.
- Arquitectura Harvard: Separa físicamente la memoria y los buses de instrucciones de la memoria y los buses de datos.
Registros Principales de la CPU
- Registro de Datos (RD): Contiene el dato que se lee o se escribe en memoria.
- Registro Acumulador (RA): Almacena temporalmente resultados de operaciones aritméticas o lógicas.
- Registro de Estado (RE/FLAGS): Indica condiciones del resultado (cero, signo, desbordamiento, acarreo).
- Registro de Instrucción (RI): Guarda la instrucción que se está ejecutando.
- Contador de Programa (CP): Guarda la dirección de la siguiente instrucción.
Jerarquía de Memoria
Ordenada de mayor velocidad y coste a menor:
Registros < Memoria Caché < Memoria Principal < Caché de Disco < Memoria Auxiliar
6. Unidades de Medida y Parámetros Eléctricos
- Prefijos de medida binaria y decimal: K (Kilo), M (Mega), G (Giga), T (Tera), P (Peta), E (Exa), Z (Zetta), Y (Yotta). Multiplicar por 1000 en el sistema decimal internacional (SI) o por 1024 para prefijos binarios (KiB, MiB, GiB, etc.).
- Ley de Ohm y potencia eléctrica:
- Resistencia:
R = V / I - Potencia:
P = V * I - Voltajes habituales suministrados por la fuente de alimentación del PC: +12 V, +5 V y +3,3 V.
- Resistencia:
7. Sistemas Operativos
Arquitecturas del Núcleo (Kernel)
- Monolítica: Alta eficiencia, poca flexibilidad y difícil de mantener; núcleo de gran tamaño.
- Jerárquica: Estructura más compleja organizada en niveles o capas superpuestas.
- Por anillos (Rings): Protección por capas concéntricas de privilegios.
- Máquinas virtuales: Emulación de plataformas sobre el hardware.
- Microkernel: Arquitectura cliente-servidor mínima, altamente flexible y tolerante a fallos.
Clasificación de los Sistemas Operativos
- Por servicios: Monousuario, multiusuario, monotarea, multitarea, monoproceso, multiproceso (simétrico o asimétrico).
- Por la forma de ofrecer servicios: Centralizados, distribuidos, de red y de escritorio/cliente.
- Por disponibilidad: Propietarios (con licencia restrictiva/registrada) o libres (código abierto).
Niveles de Software
- Nivel 0: Lógica digital (hardware físico).
- Nivel 1: Microprogramación (interfaz entre software y hardware).
- Nivel 2: Lenguaje máquina (interacción directa con el hardware).
- Nivel 3: Sistema Operativo.
- Nivel 4: Lenguajes de alto nivel.
- Nivel 5: Software de aplicación (oculta las capas inferiores al usuario).
Gestores de Arranque (Bootloaders)
Se ejecutan después de la BIOS/UEFI para cargar el sistema operativo:
- NTLDR: Utilizado en Windows XP, NT, 2000 y Server 2003.
- Bootmgr: Empleado a partir de Windows Vista, 7 y Server 2008.
- LILO: Gestor clásico de Linux.
- GRUB: Gestor versátil y flexible ampliamente adoptado en distribuciones Linux modernas.