¿Qué sucede si todos los ciclos de reloj en el hardware de la computadora estuvieran a la misma velocidad?

Necesitas un poco de educación en historia de la computadora. Su pregunta ha sido respondida por muchas de las computadoras originales que existen. En esos sistemas, todos los componentes dentro del sistema respondieron a diferentes ciclos de reloj (de acuerdo con sus capacidades de velocidad). El problema era la eficiencia operativa. Por lo tanto, en la década de 1950, los diseñadores de hardware comenzaron a sincronizar todos los componentes de sus grandes computadoras Mainframe con un solo reloj centralizado.

Entonces, la ejecución dentro del sistema estaba sincronizada por hardware. Periféricos? Corrían a sus propias velocidades, asincrónicas al sistema de reloj de la unidad central.


En cuanto a la programación, esto se muestra mejor con tres comandos de E / S BAL de IBM:

  1. EXCP – Ejecutar programa de canal – Iniciar la operación de E / S. No se moleste cuando se complete, solo mantenga el curso en el flujo de instrucción del programa.
  2. WAIT: espera a que se complete un EXCP anterior: la ejecución del programa se ha ejecutado lo más lejos posible. Ahora necesita completar el comando de E / S para continuar.
  3. EXCPW – Ejecutar programa de canal y esperar – Inicie la E / S y espere hasta que se haya completado para continuar.

Entonces, EXCP es un comando asíncrono y EXCPW es un comando síncrono. He trabajado en ambos tipos de computadoras, pero los sistemas asíncronos se quedaron en el camino a finales de los años 50 y principios de los 60.

Reduce la velocidad de la computadora a la velocidad del dispositivo más lento.

Por lo general, el dispositivo más lento son los periféricos.

Los procesadores actuales usan internamente diferentes velocidades de reloj: la CPU en sí es el reloj más rápido, luego viene el caché L1 y el caché L2: el caché L3 funciona aún más lento. Entonces el recuerdo.

Lo más lento de todo son los periféricos, e incluso aquellos usan diferentes relojes para diferentes funciones.

La última vez que usé una computadora con una sola frecuencia de reloj fue una PDP-8. Todo estaba controlado por un reloj (aunque no estoy seguro acerca de las unidades de disco, es posible que hayan tenido su propio reloj interno para mantenerse al día con la rotación del disco).

Incluso entonces, técnicamente, las líneas seriales usaron relojes diferentes (y MUCHO más lentos) para comunicarse con los terminales (110 baudios, aproximadamente 10 caracteres por segundo).

Los ciclos del reloj son de la misma velocidad. No se llamaría un ciclo de reloj si los tiempos de ciclo variaran. Lo unico que cambia de una arquitectura a la siguiente es cuántos ciclos de reloj toma completar una instrucción. Los diferentes sistemas utilizan diferentes técnicas para determinar la duración de sus ciclos de reloj. Si configura su ciclo de reloj con la instrucción más rápida, todas las lecturas y escrituras del registro serían muy muy rápidas, pero luego todas las demás instrucciones tomarían varios ciclos para completarse, lo que obstruiría su tubería en las operaciones de E / S. El otro extremo es hacer que su ciclo de reloj tenga la duración de la instrucción más larga, que generalmente es el acceso de E / S, que optimiza sus instrucciones de E / S, pero luego, cuando tiene cualquier otra instrucción, tiene que esperar al siguiente ciclo de reloj antes de que pueda comenzar el siguiente instrucción que en la diferencia de registro r / w podría ser cientos de miles de instrucciones vale la pena.

Las diferentes arquitecturas utilizan diferentes técnicas para optimizar el uso del tiempo del ciclo, pero la duración del ciclo del reloj no cambia.

Algunas partes irían mucho más lento de lo que pueden, todo se ralentizaría a la velocidad de la parte más lenta del sistema, y ​​en general, las cosas se pondrían a prueba.