Está en la página 1de 35

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É

Profesor: Guillermo Tejada Muñoz. Fecha: 2018


JERARQUÍA TÍPICA DE MEMORIA

La jerarquía se basa en el PRINCIPIO DE LOCALIDAD que consiste en habilitar al usuario


de tener disponible la capacidad total de la memoria, constituida por diferentes
tecnologías (Registros, SRAM, DRAM, 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 cerca al procesador (memoria caché) el dato accesado


recientemente.

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 cerca al procesador (memoria caché) los datos contiguos al
dato recientemente accesado.
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 accesos encontrado en un nivel de la


jerarquía de la memoria.

Hit time (Tiempo de acierto). El tiempo requerido para acceder a un nivel de la


jerarquía de memoria, incluido el tiempo necesario para determinar si el acceso es
un éxito o un error.

Miss rate (Tasa de falla, tasa de desacierto). La fracción de accesos no encontrados


en un nivel de la jerarquía de memoria.

Miss penalty (Penalidad por falla, penalidad por desacierto). El tiempo requerido
para buscar un bloque en un nivel de la jerarquía de memoria desde el nivel inferior,
incluido el tiempo para acceder al bloque, transmitirlo desde un nivel al otro,
insertarlo en el nivel que experimentó la falla y luego pasar el bloque al solicitante.
CACHÉ DIRECTAMENTE MAPEADO
CACHÉ DIRECTAMENTE MAPEADO
CACHÉ DIRECTAMENTE MAPEADO
CACHÉ DIRECTAMENTE MAPEADO

¿Qué clase de localidad se está aprovechando?


R: Temporal
PALABRAS MULTIBLOQUE
Cache Directamente Mapeado
PALABRAS MULTIBLOQUE
(Directamente Mapeado)
PALABRAS MULTIBLOQUE
(Directamente Mapeado)

¿Qué clase de localidad se está aprovechando?


TASA DE FALLA VS TAMAÑO DE BLOQUE VS TAMAÑO DE CACHÉ
TAMAÑO DE LOS CAMPOS DE LA CACHÉ

RESPUESTAS
ESTRATEGIAS DE REEMPLAZO

Establecen qué bloque de la caché deben reemplazarse por un bloque de


memoria principal cuando se producen un desacierto (miss).

LRU (LEAST RECENTLY USED)

El bloque a reemplazar es el que lleva más tiempo sin haber sido accedido.

REEMPLAZO ALEATORIO

Se elige de forma aleatoria cualquiera de los bloques que forman el conjunto en


el cual se ha producido un desacierto.
ESTRATEGIAS DE ESCRITURA

Establecen la relación entre las escrituras en la memoria caché y la memoria principal.


Se garantiza la coherencia entre la información de la caché y la memoria principal,
afectando lo mínimo posible al rendimiento del sistema.

WRITE-THROUGH O ESCRITURA A TRAVÉS (EN WRITE HIT).


.
Cada vez que se escriba un dato en memoria caché, se modificará inmediatamente en
memoria principal. Se elimina problemas de coherencia porque cuando un periférico
acceda a memoria, siempre accederá a datos actualizados, con lo cual se evita el tener
que comprobar si el dato es diferente al que hay en la memoria principal.

No se produce ganancia de tiempo en las escrituras, sino sólo en las lecturas, ya que
cada escritura en caché en realidad implica una escritura en memoria principal, con el
coste que ello implica.
ESTRATEGIAS DE ESCRITURA

WRITE-BACK O ESCRITURA DIFERIDA (EN WRITE HIT).

Los datos inicialmente sólo se escriben en la caché. El dato escrito aparece reflejado
en la memoria principal sólo cuando el bloque que lo contiene va ser reemplazado.
Con la escritura diferida aparecen problemas de coherencia.

La estrategia write-back proporciona un mayor rendimiento que la write-through, a


costa de una mayor complejidad de hardware para el mantenimiento de la
coherencia.

Conviene resaltar que se asocia un bit más a cada bloque de caché, el bit dirty, el cual
se pone a uno cada vez que la CPU escribe en el bloque de caché.
WRITE ALLOCATE (EN WRITE MISS)

Cuando se da el fallo de escritura en caché, se carga desde la memoria principal


el bloque referenciado y se procede a escribir en él (aplicando la política de
write back o de write through seleccionadas).

NO WRITE ALLOCATE (EN WRITE MISS)

Cuando se da el fallo de escritura en caché, el bloque se modifica directamente


en la memoria principal , sin ser cargado en la caché.
CONFLICTO EN CACHÉ DIRECTAMENTE MAPEADO
CACHÉ ASOCIATIVA POR CONJUNTOS
CACHÉ DE 8 PALABRAS
CACHÉ ASOCIATIVA POR CONJUNTOS
CACHÉ ASOCIATIVA POR CONJUNTOS DE 4 VÍAS (BLOQUES)
RANGO DE UNA CACHÉ ASOCIATIVA POR CONJUNTOS
BENEFICIOS DE UNA CACHÉ ASOCIATIVA POR CONJUNTOS
PARÁMETROS DE UNA MEMORIA CACHÉ
PARÁMETROS DE UNA MEMORIA CACHÉ
EJERCICIOS
1. Se tiene una memoria principal (MM) de 16 MB, direccionable por palabras de 1 byte, organizada por bloques de 4 palabras
y se tiene una memoria caché de mapeo directo de 64KB. Responder:

a) Cuántos bits de dirección tiene la MM.


b) Cuál es el número total de bloques de la MM.
c) Cuántos bits representan la dirección o número de bloque.
d) Cuántas líneas tiene la memoria caché.
e) Cuantos bits representan el número de línea (index) en la memoria caché.
f) Cuántos bits representan la etiqueta del bloque.

Solución

a) Si 2(#bits de la dirección de la MM) = 16MB, entonces: #bits de la dirección de la MM = log 16MB/log2 = log 224/log 2 = log2 224= 24 bits

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

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

d) # Líneas de la caché = 64KB/4bytes = 16K líneas

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 = log2 214 = 14 bits

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


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

Solución

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

Si:
Hit time = (Hit rate)(tcaché)
Miss rate = (1-Hit rate)
Miss penalty = (tcaché+tMM)

Entonces:

AMAT = Hit time + Miss rate x Miss penalty (ns or clocks)


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

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

Solución

AMAT = Hit time + Miss rate x Miss penalty = 5 + 0.03 x 100 = 8 ns


4. En un caché directamente mapeado calcular el AMAT si:

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 un cache L2 con un hit time de 20 ns y un hit rate de 50%

AMAT AMAT = Hit timeL1 + Miss rateL1 x Miss Penalty

Miss Penalty= Hit timeL2 + Miss rateL2 x Miss PenaltyL2

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

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


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

a) El número de líneas 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 de memoria principal a 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 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 %.
6. Se dispone de un computador de 32 bits de direcciones de memoria y 32 bits 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 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 el mismo 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)Si se tiene 32 bits de dirección entonces: tamaño de memoria principal = 232 bytes = 212 MB.

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

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

d) Si cada línea es de 4 palabras = 16 bytes entonces: # Líneas de cache = 64 KB/16 bytes = 4K líneas.

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

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

Hit rate = 70/78 = 89%


3. En un caché directamente mapeado calcular el AMAT si:

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 un cache L2 con un hit time de 20 ns y un hit rate de 50%

AMAT AMAT = Hit timeL1 + Miss rateL1 x Miss Penalty

Miss Penalty= Hit timeL2 + Miss rateL2 x Miss PenaltyL2

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

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


3. En un caché directamente mapeado calcular el AMAT si:

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 un cache L2 con un hit time de 20 ns y un hit rate de 50%

AMAT AMAT = Hit timeL1 + Miss rateL1 x Miss Penalty

Miss Penalty= Hit timeL2 + Miss rateL2 x Miss PenaltyL2

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

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


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
(Hit rate)(tcaché) + (1-Hit rate)(tcaché+tMM)
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