Anda di halaman 1dari 6

Memoria cache Las memorias caches empezaron a aparecer a principios de los aos setenta, hoy en da su uso est muy

extendido. Una memoria cache es una memoria pequea y muy rpida que se sita entre el procesador y la memoria principal.

Y que contiene temporalmente la informacin que est siendo utilizada en un momento determinado. El sistema de memoria principal - secundaria se puede organizar como un sistema de memoria virtual, el sistema de memoria cache principal se organiza de forma similar. La memoria cache se utiliza de diversas formas oara reducir el tiempo efectivo que requiere el procesador para acceder a las instrucciones datos almacenados en la memoria principal. En ocaciones se utiliza para almacenar instrucciones nicamente, en este caso, se aprovechan una ventaja que presentan las instrucciones frente a los datos, las instrucciones no se modifican. El contenido de una memoria cache de instrucciones no requiere ser escrito en memoria principal.

Interna cach (L1) est integrado en la CPU, y externa cach (L2) reside en la placa base. Tanto L1 y L2 almacenar datos usados recientemente por la CPU. Cuando el CPU necesita los datos, primero comprueba la fuente ms rpida - L1. Si los datos no estn all, la CPU comprueba el siguiente, L2. Si todava no se pueden encontrar los datos, se requiere una bsqueda mucho tiempo de la RAM ms lento. Nota: L2 cach tambin se llama SRAM.

Funcionamiento Una forma de impementar una memoria cache es mediante memoria asociativa . esta memoria se compone de un conjunto de pares, cada uno consta de la direccindel bloque en la memoria principaly una copia de dicho bloque (paguinas de la cache, a menudo tambin llamadas lneas). Las direccin de cada bloque recibe el nombre de tag o etiqueta.

Desde el punto de vista de la memoria cache una direccion consta de dos partes: la deireccion del bloque y la palabra o byte dentro de l. Cuando el procesador manda una direccin a la cache, sta compara la direccin del bloque, en paralelo , con todas las direcciones que tiene almacenadas. En esta bsqueda puede suceder. Que el bloque se encuentre en la cache, hay un xito, y se selecciona la palabra deseada dentro del bloque correspondiente. Que el bloque no se encuentre en la memoria cache, hay un fallo. En este caso, se trae el bloque correspondiente de memoria principal y se actualiza el campo tag. Posiblemente sea necesario expulsar uno de los bloques que estan en la cache. Por ltimo, se localiza la palabra a la que se desea acceder.

El tiempo que la MMU requiere para realizar la traduccin y el tiempo en que la cache realiza la bsqueda es prcticamente el mismo, dado que ambas utilizan la misma tecnologa (memoria asociativa). Aspectos de diseo Una de las primeras decisiones que deben tomarse a la hora de disear una memoria cache es el tamao de la memoria cache y de sus bloques. Otros aspectos importantes a determinar son las polticas, el tiempo de acceso a la cache y el problema de la consistencia. El tamao de la memoria cache y de sus bloques Influye sobretodo en la tasa de aciertos. Para una memoria cache de temao determinado, a medida que aumenta el tamao del bloque aumenta la probabilidad

de xito, debido a que se favorese la localidad especial. Esta mejora va en detrimiento de la localidad temporal, ya que el nmero de bloques de la cache disminuye. Si el nmero de cache disminuye excesivamente, se producira trasiago. El tamao de bloque correspondiente a la maxima probabilidad de acierto depende en gran medida del comportamiento del programa. Politica de carga Esteblece cuando y qu informacin va a ser envidiada desde la memoria principal a la memoria cache. Las politicas de carga ms comunes, son carga por demanda (muy utilizada en memoria virtual) y carga anticipada (muy utilizada en memoria cache). Politica de ubicacin Establece la relacin relativa de los bloques en la cache y en la memoria principal. Las polticas mas importantes son: directa, totalmente asociativa y asociativa por conjuntos. Politica de sustitucin Establece que bloque va a salir de la memoria cache para dejar espacio al nuevo bloque que viene de la memoria principal. La mas utilizada es LRU, puesto a que esta poltica puede ser utilizada por harware, de forma que su funcionamiento se acerque a la velocidad de la cache. Otra poltica muy utilizada por su sencillez es Random, que elige el bloque a reemplazar de forma aleatoria. Politica de actualizacin Establece el momento en que debe de ser actualizada la informacin en la memoria principal a partir de su copia en la cache. Cuando el CPU ejecuta instrucciones que modifican el contenido de la memoria cache, estos cambios deben reflejarse tambin en la memoria principal, ya que la cache es slo un buffer temporal. Homogeidad de la cache Un posible mtodo para incrementar el ancho de banda de la memoria es introducir dos caches separadas: una para instrucciones y otra para datos. A este tipo de organizacin se de memoriase llama arquitectura Harvard.

Tiempo de acceso a la cache Una aproximacin ms general para incrementar el ancho de banda de la memoria consiste en dividir la memoria en varios mdulos fsicamente independientes. El diseo de una memoria en mdulos se denomina entrelazado. Dependiendo de la forma en que se encuentran las direcciones en los diversos mdulos, el entrelazado puede ser: De orden inferior. Direcciones consecutivas estn localizadas en mdulos consecutivos. La seleccin del mdulo se realiza mediante los bits de menor peso de la direccin. De orden superior. Cada mdulo contiene direcciones consecutivas. La seleccin del modulo se realiza mediante los bits de mayor peso de la direccin. La ventajas de los entrelazados Orden inferior Resulta adecuado para reducir conflictos de acceso en el caso de referencia a direcciones consecutivas, y por lo tanto resulta til en procesadores vectoriales. Orden superior Son una fcil expansin de memoria y una mayor fiabilidad. Problema de consistencia Ademas de los accesos a memoria realizadas por l procesador , hay que tener en cuenta los realizados por parte del sistema de entrada/salida.

Organizacin de la cache Uno de los aspectos ms importantes en el diseo de una cache es cmo estn ubicados los bloques de memoria misma. Las polticas de ubicacin ms utilizadas son: Directas La forma ms sencilla de asignar a cada palabra de memoria una direccin en la cache es asignar una posicin. A cada posicin de la memoria corresponde exactamente una posicin en la cache. Si el numero de la cache es una pontencia de 2, pueden utilizarse los bits de menor peso de la direccin y realizar acceso directo a la cache sin necesidad de calcular el mdulo. Como cada bloque de la cache corresponde varios bloques de memoria principal, se aade a cada bloque como un campo tag que identifica qu bloque de memoria est cargando en cada uno de los bloques de la cache. Este campo esta formado por los bits de mayor peso de la direccin. La correspondencia directa es la organizacin ms sencilla. La direccion real consta de tres campos: tag, nmero de bloques y palabra. El numero de bloques consta de 10 bits ( hay 1024 bloques en la cache) y sirve para direccionar una entrada en la cache; el campo palabra de 4 bits ( los bloques son de 16 bytes) selecciona la palabra que quieres acceder dentro del bloque, y el campo tag, de 6 bits (a cada entrada de la cache le corresponden 64 en memoria principal), sirve para comprobar s la entrada seleccionada en la cache contiene el bloque deseado. Asociativa Esta organizacin representa el extremo opuesto, cualquier bloque de memoria puede residir en cualquier entrada de la cache. La direccin consta de dos partes: tag y palabra. El campo tag, de 16 bits, identifica una entrada de la cache(hay 64 bloques de memoria). Este metodo tiene mayor tasa de aciertos, sin enbargo no es tan rpido como el anterior, puesto que la busqueda asociativa no es tan rpida como el acceso directo. Asociativa por conjuntos

Este metodo combina las ventajas de las dos poltica anteriores. La cache se organiza en C conjuntos de B bloques. El conjunto que contiene un bloque de memoria viene dado por: DireccinDelBloque Modulo C(conjunto) La direccin real consta de tres campos: tag, conjunto y palabra. Una busqueda asociativa sobre el campo tag permite localizar el bloque correcto al que se desea acceder (si el bloque esta en la cache, si no es as, se producira un fallo). Este mtodo es el ms rpido y ms barato que el anterior, y no presenta el problema que plantea la correspondencia directa. Para saber si los bloques de la cache tienen o no informacin vlida, se aade un bit de validez asociado a cada entrada de la cache que indica si la informacion que contiene es vlida o no. Diferencias entre las jerarquas de memoria cache-MP y MP-Memoria secundaria La jerarquia de la me memoria cache-principal es mucho ms rpida que la jerarquia memoria principal-secundaria

Anda mungkin juga menyukai