La Red de Conocimientos Pedagógicos - Currículum vitae - SramTraducción

SramTraducción

-Subsistema de caché: Generalmente se puede dividir en tres partes según sus funciones: SRAM, tag RAM y controlador de caché. En el diseño real, estas tres partes pueden implementarse mediante varios chips o fusionarse en un solo chip.

-SRAM: Memoria estática de acceso aleatorio, a diferencia de la DRAM, es un bloque de memoria que se utiliza para transportar datos en la caché de la CPU. El tamaño de SRAM determina el tamaño del caché.

-tag RAM: Una pequeña porción de SRAM utilizada para almacenar direcciones de datos. Si el caché almacena datos en la memoria principal, qué dirección se almacenará en la etiqueta RAM.

-controlador de caché: controlador de caché, las funciones principales son: implementar snoop y snarf, actualizar SRAM y etiquetar RAM, implementar estrategia de escritura para determinar si las solicitudes de acceso a la memoria se pueden almacenar en caché. (No es necesario almacenar en caché todas las memorias principales. Las áreas de memoria principal que no necesitan almacenarse en caché están relacionadas con el diseño. Por ejemplo, no es necesario almacenar en caché el área de memoria utilizada para la visualización de video en la memoria principal de la plataforma de PC ); determina si la solicitud de acceso a la memoria llega al caché.

-Página de caché: la memoria principal (también llamada memoria, el tipo de memoria es DRAM) se divide en varios fragmentos del mismo tamaño, y cada fragmento se denomina página de caché. El tamaño de las páginas almacenadas en caché depende del tamaño del caché de la CPU y de cómo está organizado el caché de la CPU. Nota: La página aquí no está directamente relacionada con la página de memoria en modo de paginación, sino que es un concepto diferente.

-Línea de caché: Cada página de caché se divide en segmentos más pequeños, cada segmento se denomina línea de caché. Generalmente se traduce a la línea de caché y generalmente lo traduzco a la línea de caché. El tamaño de la línea de caché (a veces llamado ancho) depende de la CPU y del diseño de la caché.

La estructura organizativa de la caché suele dividirse en tres tipos: mapeo directo, totalmente asociativo y asociativo por conjuntos. El ahora popular Intel x86_64 generalmente usa caché asociativo de grupo.

-Totalmente asociativo: el caché totalmente asociativo usa solo filas en lugar de páginas. Tanto la memoria principal como el caché se dividen en filas del mismo tamaño. Una fila en la memoria principal se puede almacenar en cualquier línea de caché. La ventaja de una caché totalmente asociativa es su alto rendimiento, pero la desventaja es que la implementación del circuito es compleja. La complejidad proviene de la necesidad de determinar si los datos solicitados ya están en el caché. La dirección solicitada debe compararse con cada dirección almacenada en la RAM de etiquetas, lo que requiere una gran cantidad de comparadores, lo que aumenta la complejidad y la complejidad de los grandes. -precio de capacidad de cachés. Las estructuras totalmente asociativas generalmente solo se usan para cachés de pequeña capacidad, con capacidades típicas inferiores a 4K.

-Mapeo directo: la memoria principal se divide en varias páginas de caché y el tamaño de cada página de caché es igual al tamaño del caché. Simplemente almacene algunas líneas de memoria específicas en la misma línea de caché, como almacenar todas las líneas 0 en la página 0 en la línea de caché 0, almacene el caché 1 en la página 1 en la línea de caché 1. La caché de mapeo directo es la más simple de las tres estructuras de caché. La dirección solicitada en la caché asignada directamente solo necesita compararse con una dirección en la RAM de etiquetas. Ventajas: debido a su simplicidad, las cachés asignadas directamente son mucho más económicas que otros tipos de cachés. Desventajas: Muy baja flexibilidad, lo que resulta en un rendimiento muy reducido, especialmente al saltar entre páginas almacenadas en caché. (Considere que la página 0 y la línea 0 de la página 1 están asignadas a la línea 0 del caché y el programa intenta acceder a la página 0 y a la línea 0 de la página 1 alternativamente).

-set asociative): divide el caché en iguales -partes de fragmentos de tamaño (los valores típicos son 2, 4, 8, 16, ...), cada parte se denomina forma de caché, la memoria principal se dividirá en varias páginas de caché y el tamaño de cada página de caché es; igual al tamaño de una forma de caché. Luego, cada forma de caché se trata como una pequeña caché asignada directamente. Debido a que el número de comparadores es igual al número de formas de caché, los cachés asociativos por conjuntos son más simples y económicos que los cachés totalmente asociativos. Una caché asociativa de conjuntos bidireccionales requiere sólo dos comparadores.

Con los conceptos anteriores, debería ser más fácil entender la descripción del caché de la CPU en algunos artículos. Si aún le resulta difícil de entender, puede entenderlo mejor: piense en el caché como una tabla bidimensional con m filas yn columnas. Cada celda es una línea de caché, cada fila es un conjunto compuesto por n cachés horizontales; líneas; cada columna es una línea de caché compuesta por m líneas verticales; cuando m es 1, es un caché completamente asociativo; cuando n es 1, es un caché de mapeo directo;

No respondo completamente a tu pregunta, pero debería ayudarte a comprender el documento que estás leyendo.