İÇİNDEKİLER

İÇERİKLER

19 Nisan 2026 Pazar

Arquitectura de Computadoras En 50 Preguntas

  I. Fundamentos generales 

  1. ¿Cuál es la diferencia entre arquitectura de computadoras, organización de computadoras y microarquitectura?
  2. ¿Qué define exactamente una ISA y qué queda fuera de su alcance?
  3. ¿Con qué métricas se mide el éxito de una arquitectura: rendimiento, consumo, área, coste, fiabilidad?
  4. ¿Cómo limita la Ley de Amdahl las decisiones de diseño arquitectónico?
  5. ¿Por qué el modelo de Von Neumann sigue siendo central hoy en día y en qué aspectos resulta insuficiente?

II. ISA y diseño a nivel de instrucción

  1. ¿Sigue siendo relevante la distinción entre RISC y CISC, o es ya parte historia y parte mito de marketing?
  2. ¿Qué compromisos de diseño existen entre los formatos de instrucción de longitud fija y variable?
  3. ¿Qué problemas resuelve la arquitectura load-store y qué oportunidades restringe?
  4. ¿Por qué son críticos los modos de direccionamiento en el diseño de una ISA?
  5. ¿Cómo influyen el tamaño y la estructura del banco de registros en el diseño de la ISA?
  6. ¿Cuál es la diferencia entre el diseño basado en códigos de condición/flags y el basado en comparaciones explícitas?
  7. ¿Es la ortogonalidad una ventaja real en una ISA o un capricho estético que infla el decodificador?
  8. ¿Cómo se modelan a nivel de ISA los mecanismos de excepción, interrupción y trap?
  9. ¿Por qué es necesaria la distinción entre instrucciones privilegiadas y no privilegiadas?
  10. ¿Cuáles son las diferencias filosóficas entre las ISA de x86, ARM y RISC-V?

III. Introducción a la microarquitectura

  1. ¿Por qué las etapas fetch, decode, execute, memory y write-back constituyen el punto de partida clásico?
  2. ¿En qué condiciones se prefiere cada uno de los diseños de ciclo único, multiciclo y segmentado?
  3. ¿Por qué es fundamental la distinción entre datapath y ruta de control en el análisis microarquitectónico?
  4. ¿Cuál es la diferencia entre control cableado y control microprogramado?
  5. ¿Cómo determina el camino crítico la frecuencia de reloj de un procesador?

IV. Pipeline

  1. ¿Por qué el pipeline mejora el rendimiento pero no reduce automáticamente la latencia?
  2. ¿Cómo se distinguen con precisión los riesgos estructurales, de datos y de control?
  3. ¿Cómo mejoran la eficiencia del pipeline los mecanismos de forwarding/bypassing?
  4. ¿Qué representan en la práctica los conceptos de stall y bubble?
  5. ¿Por qué el riesgo de salto se ha vuelto tan determinante en los procesadores modernos?
  6. ¿Por qué los algoritmos de predicción de saltos ocupan un lugar central en el éxito arquitectónico?
  7. ¿En qué diferencias conceptuales se basan métodos como predicción estática, bimodal, gshare y TAGE?
  8. ¿Qué riesgos introduce la ejecución especulativa a pesar de sus ganancias de rendimiento?

V. Arquitecturas superescalares e ILP

  1. ¿Qué es el paralelismo a nivel de instrucción (ILP) y cuáles son sus límites inherentes?
  2. ¿Qué hace "simultáneamente" un procesador superescalar y qué no?
  3. ¿Cómo funciona la ejecución fuera de orden y por qué tiene un coste tan elevado?
  4. ¿Cómo elimina el renombrado de registros las dependencias WAR y WAW?
  5. ¿Para qué sirven el reorder buffer, la reservation station y la issue queue?
  6. ¿Por qué se sigue enseñando el algoritmo de Tomasulo y dónde pervive hoy?
  7. ¿Cómo preserva la etapa de commit/retire la visibilidad arquitectónica?

VI. Jerarquía de memoria

  1. ¿Por qué es imprescindible la jerarquía de memoria y en qué supuesto se basa la localidad?
  2. ¿Cómo convierten la localidad temporal y espacial el comportamiento del software en una ventaja arquitectónica?
  3. ¿Cómo se comparan los enfoques de caché de mapeo directo, asociativo por conjuntos y totalmente asociativo?
  4. ¿En qué contextos destacan las políticas de reemplazo LRU, pseudo-LRU y aleatoria?
  5. ¿Cuál es la diferencia entre escritura directa y escritura diferida, y entre escritura con asignación y sin asignación?
  6. ¿Cómo se distinguen los tipos de fallo de caché: obligatorio, por capacidad y por conflicto?
  7. ¿Por qué la memoria virtual no solo amplía la capacidad sino que también proporciona protección y abstracción?
  8. ¿Qué es la TLB y por qué puede convertirse en un cuello de botella crítico en el rendimiento de acceso a memoria?
  9. ¿Cómo afectan a la arquitectura las distintas organizaciones de tablas de páginas y el coste del page walk?

VII. Sistemas multinúcleo

  1. ¿Por qué se impuso la tendencia hacia múltiples núcleos en lugar de seguir ampliando un único núcleo?
  2. ¿Cómo se diferencian arquitectónicamente los enfoques de memoria compartida y memoria distribuida?
  3. ¿Por qué surge el problema de coherencia de caché y en qué se diferencian los protocolos basados en snooping y en directorio?
  4. ¿Qué problema resuelven los protocolos de coherencia como MESI/MOESI?
  5. ¿Por qué es importante el modelo de consistencia de memoria tanto para el programador como para el diseñador de hardware?
  6. ¿Cómo debe replantearse el concepto de "arquitectura de procesadores" en la era de NUMA, chiplets, aceleradores y computación heterogénea?

Hiç yorum yok:

Yorum Gönder