Está en la página 1de 89

SISTEMA DE MEMORIA

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 1


DIVERSIDAD EN LA MEMORIA
DE UNA COMPUTADORA

• Tipo
• Tecnología
• Estructura
• Prestaciones
• Costo

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 2


• Ninguna tecnología es optima para
satisfacer las necesidades de memoria de
un computador. En consecuencia, un
computador convencional esta equipado
con una jerarquía de subsistemas de
memoria.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 3


SUBSISTEMAS DE MEMORIA

Internos Externos

Accesibles por
el procesador
Directamente
mediante
accesibles por
módulos de
el procesador.
entrada/salida
.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 4


CARACTERISTICAS
• Localización
• Capacidad
• Transferencia
• Métodos de Acceso
• Rendimiento
• Tipos
• Características Físicas

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 5


LOCALIZACION

PROCESADOR INTERNA EXTERNA


• Registros • Memoria • Dispositivos de
• Cache Principal Almacenamiento
• Cache Periféricos

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 6


CAPACIDAD
Tamaño de Palabra Número de Palabras

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 7


UNIDAD DE TRANSFERENCIA

• Para la memoria interna es igual al numero de bits que se


leen o escriben en memoria a la vez.
• Para la memoria externa la unidad de transferencia es el
bloque. Puede ser igual o mayor a la longitud de palabra
(64, 128, 256 bits).
• La palabra es la unidad natural de organización de la
memoria.
• El tamaño de palabra suele coincidir con el numero de
bits para representar la longitud de un entero o una
instrucción.

En informática, una palabra o Word es el término empleado para referirse a la unidad de datos que utiliza un
procesador en particular para trabajar. Una palabra es una pieza de datos que tiene un tamaño fijo y que es
tratado como una unidad por el hardware del procesador de la computadora. El tamaño o longitud de una palabra
se mide en número de bits, lo cual constituye una característica importante en el diseño de un procesador o de
una arquitectura de computadora específicos. Este tamaño de palabra determina muchos aspectos del diseño,
estructura y operación de la computadora.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 8


Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 9
El termino memoria con arreglo direccionable por byte, significa
que el procesador puede direccionar bloques tan pequeños como
un solo byte.

Lo anterior significa que el byte es la unidad mas pequeña que el


procesador puede acceder de una sola vez.

Un procesador con un bus de datos de 8 bits también puede


manipular una palabra y doble palabra. Sin embargo esto requiere
múltiples operaciones de memoria.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 10


ORGANIZACIÓN MEMORIA
PROCESADOR 16 BITS (Intel 8086 – 80386SX)

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 11


ORGANIZACIÓN
MEMORIA
PROCESADOR 32 BITS
(Intel 80386 – Pentium)

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 12


METODOS DE ACCESO

Secuencial Directo Aleatorio Asociativo

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 13


ACCESO SECUENCIAL
Acceso en secuencia lineal especifica.

Tiempo de acceso es variable.

Mecanismo de lectura/escritura es compartido.

Ejemplo: Cinta Magnética.

Mecanismo
de lectura/escritura

... A …...

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 14


ACCESO DIRECTO

Bloques o registros tienen una única dirección basada en


su localización física.

Tiempo de acceso variable.

Mecanismo de lectura/escritura compartido.

Ejemplo: El disco duro.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 15


ACCESO ALEATORIO
Cada locación de memoria tiene un único
mecanismo de direccionamiento.

El tiempo de acceso a una locación es constante.

Ejemplo: Memoria Principal.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 16


ACCESO ASOCIATIVO

Es un tipo de acceso aleatorio.

Permite hacer una comparación de ciertas posiciones de bits dentro


de una palabra buscando que coincidan con unos valores dados, y
hacer esto para todas las palabras simultáneamente.

Cada posición tiene su propio mecanismo de direccionamiento por


lo tanto el tiempo de acceso es constante.
Ejemplo: Memoria Cache

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 17


PARAMETROS DE
RENDIMIENTO

Tiempo de Tiempo de Ciclo Velocidad de


Acceso de Memoria Transferencia

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 18


TIEMPO DE ACCESO (LATENCIA)

RAM NO RAM
Es el tiempo para
ejecutar una
operación de
lectura/escritura, Es el tiempo necesario
desde el instante que para posicionar el
una dirección es mecanismo de
presentada a la lectura/escritura en la
memoria al instante locación deseada.
que el dato ha sido
almacenado o esta
disponible para su uso.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 19


TIEMPO DE CICLO DE MEMORIA

Este concepto se aplica principalmente a las memorias


de acceso aleatorio.
Es el tiempo de acceso mas cualquier tiempo adicional
antes de que un segundo acceso pueda comenzar.

Tiempo Adicional
(Deshabilitación líneas de control, regeneración de
datos)

El tiempo de ciclo de memoria depende de las caracteristicas del bus y no del procesador.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 20


VELOCIDAD DE TRANSFERENCIA

Es la velocidad con la cual los datos pueden ser transferidos


hacia dentro o fuera de la memoria.
RAM= 1/Tiempo de ciclo
NO-RAM TN = TA + N/R

TN= Tiempo promedio para leer o escribir N bits.


TA= Tiempo acceso promedio.
N= Numero de bits.
R= Velocidad de transferencia en bits por segundo.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 21


TIPOS DE MEMORIA

SEMICONDUCTORA TECNOLOGIAS
S MAGNETICAS OPTICAS FUTURO
Disco

Memoria Holográficas,
DISCO DURO CD, DVD, etc.
Principal Moleculares

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 22


CARACTERISTICAS FISICAS

VOLATIL NO VOLATIL

Una vez grabada la


información permanece sin
deterioro hasta que es
La información decae cambiada deliberadamente.
naturalmente o es perdida
cuando la alimentación
eléctrica es apagada. No es necesaria
alimentación eléctrica para
retener la información.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 23


ORGANIZACION

Es el arreglo físico para formar


palabras.

Un bit por Chip

Una palabra por Chip.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 24


ASPECTOS A CONSIDERAR EN EL DISEÑO
DE MEMORIA

Capacidad
Rapidez
Costo

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 25


COSTO
RAPIDEZ

CAPACIDAD

El objetivo es presentar al usuario la máxima capacidad de memoria con la tecnología mas


económica, al mismo tiempo que se proporciona acceso a la velocidad de la memoria mas rápida.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 26


DILEMA
Mayor Tiempo acceso
capacidad. mas rápido.

Menor costo Mayor costo


por bit. por bit.

Acceso mas Menor


lento Capacidad

Para conseguir las prestaciones optimas, la memoria debe seguir al procesador.


Es decir, cuando el procesador ejecuta instrucciones, no es deseable que tenga
que detenerse a la espera de instrucciones o de operandos.
Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 27
JERARQUIA DE MEMORIA

• Una jerarquía de memoria puede consistir en


múltiples niveles.
• Los datos solo se transfieren entre dos niveles
adyacentes. Por lo tanto se puede enfocar este
estudio a solo dos niveles.
• La unidad mínima de información que puede
estar presente o no en los dos niveles es el
bloque.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 28


JERARQUIA DE MEMORIA

1ns – 2ns

ad
REGI

Dis
cid
STR
OS

pa

m
3ns – 10ns

inu
ca
CACHE NIVEL 1

ye
ye

co
inu

sto
ism

CACHE NIVEL 2 25ns – 50ns

y
,d

ve
ad

loc
cid

30ns – 90ns

ida
MEMORIA PRINCIPAL
lo

d,
ve

au
y

me
sto

5ms – 20ms
DISCO MAGNETICO

nta
co
ta

ca
en

pa
rem

100ms – 5s

c
DISCO OPTICO

ida
inc

d
Se

10s – 3min
CINTA MAGNETICA

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 29


A medida que descendemos por la jerarquía
ocurre lo siguiente:

Disminuye el costo/bit

Incrementa capacidad

Incrementa tiempo de acceso

Disminuye la frecuencia de accesos a la


memoria por el procesador.

La clave del éxito de la organización jerárquica esta en la disminución


de la frecuencia de acceso del procesador al nivel inferior.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 30


EJEMPLO

Considerar el sistema de memoria siguiente:

L1 contiene 1000 palabras, tiempo de acceso de 0.01µs


L2 contiene 100,000 palabras, tiempo de acceso de 0.1µs

Si el 95% de los accesos a memoria son encontrados en el nivel mas rápido, el


tiempo promedio de acceso es:

Tiempo promedio de acceso = (0.95) (0.01µs) + (0.05) (0.01µs + 0.1 µs)

= 0.0095 + 0.0055

= 0.015 µs

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 31


EJEMPLO JERARQUIA MEMORIA

La meta es proveer un sistema de memoria tan rápido como el nivel mas veloz y
costo tan bajo como el nivel mas económico.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 32


OPERACIÓN SISTEMA DE MEMORIA
DOS NIVELES

• M1 es mas pequeña, mas rápida y mas costosa (por


bit) que M2.
• Cuando se hace referencia a memoria, primero se
intenta acceso a M1.
• M1 es utilizada como un almacenamiento temporal
para una parte del contenido de M2.
• Si no se puede acceder a M1, entonces un bloque
de locaciones de memoria es copiado desde M2 a
M1.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 33


ACIERTO
El dato solicitado por el procesador se
encuentra en un bloque del nivel
superior.

FALLO
El dato solicitado no es encontrado
en el nivel superior, entonces se
accede al nivel inferior.

TASA DE ACIERTO

Es el porcentaje de accesos a
memoria encontrados en el nivel
superior.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 34


TASA DE
TASA DE FALLO
FALLO

El porcentaje de accesos a memoria en los


que los datos no están en el nivel
superior.
Tasa de Fallo = 1 – Tasa de Acierto

TIEMPO DE
TIEMPO DE ACIERTO
ACIERTO

Es el tiempo necesario para acceder al


nivel superior de la jerarquía, que incluye
el tiempo necesario para determinar si el
acceso es un acierto o un fallo.

PENALIZACION POR
PENALIZACION POR
FALLO
FALLO
Es el tiempo necesario para reemplazar un
bloque del nivel superior por el
correspondiente bloque del nivel inferior,
mas el tiempo de suministrar el dato al
procesador.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 35


Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 36
Para expresar el tiempo promedio para acceder a la información, no
solamente debemos considerar la velocidad de los dos niveles de
memoria, sino también la probabilidad que una referencia dada sea
encontrada en M1.

TS = H x T1 + ( 1 – H ) x ( T1 + T2 )

TS = T1 + ( 1 – H ) x (T2 )

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 37


TS = T1 + ( 1 – H ) x (T2 )

TS Tiempo Promedio de Acceso al Sistema

T1 Tiempo de Acceso de M1

T2 Tiempo de Acceso de M2

H Tasa de Acierto de M1

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 38


TS = T1 + ( 1 – H ) x (T2 )

Para proveer un
sistema de memoria
tan rápido como el
nivel 1, la tasa de
acierto H debe ser
alta.

H→1

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 39


S1 Tamaño memoria M1 (bits)
C1S1 + C2S2
CS = ______________
S1 + S2
S2 Tamaño memoria M2 (bits)
Para proveer un sistema de
C1 Costo/bit M1 memoria cuyo costo sea tan
bajo como el nivel mas
económico.
C2 Costo/bit M2
CS → C2

T1 Tiempo de Acceso M1 Dado que C1 >> C2

Esto requiere que S1 << S2


T2 Tiempo de Acceso M2
Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 40
EJEMPLO
EJEMPLO

Considere
Considere un un sistema
sistema de de memoria
memoria con con unauna caché
caché yy memoria
memoria principal.
principal. La La caché
caché
tiene
tiene un
un tiempo
tiempo de de acceso
acceso de de 20
20 ns.
ns. El
El costo
costo promedio
promedio por por bit
bit dede lala memoria
memoria
caché
caché eses $$ 22 xx 10 -4. La memoria principal es de 1GB y tiene un tiempo de acceso de
10-4. La memoria principal es de 1GB tiene un tiempo de acceso de
0.1
0.1 µs.
µs. ElEl costo
costo promedio
promedio por por bit
bit de
de la
la memoria
memoria principal
principal eses $$ 10
10-5-5.. Si
Si una
una palabra
palabra
referenciada
referenciada esta esta en en la la cache
cache (acierto),
(acierto), entonces
entonces la la CPU
CPU puede
puede acceder
acceder
directamente.
directamente. Si Si está
está enen lala memoria
memoria principal
principal pero
pero no
no enen lala caché,
caché, la la palabra
palabra es
es
primero
primero transferido
transferido aa la la caché,
caché, yy entonces
entonces la la CPU
CPU accede
accede al al dato.
dato.
  
a)
a) SiSi el
el costo
costo promedio
promedio por por bit
bit del
del sistema
sistema de
de memoria
memoria completo
completo es es 1%
1% mayor
mayor
que
que elel costo
costo promedio
promedio por por bit
bit de
de lala memoria
memoria principal,
principal, CuálCuál eses elel tamaño
tamaño dede
la
la memoria
memoria caché. caché. 
b)
b) SiSi la
la tasa
tasa dede aciertos
aciertos de de la
la caché
caché eses 0.9
0.9 Cual
Cual es
es el
el tiempo
tiempo promedio
promedio de de acceso
acceso
para
para todo
todo el el sistema
sistema de de memoria.
memoria.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 41


T1= 2Ons   𝐂 𝟏 𝐒𝟏 +𝐂 𝟐 𝐒𝟐
𝐂 𝐒=
C1= $ 2x10-4-4/bit 𝐒𝟏 + 𝐒𝟐
S1= ?
T2= 0.1 µs   𝐒𝟐 ( 𝐂 𝟐 −𝐂 𝐒 )
𝐒 𝟏=
C2= $ 10-5-5/bit 𝐂𝐒− 𝐂𝟏
 S1 =
S2= 1 GB
CS= 1.01 C2= 1.01 x 10-5-5 $/bit

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 42


1 GB = 230 Bytes = 8589934592 bits

8589934592 bits (10-5 $/bit – 1.01x10-5 $/bit)


S1=
1.01 x 10-5 $/bit - 2x10-4 $/bit

S1= (858.99$) /( 1.899 x 10-4 $/bit)

S1= 4523380.727 bits

S1= 4523380.727 bits x 1 Byte/8 bits

S1= 565422.5908 Bytes

S1= 565422.5908 Bytes x 1KB/1024 Bytes

S1= 552.17 KB
Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 43
T1= 2Ons
C1= $ 2x10-4-4/bit  S1 =

S1= ?
T2= 0.1 µs
C2= $ 10-5-5/bit
S2= 1 GB
CS= 1.01 C2= 1.01 x 10-5-5 $/bit

1 GB = 23030 Bytes = 8589934592 bits

230
30 Bytes (8x10-5
-5 $/Byte – 8.08 x 10-5 -5 $/Byte)
S1=
8.08 x 10-5-5 $/Byte - 16x10-4-4 $/Byte

S1= 858.99$/(1.5192 x 10-3-3 $/Byte) = 552.17 KB

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 44


TSS = T11 + ( 1 – H ) x (T22 )

Tiempo de Acierto << Penalización por fallo

T11 suele ser de pocos ciclos para el nivel 1

T22 suele ser de muchos ciclos, pues se realiza una


transferencia de bloques entre los dos niveles y
esta en función del Tiempo de Acceso y el
Tiempo de Transferencia (Ancho de Banda).

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 45


¿Como
¿Como se se calcula
calcula el
el El calculo del tiempo de acceso
tiempo
tiempo promedio
promedio de de promedio se vuelve recursivo al
acceso
acceso al
al sistema
sistema dede agregar niveles. Es necesario
memoria
memoria cuando
cuando considerar la penalización por fallo
existen
existen mas
mas de de dos
dos
niveles?
al pasar al siguiente nivel.
niveles?

TS = T1 + ( 1 – H1 ) T2
?

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 46


TS = T1 + ( 1 – H1 ) T2 + ( 1 – H1 ) ( 1 – H2 ) T3

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 47


EJEMPLO
EJEMPLO

Una
Una computadora
computadora tienetiene un un sistema
sistema de de memoria
memoria de de tres
tres (3)
(3) niveles:
niveles: Una
Una memoria
memoria
cache
cache de de 16
16 KBytes
KBytes yy tiempo
tiempo de de acceso
acceso dede 30
30 ns,
ns, una
una memoria
memoria principal
principal de
de 44
MBytes
MBytes yy tiempo
tiempo dede acceso
acceso dede 100
100 ns,
ns, un
un disco
disco dede 16
16 GB
GB yy tiempo
tiempo dede acceso
acceso de
de
20
20 ms.
ms. SiSi una
una palabra
palabra referenciada
referenciada estáestá en
en la
la cache
cache (acierto
(acierto dede cache),
cache), entonces
entonces
la
la CPU
CPU puede
puede acceder
acceder a la la palabra
palabra directamente,
directamente, si si está
está enen la
la memoria
memoria principal
principal
pero
pero nono en
en la
la cache
cache (acierto
(acierto dede memoria
memoria principal),
principal), entonces
entonces la la CPU,
CPU, accede
accede aa la
la
memoria
memoria principal
principal transfiriendo
transfiriendo la la palabra
palabra aa la
la cache,
cache, si
si la
la palabra
palabra nono está
está en
en la
la
memoria
memoria principal,
principal, lala CPU
CPU necesita
necesita acceso
acceso alal disco,
disco, transferir
transferir lala palabra
palabra aa la
la
memoria
memoria principal
principal yy luego
luego aa la
la cache.
cache. Asumir
Asumir que
que lala tasa
tasa dede aciertos
aciertos de
de cache
cache es
es
0.9
0.9 yy la
la de
de memoria
memoria principal
principal eses 0.8.
0.8. Ignorar
Ignorar los
los tiempos
tiempos de de transferencia.
transferencia.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 48


TTSS== TT11 ++ (( 11 –– H
H11 )) [[ (( TT22 )) ++ (( 11 –– H
H22)(
)( TT33 )) ]]

20
20 ms
ms xx 1seg
1seg /10
/1033ms
ms xx 10
1099ns
ns /1seg
/1seg == 20
20 xx 10
1066ns
ns

TTSS== 30ns
30ns ++ (( 11 –– 0.9
0.9 )) [[ (( 100ns)
100ns) ++ (( 11 –– 0.8
0.8 )(20
)(20 xx 10
1066ns
ns )) ]]

TTSS== 30ns
30ns ++ (( 0.1
0.1 )) [[ (( 100ns)
100ns) ++ (( 0.2
0.2 )(20
)(20 xx 10
1066ns
ns )) ]]

TTSS== 30ns
30ns ++ (( 0.1
0.1 )) [[ (( 100ns)
100ns) ++ (( 44 xx 10
1066ns
ns )) ]]

TTSS== 30ns
30ns ++ (( 0.1
0.1 )) [[ 4000100ns
4000100ns )) ]]

TTSS== 30ns
30ns ++ 400010ns
400010ns == 400040
400040 ns
ns

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 49


PROBABILIDAD DE
NIVEL REFERENCIADO TIEMPO DE ACCESO (ns)
ACIERTO

Acierto cache 0.9 30

Fallo cache, Acierto


(0.1)(0.8) 30 + 100
memoria
Fallo de cache y
(0.1)(0.2) 30 + 100 + 20 x106
memoria

TTSS == (0.9)(30
(0.9)(30 ns)
ns) ++ (0.1)(0.8)(130
(0.1)(0.8)(130 ns)
ns) ++ (0.1)(0.2)(20000130
(0.1)(0.2)(20000130 ns)
ns)

TTSS == 27
27 ns
ns ++ 10.4
10.4 ns
ns ++ 400002.6
400002.6 ns
ns

TTSS == 27
27 ns
ns ++ 10.4
10.4 ns
ns ++ 400002.6
400002.6 ns
ns

TTSS == 400040
400040 ns
ns

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 50


PRINCIPIO DE LOCALIDAD
El principio
El principio de
de localidad
localidad afirma
afirma que
que un
un momento
momento concreto
concreto los
los programas
programas
acceden aa una
acceden una parte
parte relativamente
relativamente pequeña
pequeña de
de su
su espacio
espacio de
de direcciones.
direcciones.
Existen dos
Existen dos tipos
tipos de
de localidad
localidad Temporal
Temporal yy Espacial.
Espacial.

LOCALIDAD ESPACIAL LOCALIDAD TEMPORAL

Locaciones de memoria
Cuando se accede a una
referenciadas recientemente
locación de memoria, las
probablemente serán
locaciones cercanas también
referenciadas en el futuro
tienden a ser referenciadas.
cercano.

Ejemplo
Ejemplos Lazos de programa, uso
Arreglos en memoria continuo de conjuntos de
variables.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 51


Los objetos sobre un escritorio (registro) o en un cajón
(cache) son mas accesibles que los que se encuentran en un
archivo (memoria principal).

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 52


PRINCIPIOS DE MEMORIA CACHE

Cache: Un lugar seguro donde guardar y esconder cosas.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 53


Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 54
ESTRUCTURA MEMORIA PRINCIPAL/CACHE

M= 2n /K = Numero de Bloques
C << M

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 55


ORGANIZACIÓN TIPICA DE CACHE

ACIERTO FALLO
La dirección es cargada en el bus
Los buffers son deshabilitados,
y el dato retorna a través del
solamente existe comunicación
buffer de datos hacia ambos,
entre cache y procesador.
cache y procesador.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 56


COMPONENTES DE LA MEMORIA CACHE

• Controlador de Cache
• Directorio o Bloque de Etiquetas (RAM – CAM)
• Memoria de datos (SRAM)
• Lógica de control

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 57


ELEMENTOS DE DISEÑO DE MEMORIA CACHE

Tamaño
Tamaño
Función de Asignación
Función de Asignación
Algoritmos de Reemplazo
Algoritmos de Reemplazo
Políticas de Escritura
Políticas de Escritura
Tamaño de Líneas
Tamaño de Líneas
Número de Caches
Número de Caches

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 58


FUNCION DE ASIGNACION
Una función de asignación es un método utilizado para localizar
una dirección de memoria dentro de la cache.

Numero de líneas de cache << Numero de bloques memoria principal

Entonces es necesario un algoritmo para asignar


bloques de memoria en líneas de cache.

La función de asignación dicta


como esta organizada la cache.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 59


TECNICAS DE ASIGNACION

ASOCIATIVA
POR
DIRECTA ASOCIATIVA CONJUNTO
S

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 60


ASIGNACION DIRECTA

• Cada bloque de memoria principal es


asignado a una única línea de cache, pero
cada línea puede recibir mas de un bloque.

• Si un bloque ocupa la línea de cache donde un


nuevo bloque debe ser colocado, el bloque
actual en cache es removido.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 61


Cache simple donde las peticiones del procesador son de una palabra cada
una y los bloque consisten de una palabra.

  Memoria cache antes y después de una referencia a una palabra que no se


encuentra inicialmente en la cache. Esta referencia causa un fallo que obliga
a la cache a traer desde memoria.
Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 62
¿Cómo se sabe si un dato esta en la cache? Y si esta, ¿Cómo se localiza?
Si cada palabra puede ir exactamente en una sola posición de la cache, ya se
sabe como buscarla si esta en ella. La manera mas sencilla de asignar una
posición en la cache para cada palabra es asignarla en relación con la
dirección de la palabra en memoria.

Numero de Línea en cache = (Numero del bloque) modulo (Numero de líneas de cache)

i= j modulo m
i= 00001 modulo 8

  EJEMPLO
Una memoria de 32 bloques y una cache de 8 entradas

32 = 5
8=3

El bloque 00001 de memoria se asigna a la entrada 001 de la cache

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 63


Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 64
TABLA DE LINEA CACHE ASIGNACION DIRECTA

Línea Cache Bloques Asignados de Memoria Principal


0 0, m, 2m, 3m . . . . . . . . . . . . . . . . 2s-m
1 1,m+1, 2m+1 . . . . . . . . . . . . . 2s-m+1
2 2,m+2, 2m+2 . . . . . . . . . . . . . 2s-m+2
3 3,m+3, 2m+3 . . . . . . . . . . . . . 2s-m+3

. .
. .
. .

11 11,m+11, 2m+11 . . . . . . . . . . . . . 2s-m+11

. .
. .
. .

m-1 m-1, 2m-1,3m-1 . . . . . . . . . . . . . . 2s-1

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 65


Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 66
TABLA DE LINEA CACHE ASIGNACION DIRECTA

Línea Cache Bloques Asignados de Memoria Principal


0 0, m, 2m, 3m . . . . . . . . . . . . . . . . 2s-m
1 1,m+1, 2m+1 . . . . . . . . . . . . . 2s-m+1
2 2,m+2, 2m+2 . . . . . . . . . . . . . 2s-m+2
3 3,m+3, 2m+3 . . . . . . . . . . . . . 2s-m+3

. .
. .
. .

11 11,m+11, 2m+11 . . . . . . . . . . . . . 2s-m+11

. .
. .
. .

m-1 m-1, 2m-1,3m-1 . . . . . . . . . . . . . . 2s-1

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 67


Puesto que cada entrada de la cache puede contener los datos de unas
cuantas direcciones de memoria, ¿Cómo se puede saber si los datos en la
cache son los deseados? Es decir, ¿Cómo se sabe si una palabra solicitada
esta en la cache o no?

Esto se logra agregando un conjunto de etiquetas (tags), las cuales contienen


la información de la dirección requerida para identificar si una palabra de la
cache corresponde a la palabra solicitada.

EJEMPLO

Una memoria de 32 bloques y una cache de 8 entradas

El bloque con la dirección de memoria 00001 se asigna a la entrada


001 de la cache y etiqueta 00.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 68


BIT DE VALIDEZ

Cuando un procesador se inicia, la cache estará


vacía y las etiquetas no tendrán significado real, en
consecuencia, durante la ejecución de un
programa se requiere un bit validez para indicar si
la línea contiene un bloque del programa que se
esta ejecutando.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 69


Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 70
Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 71
EJEMPLO DE CACHE
Utilizaremos un ejemplo de una cache para ilustrar cada
una de las funciones de asignación. Las características de
la cache son las siguientes:

Tamaño: 64 Kbyte

Tamaño de Bloque: 4 bytes

Bus de direcciones 24 bits

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 72


Numero de Líneas de Cache (C)

C= 64 Kbyte/(4 Bytes/Línea)
C= 16 K Líneas de Cache
C= 16384 Líneas

Tamaño de Memoria Principal = (224 ) x (1 Byte)


= 16777216 Bytes
= 16 Mbyte

Numero de Bloques (M)

M = (16777216 bytes)/(4 Bytes/Bloque)


M = 4194304 Bloques

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 73


FORMATO DIRECCION DE MEMORIA
ASIGNACION DIRECTA

w: Identifica una palabra dentro de un bloque.

s: Especifica uno de los bloques de memoria principal.

r: Identifica la línea de cache.

s-r: Identifica el bloque dentro de una línea de cache.

El tamaño de cada campo depende de las características físicas de la memoria


principal y cache.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 74


FORMATO DIRECCION DE MEMORIA ASIGNACION DIRECTA

UTILIZANDO LOS
RESUMEN ASIGNACION DIRECTA CAMPOS DE DIRECCION

Longitud de dirección (s + w) bits


Numero de palabras o Bytes 2s+w
Tamaño del bloque= Tamaño de línea 2w
Numero de bloques en memoria principal 2s+w/ 2w = 2s
Numero de líneas en cache m= 2r
Tamaño de etiqueta (s – r) bits

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 75


ORGANIZACIÓN DE CACHE CON ASIGNACION DIRECTA

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 76


En la arquitectura MIPS, los dos bits de menor peso de cada dirección especifican un byte
dentro de la palabra y no se usan para seleccionar la palabra dentro de la cache.
Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 77
Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 78
w 5
Tamaño de Bloque = 2 = 2 = 32 palabras

s 27
Numero de Bloques Memoria Principal = 2 = 2 = 134217728 Bloques

r 14
Numero de Líneas de cache = 2 = 2 = 16384 Líneas

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 79


Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 80
  ¿Cuál es
¿Cuál es la
la capacidad
capacidad de
de la
la memoria
memoria principal
principal yy de
de la
la cache?
cache?

Capacidad
Capacidad memoria
memoria principal
principal

Bytes
Bytes
4294967296
4294967296 Bytes
Bytes
4294967296
4294967296 Bytes
Bytes xx
4194304
4194304 Kbyte
Kbyte
4096
4096 Mbyte
Mbyte
44 Gbyte
Gbyte

Capacidad
Capacidad memoria
memoria cache
cache

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 81


EJEMPLO DE ESTRUCTURA DE LA DIRECCION EN LA ASIGNACION
DIRECTA

•Longitud de dirección= (s + w) bits= (22+2)= 24 bits

•Numero de unidades direccionables = 2s+w = 224 palabras o bytes.

•Tamaño del bloque= Tamaño de línea= 2w = 22 = 4 palabras

•Numero de bloques en memoria principal= 2s+w/ 2w = 2s = 222 = 4194304 bloques

•Numero de líneas en cache= m= 2r = 214 = 16384 líneas de cache

•Tamaño de etiqueta= (s – r) bits = 8 bits

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 82


¿Cuántos bloques de memoria principal se pueden asignar a cada
línea de cache?

Bloques = Numero de Bloques/Numero de Líneas de cache

Bloques = 4194304 Bloques/16384 Línea

= 256 Bloques/Línea

También se puede calcular utilizando el tamaño de etiqueta (s-r) = 8

Bloques= 288 = 256 Bloques/Línea

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 83


NUMERO DE BITS EN CACHE
El numero total de bits necesarios para una cache es función del
tamaño de la cache y el tamaño de la dirección.

  
El
El numero
numero total
total de
de bits
bits en
en una
una cache
cache de
de correspondencia
correspondencia directa
directa es:
es:

Tamaño
Tamaño de
de bloque
bloque ++ Tamaño
Tamaño de
de etiqueta
etiqueta ++ Tamaño
Tamaño del
del campo
campo de
de validez)
validez)

Donde
Donde rr es
es el
el numero
numero de
de bits
bits en
en el
el campo
campo de
de línea.
línea.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 84


 Si
 Si se
se suponen
suponen direcciones
direcciones de
de 32
32 bits,
bits, una
una cache
cache de
de correspondencia
correspondencia directa
directa de
de líneas
líneas
con
con bloques
bloques de
de 44 bytes.
bytes.

Requiere
Requiere una
una etiqueta
etiqueta de
de tamaño
tamaño 32
32 –(r+w)
–(r+w) bits.
bits.

Tamaño
Tamaño de
de bloque
bloque ++ Tamaño
Tamaño de
de etiqueta
etiqueta ++ Tamaño
Tamaño del
del campo
campo de
de validez)
validez)

32
32 ++ (32-r-2)+
(32-r-2)+ 1)
1) == xx (63-r)
(63-r) == xx (63-10)
(63-10) == 1024(53)
1024(53) == 54272
54272 bits
bits == 53
53 Kbyte
Kbyte

32 bits

20 10 2

s-r r w
s

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 85


Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 86
Se observa que no hay dos bloques que se asignen en la misma línea
que tengan el mismo numero de etiqueta.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 87


ASIGNACION DIRECTA

VENTAJAS DESVENTAJAS

Simplificación Si un programa
significativa del circuito referencia palabras
de control de cache. repetidamente desde
dos diferentes bloques
que se asignan a la
No necesita algoritmos misma línea, entonces
de reemplazo. los bloques serán
constantemente
sustituidos y la fracción
de éxito será baja,
Económica fenómeno conocido
como Trashing.

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 88


TRASHING

Ing. Miguel Aguilar ARQUITECTURA DE COMPUTADORAS 89

También podría gustarte