6 votos

¿Qué información exactamente almacena un caché de instrucciones?

enter image description here

Los procesadores de uso de datos y la instrucción almacena en caché con el fin de reducir el número de lento accesos a la memoria principal. Sin embargo, si bien es claro para mí que los datos de la caché propósito es almacenar los datos utilizados con frecuencia elementos (tales como elementos de una matriz o dentro de un bucle), no puedo ver qué es exactamente la caché de instrucciones tiendas que ayuda a aliviar la memoria de los tiempos de acceso.

En la imagen de arriba, tenemos un ejemplo de un "addi" la instrucción que añade un valor constante para el valor almacenado en el registro de propósito general "r2" y escribe el resultado en general propósito registrar "r1".

Después de esta instrucción es ejecutada, en lo que exactamente se guarda en la memoria caché?

  • No puede ser simplemente el código de operación - la mayoría de los conjuntos de instrucciones de CPU contienen sólo un par de cientos único códigos de operación o menos, así que si la caché de instrucciones que se pre-cargado con todos los posibles códigos de operación, siempre tendría un 100% de tasa de éxito. Sin embargo, que acabaría con el propósito de tener una caché, además he leído que la caché de instrucciones se pierde son muy posibles.
  • No puede ser que los valores de la memoria principal que se cargan en la general de registros de propósito, ya que es exactamente lo que la caché de datos.

Gracias de antemano.

20voto

Toor Puntos 777

Literalmente, almacena líneas de código de máquina desde la memoria del programa (también conocida como la instrucción completa que escribes en tu publicación original).

El hecho de que incluso hable sobre "almacenar todos los códigos de operación posibles en el caché" apunta a un malentendido más profundo. Hablar sobre el almacenamiento de todos los códigos de operación posibles en el caché (o cualquier otro tipo de memoria) no tiene sentido. Todos los posibles códigos de operación que el procesador puede ejecutar están conectados al circuito lógico del procesador. No están "almacenados" en ninguna parte.

12voto

Kevin White Puntos 5504

La caché de Instrucciones tiendas de usados recientemente instrucciones y sus direcciones, de modo que si una instrucción necesita ser repetido, no tiene que ser recuperada de la memoria principal - esto es mucho más rápido.

Por ejemplo, la primera vez que un bucle se realiza las instrucciones que se recuperan de la memoria principal y, simultáneamente, se coloca en la caché. En las siguientes iteraciones del bucle las instrucciones que luego pueden ser recuperados rápidamente de la caché de la memoria rápida.

Las direcciones se almacenan en la memoria caché, junto con la información que indica si la caché está arriba-a-fecha de la CPU de control sabe si se puede utilizar la caché de instrucciones o tiene que ir a la memoria principal.

9voto

Adam Puntos 126

El caché de instrucciones almacena las instrucciones individuales para la CPU del programa que se ejecuta actualmente. Es el programa en sí. La memoria principal a menudo es demasiado lenta (o tiene demasiada latencia) para poder alimentar a la CPU con su próxima instrucción cada vez que está lista para una. Esta es la razón por la que se utiliza una memoria caché rápida cerca de la CPU, esta es la memoria caché de instrucciones.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X