Frecuencia de reloj máxima para multiciclo vs canalización

0

Supongamos que tienes latencias:

IF: 10 ns
ID: 11 ns
EX: 12 ns
MEM: 13 ns
WB: 14 ns

¿Cuál es la frecuencia de reloj máxima posible para una tubería con este diseño? Encontré información en línea que sugiere que la frecuencia de reloj máxima posible es 1 / c, donde c es la latencia de la etapa más lenta. Así, tenemos 1/14 GHz. ¿Esto es correcto?

Además, ¿en qué se diferencia de un diseño de varios ciclos? Si tuviéramos latencias:

Registro leído: 1 ns Registro de escritura: 2 ns ALU: 3 ns Memoria de lectura / escritura: 4 ns

¿No sería la frecuencia de reloj máxima también 1 / c, donde c es la latencia de la etapa más lenta? Por lo tanto, tendríamos 1/4 GHz.

En total, si mis cálculos anteriores son correctos, tengo curiosidad por saber por qué el diseño de múltiples ciclos y de la tubería depende internamente del mismo retardo de latencia (el más lento). Gracias por cualquier ayuda.

    
pregunta Bob John

1 respuesta

1

Diseño segmentado: tiene razón con respecto a 1 / 14GHz.

Ciclo múltiple: puedes cambiar el denominador. Para su segundo ejemplo, podría hacer que las etapas ALU y de memoria tomen 2 ciclos cada una y ejecuten todo el proceso a 2/4 GHz.

Sin embargo, esto afecta a throughput : si su ALU toma 2 ciclos, no puede emitir más de 1 operación de ALU cada 2 ciclos. Mientras que en su primer ejemplo, puede emitir 1 instrucción en cada ciclo (suponiendo que no haya paradas ni predicciones erróneas).

Los diseños de ciclos múltiples también son un problema desde la perspectiva de la cadena de herramientas y la verificación, ya que tiene que indicar a todas las herramientas que "esta ruta se completa en 2 ciclos, no se quejan de las rutas que tienen más de 1 ciclo".

    
respondido por el pjc50

Lea otras preguntas en las etiquetas