Tengo una pregunta bastante simple, pero no he podido encontrar una buena respuesta en Google.
Entiendo cómo funciona la canalización al tener 1 ciclo por paso, cada instrucción toma 5 ciclos y comienzan en el segundo paso de la instrucción anterior para terminar toda la carga más rápido.
Ahora, por lo que he leído, el multiciclo también tiene varios pasos por instrucción, pero cada instrucción comienza después de que finaliza la instrucción anterior. Con el beneficio de las instrucciones que no tienen 5 pasos de largo, no tienen que recorrer los 5 pasos completos. Supongo que tenemos que usar el tiempo del paso más lento para que el ciclo del reloj permita que todos los pasos funcionen.
Ahora, si esto es correcto, calculé un pequeño programa que me dieron como un problema de tarea donde la ruta de datos de un solo ciclo es más rápida que la ruta de datos de varios ciclos. Esto es normal ? ¿O hay algo sobre la ruta de datos multiciclo que tengo mal?
Para una implementación de un solo ciclo, se espera que la frecuencia del reloj (determinada por el retraso más largo a través de todos los tiempos de acceso y la lógica) sea menor que para una implementación de varios ciclos (donde, presumiblemente, en cada ciclo solo una parte de se utilizará la ruta de datos total del enfoque de ciclo único).
Si esto no es válido para su implementación, el punto interesante es por qué.
Wouter van Ooijen
pjc50