miércoles, 20 de febrero de 2008

Nuevas Dudas sobre ASP2

Seguimos avanzando con ASP2, ya voy casi por la mitad del tema 3 y último. Tengo algunas dudas que resumo a continuación:
  1. En la página 12 del tema 1 se incluye un cuadro con los ciclos de bloqueo (en VLIW) que se producen según las instrucciones que generan el dato y las que lo usan. No entiendo por qué difiere el número de ciclos de bloqueo cuando se mantiene constante la instrucción que genera el dato y varía según la instrucción que lo usa --> Solución: Esto se debe a que la instrucción que usa el dato lo utiliza en etapas distintas de su ejecución. Además, estas latencias tienen interés al fabricar una tabla de macroinstrucciones para un VLIW (ver solución al problema P1 b) de la prueba alternativa de 13-4-2007 (A).

  2. ¿Qué significa "contención" en el segundo párrafo de la página 13 del tema 1? --> Solución: Significa bloqueo estructural, ya que no hay puertos suficientes en el fichero de registros para la lectura simultánea de los mismos por parte de varias instrucciones.

  3. En la página 18 del tema 1 se comenta que la única relación entre las tuberías FP e INT/Acc.Mem. es el Ld/St para FP. En este caso, ¿cómo actúa la fase ID con dicha instrucción? --> Solución: La instrucción Ld/St de FP entra en la tubería de INT, pero usa el fichero de registros FP, que es un recurso asociado a la tubería de FP.

  4. No comprendo la solución aportada por el profesor Alejandro Linares en los foros de la asignatura. Se supone que es superescalar con m=4. Entiendo que ventana fija significa que mientras que haya instrucciones en caché de IF que no se hayan emitido (ID ó IS), no se podrá buscar (IF) ninguna instrucción más (¿no es cierto?). La ventana deslizante permite que si se "desaloja" una instrucción, pueda entrar otra. No veo entonces el siguiente cronograma sombreado en azul:
  5. En la página 19 del tema 1, ¿por qué tiene dos ciclos de bloqueo la instrucción XOR montando las tuberías lo más independientemente posibles?. No existen dependencias y la ALU INT está libre, ¿no?.

No hay comentarios: