Computer Hardware es la base física de todo sistema computacional. Entender cómo el hardware ejecuta instrucciones es esencial para dominar sistemas operativos, compiladores, y performance optimization.
Componentes Principales
CPU (Central Processing Unit)
- ALU (Arithmetic Logic Unit): ejecuta operaciones aritméticas y lógicas.
- CU (Control Unit): decodifica instrucciones y controla el flujo.
- Registros: memoria ultra-rápida dentro de la CPU (PC, SP, R0-R15).
Memoria
- Registros: nanosegundos, bytes, dentro del CPU.
- Cache L1/L2/L3: microsegundos, KB-MB, inside/outside CPU.
- RAM (DRAM): nanosegundos-decenas de nanosegundos, GB, main memory.
- Disco (SSD/HDD): microsegundos-milisegundos, TB, persistent storage.
Buses
- Data bus: transfiere datos entre componentes.
- Address bus: especifica la dirección de memoria.
- Control bus: señales de control (read, write, clock).
Ciclo Fetch-Decode-Execute
- Fetch: CU lee instrucción desde memoria (PC → MAR → MBR).
- Decode: CU decodifica opcode y determina operandos.
- Execute: ALU realiza la operación, resultado en registro o memoria.
- Store: resultado se escribe en destino.
Jerarquía de Memoria
Registros < L1 Cache < L2 Cache < L3 Cache < RAM < SSD < HDD
Cada nivel es más lento y más grande. El principio de localidad (temporal y espacial) justifica la jerarquía.
Von Neumann vs Harvard
- Von Neumann: misma memoria para datos e instrucciones (modern CPUs).
- Harvard: memorias separadas (microcontroladores, DSPs).
Aplicaciones
- Performance optimization — cache-friendly code, data alignment
- Sistemas operativos — memory management, virtual memory
- Compiladores — register allocation, instruction scheduling
- Enseñanza — base para todo lo demás
Trayectoria de Práctica
- Investiga el ciclo fetch-decode-execute con un ejemplo simple (LOAD R1, [0x1000]).
- Compara tiempos de acceso: registros vs RAM vs SSD.
- Investiga pipelining: ¿cómo solapa etapas?
- Investiga cache coherence: ¿por qué los multicores necesitan MESI?
- Investiga RISC vs CISC: ¿cuál es mejor hoy?