miércoles, 13 de mayo de 2015

Memorias Caché

Etimología

La palabra procede de la voz inglesa cache «escondite secreto para guardar mercancías, habitualmente de contrabando» y esta a su vez de la francesa cache, «escondrijo o escondite»).

La Real Academia Española, en el Diccionario de la lengua española sólo reconoce la palabra con tilde, aunque en la literatura especializada en Arquitectura de computadoras se emplea siempre la palabra sin tilde por ser anglosajona y debería escribirse en cursiva (cache).


Concepto

Utilizada en informática significa memoria temporal; generalmente de existencia oculta y automática para el usuario, que proporciona acceso rápido a los datos de uso más frecuente o previsible.

La idea de duplicación de datos se basa en que los datos originales son más costosos de acceder en tiempo con respecto a la copia en memoria caché. Los datos almacenados en un caché pueden ser valores que se han computado recientemente o duplicados de valores almacenados en otro lugar.



Historia


En 1965, la "memoria esclava" o memoria caché fue inventada por Maurice Wilkes. Esta memoria almacenaba datos recientes y actuaba como un amortiguador entre el procesador y la memoria física. Corría el año 1969 cuando un equipo de IBM, dirigido por David Sayre, demostró que la memoria virtual podía controlar los sistemas de forma más eficiente que las estrategias manuales que realizaban los programadores para controlarlos. De 1967 a 1975, los experimentos continuaron encontrando las limitaciones y el funcionamiento de la memoria virtual fue cada vez más estable.


El desarrollo de la memoria virtual y las adiciones de la tecnología en los sistemas informáticos continuaron en el mercado y en 1985, Intel y Microsoft ofrecieron los sistemas que utilizan actualmente la memoria virtual. Desde 1985, la tecnología de memoria virtual ha continuado y las compañías han seguido el ejemplo de los pioneros de Intel y de Microsoft. Hoy en día, la memoria virtual está disponible en una variedad de empresas y se ha convertido en parte de la vida cotidiana de la computadora.


Tipos
·        
       Memoria cache interna: Es una innovación relativamente reciente; en realidad son dos, cada una con una misión específica: Una para datos y otra para instrucciones.  Están incluidas en el procesador junto con su circuitería de control, lo que significa tres cosas:  comparativamente es muy cara; extremadamente rápida, y limitada en tamaño

o   L1 (Se encuentra dentro del núcleo)
o   L2 (En el procesador)
o   L3 (En placa base)
o   Memoria de disco

·      Memoria cache Externa: Es más antigua que la interna, dado que hasta fecha "relativamente" reciente estas últimas eran impracticables.   Es una memoria de acceso rápido incluida en la placa base, que dispone de su propio bus y controlador independiente que intercepta las llamadas a memoria antes que sean enviadas a la RAM



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 y escritura.

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
·         Asociativa
·         Asociativa por conjuntos

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é. Existen dos políticas muy extendidas:

·         Por demanda
·         Con prebúsqueda

Política de reemplazo

Determina qué bloque de memoria caché debe abandonarla cuando no existe espacio disponible para un bloque entrante. Básicamente hay cuatro políticas:

·         Aleatoria
·         FIFO
·         Menos recientemente usado (LRU)
·         Menos frecuencias usadas (LFU)

Política de Actualización o Escritura

Determinan el instante en que se actualiza la información en memoria principal cuando se hace una escritura en la memoria caché.

·         Escritura Inmediata
·         Escritura Aplazada
·         Escritura Obligada



Intel

“Intel diseñó una innovadora función para mejorar el rendimiento del sistema y la eficiencia de caché. Intel Smart Cache aumenta la probabilidad de que cada núcleo del procesador puede acceder a datos de más rápido, subsistema de caché más eficiente. ”

Intel Smart Cache permite que cada núcleo utilice de forma dinámica hasta el 100% de caché disponibles, mientras que la obtención de datos de la caché a la tasa de rendimiento más alto.
Esto mejora el rendimiento general del procesador al mantener más datos cerca del procesador para una rápida ejecución.



AMD

AMD es el rival más directo que tiene Intel. Los micros son exactamente igual de compatibles, y usando el ordenador no notaremos en ningún momento diferencias entre tener un Intel o un AMD.
Al igual que ocurre con Intel, AMD también fabrica diferentes gamas de microprocesadores.

Algo importante en AMD es su denominación de velocidad teórica, marcada con un XXXX+ que no representa su velocidad en GHz. Por ejemplo, un Athlon64 3200+ con 512 kB de caché, va realmente a 2 GHz. Eso no implica que sean lentos, todo lo contrario, se supone que ese 2 GHz equivale a un Pentium4 a 3,2 GHz (de ahí el 3200+).