Finales Dic-2006 (Organización del Computador II)

De Cuba-Wiki
Revisión del 18:13 16 dic 2006 de 24.232.28.173 (discusión) (Puse V en Blocking.2; ver discusión. VorteX)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)

Final del 12 Dic

El formato del final era una cruza entre Multiple Choice y Verdadero o Falso. Eran 10 items sobre distintos temas, cada uno con 4 o 5 subitems a determinar verdadero o falso. Algo así como un choice en el que podían ser correctas todas, algunas o ninguna. El criterio de corrección no fue especificado. Fue a libro abierto, con 1 hora disponible.

Agrego también mi respuesta, aunque puede estar equivocada. Siendo que es una wiki, sientanse libres de editar. Muchos items faltan, mi memoria no aguanta mucho.

Queda bajo su criterio decidir si fue facil o dificil.

  1. Bundles en Itanium
    1. El compilador debe generar bundles de 3 instrucciones sin dependencias de datos F
    2. El compilador debe generar bundles de 6 instrucciones sin dependencias de datos F
    3. El compilador debe indicar que instrucciones pueden ejecutarse en paralelo V
  2. Las dependencias de datos verdaderas son...
    1. Distintas opciones que indicaban WAW, RAW, WAR tanto en memoria como en registros. Es necesario determinar bien si se refiere a Itanium solamente, en cuyo caso las dependencias que importan son solamente las de registros, o si es en general, en ese caso cualquier RAW o WAW es una dependencia verdadera.
  3. Segmentación en IA32 implica que...
    1. El procesador debe linealizar las direcciones mediante un proceso dinámico V
    2. El procesador debe linealizar las direcciones mediante un proceso estático F
    3. El SO puede implementar memoria virtual mediante segmentación bajo demanda V
    4. Las direcciones de datos e instrucciones provienen de distintas señales físicas del chip V
  4. Sobre MMX, SSE y SSE2
    1. Pertenecen a la familia de SIMD V
    2. Itanium no las soporta F
    3. SSE es incompatible con la FPU F
    4. Solo pueden aplicarse sobre vectores, no sobre escalares F
  5. Predicación en Itanium
    1. Reemplaza a la lógica de predicción de saltos F
    2. Implementa predicción de saltos F
  6. Sobre Branch Prediction en IA32
    1. Se predice tanto si el salto es taken o not taken, como la dirección destino del salto V
    2. Se predice solo si el salto se toma (Taken o Not Taken) F
    3. La dirección destino no se predice sino que se calcula una vez y se guarda. El repertorio de instrucciones no permite que haya fallas en la predicción por errores en la dirección destino. F
  7. El renombre de registros en Itanium
    1. Se implementa por Software V
    2. Se implementa por Hardware V
    3. Elimina dependencias falsas de flujo del código F
    4. Elimina dependencias falsas de datos del código V
  8. Paginación en IA32
    1. El acceso a las tablas de linealizacion de direcciones es por hardware V
    2. El acceso a las páginas de directorios es por hardware V
    3. Los misses de la TLB se trabajan por software F
  9. Las diferencias mas importantes entre Itanium y Pentium son
    1. Las unidades funcionales operando en paralelo F
    2. El paralelismo implicito V
    3. Las instrucciones especificas para trabajar con la jerarquia de cache F
    4. La lógica de predicción de saltos F
  10. La técnica de Blocking
    1. Mejora los accesos a memoria V
    2. Es especialmente indicada para estructuras pequeñas que caben en cache V
    3. Reduce compulsory misses F
    4. Reduce misses por conflicto o consistencia V