Está en la página 1de 12

TECNOLOGICO NACIONAL DE MÉXICO

INSTITUTO TECNOLÓGICO DE PUEBLA

Nombre:
Pérez Sánchez Francisco Manuel
No. De control: 18221794 Especialidad: TIC´S

Nombre de la materia:
Arquitectura de computadoras

Memorias Cache

Horario:
Lunes y miércoles 11:00-1:00

Nombre del docente:


Rafael García Meza

SEMESTRE ENERO – JUNIO 2021


INTRODUCCIÓN

Una memoria es un dispositivo capaz de almacenar información.

Operaciones:

 Escritura: Introducir información en una posición determinada de la memoria


 Lectura: Obtener información existente en una posición determinada de la memoria

Palabra de memoria

 Unidad de almacenamiento típica. Contienen números binarios.


 La capacidad es el número de palabras: C
 El tamaño el número de bytes.

Direcciones de memoria

 Cada palabra se identifica por un número que llamamos dirección.


 El tamaño de las direcciones el número de bits de las direcciones:B
 El espacio direccionable es D=2B. Se ha de cumplir D>=C.

Caché es el nivel de memoria situada entre el procesador y la memoria principal. Se


comenzaron a usar a fines de los años 60s. Hoy en día, todas las computadoras incluyen
cachés.
OBJETIVO GENERAL:

Entender los distintos elementos de diseño de las memorias caché

 Políticas de reemplazo
 Políticas de escritura
 Coherencia
 Niveles y tipos de caché
 Tamaño de las líneas

OBJETIVOS:

 Análisis del tiempo de acceso promedio a la memoria pequeño.


 Observar la reducción del ancho de banda entre memoria principal y procesador

 Introducir la terminología y los principios básicos de funcionamiento de la memoria


caché, resaltando la localidad referencial de los programas que explican su elevado
rendimiento.
 Analizar las alternativas de diseño que determinan el comportamiento de una caché,
resaltando la función de correspondencia, las políticas de búsqueda y sustitución de
bloques, y el mantenimiento de la coherencia con memoria principal en las escrituras.
 Estudiar los factores que más influencia tienen en el rendimiento de una caché junto a
las alternativas de diseño hardware y software que permiten optimizar dichos factores.
 Analizar el sistema de memoria caché de algunos procesadores, especialmente el del
ARM.
DESARROLLO

Un caché 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é frecuentemente usados en las
computadoras personales: memoria caché y caché de disco. Una memoria caché, llamada
también a veces almacenamiento caché o RAM caché, es una parte de memoria RAM
estática de alta velocidad (SRAM) más rápida que la RAM dinámica (DRAM) usada como
memoria principal.

Debemos tener en cuenta que la velocidad de acceso a la Memoria Principal es fundamental


en el rendimiento en el proceso de datos. Por tal motivo se puso toda la atención a
incrementar las velocidades de acceso a memoria. Apareció la memoria Caché.

La memoria caché es una pequeña memoria de almacenamiento local, construida


generalmente con memorias estáticas (SRAM) de muy alta velocidad y costosas. La misma
se encuentra ubicada entre la CPU y la Memoria Principal obteniendo como resultado
engañar a la CPU haciéndole creer que posee toda una Memoria Principal de rápido acceso.
Esta memoria es de menor capacidad que la MP y el éxito de la misma radica en que el
microprocesador opere la mayor parte del tiempo desde la caché.

La arquitectura básica de una memoria caché es la siguiente:

Memoria de Etiquetas: Contiene una lista de etiquetas (21 Bits) que hacen referencia a las
direcciones de la MP que están almacenadas en la Caché. Además, posee una palabra de
estado por cada etiqueta.

Memoria de Datos: Contiene las instrucciones o datos que son usados más frecuentemente
por el microprocesador. Se agrupa en conjunto de datos. (Líneas)

Lógica de Control: Se encarga entre otras cosas de determinar si un dato se encuentra o no


en la memoria Caché, generando la señal de presencia o ausencia respectivamente.
ESTRUCTURA DE LA MEMORIA CACHÉ

La memoria caché 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é.
Por ejemplo, una caché L2 de 512 KB se distribuye en 16.384 filas (16KB) y 32 columnas (32
bytes).

Caché de mapeo directo: La memoria RAM se divide en porciones de igual tamaño, de


acuerdo a la cantidad de líneas de caché existan. Cada línea de caché es un recurso para
compartir por las direcciones de memoria de una porción diferente. Por ejemplo, si se
dispone de una RAM de 64 MB y la caché de 512 KB, cada línea podrá almacenar 32 de las
4.096 direcciones que contiene la porción de RAM asociada (64 MB/ 16.384 líneas = 4.096
bytes / línea). Caché completamente asociativa: Cada línea de caché se puede llenar con
cualquier grupo deposiciones de la memoria RAM. En este caso, el porcentaje de acierto es
máximo. En cambio, el tiempo de acceso es muy elevado, puesto que una posición de RAM
puede estar en cualquier línea de caché (esto es lento, incluso empleando algoritmos de
búsqueda avanzados). Caché asociativa por conjuntos de N líneas: La caché se divide en
conjuntos de N líneas, a cada conjunto se le asocia un grupo de posiciones de RAM. Dentro
del conjunto asignado, una posición de RAM puede ir a parar a cualquiera de las N líneas
que lo forman, es decir dentro de cada conjunto la caché es totalmente asociativa. Esta
situación es la más equilibrada, puesto que se trata de un compromiso entre las técnicas
anteriores. Si se hace N=1, se tiene una caché. De mapeo directo. Si N es igual al número de
líneas de la caché, se tiene una caché completamente asociativa. Si se escoge un valor de N
apropiado, se alcanza la solución óptima.

POLITICA 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 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é.
Asociativa: Cualquier bloque de memoria principal puede ir en cualquiera de los n bloques de
la memoria caché. Asociativa por conjuntos: La memoria caché 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ÍTICAS DE SUSTITUCIÓN

Determina qué bloque de memoria caché 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 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é. Este algoritmo generalmente es poco eficiente. Menos recientemente usado
(LRU): Se sustituye el bloque que hace más tiempo que no se ha usado en la caché,
traeremos a caché el bloque en cuestión y lo modificaremos ahí. Menos frecuencias usadas
(LFU): Se sustituye el bloque que ha experimentado menos referencias.

POLÍTICAS DE ESTRUCTURA

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: Un bloque sólo se trae a memoria caché cuando ha sido referenciado y no se
lo encuentre en memoria principal.

Con prebúsqueda: Cuando se referencia el bloque i-ésimo de memoria principal, se trae


además el bloque (i+1)-ésimo. Esta política se basa en la propiedad de localidad espacial de
los programas.

Tipos de cache

Caché interna

Es una innovación relativamente reciente [3]; 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 (en cada una de las cachés internas, los 386
tenían 8 KB; el 486 DX4 16 KB, y los primeros Pentium 8 KB). Como puede suponerse, su
velocidad de acceso es comparable a la de los registros, es decir, centenares de veces más
rápida que la RAM
Caché 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 (H2.2Buses locales). La caché externa típica es un banco
SRAM ("Static Random Access Memory")de entre 128 y 256 KB. Esta memoria es
considerablemente más rápida que la DRAM ("Dynamic Random Access Memory")
convencional, aunque también mucho más cara [5] (tenga en cuenta que un aumento de
tamaño sobre los valores anteriores no incrementa proporcionalmente la eficacia de la
memoria caché). Actualmente (2004) la tendencia es incluir esta caché en el procesador. Los
tamaños típicos oscilan entre 256 KB y 1 MB.

Caché de disco
Además de las anteriores, que son de propósito general, existe una cache de funcionalidad
específica que se aloja en memoria RAM estándar. Es la caché de disco (nos hemos referido
a ella en la introducción de este epígrafe), destinada a contener los datos de disco que
probablemente sean necesitados en un futuro próximo y los que deben ser escritos. Si la
información requerida está enchaché, se ahorra un acceso a disco, lo que es centenares de
veces más rápido (recuerde que los tiempos de acceso a RAM se miden en nanosegundos y
los de disco en milisegundos E1.7.1 Unidades de medida).

CONCLUSIÓN:

En este trabajo se ha indicado cómo se enseña la memoria caché. Se han repasado las
asignaturas que incluyen la investigación en memorias caché, y la importancia que ésta tiene
dentro de los objetivos generales de cada asignatura. El número de horas dedicadas al
estudio de memorias caché muestra que éstas son un aspecto fundamental dentro de todo
sistema informático (uniprocesador o multiprocesador), principalmente porque son un
componente crítico para el rendimiento de cualquier sistema.

BIBLIOGRAFIA:

 M. Morris Mano, “Lógica Digital y Diseño de Computadores”, Editorial Dossat S.A.,


1982 2. System Technick,
 “Módulo DIGI-BOARD2 Descripción Técnica” 3. Víctor P. Nelson, H. Troy Nagle, Bill D.
Carroll y J. David Irwin,
 “Análisis y Diseño de Circuitos Lógicos Digitales”, Prentice-Hall Hispanoamericana,
S.A., 1996
 "Sistemas digitales". Ronald J. Tocci. Ed. Prentice–Hall. (1995)
 "Fundamentos de los computadores". P. de Miguel Anasagasti. Ed. Paraninfo. (1999).
 "Teoría de la conmutación y diseño lógico". F. Hill & G. Peterson. Ed. Limusa. (1978).
 "Problemas de circuitos y sistemas digitales". C. Baena, M.J. Bellido, A.J. Molina, P.
Parra y M. Valencia. Ed. MacGraw–Hill. (1997).
 "Problemas de sistemas electrónicos digitales". J. Velasco. J. Otero. Ed. Paraninfo.
(1995).
 "Problemas de electrónica digital".  F. Ojeda Cherta. Ed. Paraninfo. (1994).
 "Diseño de Circuitos impresos con OrCAD Capture y Layout v 9.2".  Mª Auxilio
Recasens Bellver, José González Calabuig. Ed. Paraninfo. (2002).

También podría gustarte