lunes, 2 de diciembre de 2013

Memoria cache

Memoria Cache
En esta entrada se mencionara y describirá los principales conceptos sobre una memoria tan pequeña y útil, que ayudó a mejorar el rendimiento y acceso a los datos.

La arquitectura solo se basaba en CPU conectada directamente con la memoria principal sin embargo para mejorar el tiempo de acceso a los datos se incorporo esta memoria que aumento el rendimiento considerablemente.

¿Que es la cache?
Una cache es una memoria de acceso aleatorio volátil y que su capacidad de almacenamiento se encuentra en el orden de lo Kbytes y Mbytes, esta memoria se encuentra entre la cpu y la memoria principal, sin embargo un nivel mas veloz que la memoria cache son los "Registros" en los cuales son almacenados los resultados de la CPU. 
Con el objetivo de aumentar la velocidad del procesador se intodujo la memoria cache para almacenar los datos e instrucciones que son accedidos con mas frecuencia.

Segun menciona en su libro Stallings W:
"Cuanto mas grande sea el cache la velocidad del procesador aumentara, de igual forma el consumo de potencia y de transistores."
Por tanto el aumento de memorias cache en una arquitectura debe realizarse tomando en cuenta el consumo de la fuente y la ventilación requerida para un buen funcionamiento.
Mientras mas espacios de la memoria principal sean soportados por la cache el retardo del acceso a datos disminuirá. 

Niveles de la cache

Para mejorar aun mas el rendimiento se utiliza lo que es los niveles de la cache es decir "aumentar mas cache a la cache" ya que mientras mas pequeña sea esta memoria mas rápido sera el direccionamiento.
El nivel 1 es una memoria que esta integrada en el microprocesador y es utilizada para acceder a datos que son usados constantemente, es el mas rápido(tiende a la velocidad del procesador).
Nivel 2 es mas lento que la del nivel uno pero mas grande y es utilizado para almacenar información reciente. Si se requiere datos de esta memoria son copiados a la memoria de nivel 1. Básicamente se utiliza para almacenar instrucciones de programas (aunque también almacena datos). 
Nivel 3 a diferencia de los anteriores este se encuentra integrado en la placa madre y se utiliza para alimentar a la memoria L2, L3 es mas veloz que la memoria principal.

Tipos de memoria cache
Punto de vista del hadware

  • Primaria o interna: Básicamente son las memorias de nivel L1 y L2 mencionadas anteriormente  estos tienen sus propios controladores, son mas veloces que la RAM, por ejemplo en los primeros Pentium eran de (8 kbytes).
  • Secundario o externo.- Es una memoria de acceso rapido incluido en la placa madre que tiene una capacidad mayor a la interna (256 Kbytes) es el nivel 3 mencionado anteriormente.
Punto de vista del Software

  • Cache de disco: Contiene información de disco que podría ser utilizada en un futuro. Este tiene 2 formas de funcionamiento. Lectura anticipada procura que los datos posiblemente requeridos sen traidos de la memoria RAM. Por otro lado la escritura retrasada consiste en no enviar los datos hasta que el sistema de disco este desocupado.
Tipos de funcionamiento de cache
Existen 3 formas para mapear la cache:
Cache de mapeado directo: consiste en que la memoria Ram sera dividida en porciones de igual tamano que la cache, cada linea de cache hara referencia a una pocicion de la memoria ram.
Cache completamente asociativa.- Consiste en que cada porcion  de la memoria ram se encontrara en  cualquier pocicion de la cache. En este caso el tiempo de acceso sera mayor.
Cache asociativa por conjuntos: La cache es divida en conjuntos de n lineas y a cada conjunto se le asocia una porcion de la Ram. Esta resulta ser una tecnica mas equilibrada.

 

Bibliografia

  • Stallings W(2008).Organizacion y arquitectura de computadoras.


No hay comentarios:

Publicar un comentario