0% encontró este documento útil (0 votos)
12 vistas26 páginas

Semana 05 - Memoria Cache

Semana 05 - Memoria Cache

Cargado por

pochengchien5b
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 PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
12 vistas26 páginas

Semana 05 - Memoria Cache

Semana 05 - Memoria Cache

Cargado por

pochengchien5b
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 PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 26

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

FACULTAD DE INGENIERÍA ELECTRÓNICA Y ELÉCTRICA

NOTAS DEL CURSO DE


SISTEMAS DIGITALES

ORGANIZACIÓN DE MEMORIAS CACHÉ EN UN


PROCESADOR

Profesor: Guillermo Tejada Muñoz. Fecha: 2024


MEMORIAS CACHÉ EN UN PROCESADOR

Las memorias caché están construidas dentro de un miprocesador, son memorias


estáticas (SRAM) muy rápidas, alcanzan velocidades de más de 200 GB/s y latencias de
unos 10 o 11 ns (nanosegundos). Pueden ser de varios niveles (L1, L2, L3…) ,
almacenando datos e instrucciones.

PROCESADOR MONO NÚCLEO

PROCESADOR
MEMORIAS CACHÉ EN UN PROCESADOR

Cada núcleo del CPU posee sus propias memorias caché.

PROCESADOR DOS NÚCLEOS

PROCESADOR DOS NÚCLEOS


JERARQUÍA TÍPICA DE MEMORIA
La jerarquía se basa en el PRINCIPIO DE LOCALIDAD por la cual se puede suponer que
se tiene una capacidad total de la memoria, constituida por diferentes tecnologías
(Registros, SRAM, DDR, HD), con la velocidad ofrecida por la tecnología más rápida y al
precio de la más barata.
PRINCIPIO DE LOCALIDAD

LOCALIDAD TEMPORAL (localidad en el tiempo): si una localidad de memoria es


referenciada (accesada), entonces volverá a ser referenciada pronto.

Por ejemplo, si recientemente ha llevado un libro a su escritorio para revisarlo, es


probable que deba volver a consultarlo pronto.

Entonces, se debe guardar en la memoria caché (cerca del procesador) el dato de la


memoria principal (SDRAM) que fue accesado recientemente.
PRINCIPIO DE LOCALIDAD

LOCALIDAD ESPACIAL (localidad en el espacio): si una localidad de memoria es


referenciada, entonces las localidades cuyas direcciones están cerca de esa localidad
tenderán a ser referenciadas pronto.

Por ejemplo, cuando sacó el libro sobre un tema, también notó que había otro libro al
lado de él, así que también lo trajiste. Las bibliotecas colocan libros sobre el mismo
tema en los mismos estantes para aumentar la localidad espacial.

Entonces, se deben mover a la memoria caché (cerca al procesador) los datos


contiguos al dato recientemente accesado de la memoria principal.
TERMINOLOGÍA – MEMORIA CACHÉ

Block (o línea). La unidad mínima de información que puede estar presente o no en


un caché.

Hit rate (Tasa de acierto). La fracción de aciertos frente a los accesos totales en un
nivel de la jerarquía de la memoria.

Hit time (Tiempo de acierto). Tiempo para accesar los datos en el nivel superior de
la jerarquía, incluye el tiempo necesario para decidir si el intento de acceso va a
resultar en un acierto o desacierto. En un desacierto los datos deben ser tomados de
un nivel inferior.
Miss rate (Tasa de falla, tasa de desacierto). Fracción de fallas frente a los
accesos totales en un nivel de la jerarquía de la memoria.

Miss penalty (Penalidad por falla, penalidad por desacierto). Tiempo


invertido para mover un bloque del nivel inferior al nivel superior, cuando el
bloque referenciado no está en el nivel superior. Incluye el tiempo para
acceder al bloque, insertarlo en el nivel superior y luego pasar el bloque al
procesador.

AMAT (Average Memory Access Time). Es una medida común para evaluar
el desempeño del sistema de memoria, para el cálculo de AMAT se utiliza
el: hit time, miss penalty y miss rate.

AMAT = Hit time + (Miss rate)(Miss penalty) ……………………..( 1 )


AMAT = (Hit rate)(tcache) + (Miss rate)(Miss penalty)……….( 2)

Donde:
Miss rate=(1-Hit rate)
MEMORIA PRINCIPAL SDRAM-DDR
MEMORIA CACHÉ

Bloque de 1 Palabra de 4 Bytes


CACHÉ DIRECTAMENTE MAPEADO

Bloque de 1 palabra de 4 bytes


CACHÉ DIRECTAMENTE MAPEADO
CONFLICTO EN CACHÉ DIRECTAMENTE MAPEADO

Hit rate = 0% Miss rate =100%


Problema porque las dos localidades de memoria referenciadas deben estar mapeadas
en el mismo bloque de la caché
CACHÉ ASOCIATIVA POR CONJUNTOS
CACHÉ ASOCIATIVA POR CONJUNTOS

En todos los casos:


Caché de 8 bloques o vías
CACHÉ ASOCIATIVA POR CONJUNTOS

Hit rate = 75% Miss rate =25%


CACHÉ ASOCIATIVA POR CONJUNTOS DE 4 VÍAS (BLOQUES)
EJERCICIOS

1. Encontrar el número de bits del Tag de una memoria caché directamente mapeada,
sabiendo que el número de bits de dirección de la memoria principal es de 32. La
caché posee 16 bloques y el tamaño del bloque es de 8 palabras con 4 bytes por
palabra.

Dirección de la
memoria principal
SOLUCIÓN

Número de bits del Tag = 23 bits


2. Cuántos bits o celdas contiene una memoria caché. La memoria es directamente
mapeada y contiene 16KB de datos, bloques de 4 palabras de 4 bytes cada una. El
Bus de dirección de la memoria principal de 32 bits.
2.

• Si cada bloque o fila de la memoria tiene 4 palabras de 4 bytes cada una, entonces
cada bloque tiene 16B que ocupan 128 bits.
• Si el total de datos es 16KB, entonces el número de filas o número de bloques de la
memoria es: 16KB/16B=1024. Por tanto, el número de bits de dirección de la caché
o Index es de 10 bits.
• Por otro lugar, los bits offset son: 2 para direccionar cada palabra dentro del bloque
y 2 para direccionar cada byte dentro de la palabra.
• Por tanto, los bits del Tag son: 32-(10+2+2)=18 bits

• Entonces el número total de bits o celdas de la memoria caché es:


1024(1+18+128)=150528

1 18 bits 128 bits

1 18 bits 128 bits


3. Se tiene una memoria principal (MM) de 16 MB, de 4Bytes por bloque, direccionable por Byte y una memoria caché
de mapeo directo de 64KB de datos. Responder:
a)Cuántos bits tiene la dirección de la MM.
b)Cuál es el número total de bloques de la MM.
c)Cuántos bits tiene la dirección de un bloque.
d)Cuántas líneas tiene la memoria caché.
e)Cuántos bits tiene el index de la memoria caché.
f)Cuántos bits tiene la etiqueta (tag) del bloque.

Solución

a)Si capacidad= 16MB y cada Palabra = 1Byte entonces Nº Palabras = 16M


Pero:
#Palabras = 2(#bits de la dirección de la MM)
16M = 2(#bits de la dirección de la MM)
#bits de la dirección de la MM = log 16M/log2 = log 224/log 2 = log2 224= 24 bits

b) Cada bloque = 4 Bytes  #total de bloques de la MM = 16MB/4Bytes = 4M bloques

c) Si 2(#bits de la dirección del bloque) = 4M bloques, entonces: #bits de la dirección del bloque = log 4M/log2= log 222 /log 2 = 22 bits

d) # Líneas de la caché = #Bloques de la caché= 64KB/4Bytes = 16K líneas o 16K bloques

e) Si 2(#bits de la línea de la caché) = 16K, entonces: #bits de la línea de la caché (index) = log 16K/log2= log 214 /log 2 = 14 bits

f) Número de bits de la etiqueta (Tag) = 24-16 = 8


4. Si una caché directamente mapeado tiene un hit rate de 95%, un hit time de 4 ns, y un miss penalty de 100 ns,
entonces encontrar el tiempo de acceso promedio (Average Memory Access Time - AMAT).

Solución

AMAT = Hit time + Miss rate x Miss penalty


AMAT = Hit time + (1-hit rate) x Miss penalty
AMAT = 4ns + 5%(100ns)
AMAT = 9 ns.

Nota:
MissPenalty = tiempo para leer el dato en la MM + tiempo para
Trasladar el dato + tiempo para escribirlo en la caché

5. Si para el caso de la pregunta anterior se remplaza el caché con una memoria asociativa por conjuntos de 2-way,
entonces el hit rate se incrementa a 97% y el hit time se incrementa a 5 ns, se pide calcular el AMAT.

Solución

AMAT = Hit time + Miss rate x Miss penalty


AMAT = 5 + 0.03 x 100
AMAT = 8 ns
5. En un caché directamente mapeada calcular el AMAT para los casos a) y b):

a) Se tiene un hit rate de 95%, un hit time de 4 ns, y un miss penalty de 100 ns.

Solución

AMAT = Hit time + Miss rate x Miss penalty = 4 + 0.05 x 100 = 9 ns „

b) Si se agrega una caché L2 (como se muestra en la figura) con un


hit time de 20 ns y un hit rate de 50%

AMAT = Hit timeL1 + Miss rateL1 x Miss Penalty L1 -----------------(1)

Miss Penalty L1= AMAT L2 = Hit timeL2 + Miss rateL2 x Miss PenaltyL2 ----(2)

(2) En (1):

AMAT = Hit timeL1 + Miss rateL1 x (Hit timeL2 + Miss rateL2 x Miss PenaltyL2)

AMAT = 4 + 0.05 x (20 + 0.5x100) = 7.5 ns


6. En un computador de 32 bits con una memoria caché de 256 KB, líneas o bloques de 64 bytes y un tiempo
de acceso de 5 ns. La caché es asociativa por conjuntos de 4 vías. Calcular:

a) El número de líneas o bloques de la caché.


b) El número de conjuntos de la caché.
c) El tamaño de los bloques que se transfieren entre la memoria caché y la memoria principal.
d) La tasa de aciertos si el tiempo para transferir un bloque desde la memoria principal a la caché es de 200 ns
y el tiempo medio de acceso al sistema (AMAT) de memoria es de 20 ns.

Solución

a) La caché tiene un tamaño de 256 KB, como cada línea tiene 64 bytes, el número de líneas es 256KB/64 bytes
=4096 líneas.

b) Como la caché es asociativa por conjuntos de 4 vías, cada conjunto tiene cuatro líneas, por tanto el número
de conjuntos es 4096 / 4 = 1024 conjuntos.

c) El tamaño del bloque que se transfiere entre memoria principal es 64 bytes.

d) El tiempo medio de acceso al sistema viene dado por la siguiente expresión:

AMAT = Hit time + Miss rate x Miss penalty

AMAT =(Hit rate)(tcaché) + (1-Hit rate)(tcaché+tMM)

20 = (Hit rate)*5 + (1-Hit rate) ×(5+200)

Hit rate = 185 / 200 = 0,925.


Es decir, la tasa de aciertos debe ser del 92.5 %.
7. Se dispone de un computador de 32 bits de direcciones de memoria y 32 bits de datos por palabra, que
direcciona la memoria por bytes. El computador dispone de una memoria caché asociativa por conjuntos de 4
vías, con un tamaño de línea de 4 palabras. Dicha caché tiene un tamaño de 64 KB. El tiempo de acceso a la
memoria caché es de 2 ns y el tiempo necesario para tratar con un fallo de caché es de 80 ns. Indique de forma
razonada:
a)Tamaño en MB de la memoria principal que se puede direccionar en este computador.
b)Número de palabras que se pueden almacenar en la memoria caché.
c)Número de líneas que se pueden almacenar en cada conjunto.
d)Número de líneas de la caché.
e)Número de conjuntos de la caché.
f)Indique la tasa de aciertos necesaria para que el tiempo medio de acceso al sistema de memoria de este
computador sea de 10 ns.

Solución

a)Se necesitan 32 bits de dirección para direccionar cada Byte de datos de la memoria
Capacidad = (#localidadesdireccionables)x(tamaño de datos de cada localidad) = 232(8bits) = 212 X 220Bytes
=212 MBytes.

b) Si cada palabra es de 32bits = 4 bytes (4B)  #palabras = 64 KB / 4B = 16K palabras.

c) En cada conjunto se pueden almacenar 4 líneas.


d) Si cada línea es de 4 palabras = 4*(4B)= 16B  # Líneas de caché = 64 KB/16 bytes = 4K líneas.

e) Si cada conjunto tiene 4 líneas  # Conjuntos de la caché = 4Klíneas/4líneas = 1K conjuntos.

e) AMAT = Hit time + Miss rate x Miss penalty


AMAT = (Hit rate)(tcaché) + (1-Hit rate)(tcaché+tMM)
AMAT = (Hit rate)(tcaché) + (1-Hit rate)(Miss penalty)  10 = (Hit rate)2+(1-Hit rate)80
Hit rate = 70/78 = 89%
REFERENCIAS

Patterson, D.A, Hennessy, J.L. (2005). Computer Organization and Design


The hardware/Software Interface (Third edition). USA: Elsevier Inc.

Ivan de Jesus Deras Tabora. Organización de computadoras.


https://www.youtube.com/channel/UCYlPnHBRH1EPEq_R87qigHA

Estructura de Computadores - 4.2 Memoria de Caché - José Luis Abellán Migue


https://www.youtube.com/watch?v=AeJSk6Q9Tvg

Breves Conceptos Teóricos.


http://www.atc.uniovi.es/inf_med_gijon/3ingcomp/practicas/SMC/teor%C3%ADa-conceptos.htm

También podría gustarte