Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1 de 5
https://es.wikipedia.org/wiki/Cach_(informtica)
La cach es una memoria que se sita entre la unidad central de procesamiento (CPU) y la memoria de
acceso aleatorio (RAM) para acelerar el intercambio de datos.
Cuando se accede por primera vez a un dato, se hace una copia en la cach; los accesos siguientes se realizan
a dicha copia, haciendo que sea menor el tiempo de acceso medio al dato. Cuando el microprocesador
necesita leer o escribir en una ubicacin en memoria principal, primero verifica si una copia de los datos est
en la cach; si es as, el microprocesador de inmediato lee o escribe en la memoria cach, que es mucho ms
rpido que de la lectura o la escritura a la memoria principal.2
1 Etimologa y ortografa
2 RAM cach y cach de disco
3 Composicin interna
3.1 Memoria cach nivel 1 (Cach L1)
3.2 Memoria cach nivel 2 (Cach L2)
3.3 Memoria cach nivel 3 (Cach L3)
4 Diseo
4.1 Poltica de ubicacin
4.2 Poltica de extraccin
4.3 Poltica de reemplazo
4.4 Poltica de Actualizacin o Escritura
5 Optimizacin
5.1 Mejorar el rendimiento.
5.2 Reduccin de fallos
5.2.1 Tipos de fallos
5.2.2 Tcnicas para reducir fallos
6 Vase tambin
7 Referencias
8 Enlaces externos
La palabra procede de la voz inglesa cache (/k/; escondite secreto para guardar mercancas,
habitualmente de contrabando), y esta a su vez de la francesa cache, (/ka/; escondrijo o escondite). A
menudo, en espaol se escribe con tilde sobre la e, del mismo modo como se vena escribiendo con
anterioridad el neologismo cach (distincin o elegancia o cotizacin de un artista), proveniente
14/12/2015 5:56
2 de 5
https://es.wikipedia.org/wiki/Cach_(informtica)
tambin del francs, pero no de la misma palabra, sino de cachet, (/ka'/; sello o salario).
La Real Academia Espaola, en su Diccionario de la lengua espaola, slo reconoce la palabra con tilde,1
aunque en la literatura especializada en arquitectura de computadoras (por ejemplo, las traducciones de libros
de Andrew S. Tanenbaum, John L. Hennessy y David A. Patterson) se emplea siempre la palabra sin tilde,
por ser anglosajona, y debe por ello escribirse en cursiva (cache).
La unidad cach es un sistema especial de almacenamiento de alta velocidad. Puede ser tanto un rea
reservada de la memoria principal como un dispositivo de almacenamiento de alta velocidad independiente.
Hay dos tipos de cach frecuentemente usados en computadoras personales: memoria cach y cach de
disco.
Una memoria cach, a veces llamada RAM cach, es una parte de RAM esttica (SRAM) de alta
velocidad, ms rpida que la RAM dinmica (DRAM) usada como memoria principal. La memoria cach es
efectiva dado que los programas acceden una y otra vez a los mismos datos o instrucciones. Guardando esta
informacin en SRAM, la computadora evita acceder a la lenta DRAM.
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. Algunas memorias cach estn construidas en la arquitectura
de los microprocesadores. Por ejemplo, el microprocesador Pentium II: tiene 32 KiB de cach de primer nivel
(level 1 o L1) repartida en 16 KiB para datos y 16 KiB para instrucciones; la cach de segundo nivel (level 2
o L2) es de 512 KiB 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.
La cach de disco trabaja sobre los mismos principios que la memoria cach, pero en lugar de usar SRAM de
alta velocidad, usa la convencional memoria principal. Los datos ms recientes del disco duro a los que se ha
accedido (as como los sectores adyacentes) se almacenan en un bfer de memoria. Cuando el programa
necesita acceder a datos del disco, lo primero que comprueba es la cach de disco para ver si los datos ya
estn ah. La cach de disco puede mejorar notablemente el rendimiento de las aplicaciones, dado que
acceder a un byte de datos en RAM puede ser miles de veces ms rpido que acceder a un byte del disco
duro.
Los datos en la memoria cach se alojan en distintos niveles segn la frecuencia de uso que tengan, estos
niveles son los siguientes:
14/12/2015 5:56
3 de 5
https://es.wikipedia.org/wiki/Cach_(informtica)
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 y escritura.
Poltica de ubicacin
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. Cada bloque de la memoria principal tiene su posicin en la
cach y siempre en el mismo sitio. Su inconveniente es que cada bloque tiene asignada una posicin
fija en la memoria cach y ante continuas referencias a palabras de dos bloques con la misma
localizacin en cach, hay continuos fallos habiendo sitio libre en la cach.
Asociativa: Los bloques de la memoria principal se alojan en cualquier bloque de la memoria cach,
comprobando solamente la etiqueta de todos y cada uno de los bloques para verificar acierto. Su
principal inconveniente es la cantidad de comparaciones que realiza.
Asociativa por conjuntos: Cada bloque de la memoria principal tiene asignado un conjunto de la
cach, pero se puede ubicar en cualquiera de los bloques que pertenecen a dicho conjunto. Ello
permite mayor flexibilidad que la correspondencia directa y menor cantidad de comparaciones que la
totalmente asociativa.
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
14/12/2015 5:56
4 de 5
https://es.wikipedia.org/wiki/Cach_(informtica)
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): 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): Sustituye el bloque que ha experimentado menos referencias.
Vase tambin: Algoritmos de reemplazo de pginas
Para una optimizacin en la manera en que se ingresa a la memoria cach y cmo se obtienen datos de ella,
se han tomado en cuenta distintas tcnicas que ayudarn a que haya menos reincidencia de fallos.
Mejorar el rendimiento.
Reducir fallos en la cach (miss rate).
Reducir penalizaciones por fallo (miss penalti).
Reducir el tiempo de acceso en caso de acierto (hit time).
Reduccin de fallos
Tipos de fallos
Existen 3 tipos de fallos en una memoria cach:
Forzosos (Compulsory): En el primer acceso a un bloque ste no se encuentra en la cach (fallos de
arranque en fro o de primera referencia).
Capacidad (Capacity): La cach no puede contener todos los bloques necesarios durante la ejecucin
de un programa.
Conflicto (Conflict): Diferentes bloques deben ir necesariamente al mismo conjunto o lnea cuando la
estrategia es asociativa por conjuntos o de correspondencia directa (fallos de colisin).
14/12/2015 5:56
5 de 5
https://es.wikipedia.org/wiki/Cach_(informtica)
14/12/2015 5:56