¿Cuál es la función del caché?
¿La caché es una caché? Un subsistema de memoria especial en el que se copian los datos utilizados con frecuencia para facilitar el acceso rápido.
La caché consta de dos partes básicas: memoria de etiquetas y memoria de datos. La memoria de etiquetas se utiliza para almacenar los bits de control y las etiquetas de direcciones de bloque de la caché. Los bits de control se utilizan para administrar las operaciones de lectura y escritura de la caché, y las etiquetas de direcciones de bloque registran las direcciones de cada bloque en la caché. Esta dirección contiene la dirección del bloque asignada a la memoria principal y todas corresponden a un fragmento de "datos" en la caché. Estos "datos" se almacenan en la memoria de datos del caché.
Cuando la CPU lee datos, primero envía la dirección física a la caché a través del bus de direcciones y la compara con la etiqueta de dirección del bloque en la caché. Si coincide, significa que los datos ya existen en el caché (esta situación se llama en broma "hit"). En este momento, los datos correspondientes en el caché solo necesitan transmitirse directamente a la CPU a través del bus de datos. Sin embargo, si la dirección física enviada por la CPU no coincide con la etiqueta de dirección del bloque en la caché, significa que los datos no están en la caché (lo que se denomina "error"). En este momento, es necesario copiar la memoria principal. dirección de datos requerida por la CPU para En la caché, la caché transfiere los datos a la CPU.
De este proceso, podemos ver que si la CPU lee "aciertos", la velocidad de acceso se puede mejorar mucho, pero si hay un "error", la existencia del caché en realidad se ralentizará. reducir la velocidad de lectura de la CPU. Por lo tanto, qué tecnología y método utilizar para mejorar la tasa de aciertos de lectura y escritura y reducir la tasa de error se ha convertido en la clave del diseño de la caché. Aumentar la capacidad de la caché ciertamente puede mejorar la tasa de aciertos. Sin embargo, debido a problemas de costo, la caché no se puede aumentar infinitamente. Sin embargo, la tasa de aciertos se puede mejorar utilizando métodos de mapeo y métodos de reemplazo de bloques adecuados.
Expansión del conocimiento
El problema de cómo los datos de mapeo en la caché se corresponden con los datos en la memoria principal. Generalmente existen tres métodos de mapeo:
1. Mapeo directo
Si un bloque en la memoria principal solo se puede asignar a un bloque específico en la caché, llamamos a este método de mapeo directo. cartografía. El mapeo directo tiene la velocidad de acceso más rápida, pero también tiene la tasa de error más alta.
2. Asignación completa
En este método de asignación, los bloques de la memoria principal se pueden asignar a cualquier bloque de la caché. Cuando la CPU quiere leer un determinado bloque, la caché. comparará la dirección enviada por la CPU con todas las etiquetas de dirección en la caché. Debido a que es una comparación completa, el tiempo de acceso es el más largo, pero la tasa de error también es la más baja.
3. Mapeo combinado
Este método de mapeo divide el caché en varias páginas, y cada página tendrá la misma cantidad de bloques. Los bloques de datos en la memoria principal se pueden asignar a cualquier bloque en la página especificada en la caché. Este método de mapeo puede verse como un compromiso entre el mapeo directo y el mapeo completo, y es el método de mapeo más eficiente.