0% encontró este documento útil (0 votos)
149 vistas12 páginas

Análisis de Memoria Caché en Computadoras

Este documento presenta una investigación sobre la memoria caché realizada por Carmen Aida Ramírez Díaz, estudiante de Ingeniería en Tecnologías de la Información y Comunicación en el Instituto Tecnológico de Puebla. El objetivo general es realizar un análisis de la memoria caché utilizando diversos medios de información. Entre los objetivos específicos se encuentran mostrar la clasificación y características de las memorias caché, así como su funcionamiento, importancia y optimización. El documento también

Cargado por

carmen diaz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
149 vistas12 páginas

Análisis de Memoria Caché en Computadoras

Este documento presenta una investigación sobre la memoria caché realizada por Carmen Aida Ramírez Díaz, estudiante de Ingeniería en Tecnologías de la Información y Comunicación en el Instituto Tecnológico de Puebla. El objetivo general es realizar un análisis de la memoria caché utilizando diversos medios de información. Entre los objetivos específicos se encuentran mostrar la clasificación y características de las memorias caché, así como su funcionamiento, importancia y optimización. El documento también

Cargado por

carmen diaz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

INSTITUTO TECNOLÓGICO DE MÉXICO

INSTITUTO TECNOLÓGICO DE PUEBLA

ARQUITECTURA DE COMPUTADORAS
PROFESOR: RAFAEL MEZA GARCÍA

NOMBRE: CARMEN AIDA RAMIREZ DIAZ

MATRICULA: 16222026

CARRERA: INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN Y


COMUNICACIÓN

INVESTIGACIÓN SOBRE MEMORIA CHACHÉ

HORARIO: LUNES – MIERCOLES 11:00 a 1:00


INTRODUCCIÓN

En esta investigación se aborda el tema de la definición de la memoria caché,


se define en general y se específica su función dentro de los distintos dispositivos.
Así mismo se tiene como objetivo profundizar en el descubrimiento de su utilidad y
quizás el mecanismo de su implementación, además de comprender el por qué de
su importancia y como a lo largo del desarrollo y evolución de la tecnología tiene
una relevancia significativa con los niveles en los que se desarrolla.

Se mencionan sus características, los tipos de memoria caché y cómo su


optimización es primordial que los usuarios de los distintos ámbitos que la
contienen deben saber implementar. Es decir, en este último punto que la
optimización de este tipo de memoria conlleva al conocimiento de los distintos
fallos, configuraciones y técnicas que se deben tomar en cuenta para dicho
objetivo.

Actualmente la informática a nivel usuario ha dejado de lado el uso de


arquitecturas monoprocesadoras (salvo en los PCs y en los llamados Notebooks),
pasando a utilizar arquitecturas con chips de al menos 2 núcleos. Este cambio
producido en los últimos años en el mundo PC ya se dio en la supercomputación
hace más de dos décadas con el fin de alcanzar los Grandes Retos" de la ciencia.
Ya que es un elemento esencial de cualquier computadora moderna y
conoceremos igualmente las arquitecturas, su clasificación por niveles.

Ante la inmensa velocidad de los procesadores que a medida del tiempo se va


incrementando, el límite es mayor entre la transferencia de información de la
memoria principal (RAM) y el CPU; ante esto se plantearon soluciones, una
incrementar la velocidad de la RAM y otra, quizá la más óptima, agregar un nuevo
componente al PC: la memoria caché.
Objetivo general

Realizar un análisis de la memoria caché utilizando diversos medios de


información para mostrar la frontera del uso de esta herramienta y que sirva como
una antología.

Objetivos específicos

- Mostrar la clasificación de las memorias cache basados en: tipo de acceso,


lugar y arquitectura
- Presentar los conceptos básicos de las memorias caché, así como la
terminología, su funcionamiento, su importancia y su objetivo de la memoria
caché.
- Identificar la clasificación de las memorias caché desarrolladas
dependiendo del lugar entre la CPU y la memoria principal.
- Conocer el fallo de página.
- Estudiar las características de la memoria caché.
- Conocer las técnicas de optimización.
- Identificar su importancia.
Definición de memoria caché

La memoria es un elemento sencillo que contiene los programas que se ejecutan


en la computadora y los datos sobre los que trabajan dichos programas, sin
embargo, presenta una gran diversidad de tipos, tecnologías, estructuras,
prestaciones y costos.

En otra definición podemos encontrar que la memoria caché es una memoria


pequeña, rápida y especial de alta velocidad, se ubica entre la CPU y la memoria
principal, diseñada para acelerar el procesamiento de instrucciones del
microprocesador, el cual, puede acceder a los datos almacenados en el caché
mucho más rápido que a aquellos datos almacenados en la memoria RAM. Está
instalada en el microprocesador y tiene la capacidad de contener datos sin
necesidad de actualizarse de manera constantemente. Al estar instalada en la
CPU, es muy rápida. De hecho, puede obtener velocidades de más de 200 GB/s
en algunos casos, lo que deja claro esta velocidad. Se encarga de almacenar las
instrucciones que van a ser procesadas por la CPU.

De forma similar, cuando hablamos de caché software hablamos de un espacio de


memoria que contiene los datos calculados o copiados desde un espacio más
lento.

Objetivo de la memoria caché

El objetivo de la memoria caché es lograr que la velocidad de la memoria sea lo


más rápida posible, consiguiendo al mismo tiempo un tamaño grande al precio de
memorias semiconductoras menos costosas. El concepto se ilustra en la Figura 1
donde se muestra las Memorias caché y principal.
Figura¿Para qué
1. Memoria sirve?
caché y principal

Las memorias cachés empezaron a aparecer a principios de los años setenta, hoy
en día su uso está muy extendido. La caché se utiliza de diversas formas para
reducir el tiempo efectivo que requiere el procesador para acceder a las
instrucciones o datos almacenados en la memoria principal. A veces, la caché se
utiliza para almacenar instrucciones únicamente. En este caso, se aprovecha una
ventaja que presentan las instrucciones frente a los datos, las instrucciones no se
modifican. El contenido de una caché de instrucciones no requiere ser escrito en
memoria principal.

Un ejemplo habitual es hablar de la caché del navegador web, este espacio en


disco contiene la información temporal descargada desde Internet o red interna,
que, por la naturaleza del sistema, siempre tendrá una velocidad más lenta que el
disco físico de la máquina.

Arquitectura de su funcionamiento

Desde el punto de vista memoria caché, una dirección consta de dos partes: la
dirección del bloque y la palabra o byte dentro de él (desplazamiento). Cuando el
procesador manda una dirección a la caché, ésta compara la dirección del bloque,
en paralelo, con todas las direcciones que tiene almacenadas. En esta búsqueda
puede suceder:

- Que el bloque se encuentre en la caché, hay un éxito, y se selecciona la


palabra deseada dentro del bloque correspondiente.
- Que el bloque no se encuentre en la memoria caché, hay un fallo. En este
caso, se trae el bloque correspondiente de memoria principal y se actualiza
el campo tag.
- Posiblemente sea necesario expulsar uno de los bloques que están en la
caché.
- Por último, se localiza la palabra a la que se desea acceder

En estos dos esquemas de acceder a la caché mediante direcciones reales, en


cuyo caso se dice que la caché está localizada en el espacio de direcciones real.
No se va a tratar el caso de memorias caché localizadas en espacio de memoria
virtual, dado que habría que considerar ciertos problemas que se presentan en
este tipo de implementación.

La Figura 2 describe la estructura de un sistema de memoria caché/principal. La


memoria principal consta de hasta 2n palabras direccionables, teniendo cada
palabra una única dirección de n bits. Esta memoria está organizada en M bloques
de longitud fija (K palabras/bloque), siendo esta una organización por paginación.
Dónde M=2n /K bloques.

La memoria cache está dividida en C líneas o particiones de K palabras donde la


memoria cache es mucho más chica que la memoria principal.

Figura 2. Estructura de la memoria principal


En ella, la caché conecta con el procesador mediante líneas de datos, de control y
de direcciones. Las líneas de datos de direcciones conectan también con buffers
de datos y de direcciones que las comunican con el bus del sistema a través de la
cual se accede a la memoria principal. Cuando ocurre un acierto de caché, los
buffers de datos y de direcciones se inhabilitan, y la comunicación tiene lugar solo
entre el procesador y caché, sin tráfico en el bus. Cuando ocurre un fallo de caché,
la dirección deseada se carga en el bus del sistema y el dato es llevado, a través
del buffer de datos, tanto a la caché como al procesador. Véase la Figura 3.

Figura 3. Estructura de la memoria caché

Tamaño de caché
Aunque la caché sea de mayor velocidad que la RAM, si usamos una caché muy
grande, el micro tardará un tiempo apreciable en encontrar el dato que necesita.
Esto no sería muy importante si el dato estuviera allí, pero ¿y si no está? Entonces
habrá perdido el tiempo, y tendrá que sumar ese tiempo perdido a lo que tarde en
encontrarlo en la RAM.
Sabemos que 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. El tamaño
idóneo depende del de la RAM, y viene recogido en la siguiente tabla:

RAM (MB) Caché (Kb)

1 a 4 128 ó 256
4 a 12 256
12 a 32 512
más de 32 512 a 1024

Se debe hacer notar que muchos "chipsets" para Pentium, como los conocidos
Intel "Tritón" VX o TX, no permiten cachear más de 64 MB de RAM; es decir, que
a partir de esta cifra, es como si no existiera en absoluto (0 Kb).

Tipos de caché

 Caché de disco

 Caché de pista

 Caché web

Memoria caché L1, L2 y L3


Figura 4. Ejemplo niveles de memoria caché

Caché L1
En primer lugar, tenemos la caché L1, dentro de estas memoria caché L1, L2 y L3.
Se trata de la más rápida, porque es la que más cerca está de los núcleos. Por
eso, es capaz de alcanzar unas velocidades de hasta 1150 GB/s en ciertos
momentos. Su tamaño es reducido, de apenas 256 KB, aunque depende en parte
de la potencia de la CPU. Ya que en otros modelos el tamaño puede ser mayor,
hasta cuatro veces más grande.

La caché L1 se divide en dos tipos: Una de datos y otra de instrucciones.  La


primera almacena los datos que se procesan y la segunda la información sobre la
operación que se tiene que hacer. Además, hay que tener en cuenta que cada uno
de los núcleos tiene su propia caché L1. Por tanto, en un procesador de 6 núcleos,
nos encontramos con un total de seis caché L1.

Caché L2
En segundo lugar, nos encontramos con la caché L2. Se trata de una que tiene
una mayor capacidad de almacenamiento, aunque es más lenta que la anterior.
Ya que en este caso nos encontramos con una velocidad que alcanza los 470
GB/s en su pico de funcionamiento. Además, el tamaño en este caso es variable,
de manera notable. Puede ser pequeña como la anterior, de apenas 256 KB o
incluso llegar a superar los 15 MB con facilidad.

En esta caché se almacenan las instrucciones y datos que la CPU va a usar


dentro de poco. No está dividida en dos como en el caso anterior. Aunque, en este
caso se repite la presencia de una caché L2 por cada núcleo, al menos en los
procesadores más potentes este es el caso.

Caché L3
En tercer lugar, nos encontramos con la caché L3. En este caso, tiene un espacio
dedicado para ella en el chip del procesador. Se trata de la memoria de mayor
tamaño en esta memoria caché L1, L2 y L3, además de ser también la más lenta.
En su caso, la velocidad llega a los 200 GB /s en su caso máximo. El tamaño
puede variar de 4 a 64 MB de peso.

Nuevamente, se reparte entre los núcleos del procesador. Lo normal es que sean
un par de MB por núcleo, pero dependerá de cada procesador esta división.

Optimización, fallas y técnicas.


Para una optimización en la manera en que se ingresa a la memoria caché y cómo
se obtienen datos de ella, se han tomado en cuenta distintas técnicas que
ayudarán a que haya menos reincidencia de fallos.
Mejorar el rendimiento.
- Reducir fallos en la caché (miss rate).
- Reducir penalizaciones por fallo (miss penalty).
- Reducir el tiempo de acceso en caso de acierto (hit time).

Tipos de fallos
Existen 3 tipos de fallos en una memoria caché (se conocen como clasificación
3C):
 Forzosos (Compulsory o Cold): En el primer acceso a un bloque, este no
se encuentra en la caché (fallos de arranque en frío o de primera
referencia).
 Capacidad (Capacity): La caché no puede contener todos los bloques
necesarios durante la ejecución de un programa.
 Conflicto (Conflict): Diferentes bloques deben ir necesariamente al mismo
conjunto o línea cuando la estrategia es asociativa por conjuntos o de
correspondencia directa (fallos de colisión).
En un sistema multiprocesador, existen 2 tipos más de fallos (clasificación 5C 5):
 Coherencia (Coherence): El bloque se encuentra en caché en estado
inválido ante una lectura o sin permiso de escritura ante una escritura
debido a la solicitud del bloque por otro procesador.
 Cobertura (Coverage): El bloque se encuentra en caché, pero en estado
inválido (sin permisos) debido a una invalidación emitida a causa de un
reemplazo en el directorio, que causa la pérdida de la información de
compartición.
Técnicas para reducir fallos
Existen diversas técnicas para reducir esos fallos en la caché, algunas son:
 Incrementar el tamaño del bloque. Ventajas: Se reducen los fallos
forzosos como sugiere el principio de localidad
espacial. Inconvenientes: Aumentan los fallos por conflicto al reducirse el
número de bloques de la caché y los fallos de capacidad si la caché es
pequeña. La penalización por fallo aumenta al incrementarse el tiempo de
transferencia del bloque.
 Incremento de la asociatividad. Ventajas: Se reducen los fallos por
conflicto. Inconveniente: Aumenta el tiempo de acceso medio al
incrementarse el tiempo de acierto (multiplexión). También aumenta el
coste debidos a los comparadores
 Caché víctima. Consiste en añadir una pequeña caché totalmente
asociativa (1-5 bloques) para almacenar bloques descartados por fallos de
capacidad o conflicto. En caso de fallo, antes de acceder a la memoria
principal se accede a esta caché. Si el bloque buscado se encuentra en
ella, se intercambian los bloques de ambas cachés.
 Optimización del compilador. El compilador reordena el código de
manera que por la forma en cómo se hacen los accesos, se reducen los
fallos de caché.

Conclusión

La memoria cache, en este momento, es una parte fundamental de una


computadora. No sólo existe un tipo de memoria cache, sino más bien una
jerarquía de ellas. No solo existe memoria cache entre la memoria principal y la
CPU sino que existen memorias cache que apoyan a otros dispositivos que
involucran entrada/salida. Por lo que es fundamental que un estudiante del área
de cómputo conozca los tipos de memoria cache y su arquitectura. La cuestión del
tamaño es un tema siempre abierto. Si se consigue hasta una cierta capacidad
probablemente se desarrollarán aplicaciones que la utilicen. La cuestión es la
rapidez es, en cierto sentido, fácil de responder. En un momento dado, la
eficiencia del procesador depende del acceso de datos o instrucciones a memoria.
Actualmente los ingenieros ya no buscan la forma de aumentar la frecuencia de
la CPU si no la forma de añadir más núcleos a una CPU, añadirle unidades
funcionales replicadas y así mejorar el rendimiento general del procesador.

Bibliografía

1. Análisis documental sobre memorias cache


[Link]
%[Link]?sequence=1&isAllowed=y
2. Qué es la memoria caché L1, L2 y L3
[Link]
como-saberlo

3. Todo sobre caché [Link]


4. Caché (informática) [Link]
%C3%A1tica)#Mejorar_el_rendimiento.

También podría gustarte