Diferencia entre revisiones de «Caché (informática)»

Contenido eliminado Contenido añadido
Sin resumen de edición
m Revertidos los cambios de 87.218.141.182 (disc.) a la última edición de Amanuense
Línea 1:
[[Imagen:Caché.svg|frame|Diagrama de una [[memoria]] cachécache de [[CPU]].]]
 
== Nombre ==
La palabra '''caché''' procede de la voz inglesa ''cache'' ([[Alfabeto Fonético Internacional|/kæʃ/]]; "escondite secreto para guardar mercancías, habitualmente de contrabando") y esta a su vez de la [[idioma francés|francesa]] ''cache'', ([[Alfabeto Fonético Internacional|/kaʃ/]]; "escondrijo o escondite"). SegúnA lamenudo, Realen Academiaespañol Españolase debeescribe escribirseerróneamente con tilde alsobre serla una"e" plabrapor agudapensarse que se trata de la misma palabra que "caché" ("distinción o elegancia" o "cotización de un artista"), proveniente de un étimo también francés, pero totalmente distinto: ''cachet'', ([[Alfabeto Fonético Internacional|/ka'ʃɛ/]]; "sello" o "salario"). En la literatura especializada en Arquitectura de Computadores (como, entre otros, las traducciones de los libros de William Stallings, [[Andrew S. Tanenbaum]], [[John L. Hennessy]] y [[David A. Patterson]]) se emplea siempre la palabra sin tilde.
 
==Memoria CachéCache o RAM CachéCache ==
Un cachécache 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écache frecuentemente usados en loslas computadorescomputadoras personales: memoria cachécache y cachécache de disco. Una memoria cachécache, llamada también a veces almacenamiento cachécache o RAM cachécache, es una parte de memoria RAM estática de alta velocidad ([[SRAM]]) más que la lenta y barata [[Memoria de acceso aleatorio|RAM]] dinámica ([[DRAM]]) usada como memoria principal. La memoria cachécache es efectiva dado que los programas acceden una y otra vez a los mismos datos o instrucciones. Guardando esta información en SRAM, la computadora evita acceder a la lenta DRAM.
 
Cuando un dato es encontrado en la cachécache, se dice que se ha producido un impacto ([[hit]]), siendo un cachécache juzgado por su tasa de impactos (hit rate). Los sistemas de memoria cachécache usan una tecnología conocida por cachécache inteligente en el cual el sistema puede reconocer cierto tipo de datos usados frecuentemente. Las estrategias para determinar qué información debe de ser puesta en el cachécache constituyen uno de los problemas más interesantes en la ciencia de las computadoras. Algunas memorias cachécache están construidas en la arquitectura de los microprocesadores. Por ejemplo, el procesador Pentium II tiene una cachécache de segundo nivelL2 de 512 Kbytes.
 
El cachécache de disco trabaja sobre los mismos principios que la memoria cachécache, pero en lugar de usar SRAM de alta velocidad, usa la convencional memoria principal. Los datos más recientes del disco duro a los que se ha accedido (así como los sectores adyacentes) se almacenan en un buffer de memoria. Cuando el programa necesita acceder a datos del disco, lo primero que comprueba es la cachécache del disco para ver si los datos ya están ahí. La cachécache de disco puede mejorar drásticamente el rendimiento de las aplicaciones, dado que acceder a un byte de datos en RAM puede ser miles de veces más rápido que acceder a un byte del disco duro.
 
== Composición interna ==
La memoria cachécache está estructurada por celdas, donde cada celda almacena un byte. La entidad básica de almacenamiento la conforman las filas, llamados también líneas de cachécache. Por ejemplo, una cachécache L2 de 512 KB se distribuye en 16.384 filas y 63 columnas
 
Cuando se copia o se escribe información de la RAM por cada movimiento siempre cubre una línea de cachécache.
 
La memoria cachécache tiene incorporado un espacio de almacenamiento llamado Tag RAM, que indica a qué porción de la RAM se halla asociada cada línea de cachécache, es decir, traduce una dirección de RAM en una línea de cachécache concreta.
 
== Diseño ==
En el diseño de la memoria cachécache 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 [[jerarquía de memoria]]. Estos factores son las políticas de ubicación, extracción, reemplazo, escritura y el tamaño de la cachécache y de sus bloques.
 
=== Política de ubicación ===
Decide dónde debe colocarse un bloque de memoria principal que entra en la memoria cachécache. Las más utilizadas son:
*''Directa'': Al bloque i-ésimo de memoria principal le corresponde la posición ''i módulo n'', donde n es el número de bloques de la memoria cachécache.
*''Asociativa'': Cualquier bloque de memoria principal puede ir en cualquiera de los n bloques de la memoria cachécache.
*''Asociativa por conjuntos'': La memoria cachécache se divide en k conjuntos de bloques, así al bloque i-ésimo de memoria principal le corresponde el conjunto ''i módulo k''. Dicho bloque de memoria podrá ubicarse en cualquier posición de ese conjunto.
 
=== Política de extracción ===
La política de extracción determina cuándo y qué bloque de memoria principal hay que traer a memoria cachécache. Existen dos políticas muy extendidas:
*''Por demanda'': Un bloque sólo se trae a memoria cachécache cuando ha sido referenciado y se produzca un fallo.
*''Con prebúsqueda'': Cuando se referencia el bloque i-ésimo de memoria principal, se trae además el bloque (i+1)-esimo. Esta política se basa en la propiedad de localidad espacial de los programas.
 
=== Política de reemplazo ===
(Ver también [[Algoritmos de reemplazo de páginas]] )
Determina qué bloque de memoria cachécache debe abandonarla cuando no existe espacio disponible para un bloque entrante. Básicamente hay cuatro políticas que son:
*''Aleatoria'': El bloque es reemplazado de forma [[aleatorio|aleatoria]].
*''FIFO'': Se usa un algoritmo ''First In First Out'' [[FIFO]] (primero en entrar es el primero en salir) para determinar qué bloque debe abandonar la cachécache. Este algoritmo generalmente es poco eficiente.
*''Menos recientemente usado (LRU)'': Se sustituye el bloque que hace más tiempo que no se ha en la cachécache, traeremos a cachécache el bloque en cuestión y lo modificaremos ahí.
 
== Véase también ==
*[[CachéCache de pista]]
 
== Enlaces externos ==
* [http://www.zator.com/Hardware/H5_2.htm Artículo sobre la cachécache]
* [http://www.hellogoogle.com/tutorial-cache-web/ Artículo en españolcastellano sobre la cachécache en la web]
[[Categoría:Unidad Central de Proceso]]
[[Categoría:Memorias|CachéCache]]
[[Categoría:Almacenamiento informático]]