Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sistema de Memoria Parte 1
Sistema de Memoria Parte 1
• Tipo
• Tecnología
• Estructura
• Prestaciones
• Costo
Internos Externos
Accesibles por
el procesador
Directamente
mediante
accesibles por
módulos de
el procesador.
entrada/salida
.
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.
Mecanismo
de lectura/escritura
... A …...
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.
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.
SEMICONDUCTORA TECNOLOGIAS
S MAGNETICAS OPTICAS FUTURO
Disco
Memoria Holográficas,
DISCO DURO CD, DVD, etc.
Principal Moleculares
VOLATIL NO VOLATIL
Capacidad
Rapidez
Costo
CAPACIDAD
1ns – 2ns
ad
REGI
Dis
cid
STR
OS
pa
m
3ns – 10ns
inu
ca
CACHE NIVEL 1
ye
ye
co
inu
sto
ism
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
Disminuye el costo/bit
Incrementa capacidad
= 0.0095 + 0.0055
= 0.015 µs
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.
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.
TIEMPO DE
TIEMPO DE ACIERTO
ACIERTO
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.
TS = H x T1 + ( 1 – H ) x ( T1 + T2 )
TS = T1 + ( 1 – H ) x (T2 )
T1 Tiempo de Acceso de M1
T2 Tiempo de Acceso de M2
H Tasa de Acierto de M1
Para proveer un
sistema de memoria
tan rápido como el
nivel 1, la tasa de
acierto H debe ser
alta.
H→1
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.
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
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
TS = T1 + ( 1 – H1 ) T2
?
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.
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
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
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.
M= 2n /K = Numero de Bloques
C << M
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.
• Controlador de Cache
• Directorio o Bloque de Etiquetas (RAM – CAM)
• Memoria de datos (SRAM)
• Lógica de control
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
ASOCIATIVA
POR
DIRECTA ASOCIATIVA CONJUNTO
S
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
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
EJEMPLO
Tamaño: 64 Kbyte
C= 64 Kbyte/(4 Bytes/Línea)
C= 16 K Líneas de Cache
C= 16384 Líneas
UTILIZANDO LOS
RESUMEN ASIGNACION DIRECTA CAMPOS DE DIRECCION
s 27
Numero de Bloques Memoria Principal = 2 = 2 = 134217728 Bloques
r 14
Numero de Líneas de cache = 2 = 2 = 16384 Líneas
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
= 256 Bloques/Línea
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.
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
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.