Obtuve el siguiente texto del trabajo de laboratorio 2 del curso de arquitectura de computadoras de CMU. En realidad, estoy tratando de hacer este laboratorio por mis propios intereses y de ninguna manera soy un estudiante de CMU.
La máquina tiene una microarquitectura de un solo ciclo: e muy instructivo toma exactamente un ciclo para ejecutarse . Aparte de la corrección (como dened por las especificaciones arquitectónicas), esta es la única restricción que Estamos colocando en la microarquitectura de la máquina. Mientras estos se satisfacen dos restricciones (es decir, corrección y ciclo único ), eres libre de implementar la microarquitectura en cualquier forma que desees. A Le guiamos en el camino, le proporcionamos una descripción abstracta de la La microarquitectura de un solo ciclo, como discutimos en clase.
- El estado arquitectónico de la máquina (excepto la memoria) se almacena en los registros: el contador del programa y los registros de propósito general
- Hay un cable global llamado \ clock "que está conectado a todos los registros.
- Cuando un registro ve un borde ascendente en el reloj, el registro captura la instantánea "instantánea" de los valores en su entrada. A partir de entonces, el registro guarda los valores capturados y los alimenta. a su salida.
- La salida del registro (s) se alimenta a un circuito combinacional que consiste en puertas lógicas (por ejemplo, ADD). A su vez, la salida de la las puertas lógicas se retroalimentan como entrada a los registros.
- En el siguiente flanco ascendente del reloj, el registro vuelve a capturar los valores en su entrada
.
Mi duda: me pide que implemente una arquitectura de ciclo único, pero los puntos numerados del 1 al 5 no parecen ser de ciclo único.
Supongamos la instrucción ADD R1, R2, R3. De acuerdo con los pasos del 1 al 5, esto tomará dos ciclos de reloj y no 1 ciclo de reloj.
-
En el borde pos de un ciclo de reloj, la dirección (dirección en el registro archivo) los registros R1 y R2 se bloquearán y los valores en estos los registros se enviarán a ALU para su adición.
-
En el siguiente borde pos, la salida de ALU se volverá a escribir en el registro R3.
Así que en realidad está tomando dos ciclos, ¿no? Entonces, ¿por qué se llama instrucción de ciclo único?