Dentro de una CPU, ¿qué sucede en un solo ciclo de reloj?

4

En términos muy simplificados, un procesador calcula 1 instrucción en un solo ciclo de reloj. ¿Pero qué significa eso? Si un procesador es un grupo de transistores, ¿es 1 ciclo de reloj simplemente 1 cambio de estado (o la posibilidad de un cambio de estado) para todos esos millones de transistores? ¿Es 1 ciclo de reloj con qué frecuencia se evalúa el estado de cada transistor? ¿Qué sucede exactamente, eléctricamente, en un ciclo de 1 reloj?

    
pregunta user3629081

1 respuesta

3

Los transistores en una CPU se organizarán para formar pequeñas unidades funcionales. Estos se dividen en dos categorías principales: lógica combinatoria (puertas lógicas, sumadores, multiplexores, etc.) y lógica con estado (flip flops, latches, SRAM, etc.). La lógica combinatoria realiza varias operaciones lógicas y matemáticas, mientras que la lógica con estado puede almacenar datos. En general, el reloj solo está conectado a la lógica de estado, como los flip-flops. La lógica combinatoria se conecta entonces entre elementos lógicos con estado. Por lo tanto, es posible que tenga un flip flop que alimente algunas puertas lógicas, que luego alimenta a otro flip flop. La lógica combinatoria tiene un retraso de propagación asociado: cuánto tiempo tarda la salida en cambiar después de la entrada. Cada flip-flop transferirá cualquier nivel lógico en su entrada a través de su salida en el borde del reloj activo, una vez por ciclo de reloj. El período de reloj más rápido posible se determina por el mayor retraso de propagación a través de la lógica entre los flip flops.

Entonces, sí, su declaración es esencialmente correcta de que cada ciclo de reloj es esencialmente un cambio de estado.

En una CPU (o en cualquier otra lógica digital síncrona), el reloj sirve simplemente para sincronizar el flujo de datos a través del chip, de modo que los cálculos se realicen correctamente. El reloj es necesario porque los retrasos de propagación a través de la lógica pueden variar, ya sea a lo largo de diferentes caminos o con el proceso, el voltaje y la temperatura (PVT). Por cierto, esta es la razón por la que ve sitios como la lotería de silicio y por qué los fabricantes de CPU venden varias versiones del mismo chip que se ejecutan a diferentes velocidades. , así que algunos chips soportarán relojes más rápidos que otros.

Es posible diseñar CPU que no usan un reloj. Esto se llama diseño asíncrono. Tiene la ventaja de no requerir un reloj y toda la complejidad y el consumo de energía asociados con él, pero el diseño asíncrono es más difícil ya que el circuito debe diseñarse de tal manera que no se infrinjan los retrasos de propagación, incluso con variaciones entre chips y diferentes voltajes y temperaturas. He escuchado que una compañía hizo una CPU asíncrona hace unos años, y se desaceleraría si colocas una taza de café caliente sobre ella debido a la lógica asíncrona que se ajusta al cambio de temperatura.

    
respondido por el alex.forencich

Lea otras preguntas en las etiquetas