Ante la inmensa velocidad de los procesadores que a medida del tiempo se
va incrementando, el lmite es mayor entre la transferencia de la memoria principal (RAM) y el CPU; ante esto se plantearon soluciones, una incrementar la velocidad de la RAM y otra, quiz la ms ptima, agregar un nuevo componente al PC: la memoria cach. La memoria cach es una clase de memoria RAM esttica (SRAM) de acceso aleatorio y alta velocidad, situada entre el CPU y la RAM; se presenta de forma temporal y automtica para el usuario, que proporciona acceso rpido a los datos de uso ms frecuente. La ubicacin de la cach entre el microprocesador y la RAM, hace que sea suficientemente rpida para almacenar y transmitir los datos que el microprocesador necesita recibir casi instantneamente. La memoria cach es unas 5 6 veces ms rpida que la DRAM (RAM dinmica), por eso su capacidad es mucho menor y su precio es elevado, hasta 10 20 veces ms que la memoria principal dinmica para la misma cantidad de memoria. Algunas memorias cach estn construidas en la arquitectura de los microprocesadores. Por ejemplo, el microprocesador Pentium II: tiene 32 KB de cach de primer nivel (level 1 o L1) repartida en 16 KB para datos y 16 KB para instrucciones; la cach de segundo nivel (level 2 o L2) es de 512 KB y trabaja a mitad de la frecuencia del microprocesador. La cach L1 est en el ncleo del microprocesador, y la L2 est en una tarjeta de circuito impreso junto a ste.
Utilizacin de la memoria cach Acelerar el procesamiento de las instrucciones de memoria en la CPU. Los ordenadores tienden a utilizar las mismas instrucciones y (en menor medida), los mismos datos repetidamente, por ello la cach contiene las instrucciones ms usadas. Por lo tanto, a mayor instrucciones y datos la CPU pueda obtener directamente de la memoria cach, tanto ms rpido ser el funcionamiento del ordenador. La memoria cach se carga desde la RAM con los datos y/o instrucciones que ha buscado la CPU en las ltimas operaciones. La CPU siempre busca primero la informacin en la cach, lo normal es que va encontrar ah la mayora de las veces, con lo que el acceso ser muy rpido. Pero si no encuentra la informacin en la cach, se pierde un tiempo extra en acudir a la RAM y copiar dicha informacin en la cach para su disponibilidad. Cuando se encuentra un dato en la cach, se dice que se ha producido un acierto, siendo un cach juzgado por su tasa de aciertos (hit rate). Los sistemas de memoria cach usan una tecnologa conocida por cach inteligente en la cual el sistema puede reconocer cierto tipo de datos usados frecuentemente. Las estrategias para determinar qu informacin debe ser puesta en la cach constituyen uno de los problemas ms interesantes en la ciencia de las computadoras. En el siguiente diagrama se describe un proceso cuando la CPU requiere operacin de lectura de una instruccin:
A parte de la cach con respecto a la memoria RAM, en un PC existen muchos otros sistemas de cach, como: Memoria RAM como cach: Las unidades de almacenamiento (discos duros, discos flexibles, etc.) y otros muchos perifricos utilizan la memoria RAM como sistema de cach, una zona de la RAM contiene la informacin que se ha buscado ltimamente en dichos dispositivos, de forma que basta con acceder a la RAM para recuperarla. Disco duro como cach: Se emplea al disco duro como cach a dispositivos an ms lentos (unidades CD-ROM). Estos sistemas de cach suelen estar gobernados mediante software, que se suele integrar en el sistema operativo. La cach de disco almacena direcciones concretas de sectores, almacena una copia del directorio y en algunos casos almacena porciones o extensiones del programa o programasen ejecucin. Los navegadores Web utilizan el disco duro como cach, al solicitar una pgina Web, el navegador acude a Internet y comprueba la fecha de la misma. Si la pgina no ha sido modificada, se toma directamente del disco duro, con lo que la carga es muy rpida. En caso contrario se descarga desde Internet y se actualiza la cach, con un cierto tiempo de espera. En el caso de los navegadores Web, el uso del disco duro es ms que suficiente, ya que es extremadamente ms rpido que el acceso a Internet. Estructura y funcionamiento interno de una cach de memoria La memoria cach est estructurado por celdas, donde cada celda almacena un byte. La entidad bsica de almacenamiento la conforman las filas, llamados tambin lneas de cach. Por ejemplo, una cach L2 de 512 KB se distribuye en 16.384 filas (16 KB) y 32 columnas (32 bytes). La memoria cach tiene incorporado, un espacio de almacenamiento llamado Tag RAM, que indica a que porcin de la RAM se halla asociada cada lnea de cach, es decir permite traducir una direccin de RAM en una lnea de cach concreta. Diseo En el diseo de la memoria cach se deben considerar varios factores que influyen directamente en el rendimiento de la memoria y por lo tanto en su objetivo de aumentar la velocidad de respuesta de la jerarqua de memoria. Estos factores son las polticas de ubicacin, extraccin, reemplazo, escritura y el tamao de la cach y de sus bloques. Poltica de ubicacin Se decide dnde debe colocarse un bloque de memoria principal que entra en la memoria cach. Las ms utilizadas son: Directa: al bloque i-simo de memoria principal le corresponde la posicin i mdulo n, donde n es el nmero de bloques de la memoria cach. Asociativa: cualquier bloque de memoria principal puede ir en cualquiera de los n bloques de la memoria cach. Asociativa por conjuntos: la memoria cach se divide en k conjuntos de bloques, as al bloque i-simo de memoria principal le corresponde el conjunto i mdulo k. Dicho bloque de memoria podr ubicarse en cualquier posicin de ese conjunto. Poltica de extraccin La poltica de extraccin determina cundo y qu bloque de memoria principal hay que traer a memoria cach. Existen dos polticas muy extendidas: Por demanda: un bloque slo se trae a memoria cach cuando ha sido referenciado y no se encuentre en memoria cach. Con prebsqueda: cuando se referencia el bloque i-simo de memoria principal, se trae adems el bloque (i+1)-simo. Esta poltica se basa en la propiedad de localidad espacial de los programas. Poltica de reemplazo Determina qu bloque de memoria cach debe abandonarla cuando no existe espacio disponible para un bloque entrante. Bsicamente hay cuatro polticas: Aleatoria: el bloque es reemplazado de forma aleatoria. FIFO: se usa el algoritmo First In First Out (FIFO) (primero en entrar primero en salir) para determinar qu bloque debe abandonar la cach. Este algoritmo generalmente es poco eficiente. Menos recientemente usado (LRU): se sustituye el bloque que hace ms tiempo que no se ha usado en la cach, traeremos a cach el bloque en cuestin y lo modificaremos ah. Menos frecuencias usadas (LFU): se sustituye el bloque que ha experimentado menos referencias.
Cuando se copia o se escribe informacin de la RAM, por cada movimiento siempre cubre una lnea de cach (en la cach anterior, siempre se mueven 32 bytes).
Como instalar memoria cache Primero, debes asegurarte que la placa madre permita la instalacin de memoria cache. Las placas madre que permiten la instalacin, poseen un socket llamado COAST donde se coloca el mdulo de memoria cache. Generalmente se necesita cambiar los jumpers de configuracin del tamao de la memoria cache. La posicin correcta de los jumpers se deber consultar en el manual de la placa. Si luego de esta configuracin la PC no enciende, significa que el mdulo de memoria cache est fallado o es incompatible con la placa madre. En este caso, el mdulo debe ser cambiado. Cuando est todo funcionando, se deber habilitar el cache de memoria en la BIOS de la PC.