Técnico en Plataformas Informáticas - Ingeniería Ejecución Informática
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.
Conectarse

Recuperar mi contraseña

Clock
Contadores Gratis
Mega.com
Amigos del Play 2

Buscar y Aportar

Anime


Mayo 2024
LunMarMiérJueVieSábDom
  12345
6789101112
13141516171819
20212223242526
2728293031  

Calendario Calendario


Memoria Cache

Ir abajo

Memoria Cache Empty Memoria Cache

Mensaje  HarryKnight Sáb 19 Jul 2008, 18:09

En informática, una caché es un conjunto de datos duplicados de otros originales, con la propiedad de que los datos originales son costosos de acceder, normalmente en tiempo, respecto a la copia en el caché. Cuando se accede por primera vez a un dato, se hace una copia en el caché; los accesos siguientes se realizan a dicha copia, haciendo que el tiempo de acceso medio al dato sea menor.
El término caché puede utilizarse también para una zona de memoria de disco denominado caché de disco (Disk cache o Cache buffer en inglés).
Composición interna
La memoria caché está estructurado 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é. Por ejemplo, una caché L2 de 512 KB se distribuye en 16.384 filas y 32 columnas
Cuando se copia o se escribe información de la RAM, por cada movimiento siempre cubre una línea de caché.
La memoria caché tiene incorporado, un espacio de almacenamiento llamado Tag RAM, que indica a que porción de la RAM se halla asociada cada línea de caché, es decir permite traducir una dirección de RAM en una línea de caché concreta.
Diseño
En el diseño 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 jerarquía de memoria. Estos factores son las políticas de ubicación, extracción, reemplazo, escritura y el tamaño de la caché 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é. Las más utilizadas son:
• Directa: Al bloque n-ésimo de memoria principal le corresponde la posición n módulo k donde k es el número de bloques de la memoria caché.
• Asociativa: Cualquier bloque de memoria principal puede ir en cualquier lado del bloque de memoria caché.
• Asociativa por conjuntos: La memoria caché se divide en n conjuntos de bloques, así al bloque i-ésimo de memoria principal le corresponde el conjunto i módulo (k/n) donde k es el número de bloques de memoria caché. Dicho bloque de memoria podrá ubicarse en cualquier posición dentro del conjunto asociado de la memoria caché.



Política de extracción
La política de extracción determina cuándo y cuál bloque de memoria principal hay que traer a memoria caché. Existen dos políticas muy extendidas:
• Por demanda: Un bloque sólo se trae a memoria caché 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é debe abandonarla cuando no existe espacio disponible para un bloque entrante. Basicamente hay cuatro políticas que son:
• Aleatoria: El bloque es reemplazado de forma aleatoria.
• FIFO: Se usa un algoritmo First In First Out FIFO (PEPS, primero entrado primero salido en español) para determinar qué bloque debe abandonar la caché. Este algoritmo generalmente es poco eficiente.
• Menos recientemente usado (LRU): Se sustituye el bloque que hace más tiempo que no se ha utilizado.
• Menos frecuentemente usado (LFU): Se reemplaza el bloque que se ha usado con menos frecuencia.
Siendo la Aleatoria y la LRU las de mejor rendimiento.
Política de escritura
Determina cuándo se actualiza la información en memoria principal cuando se ha escrito en memoria caché. Existen dos políticas principales:
• Escritura inmediata o escritura directa: En inglés Write Through. Cuando se escribe en un bloque que se encuentra en memoria caché, la información se modifica también simultáneamente en memoria principal, manteniendo así la coherencia en todo momento. Suele combinarse con la técnica de "No carga en escritura" (No Write Allocation) que significa que, cuando haya que escribir en un bloque que no se encuentra en la caché, la modificación se realizará únicamente en memoria principal, sin traer dicho bloque a caché, y además sólo se actualizará la palabra concreta que haya cambiado.
• Escritura aplazada o post-escritura: En inglés Write Back. Cuando se escribe en un bloque que se encuentra en memoria caché, queda marcado como sucio usando un bit especial llamado normalmente dirty bit o bit de sucio. Cuando el bloque sea desalojado de memoria caché (mediante la correspondiente política de reemplazo), se comprueba el bit de sucio, y si está activado se escribe la información de dicho bloque en memoria principal. Esta política suele combinarse con la técnica de "Carga en escritura" (Write Allocation), que significa que, cuando haya que escribir en un bloque que no se encuentra en la caché, traeremos a caché el bloque en cuestión y lo modificaremos ahí.

La caché no es sino un tipo de memoria del ordenador; por tanto, en ella se guardan datos que el ordenador necesita para trabajar. La memoria principal del ordenador (la RAM) y la memoria caché son básicamente iguales en muchos aspectos; la diferencia está en el uso que se le da a la caché.
Debido a la gran velocidad alcanzada por los microprocesadores desde el 386, la RAM del ordenador no es lo suficientemente rápida para almacenar y transmitir los datos que el microprocesador necesita, por lo que tendría que esperar a que la memoria estuviera disponible y el trabajo se ralentizaría. Para evitarlo, se usa una memoria muy rápida, estratégicamente situada entre el microprocesador y la RAM: la memoria caché.
Ésta es la baza principal de la memoria caché: es muy rápida. Unas 5 o 6 veces más que la RAM. Esto la encarece bastante, y ése es uno de los motivos de que su capacidad sea mucho menor que el de la RAM: un máximo en torno a 512 kilobytes (512 Kb), es decir, medio "mega", frente a 16 ó 32 megas de RAM. Además, este precio elevado la hace candidata a falsificaciones y trampas.
Pero la caché no sólo es rápida; además, se usa con una finalidad específica. Cuando un ordenador trabaja, el microprocesador opera en ocasiones con un número reducido de datos, pero que tiene que traer y llevar a la memoria en cada operación. Si situamos en medio del camino de los datos una memoria intermedia que almacene los datos más usados, los que casi seguro necesitará el microprocesador en la próxima operación que realice, se ahorrará mucho tiempo del tránsito y acceso a la lenta memoria RAM; esta es la segunda utilidad de la caché.
El tamaño de la caché
Aunque la caché sea de mayor velocidad que la RAM, si se usa una caché muy grande, el microprocesador tardará un tiempo apreciable en encontrar el dato que necesita. Por tanto, la caché actúa como un resumen de los datos de la RAM, y como se sabe un resumen de 500 páginas no resulta nada útil. Se puede afirmar que, para usos normales, a partir de 1 MB (1024 Kb) la caché resulta ineficaz, e incluso pudiera llegar a ralentizar el funcionamiento del ordenador.
La caché interna
La caché referida anteriormente es la llamada "caché externa" o de segundo nivel (L2). Existe otra, cuyo principio básico es el mismo, pero que está incluida en el interior del microprocesador; de ahí lo de interna, o de primer nivel (L1).
Esta caché funciona como la externa, sólo que está más cerca del microprocesador, es más rápida y más cara, además de complicar el diseño del microprocesador, por lo que su tamaño se mide en pocas decenas de kilobytes. Se incorporó por primera vez en los micros 486, y por aquel entonces era de 8 Kb (aunque algunos 486 de Cyrix tenían sólo 1 Kb). Hoy en día se utilizan 32 ó 64 Kb, aunque seguro que pronto alguien superará esta cifra.
La importancia de esta caché es fundamental; por ejemplo, los Pentium MMX son más rápidos que los Pentium normales en aplicaciones no optimizadas para MMX, gracias a tener el doble de caché interna.
HarryKnight
HarryKnight
Administrador
Administrador

Mensajes : 204
Fecha de inscripción : 19/07/2008
Edad : 37
Localización : 7° Region de Chile

https://tecplain.forosactivos.net

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.