Arquitectura de Computadoras

La Arquitectura de Computadoras es el cimiento invisible que potencia la tecnología moderna, desde smartphones hasta supercomputadoras. En este curso, dominarás desde sistemas numéricos y diseño de ALU hasta arquitecturas RISC/CISC, con un enfoque 100% práctico. ¡Convierte teoría en hardware real y lleva tus habilidades al siguiente nivel!
Objetivo de aprendizaje
Al finalizar la materia, el estudiante será capaz de:
- Dominar sistemas numéricos posicionales y conversiones entre bases (binario, octal, hexadecimal, etc.).
- Representar datos mediante códigos estándar (ASCII, BCD, Gray, etc.) y diseñar circuitos aritméticos-lógicos.
- Comprender la organización de memorias (principal, caché, externa) y técnicas de microprogramación.
- Diseñar una computadora básica integrando unidades de control, ALU y arquitecturas CISC/RISC.
Temario
1. Sistemas Numéricos
- 1.1 Bases posicionales en la era moderna
- Binario: ¿Por qué domina en hardware? (Ejemplo: CPUs y operaciones bitwise).
- Hexadecimal: Caso práctico en depuración de memoria (memory dumps).
- Descargable.
- 1.2 Representación polinomial: La matemática oculta en tu computadora
- Ejemplo visual: Cómo se codifica el número
253en base 8 usando polinomios.
- Ejemplo visual: Cómo se codifica el número
- 1.3 Conversión entre bases
- Método rápido: División-iterativa vs. multiplicación para bases fraccionarias.
- Error común: ¿Por qué falla al convertir
0.3de base 10 a base 2? - Tool online.
2. Códigos de Representación de Datos
- 2.1 ASCII vs. Unicode: Mitos y realidades (¿Por qué ASCII no sirve para emojis?).
- 2.2 BCD en sistemas embebidos: uso de códigos de barras.
- 2.5 Código Gray en la industria: Uso en encoders.
3. Unidad Aritmético-Lógica (ALU)
- 3.1 Complemento a 2: El rey del hardware
- Demo interactivo: Resta en complemento a 2 vs. magnitud-signo.
- 3.2 Diseño con compuertas
4. Sistemas de Memoria
- 4.2 Memoria caché:
- Caso real: ¿Cómo Apple acelera sus CPUs con políticas de reemplazo personalizadas?
- 4.3 NVMe: Gráfica comparativa vs. SATA (con datos de benchmarks).
5. Microprogramación
- 5.3 Palabra de control:
- Diseño para una instrucción
MOVen un CPU ficticio.
- Diseño para una instrucción
6. Diseño de una Computadora Básica
- 6.1 Integración de componentes:
- Diagrama interactivo del flujo de datos.
7. Arquitecturas Computacionales
- 7.2 CISC vs. RISC:
- Debate actual: ¿Por qué ARM (RISC) domina móviles y x86 (CISC) sigue en PCs?
- 7.3 GPUs:
- Cómo el pipeline de NVIDIA acelera el machine learning.
Metodología
- Teoría aplicada: Explicación de conceptos con ejemplos prácticos.
- Laboratorios virtuales: Diseño de ALU y memorias en simuladores.
- Plataforma externa: Actividades gamifícadas, lúdicas y recursos disponibles en ifrex.
Requisitos Previos
- Conocimientos básicos de lógica digital (compuertas, tablas de verdad).
- Familiaridad con programación en bajo nivel (opcional, pero recomendado).
Recursos Clave
¿Por qué es importante esta materia?
La Arquitectura de Computadoras es la base para entender cómo funcionan los dispositivos modernos, optimizar su rendimiento y desarrollar hardware eficiente. Desde sistemas embebidos hasta supercomputadoras, estos principios son universales.