Me preguntaba sobre esto el otro día cuando le estaba explicando binario y hexadecimal a un amigo mío y esto ocurrió. La pregunta es algo como esto:
¿Cómo se relacionan exactamente las velocidades de ejecución de instrucciones con las velocidades de reloj en las computadoras modernas?
Por ejemplo, digamos que un procesador de computadora utiliza una señal de reloj de 1 MHz. El procesador ejecutará operaciones en el borde de ese reloj (en el borde negativo si no me equivoco), pero esto no significa que se ejecutará una instrucción completa para cada ciclo de reloj.
Para tener un ejemplo más específico, si un procesador Intel x86 tiene un comando MOV BX, 45 , asumo que se necesitarán varios ciclos de reloj para completar esto, ya que el número 45 tiene que ser generado, y el registro BX tiene que ser localizado y así sucesivamente. Tal vez este podría ser un ciclo de reloj único, ya que es un valor inmediato que se transfiere a un registro, pero espero que esto explique mi pregunta. Quizás un comando JNE sería un mejor ejemplo.
Además de esto, hay un ciclo de recuperación-decodificación-ejecución que reduciría la proporción de instrucciones por reloj a menos de 1: 1, ¿es correcto? Por favor, perdóname si no entiendo bien cómo funciona esto. Estoy muy interesado en él y sé que muchos de ustedes saben bastante al respecto. Por favor, siéntase libre de arrojar algo de luz sobre mi ignorancia: D
Muchas gracias
Chris