Está en la página 1de 37

Memorias: Definiciones y características (1)

• Un memoria es un dispositivo físico capaz de almacenar información.


• Existen una gran variedad de parámetros que permiten caracterizar o
clasificar una memoria:
- Naturaleza física del almacenamiento:
* Semiconductor (Ej. RAM, ROM, FlashROM, StickMemory, ...)
* Magnético (Ej. Unidades de cinta o disco)
* Óptico (Ej. Unidades DVD, CDROM)
- Modo de Acceso a la Información:
* 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 condición de
acceder a bytes previos (Ej. RAM, ROM, DVD, Discos
magnéticos).
Memorias: Definiciones y características (2)

- Mantenimiento de la información:
* Volátiles: pierden la información almacenada transcurrido cierto
tiempo o si se desconecta la alimentación de la memoria. (Ej. DRAM,
RAM)
* No volátiles: la información almacenada perdura en el tiempo
independientemente de la alimentación del dispositivo y hasta que
ésta sea sustituida por una nueva. (Ej. NVRAM, FLASH, Magnéticas,
Ó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 magnéticas y ópticas.
Memorias: Jerarquías

CAPACIDAD CRECIENTE DISCO MAGNÉTICO

Caché DRAM
DISCO ÓPTICO
SRAM
ROM
REGISTROS
FLASH
Microprocesador UNIDADES DE CINTA
NVRAM

Memoria principal
o primaria OTROS

Memoria secundaria o masiva


COSTE CRECIENTE
Memorias: Memorias semiconductoras:Organización(1)

• La unidad mínima de almacenamiento es el bit y la estructura física que lo


soporta se denomina celda básica.
• La memoria organiza las celdas por filas y columnas (estructura matricial).
• Existen varias formas de acceder la celdas (o grupos de ellas): decodificación
por filas y decodificación por filas y columnas.
• Decodificación por filas: CELDA BÁSICA

BUS DE DIRECCIONES

DECODIFICADOR

BUFFERS

M
BUS DE DATOS
Memorias: Memorias semiconductoras:Organización(2)

• Decodificación por filas y columnas.:

DECODIFICADOR
BUS DE DIRECCIONES[N]

N N/2

M
M M

N/2
MUX (si lectura)/DEMUX (si escritura)

CELDA BÁSICA M

BUFFERS

M
BUS DE DATOS
Memorias: Memorias semiconductoras: ROM (1)

• Son memorias de sólo lectura.


• No pierden la información aunque se interrumpa la alimentación.
• Tipos: ROM, PROM (OTP ROM), EPROM, EEPROM (FLASH)
• Las memorias ROM se programan en fábrica 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 reprogramación después de someter al
chip a un proceso de borrado por radiación ultravioleta.
• Las EEPROM permiten su reprogramación eléctrica. Las FLASH
EEPROM son más rápidas 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


• Señales de control: #OE (habilitador salida), #CE (habilitador chip)
Memorias: Memorias semiconductoras: ROM (3)

• Proceso de lectura:
- Establecer dirección
- Habilitar chip y salidas

Tiempo de acceso
Memorias: Memorias semiconductoras: RAM (1)

• Son memorias de lectura y escritura.


• Tipos: SRAM y DRAM.
• Características de la SRAM:
- Celda básica basada en un biestable (6 transistores)
- Rápidas (-> Caché)
- La información no se pierde mientras exista alimentación
Memorias: Memorias semiconductoras: RAM (2)

• Ejemplo de SRAM
• Señales de control (#CS, Habilitador de chip; #WE, Lectura/Escritura;
#OE, Habilitador de salida)

Establecer la dirección
Proceso de lectura Poner #WE a 1 lógico
Habilitar salidas y chip
Memorias: Memorias semiconductoras: RAM (3)

• RAM DINÁMICA (DRAM)


- celda básica: 1 transistor + condensador
- Necesita refresco.
- Requiere lógica externa compleja.
- Mayor densidad que SRAM -> mayor capacidad
- Menor velocidad de acceso
Memorias: Memorias semiconductoras: RAM (4)

• Ejemplo de DRAM:
• Señales de control: #RAS, (Habilitador de fila), #CAS,
(Habilitador de columna), #CS, #WE y #OE.

Establecer la FILA (primera mitad de la dirección)


Validar FILA (#RAS)

Proceso de lectura Establecer la COLUMNA (segunda mitad de la dirección)

(ver secuencia de pasos Validar COLUMNA (#CAS)

en el cronograma) Poner #WE a 1 lógico


Habilitar salidas y chip
Tiempo de establecimiento de columna
Tiempo de pulso de la señal RAS Tiempo de mantenimiento de columna

TIEMPO DE LATENCIA
Memorias: Memorias semiconductoras: RAM (5)

• La reducción 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 (página). Dentro de una página sólo es
necesario identificar la columna.
- El tiempo de acceso a n datos de una página 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é, además, en ráfagas. (Ej. Caché L2 de un Pentium
busca bloques de 32 bytes).
• Las SDRAM (DRAM síncronas) incorporan una señal 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 módulos: SIMM , DIMM
Memorias: Mapas de memoria: Generalidades

• Todo microprocesador dispone de AB


un bus de direcciones (AB), bus de
datos (DB) y bus de control (CB) para CB
gestionar el flujo de información
entre la memoria y el propio
procesador
DB

• Desde el punto de vista del MICROPROCESADOR MEMORIA PRINCIPAL

microprocesador, la memoria está


organizada en una “ristra” de bytes
en la que cada uno ocupa una
dirección concreta dentro de la DIRECCIÓN

“ristra”.
P-1 Dato (p-1)
P Dato (p)
P+1 Dato (p+1)
Memorias: Mapas de memoria: Organización

• El valor que el microprocesador sitúa en el AB en un momento


determinado se denomina dirección física (DF).
• Cada byte almacenado en la memoria se distingue de cualquier
otro porque ocupa o tiene asignado una dirección lógica (DL). El
microprocesador trabaja con direcciones lógicas.
• El conjunto de todas las posibles direcciones lógicas determina
el espacio de direccionamiento.
• El tamaño del espacio de direccionamiento y su organización
dependen del número de líneas de los buses AB y DB:
- Un bus AB con n líneas identifica 2n direcciones físicas
diferentes.
- Un DB con mx8 líneas (m=1, 2, 4, 8...) asigna m direcciones
lógicas a una dirección física.
- Espacio de direccionamiento = 2n x m
Memorias: Mapas de memoria: Organización:Ejs: (1)

• Ejemplo 1: Microprocesador con 16 líneas en bus de direcciones y 8


líneas en el bus de datos (n=16 y m=1).
- Existen 216 = 65536 direcciones físicas.
- Cada dirección física tiene asignada una lógica (m=1) y por cada
dirección lógica existe un byte.
- Espacio de direccionamiento es de 64Kbytes

Dirección lógica (16bits) Dirección física (16bits)

110....11101
$0000 Byte 0
110....11101 $0001 Byte 1
AB[15:0] $0002 Byte 2
AB 16 $0003 Byte 3 216=64K
CB[..] Direcciones
8 Lógicas y físicas
DB[7:0] $FFFE Byte 65534
DB $FFFF Byte 65535

Microprocesador Memoria principal


Memorias: Mapas de memoria: Organización:Ejs: (2)

• Ejemplo 2: Microprocesador con 15 líneas en bus de direcciones y 16


líneas en el bus de datos (n=15 y m=2).
- Existen 215 =32768 direcciones físicas.
- Cada dirección física tiene asignada dos lógicas (m=2) y por cada
dirección lógica existe un byte.
- Espacio de direccionamiento es de 64Kbytes (físicamente org. 32Kwords)

Dirección lógica (16bits) Dirección física (15bits)

110....11101
$0000 Byte 0 Byte 1 Word 0
110....1110 $0001 Byte 2 Byte 3 Word 1
AB[15:1] $0002 Byte 4 Byte 5 Word 2
AB 15 $0003 Byte 6 Byte 7 Word 3
BE[1,0]
CB[..]
2
16
DB[15:0] $7FFE Byte 65532 Byte 65533 Word 32766
DB $7FFF Byte 65534 Byte 65535 Word 32767

Microprocesador Memoria principal


Memorias: Mapas de memoria: Organización:Ejs: (3)

• Ejemplo 1: Microprocesador con 14 líneas en bus de direcciones y 32


líneas en el bus de datos (n=14 y m=4).
-Existen 214 =16384 direcciones físicas.
-Cada dirección física tiene asignada cuatro lógicas (m=4) y por cada
dirección lógica existe un byte.
-Espacio de direccionamiento es de 64Kbytes (físicamente 16Klong words)

Dirección lógica (16bits) Dirección física (14bits)

110....11101 Byte 0 Byte 1 Byte 2 Byte 3


$0000 LWord 0
110....111 $0001 Byte 4 Byte 5 Byte 6 Byte 7 LWord 0

AB[15:2] $0002 Byte 8 Byte 9 Byte 10 Byte 11 LWord 0


14

BE[3:0]
CB[..]
4

DB[31:0] $3FFE Byte 65528 Byte 65529 Byte 65530 Byte 65531 LWord 16382
32 $3FFF Byte 65532 Byte 65533 Byte 65534 Byte 65535 LWord 16383

Microprocesador Memoria principal


Memorias: Mapas de memoria: Conexión lectura
• Para LEER, el microprocesador activa la señal R/#W que posee el BUS de
CONTROL. Esta señal llega hasta todos los chips de memoria.
• Si el tamaño del bus de datos es de 8 bits, sólo se podrá leer un byte por cada
acceso a memoria.
• Para el siguiente ejemplo: dirección física = dirección lógica.

Microprocesador Memoria principal


R/#W
CB[..] $10 $0000
1 $FF $0001

AB[15:0] $1202
$01 $1200
$A0 $1201
$BC $1202
$15 $1203
$32 $1204
$BC
DB[7:0]
$45 $FFFE
$66 $FFFF
Memorias: Mapas de memoria: Conexión lectura (2)
• Si el tamaño 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 líneas que regulan qué parte del DB se usa para accesos a bytes.
Se controlan por el bit menos significativo de la dirección lógica y por el tamaño
del operando de la instrucción que realiza el acceso a memoria. Para la lectura de
un byte situado en una dirección impar, se activa BE1.
LECTURA DE BYTE EN DIRECCIÓN IMPAR
Dirección lógica (16bits)
Dirección física (15bits)

BE0=1 BE1=1
00...00 0111
$0000 Byte 0 Byte 1 Word 0
00...0011 $0001 Byte 2 Byte 3 Word 1
AB[15:1] $0002 Byte 4 Byte 5 Word 2
15 $0003 Byte 6 Byte 7 Word 3
BE0 0
CB[..]
BE1 1
R/#W
$7FFE Byte 65532 Byte 65533 Word 32766
DB[15:0] DB[7:0] $7FFF Byte 65534 Byte 65535 Word 32767
DB[15:8]
Microprocesador Memoria principal
Memorias: Mapas de memoria: Conexión lectura (3)
• En la lectura de un dato de tamaño byte que se encuentra en una dirección par se
activa BE0.

LECTURA DE BYTE EN DIRECCIÓN PAR


Dirección lógica (16bits)
Dirección física (15bits)

BE0=1 BE1=1
00...00 0110
$0000 Byte 0 Byte 1 Word 0
00...0011 $0001 Byte 2 Byte 3 Word 1
AB[15:1] $0002 Byte 4 Byte 5 Word 2
15 $0003 Byte 6 Byte 7 Word 3
BE0 1
CB[..]
BE1 0
R/#W
$7FFE Byte 65532 Byte 65533 Word 32766
DB[15:0] DB[7:0] $7FFF Byte 65534 Byte 65535 Word 32767
DB[15:8]
Microprocesador Memoria principal
Memorias: Mapas de memoria: Conexión lectura (4)
• En la lectura de un dato de tamaño word, se activan las líneas BE0 y BE1.
• En este caso se requiere que la dirección lógica sea siempre par.

LECTURA DE PALABRA (siempre direcciones pares)


Dirección lógica (16bits)
Dirección física (15bits)

BE0=1 BE1=1
00...00 0110
$0000 Byte 0 Byte 1 Word 0
00...0011 $0001 Byte 2 Byte 3 Word 1
AB[15:1] $0002 Byte 4 Byte 5 Word 2
15 $0003 Byte 6 Byte 7 Word 3
BE0 1
CB[..]
BE1 1
R/#W
$7FFE Byte 65532 Byte 65533 Word 32766
DB[15:0] DB[7:0] $7FFF Byte 65534 Byte 65535 Word 32767
DB[15:8]
Microprocesador Memoria principal
Memorias: Mapas de memoria: Conexión escritura
• Para ESCRIBIR, el microprocesador desactiva la señal R/#W que posee el BUS
de CONTROL.
• Si el tamaño del bus de datos es de 8 bits, sólo se podrá escribir un byte por
cada acceso a memoria.

Microprocesador Memoria principal


R/#W
CB[..] $10 $0000
0 $FF $0001

AB[15:0] $1202
$01 $1200
$A0 $1201
$BC $1202
$15 $1203
$32 $1204
$BC
DB[7:0]
$45 $FFFE
$66 $FFFF
Memorias: Mapas de memoria: Conexión escritura (2)
• Si el tamaño del bus de datos es de 16 bits, se podrá escribir un byte o un word por
cada acceso a memoria.

Dirección lógica (16bits) Dirección física (15bits)

BE0=1 BE1=1
00...00 0101
$0000 Byte 0 Byte 1 Word 0
00...0010 $0001 Byte 2 Byte 3 Word 1
[15:1] $0002 Byte 4 Byte 5 Word 2
15 $0003 Byte 6 Byte 7 Word 3
BE0 0
CB[..]
BE1 1
R/#W
$7FFE Byte 65532 Byte 65533 Word 32766
$AB DB[15:0] DB[7:0] $7FFF Byte 65534 Byte 65535 Word 32767
DB[15:8]
Microprocesador Memoria principal
Memorias: Mapas de memoria (1)
• El espacio de direccionamiento lógico identifica la CHIP1 RAM DL1
máxima capacidad de memoria con la que puede trabajar DL2
un microprocesador (CM).
• La capacidad física (CF) o real de la memoria viene CHIP2 RAM DL3
dada por la suma de las capacidades de todos los chips CAPACIDAD FÍSICA
de memoria que la forman. (CF<CM).
CHIP3 ROM DL4
• Cada chip de memoria tiene asignado un rango de
direcciones lógicas. Dicho rango es igual a la capacidad
del chip de memoria expresada en bytes. Cualquier CHIP4 RAM
dirección lógica (DL) que esté incluida en dicho rango
provocará el acceso a un chip del conjunto, mientras que
los restantes chips están inactivos. Ejemplos:
ESPACIO DL5
-Direcciones Lógicas DL1 y DL2 acceden al chip1 de RAM, la DL3 y
DL6 a los chips 2 y 3 de RAM respectivamente. La dirección DL5 no DE MEMORIA
accede a ningún chip de memoria y la DL4 a un chip de ROM. LIBRE

• Los mapas de memorias son representaciones gráficas


que representan los rangos de direcciones lógicas que
CHIP5 RAM DL6
tienen asignados cada uno de los chips que constituyen
la memoria física.
CHIP6 ROM

ESPACIO DE DIRECCIONAMIENTO
Memorias: Mapas de memoria (2)
• Los microprocesadores necesitan de un sistema de decodificación que
permita habilitar las memorias según la dirección física que aquel sitúe
en el bus de direcciones.

CS1 $0000

CHIP1 ROM
$0FFF
AB[11:0]
$02A ROM $1000
4Kx8
Dirección lógica 12 $102A CHIP2 RAM

SISTEMA
DE $2FFF 64K
$102A DECODIFICACIÓN

$1 CS2
ESPACIO

AB[15:0] AB[15:12] DE MEMORIA


LIBRE
AB[12:0]
RAM

uP $102A 13
8Kx8

DB[7:0]
Memorias: Mapas de memoria (3)
$0000 $0000 $0000 $0000
• Los chips de memoria reciben los A13=0
$0FFF
A12=0
$1000
bits menos significativos del AB, en A14=0
$1FFF $1FFF A12=1
cambio, el sistema de decodificación $2000
$2000
$2FFF A12=0
A13=1
utiliza los más significativos, en A12=1
concreto, los bits del AB que no se A15=0
$3FFF $3FFF
$4000 $4000
llevan hasta los buses de dirección A13=0
A12=0

de los chips de memoria. A14=1


$5FFF
A12=1

$6000
• Para determinar el sistema de A13=1 A12=0

decodificación, se puede proceder $7FFF $7FFF $7FFF


A12=1
dividiendo el espacio de direcciona- $8000 $8000 $8000
miento en diferentes regiones según A13=0

las líneas MSB del AB. A14=0


$9FFF
$A000
• Para la ROM de 4K y RAM de 8K, A13=1

del ejemplo anterior se tiene: A15=1


$BFFF $BFFF
$C000 $C000
CS1 = A15’ A14’ A13’ A12’ A13=0

CS2 = A15’ A14’ A13’ A12 + A15’ A14’ A13 A12’ $DFFF
A14=1
$E000
A13=1

$FFFF $FFFF $FFFF


32K 16K 8K 4K ROM 4K RAM 8K
Memorias: Mapas de memoria (4)
• El sistema de decodificación estará formado por los subsistemas
combinacionales y puertas lógicas necesarias que permitan la activación
de los CSx de los chips de memoria. Además, para las ROMs, se deberá
prohibir el acceso a escritura de las mismas.
CS1 = A15’ A14’ A13’ A12’ (sólo si el acceso es de lectura, CS
ya que es una ROM)
CS2 = A15’ A14’ A13’ A12 + A15’ A14’ A13 A12’ AB[11:0]
ROM
4Kx8
R/#W

CS1 &
0

CB[..] AB[15:12] DEC 1


>1
2
R/#W
4:16 . CS2
.
15
uP RAM
8Kx8
AB[15:0]
AB[12:0]

DB[7:0]
Memorias: Mapas de memoria: Ejemplo 1 (1)
$0000 $0000
• Se dispone de un microprocesador
con 16 bits en su AB y 8 en su DB y A14=0
de 2 chips de 8Kx8 de RAM y uno de
R0M 16K
16Kx8 de ROM. Se desea que las
posiciones de memoria más bajas $3FFF
A15=0
estén ocupadas por ROM y las más $4000
altas por RAM. Diseñar el sistema de
decodificación. A14=1

- El espacio de direccionamiento se
subdivide, a partir de los bits MSB del AB, en
$7FFF $7FFF
regiones más pequeñas hasta que se
$8000 $8000
alcancen las capacidades de los chips de
A13=0
memoria. A14=0

-Se determinan las expresiones de los CSx


de los dispositivos en función de los bits del A13=1
AB que delimitan la región del espacio de $BFFF
A15=1
direccionamiento donde se sitúa el $C000 $C000
contenido del chip de memoria: A13=0
CSrom = A15’ A14’ RAM2 8K
$DFFF
A14=1
CSram1 = A15 A14 A13 ; CSram2 = A15 A14 A13’ $E000
A13=1
RAM1 8K
$FFFF $FFFF $FFFF
32K 16K 8K RAM 8K R0M 16K
Memorias: Mapas de memoria: Ejemplo 1 (2)

- Se implementa el sistema de decodificación


CS
usando los bits MSB del AB para activar los CSx
- El bus de direcciones de los chips se conectan a AB[13:0] ROM
los bits LSB del AB del microprocesador 16Kx8

- El bus de datos de los chips se conectan al del


microprocesador.

R/#W
CSram2

R/#W
CB[..] &
RAM 2
0
>1 8Kx8
CSrom
AB[15:13] DEC 1
. AB[12:0]
3:8 .
6
CSram1 R/#W
7
uP

AB[15:0] RAM1
8Kx8
AB[12:0]

DB[7:0]
Memorias: Mapas de memoria: Ejemplo 2 (1)
$00000 $00000 $00000
• Se dispone de un microprocesador R0M 128K
A17=0
A13=0
con 20 bits en su AB y 8 en su DB y A18=0
$1FFFF
de 2 chips de 64kx8 de RAM y uno de A19=0
$20000 $20000 A16=0
RAM1 64K
128kx8 de ROM. Se desea que las A17=1 $2FFFF
$30000
posiciones de memoria más bajas $3FFFF $3FFFF $3FFFF
RAM1 64K
RAM2 8K
A16=1
estén ocupadas por ROM y, a
continuación, se sitúa la memoria
RAM. Diseñar el sistema de A14=1
decodificación suponiendo que los CS
de los chips son activos en bajo.
- El espacio de direccionamiento es de 1M. $7FFFF $7FFFF
1M byte
$80000

-Las ecuaciones de los CS son: Espacio de


A18=0
CSrom = A19+A18+A17 direccionamiento
A19=1
CSram1 = A19+A18+A17’+A16
CSram2 = A19+A18+A17’+A16’

A18=1

$FFFFF
512K 256K 128K ROM 128K RAM 64K
Memorias: Mapas de memoria: Ejemplo 2 (2)

- Se implementa el sistema de decodificación


usando los bits MSB del AB para activar los CSx CS

- El bus de direcciones de los chips se conectan a ROM


los bits LSB del AB del microprocesador AB[16:0]
128Kx8

- El bus de datos de los chips se conectan al del


microprocesador.

R/#W
CSram1

R/#W
CB[..] >1
AB[15:0] RAM1
0
& 64Kx8
AB[19:16] DEC 1 CSrom
2

4:16 3
..
R/#W
15 CSram2
uP

AB[19:0] RAM2
AB[15:0] 64Kx8

DB[7:0]
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 más bajas estén ocupadas
por ROM y las más altas por RAM. Diseñar el sistema de decodificación.
- El espacio de direccionamiento tiene 64Kbytes pero organizado, físicamente, en 32Kwords.
- El microprocesador puede acceder a un byte individual o a dos bytes consecutivos simultáneamente. Esto
exige decodificación por dirección par o impar.
- El uP dispone de las líneas BE1 y BE0, que identifican si el acceso es a dirección par o impar para bytes o, a
ambas, para word.
- Desde un punto de vista lógico, los chips de memoria se deben agrupar por parejas. La pareja ocupa una
región, dentro del espacio de direccionamiento, igual al doble de la capacidad de cada uno (ACCESO ROM).

&

& CSrom1 CSrom2


ACCESO ROM (CS1)

ROM ROM

AB[15:1] DECODIFICACIÓN 8Kx8 8Kx8

AB[13:1] AB[13:1]

uP BE0
CB
BE1 DB[7:0] DB[15:8]

DB[15:0]
Memorias: Mapas de memoria: Ejemplo 3 (2)
• Se representa el espacio de $0000 $0000
direccionamiento
A14=0
• Los dos chips de ROM de 8K se CS1
consideran como uno de 16K que se sitúa ROM 16K
en la parte inferior del espacio de
direccionamiento. A15=0
$3FFF
$4000
• Los 4 chips de RAM de 4K se agrupan de
dos en dos para formar dos chips de 8K
que ocupan las direcciones lógicas más A14=1
altas.
• Cada una de las regiones ocupadas se 64K
$7FFF $7FFF
etiqueta con CSx (x=1,2,3).
$8000 $8000
• Se obtienen las expresiones lógicas de
dichas etiquetas: A14=0

CS1 = A15’ A14’


$BFFF
A15=1
CS2 = A15 A14 A13’ $C000 $C000
A13=0 CS2
CS3 = A15 A14 A13
$DFFF RAM 8K
A14=1
$E000
A13=1
CS3
RAM 8K
$FFFF $FFFF $FFFF
Memorias: Mapas de memoria: Ejemplo 3 (3)
BE0 R/#W BE1 R/#W
& &
CS3 CS3
• Las líneas MSB del AB se conectan al CS CS
DEC 3:8 para generar CS1, CS2 y CS3. AB[12:1] AB[12:1]
RAM RAM
• Atendiendo a BE0, BE1, y CSx, se 4Kx8 4Kx8
obtienen los CS de los chips de memoria
• El bus de datos de los chips que se DB[7:0] DB[15:8]
habilitan con BE0 se conecta a DB[7:0] y
los que se habilitan con BE1 al DB[15:8]. BE0 R/#W BE1 R/#W
& CS2 &
CS2
CS CS
AB[12:1] AB[12:1]
RAM RAM

4Kx8 4Kx8

CS1 DB[7:0] DB[15:8]


0
>1
1 R/#W R/#W
DEC BE0 BE1
AB[15:13] .
CS1
&
CS1
&
3:8
AB[15:1] 6
CS2 CS CS
7 AB[13:1] AB[13:1]
CS3 ROM ROM

R/#W 8Kx8 8Kx8


uP BE0
CB
BE1
DB[7:0] DB[15:8]
DB[15:0]

También podría gustarte