ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Memorias Cache, Memorias De Lectura-escritura, De sólo Lectura


Enviado por   •  7 de Octubre de 2012  •  2.205 Palabras (9 Páginas)  •  1.434 Visitas

Página 1 de 9

Memoria cache

El objetivo de la memoria cache es lograr que la velocidad de la memoria sea lo mas rápido posible, consiguiendo al mismo tiempo un tamaño grande al precio de memorias semiconductoras menos costosas.

En la imagen se observa que una memoria principal relativamente grande y más lenta, junto con una memoria cache más pequeña y rápida. La cache contiene una copia de partes de la memoria principal. Cuando el procesador intenta leer una palabra de memoria, se hace una comprobación para determinar si la palabra esta está en la cache. Si esa así, se entrega dicha palabra al procesador. Si no, un bloque de memoria principal, consistente en un número de palabras, se transfiere a la cache, y después la palabra se entrega al procesador.

La memoria consta de hasta 2 a la n palabras direccionales teniendo cada palabra una única dirección de n bits. Esta memoria la consideramos dividida en un numero de bloques de longitud física. La cache consta de C líneas de K palabras cada una, y el numero de líneas es considerablemente menor que el numero de bloques de memoria principal (C<<M). Cda línea incluye una etiqueta que identifica que bloque particular esta siendo almacenado. La etiqueta es usualmente una porción de la dirección de memoria principal.

Los diferentes tipos de caché se organizan por niveles, formando una jerarquía. En general se cumple que, a mayor cercanía a la CPU, se presenta mayor velocidad de acceso y menor capacidad de almacenamiento.

Nivel 1 (L1): Conocido como caché interno, es el nivel más cercano a la CPU (está en el mismo núcleo) con lo que el acceso se produce a la velocidad de trabajo del procesador (la máxima velocidad).

Nivel 2 (L2): Conocido como caché externo, inicialmente se instalaba en la placa base (en el exterior de la CPU). A partir de los procesadores Pentium 4 vienen incorporado en el procesador (no precisamente en el núcleo).

Nivel 3 (L3): Se encuentra en algunas placas base, procesadores y tarjetas de interfaz.

Elementos de diseño de la cache

Aunque hay muy diversas implementaciones de cache, existen unos cuantos criterios básicos de diseño que sirven para clasificar y diferenciar entre arquitecturas de cache.

Tamaño de cache

Nos gustaría que el tamaño fuera lo suficientemente pequeño como para que el coste total medio por bit se aproximara a la memoria principal, y que fuera lo suficientemente grande como para que el tiempo de acceso medio total fuera próximo al de la cache. Cuanto más grande es el tamaño, mayor es el número de puertas implicadas en direccionar la cache. El resultado es que caches grandes tienden a ser ligeramente mas lentas que las pequeñas (incluso estando fabricadas con la misma tecnología de circuito integrado y con la misma ubicación en el chip o en la tarjeta de circuito impreso). El tamaño de la cache está también limitado por las superficies disponibles de chip y de tarjetas. Las cache son muy sensibles al tipo de tarea, es imposible predecir un tamaño “optimo”.

Función de correspondencia

Ya que hay menos líneas de cache que bloques de memoria principal, se necesita un algoritmo que haga corresponder bloques de memoria principal a las líneas de cache. Además, se requiere algún medio de determinar que bloque de memoria principal ocupa actualmente una línea dada de cache. La elección de función de correspondencia determina como se organiza la cache. Pueden utilizarse tres técnicas: directa asociativa y asociativa por conjuntos.

Correspondencia directa: es la más simple, consiste en hacer corresponder cada bloque de memoria principal a sólo una línea posible de cache. La correspondencia se expresa como:

La función de correspondencia se implementa fácilmente utilizando la dirección. Cada dirección de memoria principal puede verse como dividida en tres campos. Los w bits (menos significativos) identifican cada palabra dentro de un bloque de memoria principal; en la mayoría de las maquinas actuales, el direccionamiento es a nivel de bytes. Los s bits restantes especifican uno de los 2n (dos a la n) bloques de la memoria principal. La lógica de la cache interpreta a esos s bits como una etiqueta s – r bits (mas significativos) y un campo de línea de r bits.

Correspondencia asociativa: supera la desventaja de la directa, permitiendo que cada bloque de memoria principal pueda cargarse en cualquier línea de la cache. En este caso, la lógica de control de la cache interpreta una dirección de memoria simplemente como una etiqueta y un campo de palabra. El campo de etiqueta identifica únicamente un bloque de memoria principal. Para identificar si un bloque está en la cache, su lógica de control debe examinar simultáneamente todas las etiquetas de líneas para buscar una coincidencia.

Con esta correspondencia hay flexibilidad para que cualquier bloque sea remplazado cuando se va a escribir uno nuevo en la cache.

La principal desventaja de la correspondencia asociativa es la compleja circuitería necesaria para examinar en paralelo las etiquetas de todas las líneas de cache.

Correspondencia asociativa por conjuntos: es una solución a las desventajas de la correspondencia directa y asociativa. en este caso la cache se divide en “v” conjuntos , cada uno de “k” líneas:

m = v x k

i = j modulo v

Donde:

i = numero de conjuntos de cache

j = numero de bloques de memoria principal

m = numero de líneas de cache

En este caso se denomina correspondencia asociativa por conjuntos de k vías. Con esta asignación, el bloque puede asignarse a cualquiera de las líneas del conjunto. La lógica de control de la cache interpreta una dirección de memoria con tres campos: etiqueta, conjunto y palabra.

Con la correspondencia totalmente asociativa, la etiqueta en una dirección de memoria es bastante larga, y debe compararse con la etiqueta de cada línea en la cache, sin embargo con la correspondencia asociativa por conjuntos, la etiqueta de una direccionad e memoria es mucho mas corta, y se compara sólo con las etiquetas de un mismo conjunto.

Algoritmos de Sustitución

Cuando

...

Descargar como (para miembros actualizados)  txt (13.4 Kb)  
Leer 8 páginas más »
Disponible sólo en Clubensayos.com