Sunteți pe pagina 1din 0

Memorias: Definiciones y caractersticas (1)

Un memoria es un dispositivo fsico capaz de almacenar informacin.


Existen una gran variedad de parmetros que permiten caracterizar o
clasificar una memoria:
- Naturaleza fsica del almacenamiento:
* Semiconductor (Ej. RAM, ROM, FlashROM, StickMemory, ...)
* Magntico (Ej. Unidades de cinta o disco)
* ptico (Ej. Unidades DVD, CDROM)
- Modo de Acceso a la Informacin:
* Secuencial: Para acceder a un byte se requieren leer o escribir
en las posiciones previas. (Ej. Unidad de cinta, FIFO)
* Aleatorio: Se puede acceder a cualquier byte sin condicin de
acceder a bytes previos (Ej. RAM, ROM, DVD, Discos
magnticos).
Memorias: Definiciones y caractersticas (2)
- Mantenimiento de la informacin:
* Voltiles: pierden la informacin almacenada transcurrido cierto
tiempo o si se desconecta la alimentacin de la memoria. (Ej. DRAM,
RAM)
* No voltiles: la informacin almacenada perdura en el tiempo
independientemente de la alimentacin del dispositivo y hasta que
sta sea sustituida por una nueva. (Ej. NVRAM, FLASH, Magnticas,
pticas.
- Tiempo de acceso:
Mide el intervalo de tiempo que transcurre desde que se solicita un
dato a la memoria y sta lo devuelve.
* Bajo. Ej. SRAM (cach), DRAM, ROM (en general las de tipo
semiconductor)
* Alto. Ej. Unidades magnticas y pticas.
Memorias: Jerarquas
Cach
Memoria principal
o primaria
Memoria secundaria o masiva
DISCO MAGNTICO
DISCO PTICO
UNIDADES DE CINTA
OTROS
DRAM
ROM
FLASH
NVRAM
SRAM
REGISTROS
CAPACIDAD CRECIENTE
COSTE CRECIENTE
Microprocesador
Memorias: Memorias semiconductoras:Organizacin(1)
La unidad mnima de almacenamiento es el bit y la estructura fsica que lo
soporta se denomina celda bsica.
La memoria organiza las celdas por filas y columnas (estructura matricial).
Existen varias formas de acceder la celdas (o grupos de ellas): decodificacin
por filas y decodificacin por filas y columnas.
Decodificacin por filas:
CELDA BSICA
N
BUS DE DIRECCIONES
DECODIFICADOR
BUFFERS
BUS DE DATOS
M
Memorias: Memorias semiconductoras:Organizacin(2)
Decodificacin por filas y columnas.:
D
E
C
O
D
I
F
I
C
A
D
O
R
B
U
S

D
E

D
I
R
E
C
C
I
O
N
E
S
[
N
]
N/2 N
BUFFERS
MUX (si lectura)/DEMUX (si escritura)
N/2
CELDA BSICA
BUS DE DATOS
M
M
M
M
M
Memorias: Memorias semiconductoras: ROM (1)
Son memorias de slo lectura.
No pierden la informacin aunque se interrumpa la alimentacin.
Tipos: ROM, PROM (OTP ROM), EPROM, EEPROM (FLASH)
Las memorias ROM se programan en fbrica y no es posible
modificar su contenido
Las memorias PROM contienen una matriz de fusibles que es
programable por el usuario una sola vez.
Las EPROM permiten su reprogramacin despus de someter al
chip a un proceso de borrado por radiacin ultravioleta.
Las EEPROM permiten su reprogramacin elctrica. Las FLASH
EEPROM son ms rpidas por permitir borrado y escritura por
bloques aunque tienen el inconveniente del desgaste (10.000-
90.000 borrados).
Memorias: Memorias semiconductoras: ROM (2)
Ejemplo: Memoria EPROM
Seales de control: #OE (habilitador salida), #CE (habilitador chip)
Memorias: Memorias semiconductoras: ROM (3)
Proceso de lectura:
- Establecer direccin
- Habilitar chip y salidas
Tiempo de acceso
Memorias: Memorias semiconductoras: RAM (1)
Son memorias de lectura y escritura.
Tipos: SRAM y DRAM.
Caractersticas de la SRAM:
- Celda bsica basada en un biestable (6 transistores)
- Rpidas (-> Cach)
- La informacin no se pierde mientras exista alimentacin
Memorias: Memorias semiconductoras: RAM (2)
Ejemplo de SRAM
Seales de control (#CS, Habilitador de chip; #WE, Lectura/Escritura;
#OE, Habilitador de salida)
Establecer la direccin
Poner #WE a 1 lgico
Habilitar salidas y chip
Proceso de lectura
Memorias: Memorias semiconductoras: RAM (3)
RAM DINMICA (DRAM)
- celda bsica: 1 transistor + condensador
- Necesita refresco.
- Requiere lgica externa compleja.
- Mayor densidad que SRAM -> mayor capacidad
- Menor velocidad de acceso
Memorias: Memorias semiconductoras: RAM (4)
Establecer la FILA (primera mitad de la direccin)
Validar FILA (#RAS)
Establecer la COLUMNA (segunda mitad de la direccin)
Validar COLUMNA (#CAS)
Poner #WE a 1 lgico
Habilitar salidas y chip
Proceso de lectura
(ver secuencia de pasos
en el cronograma)
TIEMPO DE LATENCIA
Tiempo de pulso de la seal RAS Tiempo de mantenimiento de columna
Tiempo de establecimiento de columna
Ejemplo de DRAM:
Seales de control: #RAS, (Habilitador de fila), #CAS,
(Habilitador de columna), #CS, #WE y #OE.
Memorias: Memorias semiconductoras: RAM (5)
La reduccin del tiempo de latencia es imprescindible para mejorar la
velocidad de las DRAM.
- FPM (Fast Page Mode)/EDO (Extended Data Output) DRAM. Agiliza los
accesos a los bits de una misma fila (pgina). Dentro de una pgina slo es
necesario identificar la columna.
- El tiempo de acceso a n datos de una pgina es Trac*n en DRAM y Trac+(n-
1)*Tpc en FPM/EDO RAM (Tpc = tiempo de ciclo en modo pagina). Tpc es menor
en EDO DRAM que en FPM DRAM.
- Ejemplo: Si n=8, Trac=60ns y Tpc=25ns -> Tacceso DRAM = 480ns, Tacceso
FPM/EDO DRAM = 235ns
Memorias: Memorias semiconductoras: RAM (6)
Los microprocesadores tienden a buscar bytes en posiciones consecutivas de la
memoria y, si disponen de cach, adems, en rfagas. (Ej. Cach L2 de un Pentium
busca bloques de 32 bytes).
Las SDRAM (DRAM sncronas) incorporan una seal de reloj que establece la base
de tiempos para el modo paginado y un contador interno que genera las
direcciones de columna para cada ciclo de reloj.
El tiempo de acceso para n palabras (de m bits) es Trac+(n-1)Tclk.
Ejemplo: Una SDRAM PC-100Mhz, tiene Tclk = 10ns, si Trac=60ns y n=8,
entonces Tacceso SDRAM = 130ns.
Tclk
Trac
Memorias: Memorias semiconductoras: RAM (7)
Las DDR (Double Data Rate) RAM permiten duplicar la velocidad al utilizar, tanto
los flancos de subida como los de bajada del reloj para transferir un bit. Tacceso de
n palabras (de m bits) en DDR RAM = Trac + (n-1)*Tclk/2. (95ns si se usan los
mismos datos de la SDRAM anterior)
Futuro: QDR (Quad Data Rate) RAM (cuatro transferencias por ciclo de reloj)
Las memorias para un ordenador personal vienen en mdulos: SIMM , DIMM
Memorias: Mapas de memoria: Generalidades
MICROPROCESADOR
Todo microprocesador dispone de
un bus de direcciones (AB), bus de
datos (DB) y bus de control (CB) para
gestionar el flujo de informacin
entre la memoria y el propio
procesador
Desde el punto de vista del
microprocesador, la memoria est
organizada en una ristra de bytes
en la que cada uno ocupa una
direccin concreta dentro de la
ristra.
AB
CB
DB
MEMORIA PRINCIPAL
Dato (p)
Dato (p-1)
Dato (p+1)
DIRECCIN
P-1
P
P+1
Memorias: Mapas de memoria: Organizacin
El valor que el microprocesador sita en el AB en un momento
determinado se denomina direccin fsica (DF).
Cada byte almacenado en la memoria se distingue de cualquier
otro porque ocupa o tiene asignado una direccin lgica (DL). El
microprocesador trabaja con direcciones lgicas.
El conjunto de todas las posibles direcciones lgicas determina
el espacio de direccionamiento.
El tamao del espacio de direccionamiento y su organizacin
dependen del nmero de lneas de los buses AB y DB:
- Un bus AB con n lneas identifica 2
n
direcciones fsicas
diferentes.
- Un DB con mx8 lneas (m=1, 2, 4, 8...) asigna m direcciones
lgicas a una direccin fsica.
- Espacio de direccionamiento = 2
n
x m
Memorias: Mapas de memoria: Organizacin:Ejs: (1)
Ejemplo 1: Microprocesador con 16 lneas en bus de direcciones y 8
lneas en el bus de datos (n=16 y m=1).
- Existen 2
16
= 65536 direcciones fsicas.
- Cada direccin fsica tiene asignada una lgica (m=1) y por cada
direccin lgica existe un byte.
- Espacio de direccionamiento es de 64Kbytes
Direccin fsica (16bits)
Byte 0
Memoria principal
Microprocesador
AB[15:0]
DB[7:0]
110....11101
Byte 2
Byte 3
Byte 65534
Byte 65535
16
$0000
$0001
$0002
$0003
$FFFF
$FFFE
2
16
=64K
Direcciones
Lgicas y fsicas
Byte 1 110....11101
CB[..]
Direccin lgica (16bits)
AB
8
DB
Memorias: Mapas de memoria: Organizacin:Ejs: (2)
Ejemplo 2: Microprocesador con 15 lneas en bus de direcciones y 16
lneas en el bus de datos (n=15 y m=2).
- Existen 2
15
=32768 direcciones fsicas.
- Cada direccin fsica tiene asignada dos lgicas (m=2) y por cada
direccin lgica existe un byte.
- Espacio de direccionamiento es de 64Kbytes (fsicamente org. 32Kwords)
Direccin fsica (15bits)
Byte 0
Microprocesador
AB[15:1]
DB[15:0]
110....11101
Byte 4
Byte 6
Byte 65532
Byte 65534
16
$0000
$0001
$0002
$0003
$7FFF
$7FFE
Byte 2
110....1110
Byte 1
Byte 5
Byte 7
Byte 65533
Byte 65535
Byte 3
Word 0
Word 1
Word 2
Word 3
Word 32766
Word 32767
BE[1,0]
CB[..]
2
Direccin lgica (16bits)
AB
15
DB
Memoria principal
Memorias: Mapas de memoria: Organizacin:Ejs: (3)
Ejemplo 1: Microprocesador con 14 lneas en bus de direcciones y 32
lneas en el bus de datos (n=14 y m=4).
-Existen 2
14
=16384 direcciones fsicas.
-Cada direccin fsica tiene asignada cuatro lgicas (m=4) y por cada
direccin lgica existe un byte.
-Espacio de direccionamiento es de 64Kbytes (fsicamente 16Klong words)
Direccin fsica (14bits)
Byte 0
AB[15:2]
DB[31:0]
110....11101
14
$0000
$0001
$0002
$3FFF
$3FFE
110....111
LWord 0
BE[3:0]
4
Byte 1 Byte 2 Byte 3
Byte 4 LWord 0 Byte 5 Byte 6 Byte 7
Byte 8 LWord 0 Byte 9 Byte 10 Byte 11
Byte 65528 LWord 16382 Byte 65529 Byte 65530 Byte 65531
Byte 65532 LWord 16383 Byte 65533 Byte 65534 Byte 65535
CB[..]
Direccin lgica (16bits)
32
Microprocesador
Memoria principal
Memorias: Mapas de memoria: Conexin lectura
Para LEER, el microprocesador activa la seal R/#W que posee el BUS de
CONTROL. Esta seal llega hasta todos los chips de memoria.
Si el tamao del bus de datos es de 8 bits, slo se podr leer un byte por cada
acceso a memoria.
Para el siguiente ejemplo: direccin fsica = direccin lgica.
Microprocesador Memoria principal
$01
AB[15:0]
DB[7:0]
$A0
$BC
$15
$32
$10
$FF
$45
$66
$0000
$0001
$1200
$1201
$1202
$1203
$1204
$FFFE
$FFFF
$BC
CB[..]
R/#W
1
$1202
Memorias: Mapas de memoria: Conexin lectura (2)
Si el tamao del bus de datos es de 16 bits, se podr leer un byte o un word por
cada acceso a memoria.
El CB tiene dos lneas que regulan qu parte del DB se usa para accesos a bytes.
Se controlan por el bit menos significativo de la direccin lgica y por el tamao
del operando de la instruccin que realiza el acceso a memoria. Para la lectura de
un byte situado en una direccin impar, se activa BE1.
LECTURA DE BYTE EN DIRECCIN IMPAR
Byte 0
DB[15:8]
AB[15:1]
DB[15:0]
00...00 0111
Byte 4
Byte 6
Byte 65532
Byte 65534
15
$0000
$0001
$0002
$0003
$7FFF
$7FFE
Byte 2 00...0011
Byte 1
Byte 5
Byte 7
Byte 65533
Byte 65535
Byte 3
Word 0
Word 1
Word 2
Word 3
Word 32766
Word 32767
BE0=1 BE1=1
DB[7:0]
R/#W
Byte 0
DB[15:8]
AB[15:1]
DB[15:0]
00...00 0111
Byte 4
Byte 6
Byte 65532
Byte 65534
15
$0000
$0001
$0002
$0003
$7FFF
$7FFE
Byte 2 00...0011
Byte 1
Byte 5
Byte 7
Byte 65533
Byte 65535
Byte 3
Word 0
Word 1
Word 2
Word 3
Word 32766
Word 32767
BE0
BE0=1 BE1=1
DB[7:0]
Byte 0
DB[15:8]
AB[15:1]
DB[15:0]
00...00 0111
Byte 4
Byte 6
Byte 65532
Byte 65534
15
$0000
$0001
$0002
$0003
$7FFF
$7FFE
Byte 2 00...0011
Byte 1
Byte 5
Byte 7
Byte 65533
Byte 65535
Byte 3
Word 0
Word 1
Word 2
Word 3
Word 32766
Word 32767
BE1
CB[..]
BE0=1 BE1=1
DB[7:0]
1
0
Direccin lgica (16bits)
Direccin fsica (15bits) Direccin fsica (15bits) Direccin fsica (15bits)
Microprocesador
Memoria principal Memoria principal
Microprocesador
Memoria principal
Microprocesador
Memorias: Mapas de memoria: Conexin lectura (3)
En la lectura de un dato de tamao byte que se encuentra en una direccin par se
activa BE0.
LECTURA DE BYTE EN DIRECCIN PAR
Byte 0
DB[15:8]
AB[15:1]
DB[15:0]
00...00 0110
Byte 4
Byte 6
Byte 65532
Byte 65534
15
$0000
$0001
$0002
$0003
$7FFF
$7FFE
Byte 2 00...0011
Byte 1
Byte 5
Byte 7
Byte 65533
Byte 65535
Byte 3
Word 0
Word 1
Word 2
Word 3
Word 32766
Word 32767
BE0=1 BE1=1
DB[7:0]
R/#W
Byte 0
DB[15:8]
AB[15:1]
DB[15:0]
Byte 4
Byte 6
Byte 65532
Byte 65534
15
$0000
$0001
$0002
$0003
$7FFF
$7FFE
Byte 2 00...0011
Byte 1
Byte 5
Byte 7
Byte 65533
Byte 65535
Byte 3
Word 0
Word 1
Word 2
Word 3
Word 32766
Word 32767
BE0
BE0=1 BE1=1
DB[7:0]
Byte 0
DB[15:8]
AB[15:1]
DB[15:0]
Byte 4
Byte 6
Byte 65532
Byte 65534
15
$0000
$0001
$0002
$0003
$7FFF
$7FFE
Byte 2 00...0011
Byte 1
Byte 5
Byte 7
Byte 65533
Byte 65535
Byte 3
Word 0
Word 1
Word 2
Word 3
Word 32766
Word 32767
BE1
CB[..]
BE0=1 BE1=1
DB[7:0]
0
1
Direccin lgica (16bits)
Direccin fsica (15bits) Direccin fsica (15bits) Direccin fsica (15bits)
Microprocesador
Memoria principal Memoria principal
Microprocesador
Memoria principal
Microprocesador
Memorias: Mapas de memoria: Conexin lectura (4)
En la lectura de un dato de tamao word, se activan las lneas BE0 y BE1.
En este caso se requiere que la direccin lgica sea siempre par.
LECTURA DE PALABRA (siempre direcciones pares)
Byte 0
DB[15:8]
AB[15:1]
DB[15:0]
00...00 0110
Byte 4
Byte 6
Byte 65532
Byte 65534
15
$0000
$0001
$0002
$0003
$7FFF
$7FFE
Byte 2 00...0011
Byte 1
Byte 5
Byte 7
Byte 65533
Byte 65535
Byte 3
Word 0
Word 1
Word 2
Word 3
Word 32766
Word 32767
BE0=1 BE1=1
DB[7:0]
R/#W
Byte 0
DB[15:8]
AB[15:1]
DB[15:0]
Byte 4
Byte 6
Byte 65532
Byte 65534
15
$0000
$0001
$0002
$0003
$7FFF
$7FFE
Byte 2 00...0011
Byte 1
Byte 5
Byte 7
Byte 65533
Byte 65535
Byte 3
Word 0
Word 1
Word 2
Word 3
Word 32766
Word 32767
BE0
BE0=1 BE1=1
DB[7:0]
Byte 0
DB[15:8]
AB[15:1]
DB[15:0]
Byte 4
Byte 6
Byte 65532
Byte 65534
15
$0000
$0001
$0002
$0003
$7FFF
$7FFE
Byte 2 00...0011
Byte 1
Byte 5
Byte 7
Byte 65533
Byte 65535
Byte 3
Word 0
Word 1
Word 2
Word 3
Word 32766
Word 32767
BE1
CB[..]
BE0=1 BE1=1
DB[7:0]
1
1
Direccin lgica (16bits)
Direccin fsica (15bits) Direccin fsica (15bits) Direccin fsica (15bits)
Microprocesador
Memoria principal Memoria principal
Microprocesador
Memoria principal
Microprocesador
Memorias: Mapas de memoria: Conexin escritura
Para ESCRIBIR, el microprocesador desactiva la seal R/#W que posee el BUS
de CONTROL.
Si el tamao del bus de datos es de 8 bits, slo se podr escribir un byte por
cada acceso a memoria.
Microprocesador Memoria principal
$01
AB[15:0]
DB[7:0]
$A0
$BC
$15
$32
$10
$FF
$45
$66
$0000
$0001
$1200
$1201
$1202
$1203
$1204
$FFFE
$FFFF
$BC
CB[..]
R/#W
0
$1202
Memorias: Mapas de memoria: Conexin escritura (2)
Si el tamao del bus de datos es de 16 bits, se podr escribir un byte o un word por
cada acceso a memoria.
Direccin fsica (15bits)
Byte 0
DB[15:8]
[15:1]
DB[15:0]
00...00 0101
Byte 4
Byte 6
Byte 65532
Byte 65534
15
$0000
$0001
$0002
$0003
$7FFF
$7FFE
Byte 2 00...0010
Byte 1
Byte 5
Byte 7
Byte 65533
Byte 65535
Byte 3
Word 0
Word 1
Word 2
Word 3
Word 32766
Word 32767
BE0=1 BE1=1
DB[7:0]
R/#W
BE0
BE1
CB[..]
1
0
$AB
Direccin lgica (16bits)
Microprocesador
Memoria principal
Memorias: Mapas de memoria (1)
CHIP1 RAM
CHIP2 RAM
CHIP6 ROM
CHIP3 ROM
CHIP4 RAM
CHIP5 RAM
ESPACIO
DE MEMORIA
LIBRE
El espacio de direccionamiento lgico identifica la
mxima capacidad de memoria con la que puede trabajar
un microprocesador (CM).
La capacidad fsica (CF) o real de la memoria viene
dada por la suma de las capacidades de todos los chips
de memoria que la forman. (CF<CM).
Cada chip de memoria tiene asignado un rango de
direcciones lgicas. Dicho rango es igual a la capacidad
del chip de memoria expresada en bytes. Cualquier
direccin lgica (DL) que est incluida en dicho rango
provocar el acceso a un chip del conjunto, mientras que
los restantes chips estn inactivos. Ejemplos:
-Direcciones Lgicas DL1 y DL2 acceden al chip1 de RAM, la DL3 y
DL6 a los chips 2 y 3 de RAM respectivamente. La direccin DL5 no
accede a ningn chip de memoria y la DL4 a un chip de ROM.
Los mapas de memorias son representaciones grficas
que representan los rangos de direcciones lgicas que
tienen asignados cada uno de los chips que constituyen
la memoria fsica.
CAPACIDAD FSICA
DL1
DL2
DL3
DL4
DL5
DL6
ESPACIO DE DIRECCIONAMIENTO
Memorias: Mapas de memoria (2)
Los microprocesadores necesitan de un sistema de decodificacin que
permita habilitar las memorias segn la direccin fsica que aquel site
en el bus de direcciones.
ROM
4Kx8
RAM
8Kx8
AB[15:12]
SISTEMA
DE
DECODIFICACIN
$1
$02A
CHIP1 ROM
CHIP2 RAM
ESPACIO
DE MEMORIA
LIBRE
CS1 $0000
uP
AB[15:0]
DB[7:0]
$102A
64K
12
13
CS2
$0FFF
AB[11:0]
$1000
Direccin lgica $102A
$2FFF
AB[12:0]
$102A
Memorias: Mapas de memoria (3)
A15=0
A15=1
A14=0
$0000
$7FFF
A14=1
$3FFF
$4000
A14=0
$8000
$FFFF
A14=1
$BFFF
$C000
A13=0
A13=1
$0000
$1FFF
$2000
$3FFF
A13=0
A13=1
$4000
$5FFF
$6000
$7FFF
A13=0
A13=1
$8000
$9FFF
$A000
$BFFF
A13=0
A13=1
$C000
$DFFF
$E000
$FFFF
A13=0
A13=0 A13=0
A13=0 A13=0
A13=0 A13=0
A12=0
$0FFF
$0000
A12=1
A12=0
$1000
$1FFF
$2000
$2FFF
A12=1
A12=0
A12=1
A12=0
A12=1
$0000
Los chips de memoria reciben los
bits menos significativos del AB, en
cambio, el sistema de decodificacin
utiliza los ms significativos, en
concreto, los bits del AB que no se
llevan hasta los buses de direccin
de los chips de memoria.
Para determinar el sistema de
decodificacin, se puede proceder
dividiendo el espacio de direcciona-
miento en diferentes regiones segn
las lneas MSB del AB.
Para la ROM de 4K y RAM de 8K,
del ejemplo anterior se tiene:
$7FFF
$8000
CS1 = A15 A14 A13 A12
CS2 = A15 A14 A13 A12 + A15 A14 A13 A12
$FFFF
32K 16K ROM 4K RAM 8K 8K 4K
Memorias: Mapas de memoria (4)
El sistema de decodificacin estar formado por los subsistemas
combinacionales y puertas lgicas necesarias que permitan la activacin
de los CSx de los chips de memoria. Adems, para las ROMs, se deber
prohibir el acceso a escritura de las mismas.
uP
AB[15:0]
DB[7:0]
CB[..]
ROM
4Kx8
CS
RAM
8Kx8
CS2
DEC
4:16
0
1
2
.
.
15
&
CS1
CS1 = A15 A14 A13 A12 (slo si el acceso es de lectura,
ya que es una ROM)
CS2 = A15 A14 A13 A12 + A15 A14 A13 A12
AB[11:0]
AB[12:0]
>1
R/#W
AB[15:12]
R/#W
Memorias: Mapas de memoria: Ejemplo 1 (1)
A15=0
$0000
$7FFF
A15=1
$8000
$FFFF
A14=0
$0000
$7FFF
A14=1
$3FFF
$4000
A14=0
$8000
$FFFF
A14=1
$BFFF
$C000
A13=0
A13=1
A13=0
A13=1
$C000
$DFFF
$E000
$FFFF
A13=0 A13=0
A13=0 A13=0
R0M 16K
RAM1 8K
RAM2 8K
Se dispone de un microprocesador
con 16 bits en su AB y 8 en su DB y
de 2 chips de 8Kx8 de RAM y uno de
16Kx8 de ROM. Se desea que las
posiciones de memoria ms bajas
estn ocupadas por ROM y las ms
altas por RAM. Disear el sistema de
decodificacin.
- El espacio de direccionamiento se
subdivide, a partir de los bits MSB del AB, en
regiones ms pequeas hasta que se
alcancen las capacidades de los chips de
memoria.
-Se determinan las expresiones de los CSx
de los dispositivos en funcin de los bits del
AB que delimitan la regin del espacio de
direccionamiento donde se sita el
contenido del chip de memoria:
CSrom = A15 A14
CSram1 = A15 A14 A13 ; CSram2 = A15 A14 A13
32K 16K 8K RAM 8K R0M 16K
Memorias: Mapas de memoria: Ejemplo 1 (2)
uP
AB[15:0]
DB[7:0]
CB[..]
ROM
16Kx8
CS
CSrom
RAM1
8Kx8
DEC
3:8
0
1
.
.
6
7
AB[12:0]
&
- Se implementa el sistema de decodificacin
usando los bits MSB del AB para activar los CSx
- El bus de direcciones de los chips se conectan a
los bits LSB del AB del microprocesador
- El bus de datos de los chips se conectan al del
microprocesador.
AB[13:0]
RAM 2
8Kx8
AB[12:0]
R/#W
CSram2
AB[15:13]
R/#W
R/#W CSram1
>1
Memorias: Mapas de memoria: Ejemplo 2 (1)
A19=0
$00000
$7FFFF
A19=1
$80000
$FFFFF
A18=0
$00000
$7FFFF
A14=1
$3FFFF
$00000
A18=0
A18=1
A13=0
A17=1
A13=0 A17=0
R0M 128K
RAM1 8K
RAM1 64K
$1FFFF
$20000
$3FFFF
RAM2 64K
$20000
$2FFFF
$30000
$3FFFF
A16=0
A16=1
1M byte
Espacio de
direccionamiento
Se dispone de un microprocesador
con 20 bits en su AB y 8 en su DB y
de 2 chips de 64kx8 de RAM y uno de
128kx8 de ROM. Se desea que las
posiciones de memoria ms bajas
estn ocupadas por ROM y, a
continuacin, se sita la memoria
RAM. Disear el sistema de
decodificacin suponiendo que los CS
de los chips son activos en bajo.
- El espacio de direccionamiento es de 1M.
-Las ecuaciones de los CS son:
CSrom = A19+A18+A17
CSram1 = A19+A18+A17+A16
CSram2 = A19+A18+A17+A16
512K 256K 128K ROM 128K RAM 64K
Memorias: Mapas de memoria: Ejemplo 2 (2)
uP
AB[19:0]
DB[7:0]
CB[..]
ROM
128Kx8
CS
CSrom
RAM2
64Kx8
DEC
4:16
0
1
2
3
..
15
AB[15:0]
>1
- Se implementa el sistema de decodificacin
usando los bits MSB del AB para activar los CSx
- El bus de direcciones de los chips se conectan a
los bits LSB del AB del microprocesador
- El bus de datos de los chips se conectan al del
microprocesador.
AB[16:0]
RAM1
64Kx8
CSram1
R/#W
AB[19:16]
R/#W
AB[15:0]
R/#W
CSram2
&
Memorias: Mapas de memoria: Ejemplo 3 (1)
Se dispone de un microprocesador con 15 bits en su AB y 16 en su DB y de 4 chips de 4kx8 de
RAM y dos de 8kx8 de ROM. Se desea que las posiciones de memoria ms bajas estn ocupadas
por ROM y las ms altas por RAM. Disear el sistema de decodificacin.
- El espacio de direccionamiento tiene 64Kbytes pero organizado, fsicamente, en 32Kwords.
- El microprocesador puede acceder a un byte individual o a dos bytes consecutivos simultneamente. Esto
exige decodificacin por direccin par o impar.
- El uP dispone de las lneas BE1 y BE0, que identifican si el acceso es a direccin par o impar para bytes o, a
ambas, para word.
- Desde un punto de vista lgico, los chips de memoria se deben agrupar por parejas. La pareja ocupa una
regin, dentro del espacio de direccionamiento, igual al doble de la capacidad de cada uno (ACCESO ROM).
&
uP
AB[15:1]
DB[15:0]
CB
DECODIFICACIN
BE0
BE1
ROM
8Kx8
CSrom1
ROM
8Kx8
CSrom2
DB[7:0] DB[15:8]
AB[13:1] AB[13:1]
&
ACCESO ROM (CS1)
Memorias: Mapas de memoria: Ejemplo 3 (2)
A15=0
A15=1
A14=0
$0000
$7FFF
A14=1
$3FFF
$4000
A14=0
$8000
$FFFF
A14=1
$BFFF
$C000
A13=0
A13=1
$C000
$DFFF
$E000
$FFFF
A13=0 A13=0
ROM 16K
RAM 8K
RAM 8K
Se representa el espacio de
direccionamiento
Los dos chips de ROM de 8K se
consideran como uno de 16K que se sita
en la parte inferior del espacio de
direccionamiento.
Los 4 chips de RAM de 4K se agrupan de
dos en dos para formar dos chips de 8K
que ocupan las direcciones lgicas ms
altas.
Cada una de las regiones ocupadas se
etiqueta con CSx (x=1,2,3).
Se obtienen las expresiones lgicas de
dichas etiquetas:
CS1 = A15 A14
CS2 = A15 A14 A13
CS3 = A15 A14 A13
$0000
CS1
64K
$7FFF
$8000
CS2
CS3
$FFFF
Memorias: Mapas de memoria: Ejemplo 3 (3)
uP
AB[15:1]
DB[15:0]
CB
BE0
BE1
R/#W
ROM
8Kx8
AB[13:1]
CS
ROM
8Kx8
CS
DB[7:0] DB[15:8]
AB[13:1]
& &
RAM
4Kx8
CS
AB[12:1]
&
R/#W
BE0
RAM
4Kx8
AB[12:1]
&
CS
R/#W
RAM
4Kx8
&
CS
R/#W
DB[7:0] DB[15:8]
AB[12:1]
RAM
4Kx8
&
CS
R/#W
DB[7:0] DB[15:8]
AB[12:1]
BE1
CS3 CS3
Las lneas MSB del AB se conectan al
DEC 3:8 para generar CS1, CS2 y CS3.
Atendiendo a BE0, BE1, y CSx, se
obtienen los CS de los chips de memoria
El bus de datos de los chips que se
habilitan con BE0 se conecta a DB[7:0] y
los que se habilitan con BE1 al DB[15:8]. BE0 BE1
CS2
CS2
BE0
CS1
R/#W
BE1
CS1
R/#W
DEC
3:8
0
1
.
6
7
>1
CS1
AB[15:13]
CS2
CS3

S-ar putea să vă placă și