En su capítulo sobre diseño de CPU , Edward Bosworth presenta la siguiente arquitectura de tres buses:
Uno de los principales objetivos de diseño de este circuito es poder incrementar el contador de programa PC en un solo ciclo de reloj. De acuerdo con el texto adjunto, esto se logra manejando B1 desde la PC, B2 desde el registro constante +1, afirmando la señal de suma en la ALU y manejando la PC desde B3:
PC <- PC+1: PC -> B1, 1 -> B2, add, B3 -> PC
Entonces, la pregunta obvia es, ¿cómo puede la PC registrar la unidad B1 con un valor mientras carga simultáneamente otro valor de B3?
Se me ocurren dos posibles soluciones, pero ambas tienen problemas obvios.
Entonces, ¿qué está pasando aquí?
Resulta que me perdí un detalle crucial en el texto adjunto, y los registros están compuestos por dos subregistros (maestro-esclavo):
El uso de registros maestro-esclavo
Tenga en cuenta que los contenidos de la PC se incrementan dentro del mismo pulso de reloj. Como consecuencia directa, la PC debe implementarse como un flip-flop maestro-esclavo; uno que responde a su entrada solo durante la fase positiva del reloj. En el diseño de esta computadora, todos los registros en la CPU se implementarán como flip-flops maestro-esclavo.
drxzcl
Chris Laplante
drxzcl
Chris Laplante
stevenvh
Super gato
Super gato
drxzcl
drxzcl
Super gato
Super gato