Me preguntaba sobre esto el otro día cuando le estaba explicando binario y hexadecimal a un amigo mío y surgió esto. 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 usa 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 se debe generar el número 45 y se debe ubicar el registro BX. etcétera. Tal vez este podría ser un ciclo de reloj único, ya que es un valor inmediato que se mueve a un registro, pero espero que esto explique mi pregunta. Tal vez un comando JNE sería un mejor ejemplo.
Además de esto, existe el ciclo de obtención-descodificació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 completamente 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
cris
Supongo que tomará varios ciclos de reloj completar esto
Es bastante complicado, pero consulta: https://stackoverflow.com/questions/692718/how-many-cpu-cycles-are-needed-for-each-assembly-instruction
Hay básicamente tres factores a considerar para una explicación simple:
Los oleoductos complican los tiempos para las instrucciones de "sucursales" como JNE. Es posible que descubra que se necesita un ciclo para no bifurcar y cien ciclos para tomar la bifurcación, a menos que el predictor de bifurcación haya adivinado correctamente, en cuyo caso esos costos son al revés.
Los fallos de caché también tardan bastante tiempo.
Tony Estuardo EE75
Miguel
glen_geek
dandavis
63!
por ejemplo...