You are on page 1of 18

Universidad Nacional de La Matanza

Sistemas de Computacin I
Arquitectura de Computadoras
Prof. Titular: Ing. Fernando I. Szklanny

Curso lectivo
2010
Bloque de almacenamiento
Memoria
M i cach
h

Autores: Ing. Miriam Prez Berr Ing. Carlos Rodrguez


A.S. Silvia Perrone
Presentacin general del tema
Se plantea la necesidad de mejorar el
rendimiento
di i t ddell sistema
i t fformado
d por lla CPU dde
una computadora y su memoria principal.
Las velocidades de respuesta (tiempos de
acceso) de las memorias no se corresponden
con las necesidades de velocidad de la CPU.
El sistema de memoria cach permite acelerar
los procesos entre CPU y memoria principal.
MEMORIA CACHE

La mayora de las referencias a memoria Se corresponden con un


principal. conjunto reducido de locaciones.

Para mejorar el Se sugiere colocar una memoria pequea, pero


rendimiento del sistema de rpida
memoria
Principio de localidad: ell 90% del
d l tiempo
ti dde ejecucin
j i se consume en ell
10% del cdigo

Referencia a una locacin de memoria

Probabilidad de acceso cercano a:

La misma posicin anterior: Posiciones cercanas a la accedida:


Localidad temporal Localidad espacial
GENERALIDADES

- Los sistemas modernos pueden tener distintos niveles de memoria cache en su jerarqua, los
que se distinguen como Nivel 1 (L1), Nivel 2 (L2), y an en ciertos casos Nivel 3 (L3). La
memoria cache de Nivel 1, en muchos casos viene incorporada directamente en el mismo
circuito
i i iintegradod dde lla C
CPU.

- Si la memoria cach contiene instrucciones y operandos, esta memoria se denomina memoria


unificada.
- Se puede mejorar el rendimiento, si se separa la memoria cache en dos, una parte para los datos
(se lee ms de lo que se escribe), y otra para el cdigo (instrucciones de programa, que solo se
leen).
l ) E En este caso se hhabla
bl dde una memoriai cacheh fragmentada o ffraccionada.
i d E Este planteo
l se
justifica ya que estadsticamente existe una operacin de escritura cada cuatro o ms operaciones
de lectura.
-Tasa de aciertos (Hit rate) (%):
HR : {N de veces que la palabra buscada se encuentra en la cache / N Total de accesos a
memoria}.100
-Tiempo efectivo (medio) de acceso (nseg):
tea: {(N aciertos).(tiempo por acierto)+ (N fallas).(tiempo por falla)} / N Total de accesos a
memoria
MEMORIA CACHE DE ASIGNACION
ASOCIATIVA
DIRECCION de MEMORIA FALLA

ETIQUETA ROTULO-PALABRA

S bits W bits MEMORIA CACHE 2r MEMORIA PPAL


LINEAS 2S BLOQUES

E0 L0 B0

E1 L1 B1

E.. L.. B..

E.. + L.. B..

E.. L.. Bi..

Er-1 Lr-1 B..


B2S-1..
BIT DE SUCIEDAD
COMPARADOR Siendo r << s
BIT DE VALIDEZ

ACIERTO
DIRECCION de MEMORIA ETIQUETA ROTULO

S bits W bits

MEMORIA PPAL

E0 L0 B0
E1 L1 B1
E.. L.. B..
E
E.. L
L.. B
B..
E.. L.. Bi..
Er-1 Lr-1 B..
B2S-1..
LINEAS: 2r LINEAS
2S BLOQUES de 2W
ETIQUETAS : 2S ETIQUETAS PALABRAS

BIT DE SUCIEDAD
TAMAO DE LA
TAMAO DE CACHE = 22R .22W PALABRAS
LA CACHE PALABRAS
BIT DE VALIDEZ
EXISTEN MAS BLOQUES EN LA MEMORIA PRINCIPAL QUE LINEAS EN LA
MEMORIA CACHE

LA BUSQUEDA DE ETIQUETAS SE REALIZA EN PARALELO

UN BLOQUE DE MEMORIA PUEDE ASIGNARSE A CUALQUIER LINEA


PRINCIPAL
CUANDO SE CARGA POR SE LIMPIA PREVIAMENTE LA MEMORIA
PRIMERA VEZ UN PROGRAMA CACHE

SI SE DEBE MODIFICAR UNA PREVIAMENTE SE ESCRIBE EN


LINEA MEMORIA PRINCIPAL
SE REUTILIZA CON OTRO BLOQUE

SI SE PRODUCE UNA FALLA SE UBICA EN MEMORIA PRINCIPAL EL


BLOQUE QUE LA CAUSO Y SE LO CARGA EN
LA CACHE
MEMORIA CACHE DE ASIGNACION DIRECTA

DIRECCION de MEMORIA

ETIQUETA LINEA PALABRA FALLA


S- Q bits Q bits W bits

E0 L0 B0

E1 L1 B1

E.. L.. B..

E.. + L.. B..

E.. L.. Bi..

Er-1 Lr-1 B..


B2S-1..

COMPARADOR BIT DE SUCIEDAD MEMORIA PRINCIPAL

r =cantidad de lneas de cache,


BIT DE VALIDEZ
donde cada lnea, posee 2w
palabras.
ACIERTO
DIRECCION de MEMORIA ETIQUETA LINEA PALABRA

S- Q bits Q bits W bits

MEMORIA
PRINCIPAL
E0 L0 B0
E1 L1 B1
E.. L.. B..
E... L.. B
B..
E... L.. B2q
Er-1 Lr-1 B 2q+1
B..
MEMORIA CACHE
B2s-1..

BIT DE VALIDEZ Tendremos 2 s bloques en memoria principal, 2 q lneas


de cache, de 2w palabras cada una y 2 s-q etiquetas.
BIT DE SUCIEDAD
EXISTEN MAS BLOQUES EN MEMORIA PRINCIPAL QUE LINEAS EN MEMORIA
CACHE

UN BLOQUE DE MEMORIA SE ASIGNA SIEMPRE A UNA SOLA


PRINCIPAL LINEA

UNA LINEA DE MEMORIA SE CORRESPONDE CON UN CONJUNTO EXPLCITO


CACHE DE BLOQUES DE MEMORIA PRINCIPAL

PUEDE RECIBIR MAS DE UN BLOQUE

SI SE HACE REFERENCIA A EL CAMPO DE LINEA INDICA EN QUE LINEA


UNA DIRECCION DE PUEDE ENCONTRARSE
MEMORIA PRINCIPAL
SI EL BIT DE VALIDEZ ES 1 SE COMPARA EL
CAMPO DE ETIQUETAS

SI COINCIDE, LA PALABRA SE TOMA DESDE LA


POSICIN ESPECIFICADA EN EL CAMPO DE PALABRA.
VENTAJAS Y DESVENTAJAS DE LA ASIGNACION DIRECTA

MENOR TAMAO DE LA MEMORIA DE ETIQUETAS.

NO SE NECESITA EFECTUAR BUSQUEDA ASOCIATIVA

SE DEBEN EVITAR LAS REFERENCIAS SUCESIVAS A MEMORIA CON


SEPARACION MAYOR A 2Q+W (tamao de la Memoria Cache), CASO CONTRARIO LA
REFERENCIA A
MEMORIA PUEDE PRODUCIR UNA FALLA.
MEMORIA CACHE DE ASIGNACION POR CONJUNTOS

DIRECCION de MEMORIA

ETIQUETA CONJUNTO PALABRA FALLA

S- Q bits Q bits W bits

E0 L0 B0
C0 B1
E1 L1
E.. L.. B..
C..
B..
E.. + L..
E.. L.. Bi..
Cr/2 -1
Er-1 Lr-1 B..
S
S
B2 -1..

COMPARADOR BIT DE SUCIEDAD MEMORIA CACHE MEMORIA


PRINCIPAL
BIT DE VALIDEZ

Suponemos para este caso, que un grupo


ACIERTO est formado por dos lneas consecutivas
de la memoria Cache
DIRECCION de MEMORIA ETIQUETA CONJUNTO PALABRA

S- Q bits Q bits W bits

L0 B0
C0 L1 B1
L.. B..
C1 L.. B..
B2q
L.. B 2 q +1
C r/2 - 1
L -1 B
B..
B2S -1..

Tendremos 2 s bloques en memoria principal, 2 q


conjuntos de cache y 2 q+1 lneas de cache, de 2w palabras
BIT DE VALIDEZ cada una y 2 s-q etiquetas.
BIT
BIT DE
DE SUCIEDAD
SUCIEDAD S t caso, que un grupo est
t fformado
d
Suponemos para este
por dos lneas consecutivas de la memoria Cache
MEMORIA CACHE DE ASIGNACION POR CONJUNTOS

COMBINA LA SIMPLICIDAD DE LA ASIGNACION DIRECTA CON LA FLEXIBILIDAD


DE LA ASIGNACION ASOCIATIVA

SI DOS LINEAS FORMAN UN CONJUNTO SE TIENE UNA MEMORIA


ASOCIATIVA DE DOS
VIAS

ASIGNACION DE UNA DIRECCION PARA UN CONJUNTO SE UTILIZA EL


ESQUEMA DE LA ASIGNACION DIRECTA

DENTRO DEL CONJUNTO SE UTILIZA LA


ASIGNACIONASOCIATIVA

VENTAJAS Y DESVENTAJAS.

SE INCREMENTA LIGERAMENTE LA MEMORIA DE ETIQUETAS CON RESPECTO A


LA ASIGNACION DIRECTA

EN CADA REFERENCIA SOLO SE DEBEN ANALIZAR DOS ETIQUETAS


POLITICAS DE LECTURA Y ESCRITURA DE MEMORIA
CACHE

ESCRITURA Write back, se difiere la escritura


DIFERIDA hasta despus de la limpieza de la
LOS DATOS
memoria cache.
ESTAN EN
MEMORIA
CACHE ESCRITURA Write through, se realizan dos
INMEDIATA copias, una en memoria cache y otra
ESCRITURA DE en memoria principal.
CACHE
ESCRITURA Write allocate, se ingresa el bloque
CON en la memoria cache y se lo
LOS DATOS NO
ASIGNACIN actualiza.
ESTAN EN
MEMORIA
ESCRITURA Write no allocate, se lo actualiza en
CACHE
SIN memoria principal sin involucrar a
ASIGNACIN la
l memoria
i cache.
h
LOS DATOS
ESTAN EN ENVIAR A LA
MEMORIA CPU
CACHE

LECTURA DE
CACHE Load through, la palabra buscada
CARGA se transfiere a la CPU sin esperar
INMEDIATA que se complete la transferencia
del resto de la lnea.
LOS DATOS NO
ESTAN EN
MEMORIA Load back, se actualiza la
CACHE CARGA
memoria cache, y luego se lo
DIFERIDA transfiere a la CPU. La CPU
siempre lee desde memoria
cache.
POLITICAS DE REEMPLAZO (EN CASO DE FALLA) EN
MEMORIAS DE ASIGNACION ASOCIATIVA

LRU - Menos Recientemente Usado (least recently used)

- Se agrega en cada lnea una identificacin de tiempo, la que se actualiza cada vez que se
accede, y se descarta el contenido de la usada menos recientemente.

LFU - Menos Frecuentemente Usado (least frequently used)

- Se actualiza una lnea por vez mediante un contador de frecuencia adosado a cada lnea, se
libera el bloque que muestra la menor tasa de actualizacin.

FIFO - El primero que entra es el primero que sale (first in first out)

- Se reemplazan las lneas en forma ordenada, una tras otra en el orden en el que se encuentran
ordenados en la memoria.

ALEATORIA

- Se elige simplemente una lnea al azar.

You might also like