Вы находитесь на странице: 1из 56

Arquitectura de Computadoras

Cap. V
Jerarqua de memorias

Ing. Zenn Cucho M.
Ing. Javier Barriga
Capitulo V. Jerarqua de
Memorias
5.1 Introduccin.
5.2 Gestin de la jerarqua de memoria.
5.3 Memoria Interna.
Mtodos de acceso:
a) Secuencial
b) Directo
c) Aleatorio
d) Asociativo
5.4 Memoria Cache
5.5 Memorias semiconductoras.
5.6 Memoria SRAM.
5.7 Memoria DRAM

2
5.1 Introduccin
Las memorias son circuitos integrados capaces de
almacenar grandes cantidades de nformacin, ya sea en
forma temporal (RAM) o permanente (ROM).
Como la tendencia es siempre disear memorias que
tengan gran capacidad y sean rpidas, han aparecido
nuevas memorias: SDRAM, DDRAM, RAMBUS, etc.
En un sistema programable, la CPU puede controlar los
dispositivos de memoria de forma directa o a travs de
una unidad de I/O.
3

5.1 Introduccin
Un computador tpico est formado por diversos niveles
de memoria, organizados de forma jerrquica:
Registros de la CPU
Memoria Cach (L1 y L2)
Memoria Principal
Memoria Secundaria (discos)
Unidades de Cinta (Back-up) y CD-ROMs
El costo de todo el sistema de memoria excede al costo
de la CPU. Es muy importante optimizar su uso.
4

5.2 Gestin de memorias
Optimizar el uso de la memoria.
Hacer que el usuario tenga la ilusin de que dispone de
una memoria con:
Tiempo de acceso similar al del sistema ms rpido
Costo por bit similar al del sistema ms barato
La mayor parte de los accesos a un bloque de
informacin, debe encontrarse en los niveles bajos de la
memoria.
5

5.2 Gestin de memorias

6

Registro de
la CPU
Cache
(SRAMs)
Memoria Principal
(DRAMs)
Almacenamiento en disco
(estado slido, magnticos)
Almacenamiento en cinta
(cinta, discos pticos)
nivel 1
nivel 2
nivel 3
nivel 4
C
o
s
t
e
nivel 0
T
i
e
m
p
o

d
e

a
c
c
e
s
o
C
a
p
a
c
i
d
a
d
J erarqua de memorias.
5.2 Gestin de memorias:
Niveles
Se refiere a la gestin dinmica, en
tiempo de ejecucin de la jerarqua de
memoria.
Esta gestin de la memoria slo
afecta a los niveles 1 (cach), 2
(memoria principal) y 3 (memoria
secundaria).
El nivel 0 (registros) lo asigna el
compilador en tiempo de compilacin.
El nivel 4 (cintas y CD-ROMs) se utiliza
para copias de seguridad (back-up).
7

5.2 Gestin de memorias:
Niveles
Gestin de memoria cach:
Controla la transferencia de informacin
entre la memoria cach y la memoria
principal.
Suele llevarse a cabo mediante Hardware
especfico (MMU o Management Memory
Unit).
Gestin de memoria virtual:
Controla la transferencia de informacin
entre la memoria secundaria y la memoria
principal.
Parte de esta gestin se realiza mediante
hardware especfico (MMU) y otra parte la
realiza el S.O.
8

5.2 Gestin de memorias:
Niveles

9

Memoria Cach
Memoria Principal
Memoria Secundaria
Gestin de la
memoria cach
Gestin de la
memoria virtual
Gestin de las memorias.
5 .2 Gestin de memorias:
Propiedades
Inclusin
Cualquier informacin almacenada en el
nivel de memoria Mi, debe encontrarse
tambin en los niveles Mi+1, Mi+2, , Mn.
Es decir: M1 M2 Mn.
Coherencia
Las copias de la misma informacin
existentes en los distintos niveles deben ser
consistentes.
Si un bloque de informacin se modifica en el
nivel Mi, deben actualizarse los niveles
Mi+1,.., Mn
Existen distintas estrategias de actualizacin:
Escritura directa (write-through) y Post-
escritura (write-back).
10

5.2 Gestin de memorias:
Propiedades
Escritura directa (write-through): Cuando una
palabra se modifica en el nivel Mi,
inmediatamente se actualiza en el nivel Mi +1.
Post-escritura (write-back): La actualizacin
del nivel Mi +1 se retrasa hasta que el bloque
que se modific es reemplazada o eliminada
en el nivel Mi.
Localidad
La propiedad de localidad dice que las
referencias a memoria generadas por la
CPU, para acceso a datos o a
instrucciones, estn concentradas o
agrupadas en ciertas regiones del tiempo
y del espacio.
11
5.2 Gestin de memorias:
Propiedades
Localidad temporal:
Las direcciones de memoria (instrucciones o
datos) recientemente referenciadas, sern
referenciadas de nuevo, muy probablemente,
en un futuro prximo.
Ejemplos: Bucles, subrutinas, accesos a pila,
variables temporales, etc.
Localidad espacial
Tendencia a referenciar elementos de memoria
(datos o instrucciones) cercanos a los ltimos
elementos referenciados
Ejemplos: programas secuenciales, arrays,
variables locales de subrutinas, etc.
12

5.2 Gestin de memorias:
Propiedades
Ejemplo de explotacin de la propiedad de localidad
Supongamos 2 niveles de jerarqua: nivel 1
(memoria cach) - nivel 2 (memoria principal).
Cuando la CPU genera una referencia, busca en
el nivel 1.
Si la referencia no se encuentra en el nivel 1:
FALLO.
Cuando se produce un fallo, no solo se transfiere
una palabra, sino que se lleva un BLOQUE
completo de informacin del nivel 2 al nivel 1.
Por la propiedad de localidad temporal.
Es probable que en una prxima referencia se
direccione la misma posicin de memoria.
13

5.2 Gestin de memorias:
Propiedades
Esta segunda referencia no producir fallo:
producir un ACIERTO.
Por las propiedades de localidad espacial y
secuencial.
Es probable que prximas referencias sean
direcciones que pertenecen al mismo bloque.
Estas referencias no producen fallo.
14

5.2 Gestin de memorias:
Definiciones
Bloque: Unidad mnima de transferencia entre los dos
niveles.
Acierto (hit): el dato solicitado est en el nivel i.
Tasa de aciertos (hit ratio): la fraccin de accesos
encontrados en el nivel i.
Tiempo de acierto: tiempo de acceso del nivel i + tiempo
deteccin de acierto.
Fallo (miss): el dato solicitado no est en el nivel i y es
necesario buscarlo en el nivel i+1.
Tasa de fallos (miss ratio): 1 - (Tasa de aciertos)
Tiempo de penalizacin por fallo: tiempo de sustitucin
de un bloque del nivel i + tiempo de acceso al dato.
15

5.3 Memoria interna

16
Principales caractersticas de las memorias.
Ubicacin:
CPU
Interna (principal)
Externa (secundaria)
Capacidad:
Tamao de la palabra
Nmero de palabras
Unidad de
transferencia:
Palabra
Bloque
Mtodo de acceso:
Acceso secuencial
Acceso directo
Acceso aleatorio
Acceso asociativo
Prestaciones:
Tiempo de acceso
Tiempo de ciclo
Velocidad de
transferencia

Dispositivo fsico:
Semiconductor
Soporte magntico
Soporte ptico
Caractersticas
fsicas:
Voltil/no voltil
Borrable/no borrable
Organizacin
5.3 Memoria interna:
Caractersticas
Ubicacin
CPU : requiere su propia memoria local(Ej.
registros).
Interna: son directamente accesibles por el
procesador (Ej. memoria cache, memoria
principal)
Externa: Consta de dispositivos de
almacenamiento perifricos, tales como discos,
cintas, CD-ROM, ...que son accesibles por la
CPU a travs de controladores de E/S.
La capacidad de la memoria se expresa en byte
o palabras (8,16, 32 y 64bits)

17
.
Unidad de transferencia:
Para memorias internas es igual al nmero de lneas de E/S
del mdulo de memoria (nmero de bits que se leen o
escriben en memoria a la vez).
Para la memoria externa los datos se transfieren
normalmente en bloques.
Mtodo de acceso
Acceso secuencial (Ej. cintas)
La informacin se almacena en forma de bloques o
registros organizados secuencialmente, que para
leer/escribir un registro hay que desplazarse por toda la
cinta.
El tiempo necesario para acceder a un registro es
variable, en funcin de su posicin.

18
5.3 Memoria interna:
Caractersticas
Mtodo de acceso (cont.)
Acceso directo (Ej. discos)
Los bloques de informacin se organizan en
regiones (pistas)
Para leer/escribir un bloque se accede de forma
directa a la regin especfica y dentro de esa regin
se realiza una bsqueda secuencial del bloque en
cuestin (sector).
El tiempo de acceso es variable, aunque es ms
rpido que el acceso secuencial.
Acceso aleatorio -- random -- (Ej. memoria
principal)
Cada posicin de memoria tiene un nico mtodo
de acceso cableado fsicamente.
El tiempo de acceso a una posicin es
independiente de su direccin o de la secuencia de
accesos previos.
19
5.3 Memoria interna:
Caractersticas
Mtodo de acceso (cont.)
Acceso asociativo (Ej. memoria cache)
Es una memoria de acceso aleatorio en la que
las palabras no estn ordenadas por direccin.
Cada palabra tiene asociada una marca o tag
(normalmente almacena su direccin o parte
de la misma).
Para acceder a una determinada direccin de
memoria es necesario comparar la direccin a
la que se desea acceder con cada una de las
marcas de todas las palabras de memoria.
20
5.3 Memoria interna:
Caractersticas
Prestaciones
Tiempo de acceso (Ti)
En memorias de acceso aleatorio, es el tiempo que
transcurre desde que se especifica una direccin de
memoria hasta que el dato, o ha sido almacenado o bien
est disponible para su uso.
En otras memorias, es el tiempo que se tarda en situar el
mecanismo de lectura/escritura sobre la posicin
deseada.
Tiempo de ciclo de memoria
Se aplica primordialmente a memorias de acceso
aleatorio y es el tiempo mnimo que debe dejarse
transcurrir entre dos accesos consecutivos
Es algo mayor que el tiempo de acceso (contempla los
tiempos de permanencia de las seales en los buses).
21
5.3 Memoria interna:
Caractersticas
Prestaciones (cont.)
Velocidad de transferencia o ancho de banda
(Bi)
Velocidad a la que se pueden transmitir datos
desde/hacia una unidad de memoria.
En memorias de acceso aleatorio, es igual a la
inversa del tiempo de ciclo de memoria.
Para otras memorias se utiliza la siguiente relacin:
T
N
= T
A
+ N / R
Donde:
T
N
= Tiempo medio de escritura o lectura de N bits.
T
A
= Tiempo de acceso medio.
N = Nmero de bits.
R = Velocidad de transferencia en bits por segundo
(bps).
22
5.3 Memoria interna:
Caractersticas
Capacidad y unidad de transferencia
Tamao de la memoria (Si)
N de bytes que pueden almacenarse en el
dispositivo de memoria.
Coste por byte (Ci)
Coste medio estimado por cada byte de
memoria
El coste total de un dispositivo de memoria
viene dado por Ci*Si.
Unidad de transferencia (Xi)
Unidad de informacin con las que trabaja un
determinado dispositivo de memoria.
Puede oscilar entre un byte o una palabra,
hasta bloques de varios Kbytes.
23
5.3 Memoria interna:
Caractersticas
Conclusin:
Si consideramos el nivel i y el nivel i-1, de la
jerarqua de memoria en general se cumple que:
Ti-1 < Ti; Si-1 < Si; Ci-1 > Ci; Bi-1 > Bi; Xi-1 < Xi
Los niveles ms bajos de memoria son de
acceso rpido, de pequeo tamao, de un alto
coste por bit, de ancho de banda elevado y
utilizan unidades de transferencia pequeas, en
relacin con los niveles ms altos.
24
.
.
25
5.4 Memoria Cache

Memoria pequea y rpida situada entre el procesador y la
memoria principal
Almacena una copia de la porcin de informacin
actualmente en uso de la memoria
Objetivo: disminuir el tiempo de acceso a memoria
Estructura del sistema memoria cache/principal:
MP (memoria principal):
formada por 2
n
palabras direccionables
dividida en nB bloques de tamao fijo de 2
K

palabras por bloque
Campos de una direccin fsica:





MC (memoria cache):
formada por nM marcos de bloque de 2
K

palabras cada uno (nM<<nB)
Directorio (en memoria cache):
indica qu subconjunto de los nB bloques
residen en los nM marcos de bloque
CPU
memoria
principal
memoria
cache
bloque
marco de
bloque
transferencias
de palabras
transferencias
de bloques
Notacin:
nB: nmero de bloques
nM: nmero de marcos de bloque
B: direccin del bloque
M: direccin del marco de bloque
P: palabra dentro del bloque
B P
Dir. Bloque
(n-k bits)
Palabra
(k bits)
DF:
4 - 26
5.4 Organizacin de La memoria Cache
Tamao de la MC:
Es un aspecto muy dependiente de la tecnologa
Al aumentar el tamao de la MC
Ventaja: disminuye la tasa de fallos
Desventaja: aumenta su tiempo de acceso
Desventaja: aumenta su coste
Tamaos ptimos: entre 1 y 512 Kb
Tamao de bloque:
No debe ser ni muy grande ni muy pequeo.
Al aumentar el tamao de bloque
Ventaja: se captura mejor la localidad espacial
Desventaja: podemos llevar datos que nunca ser referenciados
Desventaja: disminuye el nmero de marcos de bloque, capturando peor la
localidad temporal ya que un bloque es reemplazado al poco tiempo de ser cargado
Desventaja: aumenta el tiempo de transferencia de bloque entre MP y MC,
aumentando el tiempo de penalizacin
Tamaos ptimos: entre 4 y 8 palabras
26
5.4 Organizacin de La memoria Cache
Niveles de cache:
Se ampla el paradigma de la jerarqua de memoria aumentando el nmero de
niveles de memoria cache.
Lo ms habitual es tener 2 niveles de cache ubicados en lugares diferentes
Una cache interna (on-chip): para reducir los tiempos de acceso
Rpida: no se accede a travs del bus
Pequea: debe caber dentro de la CPU
Sencilla: poco hardware de gestin (emplazamiento directo)
Una cache externa (off-chip): para reducir la tasa de fallos
Grande y con cierto grado de asociatividad (1-4)
Caches separadas:
La CPU procesa instrucciones y datos por ello en lugar de tener una cache
unificada para ambos tipos de referencias, puede tenerse:
Una cache de lectura para instrucciones
Una cache de lectura/escritura para datos
Ventajas:
Pueden disearse con parmetros de diseo diferentes
Duplica el ancho de banda (dos accesos en paralelo)
Desventajas:
Por separado tienen mayores tasas de fallo que una unificada

27
Ejemplo: Memoria Cache en una
Pentium
2 niveles de cache
2 caches internas, una de datos y otra de instrucciones
1 cache externa
Cache interna:
tamao: 8 Kb
tamao de bloque: 32 bytes
poltica de emplazamiento: asociativa por conjuntos de 2 vas
poltica de reemplazamiento: LRU (1 bit)
poltica de actualizacin (para la de datos): post-escritura o inmediata
(seleccionable)
Cache externa:
tamao: 256 o 512 Kb
tamao de bloque: 32, 64 o 128 bytes
poltica de emplazamiento: asociativa por conjuntos de 2 vas
poltica de reemplazamiento: LRU (1 bit)
poltica de actualizacin: post-escritura
Control de cache:
En el registro de estado existen 2 bits para controlar la cache interna
CD (cache disable): para inhabilitar la cache
NW (not write throught): para seleccionar la poltica de actualizacin
En el repertorio de instrucciones existen 2 instrucciones:
INDV: limpia la memoria cache
WBINVD: limpia la memoria cache, actualizando previamente la memoria principal
28
5.5 Memorias semiconductoras:
Tipos

29
Tipos de memorias semiconductoras.
Tipos de memoria Clase
Memoria de acceso
aleatorio (RAM)
memoria de
lectura / escritura
Memoria de solo
lectura (ROM)
ROM programable
(PROM)
PROM borrable
(EPROM)
Memoria flash
PROM borrable
elctricamente
(EPROM)
Memoria de solo
lectura
Memoria de
sobretodo lectura
Borrado
Elctricamente
por bytes
No posible
Luz ultravioleta
(chip completo)
Elctricamente
por bloques
Elctricamente
por bytes
Mecanismo de
escritura
Elctricamente
Mediante
mscaras
Elctricamente
5.5 Memorias semiconductoras: Bus
E/S
Los mdulos tpicos de memoria ROM
(PROM, EPROM, etc.) y RAM (SRAM,
DRAM) son asncronos.
La operaciones de lectura y escritura no se
rigen por una seal de reloj.
Para iniciar una transferencia se utilizan las
seales de:
Direccin.
Chip select (CS*).
Tipo de operacin: OE* = Output Enabled
(operacin de lectura) y WE* = Write Enabled
(operacin de escritura).
30
5.5 Memorias semiconductoras: Bus
E/S
Los ciclos de lectura/escritura tienen una
duracin determinada y conocida para un
mdulo de memoria especfico (parmetro dado
por el fabricante).
El mdulo de memoria debe conectarse al
bus del sistema a travs de un controlador o
adaptador de memoria.
Convierte las seales de control que genera la
CPU a las seales que utiliza el mdulo de
memoria.
Genera las seales de control necesarias sobre
la CPU para que las transferencias se realice
correctamente, conocido el tiempo de ciclo de la
memoria.
WAIT o READY en bus semisncrono.
SSYNC o DTACK* en bus asncrono.
31
5.5 Memorias semiconductoras: Bus
E/S
Memoria
(ROM o RAM)
Controlador
de memoria
i8086
Datos
Datos
READY
Mem/IO*
WR*
RD*
ALE
CS*
OE*
WE*
Dir
Dir
CLK
32
Conexin de mdulos de memorias.
5.6 Memorias RAM esttica: SRAM
Celda bsica (1 bit): constituida por un biestable
Mantiene la informacin mientras exista
suministro elctrico.
La implementacin puede ser bipolar o MOS.
Ventajas
Tiempo de acceso y de ciclo reducido (alta
velocidad de transferencia).
Desventajas
Disipan mucha energa.
Baja densidad de integracin y coste elevado.
Aplicacin
Diseo de memorias cache (alta velocidad y
pequeo tamao).
33
5.6 Memorias RAM esttica:
SRAM
La siguiente figura muestra una celda
de una SRAM
34
6-Transistor SRAM Cell
bit bit
word
(row select)
bit bit
word
1 0
0 1
Celda bsica donde se almacena un bit.
SRAM
Cell
SRAM
Cell
SRAM
Cell
SRAM
Cell
SRAM
Cell
SRAM
Cell
SRAM
Cell
SRAM
Cell
SRAM
Cell
SRAM
Cell
SRAM
Cell
SRAM
Cell
- +
Sense Amp
- +
Sense Amp
- +
Sense Amp
- +
Sense Amp
: : : :
Word 0
Word 1
Word 15
Dout 0 Dout 1 Dout 2 Dout 3
- +
Wr Driver &
Precharger
- +
Wr Driver &
Precharger
- +
Wr Driver &
Precharger
- +
Wr Driver &
Precharger
A
d
d
r
e
s
s

D
e
c
o
d
e
r

WrEn
Precharge
Din 0 Din 1 Din 2 Din 3
A0
A1
A2
A3
Mdulo
SRAM de
16K x 4.
5.6 Memorias RAM esttica:
SRAM

36
Proceso de lectura en una memoria SRAM.
Proceso: La CPU:
1) Coloca la direccin que
se desea leer en el bus de
direccin.
2) Activar la entrada CS
(chip select) de la memoria.
3) Deber poner la lnea de
R/W de la memoria en la
posicin de lectura (en 1).
4) Transcurrido el tiempo de
acceso, podr recoger el
dato solicitado en el bus de
datos de la memoria.
NOTA:
Tiempo de acceso en lectura = t
1
t
0

Tiempo del ciclo de lectura < tiempo que el P mantiene en el bus la direccin a leer.

Direccin de salida
Dato vlido
t
0
t
1
Tiempo de acceso
Salida
datos
R/W
CS
Entrada
direcciones
Tiempo de ciclo de lectura
Direccin de salida
5.6 Memorias RAM esttica:
SRAM

37
Proceso de escritura en una memoria SRAM.
Proceso: La CPU:
1) Coloca la direccin que se
desea leer en el bus de direccin.
2) Activar la entrada CS (chip
select) de la memoria.
3) Deber poner la lnea de R/W
de la memoria en la posicin de
escritura (en 0).
4) Colocar el dato a escribir en
el bus de datos de la memoria y
lo mantendr en dicho bus
durante t
DW
+ t
DH
t
DW
t
DH
Direccin de salida
Datos
CS
R/W
Direcciones Tiempo de ciclo de escritura
t
W
Mnimo Mnimo
t
WC
NOTA:
Tiempo del impulso de escritura (t
W
) = tiempo mnimo que la seal R/W debe estar en 0.
Tiempo de esritura (t
DW
) = tiempo mnimo que el dato a escribir debe permanecer sin variar.
Tiempo de mantenimiento (t
DH
) = tiempo mnino que el dato debe estar sin variar en el bus.
5.6 Memorias RAM esttica:
Diseo
Ejemplo 1: Disee un banco de
memorias de 32KB, empleando
memorias de 8KB.
Solucin
1) La memoria bsica de 8KB (8Kx8), y la memoria
de 32KB tendrn la siguiente forma:
38
Direcciones Datos
A
0
A
12
D
0
D
7
WR
OE
CS
RAM 8Kx8
Direcciones Datos
A
0
A
14
D
0
D
7
WR
OE
CS
RAM 32Kx8
2
13
= 8K 2
15
= 32K
5.6 Memorias RAM esttica:
Diseo
2) El nmero de memorias a usar es: (32K)/(8K) = 4
3) El mapeo de memoria se muestra a continuacin:









4) Se procede a disear el banco de memorias
39
Banco 2
Banco 0
Banco 1
Banco 3
A
14
A
13
A
12
A
11
A
10
A
9
A
8
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
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 1 1 1 1 1 1
0 1 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 0 0 0 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
Direccin
0000h
1FFFh
2000h
3FFFh
4000h
5FFFh
6000h
7FFFh
5.6 Memorias RAM esttica:
Diseo

40
Solucin ejemplo1:
Mdulo de memoria de
32KB.
Rangos de trabajo de cada memoria
Banco 0 0000h hasta 1FFFh.
Banco 1 2000h hasta 3FFFh.
Banco 2 4000h hasta 5FFFh.
Banco 3 6000h hasta 7FFFh.
R/W'
CS'
(A
0
- A
12
)
RAM
8Kx8
R/W'
CS'
RAM
8Kx8
R/W'
CS'
RAM
8Kx8
R/W'
CS'
RAM
8Kx8
(D
0
- D
7
)
0
1
2
3 CS'
A
B
A
13
A
14
Decoder
de 4x2
R/W'
5.6 Memorias RAM esttica: Diseo
Ejemplo 2: Disee un banco de memorias de
32Kx16 (64KB), empleando memorias de 8KB.
Solucin
1) La memoria bsica de 8KB (8Kx8), y la memoria
de 32Kx16 tendrn la siguiente forma:
41
Direcciones Datos
A
0
A
12
D
0
D
7
WR
OE
CS
RAM 8Kx8
Direcciones Datos
A
0
A
14
D
0
D
15
WR
OE
CS
RAM 32Kx16
2
13
= 8K 2
15
= 32K
5.6 Memorias RAM esttica: Diseo
2) Nmero de memorias = (32K)/(8K) = 4, pero como el bus de
datos ahora es de 16 bits, se usar 8 memorias.
3) Se hace el mapeo de memoria y se procede a disear.
42
Banco 2
Banco 0
Banco 1
Banco 3
A
14
A
13
A
12
A
11
A
10
A
9
A
8
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
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 1 1 1 1 1 1
0 1 0 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 0 0 0 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
Direccin
0000h
1FFFh
2000h
3FFFh
4000h
5FFFh
6000h
7FFFh
5.6 Memorias RAM esttica:
Diseo

43
Solucin ejemplo2:
Modulo de memoria
de 32Kx16 (64KB).
R/W'
CS'
(A
0
- A
12
)
RAM
8Kx8
R/W'
CS'
RAM
8Kx8
R/W'
CS'
RAM
8Kx8
R/W'
CS'
RAM
8Kx8
(D
0
- D
15
)
0
1
2
3 CS'
A
B
A
13
A
14
Decoder
de 4x2
R/W'
R/W'
CS'
RAM
8Kx8
R/W'
CS'
RAM
8Kx8
R/W'
CS'
RAM
8Kx8
R/W'
CS'
RAM
8Kx8
(
D
0

-

D
7
)
(
D
8

-

D
1
5
)
Rangos de trabajo de
cada memoria
Banco 0
0000h hasta 1FFFh
Banco 1
2000h hasta 3FFFh
Banco 2
4000h hasta 5FFFh
Banco 3
6000h hasta 7FFFh
5.7 Memorias RAM dinmica: DRAM
Celda bsica (1 bit): constituida por un transistor
MOS y un condensador.
La informacin binaria se mantiene en forma de
carga del condensador.
1 lgico: presencia de carga en el
condensador; 0 lgico: ausencia de carga en el
condensador.
El control de la carga/descarga del condensador
se realiza mediante un conmutador, diseado
con transistor MOS.
Los condensadores pierden la carga en pocos
mseg.
Necesidad de un refresco peridico de la
informacin contenida en la RAM (cada 2 mseg
tpico).
El refresco consiste en la lectura del
condensador y posterior escritura con idntico
valor (amplificado).
44
5.7 Memorias RAM dinmica:
DRAM
Ventajas
Bajo consumo de energa.
Alta densidad de integracin.
Coste reducido.
Desventajas
Tiempo de ciclo elevado.
Necesidad de refresco.
Aplicacin
Diseo de memoria principal.
Gran tamao y velocidad baja.
45
Celda bsica de una DRAM.
5.7 Memorias RAM dinmica:
DRAM

46
r
o
w

d
e
c
o
d
e
r
row
address
Column Selector &
I/O Circuits
Column Address
data
RAM Cell
Array
word (row) select
bit (data) lines
Each intersection represents
a 1-T DRAM Cell
Organizacin clsica de
una DRAM.
Row and Column
Address together.
Ejemplo:
Disear una placa de memoria de tamao 256Kx8 a partir de chip de
64Kx1
N de celdas necesarias: 32 (4 filas x 8 columnas)
N total de lneas de direccin: 18 (256Kpalabras de 8 bits)
N de lneas de direccin de entrada a un chip bsico: 16 (64Kpalabras de 1 bit)
Diseo de placas
de memoria DRAM
D
e
s
c
o
d
i
f
.





A
17

A
16

A
15
-A
0
R/W*
RAS*
CAS*
E
1
0
1
0
2
3
D7 D6 D0
DRAM
64Kx1
A
16
-A
0

CAS*
R/W*
b
IN

RAS*
b
OUT

DRAM
64Kx1
A
16
-A
0

CAS*
R/W*
b
IN

RAS*
b
OUT

DRAM
64Kx1
A
16
-A
0

CAS*
R/W*
b
IN

RAS*
b
OUT

DRAM
64Kx1
A
16
-A
0

CAS*
R/W*
b
IN

RAS*
b
OUT

DRAM
64Kx1
A
16
-A
0

CAS*
R/W*
b
IN

RAS*
b
OUT

DRAM
64Kx1
A
16
-A
0

CAS*
R/W*
b
IN

RAS*
b
OUT

DRAM
64Kx1
A
16
-A
0

CAS*
R/W*
b
IN

RAS*
b
OUT

DRAM
64Kx1
A
16
-A
0

CAS*
R/W*
b
IN

RAS*
b
OUT

DRAM
64Kx1
A
16
-A
0

CAS*
R/W*
b
IN

RAS*
b
OUT

DRAM
64Kx1
A
16
-A
0

CAS*
R/W*
b
IN

RAS*
b
OUT

DRAM
64Kx1
A
16
-A
0

CAS*
R/W*
b
IN

RAS*
b
OUT

DRAM
64Kx1
A
16
-A
0

CAS*
R/W*
b
IN

RAS*
b
OUT

CAS
3
*
CAS
2
*
CAS
1
*
CAS
0
*
RAS*: Lnea de seleccin
de la fila
CAS*: Lnea de seleccin
de la columna
5.7 Memorias DRAM: Tipos
Existen numerosas tcnicas para mejorar las
prestaciones de la memoria principal basada en
DRAM.
DRAM mejorada (EDRAM, Enhaced DRAM y
EDO RAM Extended Data Output DRAM)
Cada chip de memoria DRAM tiene asociado un
buffer para almacenar la ltima fila leda.
En los accesos siguientes se compara los N/2
bits ms significativos de la direccin con la
almacenada en el registro de direccin de la fila
(que contiene la direccin de la ltima fila leda).
Si la direccin de fila coincide se puede tomar el
dato directamente del buffer.
48
5.7 Memorias RAM dinmica: DRAM
DRAM sncrona (SDRAM): Intercambia datos
con la CPU, sincronizada con una seal de
reloj externa.
Cada transferencia consume un nmero fijo
de ciclos de reloj.
DRAM cache (CDRAM): Dispone de una
pequea cache SDRAM que puede utilizarse
de dos modos:
Como buffer de almacenamiento de las filas
para acelerar el acceso a posiciones de
memoria consecutivas.
Como una verdadera memoria cache dentro
de la jerarqua de memoria.
49
5.7 Memorias RAM dinmica: DRAM
DRAM Rambus (RDRAM): La RDRAM tiene un encapsulado
vertical.
Todos los conectores estn en un lateral.
El bus que conecta el procesador con la memoria puede
ser de menor longitud (menos de 12 cm).
Las transferencias pueden realizarse a mayor velocidad.
El bus puede direccionar hasta 320 chips de RDRAM a
razn de 500 Mbps (DRAM lo hace a 33 Mbps aprox.).
Alcanza esta velocidad, porque define las impedancias,
la temporizacin y las seales, en lugar de ser
controladas por las seales RAS, CAS, R/W y CE.
El bus especial de las RDRAM, usa un protocolo asncrono
orientado a bloques.
50
5.7 Memorias RAM dinmica: DRAM

51
Mdulos SI MM , DI MM y RI MM.
Mdulo SIMM 72 pines
Mdulo DIMM
168 pines
Mdulo RIMM
184 pines
5.7 Memorias RAM dinmica: Mdulos
SIMM (Single In- Line Memory Module):
Es una tarjeta de circuito impreso de cerca de 3
pulgadas de largo que contiene algunos chips de
memoria.
El mdulo se inserta en un socket para SIMM
contenido en una mainboard o en una tarjeta de
expansin de memoria.
La mayora de computadoras no permite la
combinacin de SIMMs de diferente capacidad
dentro de un banco.
Necesitan pulsos de refrescos de 70, 60 o 50 ns,
para evitar la prdida de informacin.
52
5.7 Memorias RAM dinmica:
Mdulos
SIMM 30 contactos:
Los de 30 contactos pueden manejar 8 bits cada
vez, por lo que en un 386 486, que tiene un
bus de datos de 32 bits, necesitamos usarlos de
4 en 4 mdulos iguales. Miden unos 8,5 cm (30
c.) 10,5 cm (72 c.) y sus zcalos suelen ser de
color blanco.
Los SIMMs de 72 contactos, ms modernos,
manejan 32 bits, por lo que se usan de 1 en 1 en
los 486; en los Pentium se hara de 2 en 2
mdulos (iguales), porque el bus de datos de los
Pentium es el doble de grande (64 bits).
53
5.7 Memorias RAM dinmica: Mdulos
DIMM (Dual In-Line Memory Module):
Es una tarjeta de circuito impreso con
contactos plateados o dorados con chips de
memoria. Funciona de manera sincronizada
con la velocidad de la placa.
Son memorias de 64 bits, lo cual explica por
qu no necesitan emparejamiento. Poseen
chips de memoria en ambos lados de la
placa de circuito impresa.
Existen de 168, 184 y 240 contactos.
Adems de ser de mayores dimensiones que
los mdulos SIMM (130x25mm), estos
mdulos poseen una segunda muesca que
evita confusiones.

54
5.7 Memorias RAM dinmica: Mdulos
DIMM: Tipos
DIMMs de 168 contactos, [DIMM] SDR SDRAM.
(Tipos: PC66, PC100, PC133, ...)
DIMMs de 184 contactos, DDR SDRAM. (Tipos:
PC1.600 (DDR-200), PC2.100 (DDR-266),
PC2.400 (DDR-300), PC2.700 (DDR-333),
PC3.00 (DDR-366), PC3.200 (DDR-400),
PC3.500 (DDR-433), PC3.700 (DDR-466),
PC4.000 (DDR-500), PC4.300 (DDR-533),
PC4.800 (DDR-600) => Hasta 1 GiB/mdulo)

55
5.7 Memorias RAM dinmica: Mdulos
DIMM: Tipos
DIMMs de 240 contactos, DDR2 SDRAM. (Tipos:
PC2-3.200 (DDR2-400), PC2-3.700 (DDR2-466),
PC2-4.200 (DDR2-533), PC2-4.800 (DDR2-600),
PC2-5.300 (DDR2-667), PC2-6.400 (DDR2-800),
PC2-8.000 (DDR2-1.000), PC2-8.500 (DDR2-
1.066), PC2-9.200 (DDR2-1.150) y PC2-9.600
(DDR2-1.200) => Hasta 4 GiB por mdulo)
DIMMs de 240 contactos, DDR3 SDRAM. (Tipos:
PC3-6.400 (DDR3-800), PC3-8.500 (DDR3-
1.066), PC3-10.600 (DDR3-1.333), PC3-11.000
(DDR3-1.375), PC3-12.800 (DDR3-1.600),PC3-
13.000 (DDR3-1.625), PC3-13.300 (DDR3-
1.666), PC3-14.400 (DDR3-1.800), PC3-16.000
(DDR3-2.000) => Hasta 4 GiB por mdulo)

56