Programa
Tema 1 Fundamentos del Diseño de Computadores
- Qué es un computador y que papel juega en su desarrollo la Arquitectura de Computadores
- Tendencias y dependencias
- Métricas de evaluación: parámetros y fundamentos tecnológicos
Coste
Rendimiento
Consumo energético
Fiabilidad
Tema 2 El repertorio de Instrucciones
- La frontera hardware / software
- Definición y virtudes a perseguir por el repertorio de instrucciones: perspectiva histórica
- Influencia de los compiladores y la implementación
- Modelos de ISA: Memoria, Acumulador, Stack y registros
- Modos de direccionamiento
- Control de flujo
- Filosofía RISC y CISC
Tema 3 Jerarquía de Memoria I: Memorias Cache
- Tendencias y coste en tecnologías de almacenamiento
- El efecto “Memory–Wall”
- Localidad espacial y temporal y justificación de la jerarquía de memoria
- Implementación de las caches
- El ABC de las caches: Asociatividad, Tamaño de Bloque y Capacidad
- Modelo de las 3C en los fallos de cache.
- Prefetch software y prefetch hardware
- Políticas de escritura
- Evaluación y métricas de efectividad en las caches
- Efecto de la cache en el rendimiento del procesador
Tema 4 Jerarquía de Memoria II: Memoria Principal
- Memoria Virtual
Parámetros
Traducción de direcciones
Tabla de páginas
Reducción del coste en el proceso de traducción
Caches físicas y virtuales
- DRAM
Implementación de memoria de alta densidad DRAM
Fiabilidad en memoria: detección y corrección de errores
Evolución histórica de las memorias DRAM: Memorias Modo Página, Página Rápida, SDRAM y DDRAM
Tema 5 ILP 1: Segmentación
- Repaso segmentación
- Dependencias de datos
- Dependencias de control
Predicción dinámica de saltos
Ejecución especulativa
Tema 6 ILP 2: Multi Issue
- Limites de la segmentación
- Ejecución superescalar
- Pipelines diversificados: Pipelines 2-wide issue, Unidades FP
- Implicaciones Multi-Issue
Fech de múltiples instrucciones y Trace Cache
Wide Decode
Dependencias y redes de cortocircuito
Wide write back
- Wide-Issue con planificación estática: VLIW
Tema 7 ILP 3: Planificación Dinámica
- Limitaciones de la ejecución en orden
- Planificación estática y dinámica de instrucciones
Buffer de instrucciones y registros físicos y lógicos
- Algoritmos de planificación dinámica:
Scoreboard
Tomasulo
- Estado preciso y Ejecución especulativa con planificación dinámica: Alternativas de diselño
Arquitectura ROB/RS segmentada
Arquitectura con renombre verdadero
- Dependencias en instrucciones de acceso a memoria y acceso especulativo a memoria
Tema 8 TLP I: Multiprocesarores
- Verificabilidad y límites en la complejidad de diseño: perspectiva histórica de la ley de Moore
- Paralelismo a nivel de thread
- SMP
- Coherencia Cache
- Sincronización
- Consistencia en Memoria
Tema 9 TLP II: Multiprocesadores on-chip y Multithreading
- FCMT
- FGMT
- SMT
- CMP
- Sun Niagara
Tema 10 DLP
- Aprovechamiento del paralelismo a nivel de datos con vectoriales
- Extensiones vectoriales del ISA
- Acelaración vectorial basada en GPU


















