[OS] dirigir caché de mapeado, la cartografía y grupos completos conectado Mapping conectado

capacidad de la caché es pequeña, se guarda el contenido de la memoria principal sólo un subconjunto de los contenidos, y la caché y el intercambio de datos principal es la unidad de memoria de bloque. Con el fin de poner la información en la caché, es necesario aplicar alguna función para localizar la dirección de memoria a la caché, que se llama mapeo de direcciones. Después de que la información se carga por la relación de la caché de mapeo, la CPU ejecuta el programa, la dirección de memoria en la dirección de programa de la caché, el proceso de conversión de direcciones se denomina transformación.

Caché de métodos de mapeo de direcciones son de asignación directa, totalmente asociativa, y establecer mapas cartográficos asociativos. Supongamos que una capacidad de la memoria principal del ordenador de 1 MB, y se divide en 2048 bloques, cada bloque 512B; Cache capacidad de 8KB, está dividido en 16 bloques, cada bloque es 512B. Como ejemplo a continuación se describen los tres método básico de asignación de dirección.

asignación directa

organizaciones de caché mapeo directo se muestra en la figura 3-14. Un bloque de memoria principal se puede asignar a un determinado bloque a la memoria caché. Por ejemplo, el bloque de memoria principal 0, un primer 16, ......, el 2032, se puede asignar a la caché de bloques 0, y una primera memoria principal, la primera 17, ......, el 2033, solamente se puede proyectar en el primer bloque de la caché .......
Aquí Insertar imagen Descripción

La correspondencia directa es la forma más sencilla de asignación de dirección, el hardware es simple de bajo costo, rápida velocidad de conversión de direcciones, pero el tema no implica el algoritmo de reemplazo. Sin embargo, este enfoque no es lo suficientemente flexible, el espacio de almacenamiento caché no se utiliza totalmente, cada bloque de memoria principal puede contener sólo una posición fija, con tendencia a conflictos, la eficiencia de la caché gotas, y por lo tanto sólo es adecuado para la caché de gran capacidad empleada. Por ejemplo, si un programa necesita ser repetido en referencia a la memoria principal y el segundo bloque 0 16, preferiblemente 0 de la memoria principal de forma simultánea con la primera copia a la memoria caché 16, pero ya que sólo se puede copiar a un caché de bloques 0 go, incluso si el otro espacio de almacenamiento vacío caché no está ocupado, por lo que los dos bloques se cargan alternativamente caché constantemente, lo que resulta en la reducción de la tasa de éxito.

mapeo totalmente asociativa

Figura 3-15 es un mapeo del tejido caché totalmente asociativa, cualquier memoria principal se puede asignar a una posición en una cualquiera de la memoria caché.

Aquí Insertar imagen Descripción
Totalmente mapeo asociativo una manera más flexible, cada bloque de la memoria principal se puede asignar a cualquiera de la memoria caché, la alta eficiencia de la caché, baja probabilidad de bloque de conflicto, siempre y cuando una pieza de la memoria caché, cualquiera puede ser transferido a la memoria principal . Sin embargo, debido a diseñar e implementar circuito Cache comparador más difícil, este método sólo es adecuado para pequeña capacidad Cache emplea.

Conjunto de mapeo asociativo

Set asociativo y mapeo directo mapas de realidad comprometen mapeo totalmente asociativa, su estructura como se muestra en la figura 3-16. Cache y la memoria principal se agrupan, el número de bloques de memoria principales y el mismo paquete en la caché dentro de un número de grupo, un mapeo directo entre los grupos, una asignación totalmente asociativa en el grupo. Es decir, la memoria caché se divide en grupos u, v cada bloque, el bloque se almacena en la memoria principal, que grupo está parado, como un depósito al que el grupo es flexible. Por ejemplo, la memoria principal 256 está dividida en grupos, cada grupo de ocho, Cache divide en ocho grupos de dos.

Aquí Insertar imagen Descripción

Un mapeo fija entre el número de grupo de la caché con cada bloque de memoria principal, pero se puede asignar libremente a uno cualquiera del grupo de caché correspondiente. Por ejemplo, la memoria principal de 0, 8 ...... se asignan primero grupo Cache 0, pero Cache 0 puede ser asignado a un primer grupo de 0 o 1; una primera memoria principal, la primera 9 ...... primer grupo se asignan a la memoria caché, pero se puede asignar al grupo Cache 1 o 2 del tercer bloque.

A menudo conjunto usado asociativo Cache, 2,4,8,16 bloques dentro de cada grupo, como de dos vías, 4, 8, 16 vías conjunto asociativo Cache. Asociativa por conjuntos de caché de primer dos métodos es un compromiso, teniendo en cuenta las ventajas de ambos moderadamente para evitar las desventajas de ambos, y por lo tanto ha sido ampliamente utilizado.

Publicados 324 artículos originales · elogios ganado 14 · Vistas a 90000 +

Supongo que te gusta

Origin blog.csdn.net/LU_ZHAO/article/details/105260472
Recomendado
Clasificación