¿Por qué la latencia del archivo de registro, durante la etapa de reescritura, no se incluye en la computación para el tiempo de ciclo de reloj mínimo?

Estaba buscando la solución para una tarea publicada aquí:

https://cseweb.ucsd.edu/classes/sp13/cse141-a/solutions/assignment4_solutions.pdf

y noté que para 1.1, no incluía la latencia del archivo de registro para la parte de reescritura. Sé que después del último Mux, el procesador debe volver a escribir el resultado de este Mux en el archivo de registro según lo especificado por el registro de destino Rd.

Revisé algunas fuentes más en línea y todas están haciendo lo mismo, no solo para ADD, sino también para la instrucción LW. ¿Por qué no se incluye en el cálculo del tiempo de ciclo del reloj?

Respuestas (1)

Si no recuerdo mal, y para ser claros, esto depende de la arquitectura, es una práctica de diseño relativamente común que el registro esté diseñado para escribir en un borde del reloj y leer en el borde opuesto del reloj. Entonces, la latencia de escritura está en segundo plano en la línea de tiempo de ejecución.

¿No se supone que eso sucederá cuando el procesador ya esté canalizado? es decir, el flanco positivo se asigna a la etapa WB de una instrucción y el flanco negativo es para leer los registros (ID) de otra instrucción. Creo que están tratando de calcular el tiempo del ciclo del reloj para un procesador de un solo ciclo, no para el canalizado.
Ya sea que el procesador use ciclos únicos o esté canalizado, solo las instrucciones que dependen de los resultados de una instrucción anterior deberán esperar a que los resultados se escriban en un registro, e incluso entonces, a menudo es factible que el procesador envíe los resultados a los dependientes. instrucciones sin esperar a que se escriban en el archivo de registro o en la memoria, dependiendo de cuántas instrucciones se interpongan.