Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MEMORIAs
MEMORIAs
COMPUTADORES
2 CURSO INGENIERA TCNICA EN
INFORMTICA DE GESTIN
TEMA 4 - MEMORIA
JOS GARCA RODRGUEZ
JOS ANTONIO SERRA PREZ
Tema 4. La Memoria
La Memoria
La Memoria
Introduccin
Definiciones y conceptos
Memoria principal semiconductora
Memoria cache
Memoria asociativa
Memoria compartida
Tema 4. La Memoria
Introduccin
Introduccin
Tema 4. La Memoria
Definiciones
y
conceptos
Localizacin
Dependiendo de donde est ubicada fsicamente la
memoria se distinguen tres tipos:
Tema 4. La Memoria
Capacidad
Cantidad de informacin que puede almacenar el
sistema de memoria.
La capacidad de la memoria se mide en mltiplos de
unidades de bit.
1 bit
1 nibble = 4 bits
1 byte = 1 octeto = 8 bits
1 Kb = 1024 bits = 210 bits
Tema 4. La Memoria
Unidad de transferencia
Es igual al nmero de lneas de datos de entrada y
salida del mdulo de memoria.
Conceptos asociados:
Mtodo de acceso
Forma de localizar la informacin en memoria.
Tipos:
Tema 4. La Memoria
Velocidad
Para medir el rendimiento se utilizan tres parmetros:
Tema 4. La Memoria
tiempo
TA
peticin lectura
informacin
disponible
Tema 4. La Memoria
prxima peticin
10
TC
N
TN = TA +
VT
Tema 4. La Memoria
11
Dispositivo fsico
Los sistemas de memorias empleados en los
computadores utilizan diferentes dispositivos fsicos.
Los tipos ms usados son:
Memorias magneto-opticas.
Tema 4. La Memoria
12
Aspectos fsicos
Las principales caractersticas fsicas a tener en
cuenta para trabajar con determinados tipos de
memorias son:
Tema 4. La Memoria
13
14
Organizacin
Hace referencia a la disposicin fsica de los bits para
formar palabras.
La organizacin depende del tipo de memoria que se
trate.
Tema 4. La Memoria
15
Organizacin 2D
RAM de 2m palabras de n bits cada una, la matriz de
celdas est formada por 2m filas y n columnas.
n
n-1
n-2
............ 0
........
Decodificador
Registro de
direcciones
m
0
1
...
...
m-1
0
1
...
...
........
........
2m palabras
2m-2
2m-1
CS
n-1
n-2
............ 0
Tema 4. La Memoria
16
Organizacin 2D
Utiliza dos decodificadores con m/2 entradas y 2m/2
salidas.
Y
Registro de
direcciones
m
0
.....
CS
m/2-1
m/2
.....
2Y-1
m-1
2Y-2
........
Registro de
datos a
escribir
0
X
Decodificador X
...
...
...
2X-2
........
........
........
........
........
.....
.....
n-2
2X-1
n-1
E
........
n-1
n-2 ............
Registro de
datos a ledos
Tema 4. La Memoria
17
Organizacin 3D
Es similar a la organizacin 2D pero la palabra de n
bits se almacena en n planos y dentro de cada plano
se selecciona la posicin x y la posicin y.
Registro de
direcciones
0
.....
m/2-1
m/2
.....
m-1
Diseo ms complicado
Acceso ms lento
X
Decodificador X
0
.....
Registro de
datos a ledos
0
.....
.....
2X-2
2 -1
X
........
........
Decodificador Y
2Y-1
2Y-2
Registro de
datos a
escribir
.....
0
........
0
.....
.....
n-2
n-2
n-1
n-1
Tema 4. La Memoria
18
19
Definiciones
y
conceptos
Registros CPU
Velocidad
N de
Accesos
Memoria Cache
Capacida
d
Memoria
Interna
Memoria Principal
Memoria
Cinta (Streamer)
Externa
20
Tipos de memorias
Dependiendo del tipo de operacin que se puede
realizar en una memoria distinguimos los siguientes
tipos:
Memoria
principal
semiconductora
Tema 4. La Memoria
21
Tipos de memorias
Memoria
principal
semiconductora
Tema 4. La Memoria
22
Tipos de memorias
Memoria
principal
semiconductora
Memorias de Lectura/Escritura
RAM (Random Access Memory). Al igual que las anteriores,
es de acceso aleatorio. Los principales tipo de memorias
RAM son:
Tema 4. La Memoria
23
Tipos de memorias
Memoria
principal
semiconductora
Tabla resumen
Tipo
RAM
Clase
Lectura/Escritura
Borrado
Elctricamente
por bytes
ROM
Slo lectura
PROM
EPROM
FLASH
EEPROM
No
Luz violeta,
chip completo
Elctricamente
por bloques
Elctricamente
por byte
Tema 4. La Memoria
Escritura
Volatilidad
Elctricamente
Voltil
Mediante
mscaras
No Voltil
Elctricamente
24
Diseo
Memoria
principal
semiconductora
Chip de memoria
Se organiza internamente como una matriz de celdas
de memoria de nxm, donde n es el nmero de palabras
que puede almacenar el chip de memoria y m es el
nmero de bits por palabra.
Direcciones
n
palabras
Contenido de
la palabra 0 de
la memoria.
Contenido memoria
0
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2
1
.....
..... ..... ..... ..... .....
.....
4094
4095
bit 1 bit 0
.....
.....
m bits
Memoria de 4Kx8
Tema 4. La Memoria
25
Diseo
Memoria
principal
semiconductora
m patillas para el bus de datos indicando que en cada acceso se trabajar con
m bits.
BUS
DIRECCIONES
n
Chip
de
Memoria
VCC
VSS
BUS DATOS
m
CS R/W
Tema 4. La Memoria
26
Diseo
Memoria
principal
semiconductora
...............
LOGICA
CONTROL
WE
BUFFER ENTRADA
OE
...............
A12
A11
DECOD.
...
...
...
...
A5 ...
FILAS
...
...
...
...
...
...
...
COLUM.
...
...
...
...
B
U
F
F
E
R
S
S
A
L
I
D
A
D7
...
...
...
...
D0
......
DECOD.
A4
MATRIZ
DE
MEMORIA
DE
256x32x8
...
...
A0
Tema 4. La Memoria
27
Diseo
Memoria
principal
semiconductora
Mapa de memoria
Espacio que puede direccionar un computador.
Direcciones
en decimal
Direcciones
en hexadecimal
0
1
.....
.....
216-1
0000
64 K
FFFF
28
Diseo
Memoria
principal
semiconductora
Tema 4. La Memoria
29
Diseo
Memoria
principal
semiconductora
Ejemplo 1:
Si quisiramos disear una memoria principal de 128
Kpalabras.
(1) Cuntos chips de memoria de 32Kx8 necesitaremos
si suponemos que la palabra es de 8 bits?.
(2) Cuntos chips de memoria de 64Kx4 necesitaremos
si suponemos que la palabra es de 8 bits?.
Tema 4. La Memoria
30
Diseo
Memoria
principal
semiconductora
Solucin 1:
(1) Necesitamos direccionar 128K a partir de 32K luego
necesitaremos 4 chips. Como el tamao de la palabra
es igual al contenido de cada direccin del chip no
necesitaremos ms.
(2) Para poder direccionar las 128K necesitaremos 2
chips. Con esos dos chips tenemos una memoria de
128Kx4 por lo que necesitaremos adems otros 2
chips ms para conseguir una memoria de 128Kx8.
Tema 4. La Memoria
31
Diseo
Si quisiramos disear una memoria de n bits y
dispusiramos de chips de t bits necesitaremos n/t
chips en paralelo para alcanzar el ancho de palabra
deseado.
Memoria
principal
semiconductora
WE
16
CS
WE
16
Memoria
64Kx4
4
CS
Memoria
64Kx4
BUS
DATOS
8
WE
Tema 4. La Memoria
32
Diseo
Memoria
principal
semiconductora
A15
A15
WE
Memoria
32Kx8
8
BUS
DATOS
8
WE
15
CS
Memoria
32Kx8
WE
Tema 4. La Memoria
33
Diseo
Memoria
principal
semiconductora
Ejemplo 2:
Vamos a obtener el mapa de memoria y el diagrama de
conexiones de la memoria de un computador de 16
bits que permite direccionar 1Mpalabra y tiene
128Kpalabras instaladas a partir de chips de 64Kx1.
(1) Debemos obtener el nmero de bits del bus de
direcciones.
(2) Averiguar el nmero de bits que se necesitan para
direccionar el chip de memoria que vamos a emplear.
(3) Calcular el nmero de chips que necesitamos.
(4) Obtener el nmero de bits del bus de direcciones que
permita seleccionar los chips de memoria.
(5) Dibujar el diagrama de conexiones de la memoria
junto con la lgica de seleccin.
Tema 4. La Memoria
34
Diseo
Memoria
principal
semiconductora
Solucin 2:
(1) Debemos obtener el nmero de bits del bus de
direcciones.
Como nos indican que puede direccionar 1Mpalabra,
vemos que el bus es de 20 bits (1M = 220).
(2) Averiguar el nmero de bits que se necesitan para
direccionar el chip de memoria que vamos a emplear.
Al ser el chip de memoria de 64K, necesitaremos 16
bits (64K=216). Los bits que emplearemos para
direccionar el chip de memoria son los de menor peso,
luego en este caso, A15A14...A1A0.
Tema 4. La Memoria
35
Diseo
Memoria
principal
semiconductora
Solucin 2:
(3) Calcular el nmero de chips que necesitamos.
Como queremos 128Kx16 necesitaremos 16 chips para
obtener una palabra al completo (16 bits). Con estos
primeros 16 bits tenemos 64Kx16, por lo que nos falta
otros 64Kx16 ms, es decir, 16 chips ms. Por tanto,
necesitaremos 32 chips de 64Kx1 para almacenar
128Kx16.
Tema 4. La Memoria
36
Diseo
Memoria
principal
semiconductora
Solucin 2:
(4) Obtener el nmero de bits del bus de direcciones que
permita seleccionar los chips de memoria.
Como tenemos 2 filas de 16 chips cada una,
necesitaremos 1 bit para diferenciar una fila de otra.
Por tanto utilizaremos el bit A16 para seleccionar los
chips de memoria. El resto de direcciones se utilizarn
para
futuras
ampliaciones
de
memoria
del
computador.
Tema 4. La Memoria
37
Diseo
Memoria
principal
semiconductora
Solucin 2:
(4) Obtener el nmero de bits del bus de direcciones que
permita seleccionar los chips de memoria.
20 bits
A19A18A17A16A15A14...A1A0
Seleccin
chip
Direccionamiento
interno
0
.....
216-1
216
.....
217-1
.....
.....
220-1
00000
.....
0FFFF
10000
.....
1FFFF
.....
.....
FFFFF
................
................
................
................
Fila 0: 16
chips de
64Kx1
Fila 1: 16
chips de
64Kx1
Mapa de Memoria
A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
... ... ... ... ... ... ... ... ... ... ...
0
0
0
0
1
1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
... ... ... ... ... ... ... ... ... ... ...
0
0
0
1
1
1
1
1
1
1
1
... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ... ... ... ...
1
1
1
1
1
1
1
1
1
1
1
A8
0
0
...
1
0
0
...
1
...
...
1
A7
0
0
...
1
0
0
...
1
...
...
1
A6
0
0
...
1
0
0
...
1
...
...
1
A5
0
0
...
1
0
0
...
1
...
...
1
Tema 4. La Memoria
A4
0
0
...
1
0
0
...
1
...
...
1
A3
0
0
...
1
0
0
...
1
...
...
1
A2
0
0
...
1
0
0
...
1
...
...
1
A1
0
0
...
1
0
0
...
1
...
...
1
A0
0
1
...
1
0
1
...
1
...
...
1
Fila 0: 16
chips de
64Kx1
Fila 1: 16
chips de
64Kx1
38
Diseo
Solucin 2:
Memoria
principal
semiconductora
Bus Direc.
A19...A0
(5)
Dibujar el
A15...A0
diagrama de
A15...A0
conexiones
de la memoria
junto
A15...A0
con la lgica de
seleccin.
CPU
WE
A16
CS WE
Chip
0
64Kx1
CS WE
Chip
1
64Kx1
Bus Datos
D15....D0
A15...A0
D0
A15...A0
D1
CS WE
Chip
15
64Kx1
Fila 1
CS WE
Chip
1
64Kx1
D0
D1
..........................................
..........................................
..........................................
..........................................
A15...A0
CS WE
Chip
0
64Kx1
A15...A0
D15
Tema 4. La Memoria
CS WE
Chip
15
64Kx1
Fila 0
D15
39
Concepto
Memoria
cache
40
Concepto
Memoria
cache
Transferencia
de palabras
CPU
MEMORIA
CACHE
Tema 4. La Memoria
MEMORIA
PRINCIPAL
41
Concepto
Memoria
cache
.........
Memoria Cache
Bloque 0
Etiqueta
0
1
K-1
Direcciones
.........
.........
Lneas
Bloque
....................
....................
C-1
Bloque M-1
K palabras
2 -1
Tema 4. La Memoria
42
Concepto
Memoria
cache
Tasa de acierto
N aciertos
Tasa de acierto =
N referencias
Tema 4. La Memoria
43
Parmetros de diseo
Memoria
cache
Tema 4. La Memoria
44
Parmetros de diseo
Memoria
cache
45
Parmetros de diseo
Memoria
cache
Nmero de caches
Tema 4. La Memoria
46
Parmetros de diseo
Memoria
cache
Contenido de la cache
Una cache que contiene tanto datos
instrucciones presenta las siguientes ventajas:
como
Tiene una tasa de aciertos mayor ya que nivela la carga, es decir, si un patrn
de ejecucin implica muchas captaciones de instruccin que de datos, la cache
tender a llenarse con instrucciones, y viceversa.
Slo se necesita implementar y disear una cache, por lo que el coste ser ms
reducido.
Tema 4. La Memoria
47
Parmetros de diseo
Memoria
cache
Estrategia de escritura
Antes de que pueda ser reemplazado un bloque que
est en la cache, es necesario saber si se ha
modificado o no. (Bloque lmpio y bloque modificado o
sucio).
Tema 4. La Memoria
48
Parmetros de diseo
Memoria
cache
Estrategia de escritura
Tema 4. La Memoria
49
Parmetros de diseo
Memoria
cache
Funcin de correspondencia
Directa
Asociativa
Tema 4. La Memoria
50
Parmetros de diseo
Memoria
cache
Funcin de correspondencia
51
Parmetros de diseo
Memoria
cache
Correspondencia directa
Consiste en hacer corresponder cada bloque de
memoria principal a slo una lnea de memoria cache.
La funcin de correspondencia se expresa mediante la
siguiente funcin
N de L. de cache = N B. M.M mdulo N de Lneas de M.C.
Tema 4. La Memoria
52
Parmetros de diseo
Memoria
cache
Correspondencia directa
Cada direccin de la memoria principal puede verse
como dividida en tres campos
s bits
Etiqueta
w bits
Lnea
Palabra
donde
w bits = Identifica cada palabra dentro de un bloque
s bits = Identifica el nmero de bloque
Tema 4. La Memoria
53
Parmetros de diseo
Memoria
cache
Correspondencia directa
El uso de una parte de la direccin como nmero de
lnea proporciona una asignacin nica de cada bloque
de memoria principal en la cache.
s+w
Memoria
Principal
Etiq. Datos
Etiqueta
s-r
Lnea
r
Palabra
Bloque
0
Lnea
0
w
s-r
Compar
a
Fallo
Acierto
Lnea
i
s
w
Bloque
j
Lnea
2r-1
Bloque
2s-1
Tema 4. La Memoria
54
Parmetros de diseo
Memoria
cache
Correspondencia directa
Etiqueta
Lnea
Palabra
4 bits
8 bits
4 bits
Ejemplo:
Memoria Principal
Direccin Dato
0000
0001
0002
12
34
56
000F
78
F800
F801
F802
AB
0F
FF
F80F
54
FFF0
FF
FFFD
FFFE
FFFF
21
33
55
Memoria Cache
Bloque
0
Bloque
3968
Bloque
4095
Etiqueta
Datos
0
......
......
F
......
F
123456..........78
...............
...............
AB0FFF........54
...............
FF..........213355
N
Lnea
0 (00)
1 (01)
...........
128 (80)
...........
255 (FF)
4 bits
16 bytes
8 bits
Tema 4. La Memoria
55
Parmetros de diseo
Memoria
cache
Correspondencia directa
Tema 4. La Memoria
56
Parmetros de diseo
Memoria
cache
Correspondencia asociativa
Permite que se cargue un bloque de memoria principal
en cualquier lnea de la memoria cache.
La lgica de control de la memoria cache interpreta una
direccin de memoria como una etiqueta y un campo
de palabra.
s bits
Etiqueta
w bits
Palabra
donde
Palabra = Identifica cada palabra dentro de un bloque de MP
Etiqueta = Identifica unvocamente un bloque que MP
Tema 4. La Memoria
57
Parmetros de diseo
Memoria
cache
Correspondencia asociativa
Para determinar si un bloque est en la memoria
cache, se debe examinar simultneamente todas las
etiquetas de las lneas de
la memoria cache.
s+w
Etiqueta
Palabra
w
Memoria
Principal
Etiq. Datos
Bloque
0
Lnea
0
s
Lnea
i
Comparador
simultneo
Bloque
j
Lnea
2r-1
Fallo
Bloque
2s-1
Acierto
Tema 4. La Memoria
58
Parmetros de diseo
Memoria
cache
Correspondencia asociativa
Ejemplo:
Etiqueta
Palabra
12 bits
4 bits
Memoria Principal
Direccin Dato
0000
0001
0002
12
34
56
000F
78
F800
F801
F802
AB
0F
FF
F80F
54
FFF0
FF
FFFD
FFFE
FFFF
21
33
55
Memoria Cache
Bloque
0
Bloque
3968
Bloque
4095
Etiqueta
Datos
000
......
......
F80
......
FFF
123456..........78
...............
...............
AB0FFF........54
...............
FF..........213355
12 bits
16 bytes
Tema 4. La Memoria
N
Lnea
0
1
...........
128
...........
255
59
Parmetros de diseo
Memoria
cache
Correspondencia asociativa
Tema 4. La Memoria
60
Parmetros de diseo
Memoria
cache
Tema 4. La Memoria
61
Parmetros de diseo
Memoria
cache
d bits
Conjunto
w bits
Palabra
donde
w bits de menos peso = Palabra dentro de un bloque
s bits = Identifica un bloque de la memoria principal
d bits = Especifica uno de los conjuntos de la memoria cache
s-d bits = Etiqueta asociada a las lneas del conjunto d bits
Tema 4. La Memoria
62
Parmetros de diseo
Memoria
cache
Memoria
Principal
Etiq. Datos
Etiqueta
s-d
Conjunto
d
Palabra
Bloque
0
Conjunto
0
w
s-d
s-d
Comparador
simultneo
k lneas
Fallo
Conjunto
i
w
s-d
Conjunto
2d-1
Acierto
Tema 4. La Memoria
s
w
Bloque
j
Bloque
2s-1
63
Parmetros de diseo
Memoria
cache
12
34
56
000F
78
0400
0401
0402
AB
0F
FF
040F
54
Bloque
0
FF
FFFD
FFFE
FFFF
21
33
55
Palabra
6 bits
6 bits
4 bits
Bloque
64
Etiqueta
Datos
00
123456..........78
......
...............
......
...............
N Conjunto
0
...........
64
Etiqueta
......
......
......
Datos
...............
...............
...............
Etiqueta
Datos
04
AB0FFF........54
......
...............
3F
FF..........213355
N Conjunto
0
...........
64
Etiqueta
......
......
......
Datos
...............
...............
...............
6 bits
16 bytes
6 bits
FFF0
Conjunto
Memoria Cache
Direccin Dato
0000
0001
0002
Etiqueta
16 bytes
Bloque
4095
Tema 4. La Memoria
64
Parmetros de diseo
Memoria
cache
Algoritmos de sustitucin
Cuando un nuevo bloque se transfiere a la memoria
cache debe sustituir a uno de los ya existentes si la
lnea estuviera ocupada.
En el caso de la correspondencia directa la lnea no
tiene sentido estos algoritmos.
Entre los diferentes algoritmos que se han propuesto
destacan los siguientes:
LRU
FIFO
LFU
Tema 4. La Memoria
65
Parmetros de diseo
Memoria
cache
Nivel 1
Nivel 2
NO
NO
8K datos/instrucciones
8K datos y 8K instrucciones
NO
16K, 32K, 64K
64K, 128K, 256K
256K, 512K, 1M
Procesador
Descripcin
80846
Cache interna Tamao de lnea de 16 bytes
Organizacin asociativa por conjuntos de 4 vas
Cache externa Tamao de lnea de 32, 64 128 bytes
Organizacin asociativa por conjuntos de 2 vas
Pentium Cache interna Tamao de lnea de 32 bytes
Organizacin asociativa por conjuntos de 2 vas
Cache externa Tamao de lnea de 32, 64 128 bytes
Organizacin asociativa por conjuntos de 2 vas
Tema 4. La Memoria
66
Concepto
Memoria
asociativa
Tema 4. La Memoria
67
Tema 4. La Memoria
68
Tema 4. La Memoria
69
Alicante
Registro argumento
Registro mscara
Juan
Pepe
Ana
Laura
Pepe
Paco
Paqui
Pepi
Alicante
Elda
Alicante
Elche
Alicante
Elche
Petrer
Alicante
965254512
965383456
965907799
965442233
965223344
966664455
965375566
965286677
Tema 4. La Memoria
1
0
1
0
1
0
0
1
Registro
de marca
70
Tema 4. La Memoria
71
Concepto
Memoria
compartida
Peticin
Memoria
Elemento 1
Elemento 2
..........
..........
Elemento n
Espera
Peticin
Memoria
Compartida
Arbitro
Espera
Peticin
Multiplexor
Espera
........
72
Concepto
Memoria
compartida
Tema 4. La Memoria
73
IZQUIERDA
Buffer E/S
Bus Direcciones
AL
IZQUIERDA
Decodificador
Direcciones
DERECHA
Buffer E/S
MEMORIA RAM
DOBLE
PUERTO
DERECHA
Decodificador
Direcciones
Bus Datos
I/OR
Bus Direcciones
AR
Bus Control
CE L , R / W L , OE L , SEM L
CE R , R / W R , OE R , SEM R
Tema 4. La Memoria
74
75