Sei sulla pagina 1di 36

Departamento de Electrnica

Electrnica Digital

Mapas de memoria
Bioingeniera
Facultad de Ingeniera - UNER

31/05/2013 Electrnica DigitalElectrnica Digital 1


Direccionamiento de las memorias

31/05/2013 Electrnica DigitalElectrnica Digital 2


Espacio de direcciones
Es la capacidad de direccionamiento de la CPU y est definido por el
tamao del bus de direcciones.

Bus de direcciones
(AB Address Bus)

Memoria
CPU

Bus de control

Bus de datos (DB Data Bus)

Ejemplo: AB de 16 lneas (A15,...,A0) H0000 a HFFFF


010 a 6553510 = 64K palabras

31/05/2013 Electrnica DigitalElectrnica Digital 3


16 Bus de direcciones

Memoria
CPU (64K) x 8

Bus de control
8

Bus de datos

31/05/2013 Electrnica DigitalElectrnica Digital 4


16 Bus de direcciones

Memoria Memoria
CPU (64K) x4 (64K) x4

Bus de control 4 4
8

Bus de datos

31/05/2013 Electrnica DigitalElectrnica Digital 5


16 Bus de direcciones
?
15 15
Memoria Memoria
CPU (32K) x8 (32K) x8

Bus de control 8
8 8

Bus de datos

31/05/2013 Electrnica DigitalElectrnica Digital 6


Bus de direcciones

A15

15

15 15
CS\ Memoria CS\ Memoria
CPU (32K) x8 (32K) x8

Bus de control 8
8 8

Bus de datos

31/05/2013 Electrnica DigitalElectrnica Digital 7


0 0000 0000 0000 0000 0000
.... ....

CI #1
MEM 32k

.... ....
32767 7FFF 0111 1111 1111 1111
32768 8000 1000 0000 0000 0000
.... ....

CI #2
Referencias MEM 32K
H03FF = 1K
H07FF = 2K
H0FFF= 4K .... ....
H1FFF = 8K 65535 FFFF 1111 1111 1111 1111
H3FFF = 16K
H7FFF= 32K
31/05/2013 Electrnica DigitalElectrnica Digital 8
16 Bus de direcciones

Memoria
CPU (64K)

Bus de control
8

Bus de datos Circuito decodificador


de seleccin de chip

16 Bus de direcciones

CC 14 CC 14 CC 13 CC 13 CC 12 CC 12 CC 12 CC 12

CI #1 CI #2 CI #3 CI #4 CI #5 CI #6 CI #7 CI #8
RWM RWM ROM ROM ROM ROM ROM ROM
16K 16K 8K 8K 4K 4K 4K 4K

lneas de direccin de
seleccin de chip palabra fsica
31/05/2013 Electrnica DigitalElectrnica Digital 9
0 0000
CI #1 Mapa de memoria
....
RWM 16K
16383 3FFF Es la distribucin de cada chip de
16384 4000 memoria dentro del espacio de
.....
CI #2 direcciones y est determinado por el
RWM 16K rango de direcciones con el cual se
32767 7FFF
32768 8000
selecciona cada chip mediante el CC
CI #3
....
ROM 8K
40959 9FFF
40960 A000
Direccin CI #4
....
Direccin del Chip 4
ROM 8K
HA018 (13 bits)
mapa de ROM Direccin
49151 BFFF memoria 8K interna del CI
41152 C000
CI #5 HA000 H0000 0
.....
ROM 4K .....
53247 CFFF
HA018 XX H0018 24
53248 D000
CI #6 .....
.....
ROM 4K
57343 DFFF HBFFF H1FFF 8191
57344 E000
Referencias CI #7
H03FF = 1K .... 1010 0000 0001 1000
ROM 4K
H07FF = 2K 61439 EFFF
H0FFF= 4K 61440 F000
H1FFF = 8K CI #8 0000 0000 0001 1000
....
H3FFF = 16K
31/05/2013 ROMDigitalElectrnica
Electrnica 4K Digital 10
65535 FFFF
0 0000 0000 0000 0000 0000
CI #1
.... ....
RWM 16K
16383 3FFF 0011 1111 1111 1111
16384 4000 0100 0000 0000 0000
CI #2
..... .....
RWM 16K
32767 7FFF 0111 1111 1111 1111
32768 8000 1000 0000 0000 0000
CI #3
.... ....
ROM 8K
40959 9FFF 1001 1111 1111 1111
40960 A000 1010 0000 0000 0000
CI #4
.... ROM 8K ....
49151 BFFF (13 bits) 1011 1111 1111 1111
41152 C000 1100 0000 0000 0000
CI #5
..... .....
ROM 4K
53247 CFFF 1100 1111 1111 1111
53248 D000 1101 0000 0000 0000
CI #6
..... .....
ROM 4K
57343 DFFF 1101 1111 1111 1111
57344 E000 1110 0000 0000 0000
CI #7
.... ....
ROM 4K
61439 EFFF 1110 1111 1111 1111
61440 F000 1111 0000 0000 0000
CI #8
.... ....
31/05/2013 ROMDigitalElectrnica
Electrnica 4K Digital 11
65535 FFFF 1111 1111 1111 1111
Seleccin de cada CI dentro del mapa
16 Bus de direcciones

CC 14 CC 14 CC 13 CC 13 CC 12 CC 12 CC 12 CC 12

Chip 1 Chip 2 Chip 3 Chip 4 Chip 5 Chip 6 Chip 7 Chip 8


RWM RWM ROM ROM ROM ROM ROM ROM
16K 16K 8K 8K 4K 4K 4K 4K

La parte alta del AD se usa para seleccionar cada memoria por medio de un circuito
decodificador (combinacional); la parte baja se usa para direccionar.

A15 A14 A13 A12 Chip Bits para


direccionar CS1/ = A15 + A14
0 0 - - 1 (16K) 14 bits CS2/ = A15 + A14/
0 1 - - 2 (16K) A13A0
CS3/ = A15/ + A14 + A13
0 - 3 (8K) 13 bits
1 0 CS4/ = A15/ + A14 + A13/
1 - 4 (8K) A12A0
CS5/ = A15/ + A14/ + A13 + A12
0 0 5 (4K)
CS6/ = A15/ + A14/ + A13 + A12/
0 1 6 (4K) 12 bits
1 1 CS7/ = A15/ + A14/ + A13/ + A12
1 0 7 (4K) A11A0
CS / = A15/ + A14/ + A13/ + A12 /
8
31/05/2013 1 1 8 (4K) Electrnica DigitalElectrnica Digital 12
Direcciones Bits de seleccin del AD Salidas del CC (decodificador)
mapa Chip
A15 A14 A13 A12 CS1 CS2 CS3 CS4 CS5 CS6 CS7 CS8
0000 1 (16K)
3FFF
0 0 - - 0 1 1 1 1 1 1 1 14 bits
4000
7FFF
0 1 - - 1 0 1 1 1 1 1 1 2 (16K)

8000 3 (8K)
9FFF
0 - 1 1 0 1 1 1 1 1 13 bits
1 0
A000
BFFF
1 - 1 1 1 0 1 1 1 1 4 (8K)

C000 5 (4K)
CFFF
0 0 1 1 1 1 0 1 1 1 12 bits
D000
DFFF
0 1 1 1 1 1 1 0 1 1 6 (4K)
1 1
E000
EFFF
1 0 1 1 1 1 1 1 0 1 7 (4K)

F000
FFFF
1 1 1 1 1 1 1 1 1 0 8 (4K)

31/05/2013 Electrnica DigitalElectrnica Digital 13


Bus de direcciones A0...A15

CS/ RWM 1
16K x 8

CS/ RWM 2
16K x 8

CS/
ROM 1
8K x 8

CS/
ROM 2
8K x 8

CS/ ROM 3
4K x 8

CS/
ROM 4
4K x 8

CS/
ROM 5
4K x 8

CS/
ROM 6
4K x 8
31/05/2013 Electrnica DigitalElectrnica Digital 14
Mtodos de seleccin de las memorias

Seleccin decodificada
Sistemas grandes
Se basa en decodificar las lneas de direccin para la seleccin
Reduce la cantidad de lneas de direccin del banco final
Permite el aprovechamiento integral del bus de direcciones

Seleccin lineal
Sistemas pequeos, cuando sobran lneas del bus de direcciones
Se necesitan tantas lneas de seleccin como chips de memoria
contenga el banco

31/05/2013 Electrnica DigitalElectrnica Digital 15


Diseo
Ejemplo de seleccin lineal
Se requiere un banco de memoria de 5 ROMs de 1 K x 8 y 1 RWM de 512 x 8.
Para direccionar la RWM se requieren 9 bits
Para direccionar las ROM se requieren 10 bits
Para seleccionar (mtodo lineal) se requieren 6 bits (1 por cada CI)
Se requiere un total de 16 lneas de direccin (AB)

D0...D7

D0...D7

D0...D7
D0...D7

D0...D7

D0...D7

A0...A9
A0...A9

A0...A9

A0...A9
A0...A9
A0...A8

31/05/2013 Electrnica DigitalElectrnica Digital 16


Diseo
Mapa de memoria
Bits de seleccin Bits de direccin
A15 A14 A13 A12 A11 A10 A9 A8 A7 . A0 Rango Bytes CI
0 0 0 0 0 0 0 0 0 0 0000 No
1K
0 0 0 0 0 0 1 1 1 1 03FF usados
0 0 0 0 0 1 0 0 0 0 0400
1K ROM #5
0 0 0 0 0 1 1 1 1 1 07FF
0 0 0 0 1 0 0 0 0 0 0800
1K ROM #4
0 0 0 0 1 0 1 1 1 1 0BFF
0 0 0 0 1 1 0 0 0 0 0C00 No
1K
0 0 0 0 1 1 1 1 1 1 0FFF usados
0 0 0 1 0 0 0 0 0 0 1000
1K ROM #3
0 0 0 1 0 0 1 1 1 1 13FF
0 0 0 1 0 1 0 0 0 0 1400 No
3K
0 0 0 1 1 1 1 1 1 1 1FFF usados
0 0 1 0 0 0 0 0 0 0 2000
1K ROM #2
0 0 1 0 0 0 1 1 1 1 23FF

31/05/2013 Electrnica DigitalElectrnica Digital 17


Diseo
Mapa de memoria (cont.)

Bits de seleccin Bits de direccin


A15 A14 A13 A12 A11 A10 A9 A8 A7 . A0 Rango Bytes CI
0 0 1 0 0 1 0 0 0 0 2400 No
7K
0 0 1 1 1 1 1 1 1 1 3FFF usados
0 1 0 0 0 0 0 0 0 0 4000
1K ROM#1
0 1 0 0 0 0 1 1 1 1 43FF
0 1 0 0 0 1 0 0 0 . 0 4400 No
15K
0 1 1 1 1 1 1 1 1 . 1 7FFF usados
1 0 0 0 0 0 0 0 0 . 0 8000
512 RAM
1 0 0 0 0 0 0 1 1 . 1 81FF
1 0 0 0 0 0 1 0 0 0 8200 RAM
512
1 0 0 0 0 0 1 1 1 1 83FF (espejo)
1 0 0 0 0 1 0 0 0 0 8400 No
31K
1 1 1 1 1 1 1 1 1 1 FFFF usados

31/05/2013 Electrnica DigitalElectrnica Digital 18


Diseo

Seleccin decodificada

Caso similar al anterior con


direccionamiento de 8 bloques
de 1K x 8 usando un decoder

Para direccionar las RAM y ROM se requieren 10 bits


Para seleccionar (decoder) se requieren 3 bits (8 CIs)
Se requiere un total de 13 lneas de direccin (AB)
Se puede agregar un bit extra (14) para habilitar el decoder
31/05/2013 Electrnica DigitalElectrnica Digital 19
Mapa de memoria

DECODER
(activo por L)
EN A2 A1 A0
Bits de Direcciones fsicas
seleccin (10 bits)

A13 A12 A11 A10 A9 A8 A7 . A0 Decoder Direcciones CI


0 0 0 - - - - D0 0000 - 03FF ROM0
0 0 1 - - - - D1 0400 07FF ROM1
0 1 0 - - - - D2 0800 0BFF ROM2
0 1 1 - - - - D3 0CFF 0FFF ROM3
0
1 0 0 - - - - D4 1000 13FF ROM4
1 0 1 - - - - D5 1400 17FF ROM5
1 1 0 - - - - D6 1800 1BFF ROM6
1 1 1 - - - - D7 1C00 1FFF ROM7

31/05/2013 Electrnica DigitalElectrnica Digital 20


Aumento de la capacidad: bancos de memoria

Expansin de la longitud de la palabra dato


Ejemplo: banco de 1K x 8 con memorias de 1K x 4

Expansin de la capacidad de almacenamiento


Ejemplo: banco de 2K x 4 con memorias de 1K x 4

Expansin de la capacidad y la longitud de la palabra


Ejemplo: banco de 2K x 8 con memorias de 1K x 4

31/05/2013 Electrnica DigitalElectrnica Digital 21


Expansin del tamao de la palabra dato

Bus de direcciones A0 An-1

A0 An-1

Chip de
R/W Memoria
D0 Dy-1

CS

Bus de datos D0 Dm-1

m: nmero de bits de longitud del nuevo dato


y: nmero de bits de longitud del dato de cada memoria

31/05/2013
m / y = X memorias necesarias
Electrnica DigitalElectrnica Digital 22
Arquitectura genrica

Las lneas de direcciones entran en paralelo a todas las memorias


Las lneas de control CS y R/W estn conectadas en paralelo a cada memoria

Bus de direcciones A0 An-1

A0 An-1 A0 An-1 A0 An-1


MEM #0 MEM #1 MEM #X-1
R/W R/W R/W

CS
D0 Dy-1
D0 Dy-1 D0 Dy-1

Bus de datos D0 Dm-1

31/05/2013 Electrnica DigitalElectrnica Digital 23


Nota: las lneas de control pueden variar segn cada tipo de memoria
Diseo
Ejemplo: banco de 1K x 8 con memorias de 1K x 4
#bits del AB de cada memoria? 10
#bits del DB de cada memoria? y=4
#bits del DB del banco? m=8
# de memorias de 1K x 4? x = m/y = 8/4 = 2

D4...D7
D0...D3
A0...A9

A0...A9

31/05/2013 Electrnica DigitalElectrnica Digital 25


Expansin de la capacidad de almacenamiento

N es la capacidad inicial de la memoria


N 2n (n es el nmero de bits del bus de direcciones)

z M es la capacidad final de la memoria (banco)


M 2 (z el nmero de bits del nuevo bus de direcciones)

M 2z
n 2 z n X Nmero de memorias necesarias
N 2

31/05/2013 Electrnica DigitalElectrnica Digital 26


Arquitectura genrica

Las nuevas lneas de direccin permiten la operacin de cada una


de las memorias actuando sobre el CS/

A0...An-1

A0...An-1

R/W
OE

A0...An-1
R/W

R/W
OE

OE
CS

CS

CS
D0...Dm-1

D0...Dm-1

D0...Dm-1
31/05/2013 Electrnica DigitalElectrnica
Nota: lasDigital 27
lneas de control dependen del tipo de memoria
Diseo
Ejemplo
Banco RAM de 4K x 4 con memorias de 1K x 4 (seleccin lineal)

Seleccin lineal se necesitan tantas lneas de direccin


adicionales como memorias contenga el banco

Capacidad inicial N = 1K = 1024


AB: n = 10 bits (A0A9)

Capacidad final M = 4K = 4096

Cantidad de memorias
X = M / N = 4 memorias

Nuevas lneas de direccin: 4 (A10, A11, A12, A13) (seleccin lineal)


AB = 14 bits (A0A13)

31/05/2013 Electrnica DigitalElectrnica Digital 28


Bus de direcciones A0...A13

31/05/2013
A0...A9
R/W R/W D0...D3
OE OE
CS

A0...A9
D0...D3

CS

A0...A9
D0...D3

Electrnica DigitalElectrnica Digital


CS

A0...A9
D0...D3

CS
29
Circuito del ejemplo
Mapa de memoria

Direccionamiento Direccionamiento fsico


(Seleccin de chip) (de cada chip)
Dir. hexa Chip
A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0

0400 a 0 0 0 1 0 0 0 0 0 0 0 0 0 0
RAM0
07FF 0 0 0 1 1 1 1 1 1 1 1 1 1 1
0800 a 0 0 1 0 0 0 0 0 0 0 0 0 0 0
RAM1
0BFF 0 0 1 0 1 1 1 1 1 1 1 1 1 1
1000 a 0 1 0 0 0 0 0 0 0 0 0 0 0 0
RAM2
13FF 0 1 0 0 1 1 1 1 1 1 1 1 1 1
2000 a 1 0 0 0 0 0 0 0 0 0 0 0 0 0
RAM3
23FF 1 0 0 0 1 1 1 1 1 1 1 1 1 1

Existen partes no usadas


del espacio de direcciones:
0000 a 03FF
0C00 a 0FFF
1400 a 1FFF
31/05/2013 Electrnica2400 a 3FFF Digital
DigitalElectrnica 30
Diseo
Ejemplo:
Banco RAM de 4K x 4 con memorias de 1K x 4 (seleccin decodificada)
Nuevas lneas de direccin
m - n = 2 (A10, A11)

Bus de datos D0...D3

D0...D3

D0...D3

D0...D3
D0...D3

Memoria 0 Memoria 1 Memoria 2 Memoria 3


1K x 4 1K x 4 1K x 4 1K x 4
A0...A9

A0...A9

A0...A9

A0...A9
R/W

CS

CS

CS
OE
CS

Bus de direcciones A0...A11


Bus de direcciones A0...A11

D0 D1 D2 D3

Decoder 2 a 4
E0 E1
A10

A11
R/W
OE

31/05/2013 Electrnica DigitalElectrnica Digital 33


Diseo
Mapa de memoria

Direc. Direc. A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0


Hexa Decimal
Chip
Seleccin Direcciones para cada chip
000 a 0a 0 0 0 0 0 0 0 0 0 0 0 0
RAM0
3FF 1023 0 0 1 1 1 1 1 1 1 1 1 1
400 a 1024 a 0 1 0 0 0 0 0 0 0 0 0 0
7FF 2047 RAM1
0 1 1 1 1 1 1 1 1 1 1 1
800 a 2048 a 1 0 0 0 0 0 0 0 0 0 0 0
BFF 3071 RAM2
1 0 1 1 1 1 1 1 1 1 1 1
C00 a 3072 a 1 1 0 0 0 0 0 0 0 0 0 0
FFF 4095 RAM3
1 1 1 1 1 1 1 1 1 1 1 1

A11 A10 decoder Dir. Hex Dir. Decim. Memoria


0 0 D0 000 a 3FF 0 a 1023 RAM 0
0 1 D1 400 a 7FF 1024 a 2047 RAM 1
1 0 D2 800 a BFF 2048 a 3071 RAM 2 El mapa se aprovecha por
1 1 D3 C00 a FFF 3072 a 4095 RAM 3 completo en forma lineal

31/05/2013 Electrnica DigitalElectrnica Digital 34


Expansin de longitud de dato y de la capacidad total

Ejemplo: banco RAM de 4K x 8 con memorias de 1K x 4

Capacidad inicial N = 1K = 1024


n = 10 bits (A0A9)

Capacidad final M = 4K = 4096


m = 12 bits (A0A11)

Cantidad de memorias
X = M / N = 4 memorias 8 memorias

Nuevas lneas de direccin (mnimo): 12 - 10 = 2 (A10, A11)

31/05/2013 Electrnica DigitalElectrnica Digital 38


Bus de direcciones A0...A11
A0...A9

31/05/2013
D4...D7
/CS01

/CS00 D0...D3
R/W

OE

A0...A9
D4...D7
/CS11

/CS10
D0...D3

A0...A9
D4...D7
/CS21

Electrnica DigitalElectrnica Digital


/CS20
D0...D3

A0...A9
D4...D7
/CS31

/CS30
D0...D3
39
Circuito del ejemplo
Diseo
Mapa de memoria
Seleccin Direccionamiento
Direc. Direc.
Chip
Hexa Dec.
A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0

000 a 0a 0 0 0 0 0 0 0 0 0 0 0 0 RAM0L
3FF 1023 0 0 1 1 1 1 1 1 1 1 1 1 RAM0H

400 a 1024 a 0 1 0 0 0 0 0 0 0 0 0 0 RAM1L


7FF 2047 0 1 1 1 1 1 1 1 1 1 1 1 RAM1H

800 a 2048 a 1 0 0 0 0 0 0 0 0 0 0 0 RAM2L


BFF 3071 1 0 1 1 1 1 1 1 1 1 1 1 RAM2H

C00 a 3072 a 1 1 0 0 0 0 0 0 0 0 0 0 RAM3L


FFF 4095 1 1 1 1 1 1 1 1 1 1 1 1 RAM3H

Dir. Hex Dir. Decim. A11 A10 Memoria


000 a 3FF 0 a 1023 0 0 #0
400 a 7FF 1024 a 2047 0 1 #1
800 a BFF 2048 a 3071 1 0 #2
C00 a FFF 3072 a 4095 1 1 #3
31/05/2013 Electrnica DigitalElectrnica Digital 40
Espejos en el mapa
de memoria

Caso: Hallar el mapa de memoria del


circuito indicando las posiciones de
memoria ocupadas por cada CI RAM.

A15 A14 A13 Decoder Mem Posicin en el mapa Bytes


0 0 d0 - H0000 H1FFF 8K
0 1 d1 RAM1 H2000 H3FFF 8K
0
1 0 d2 RAM1 H4000 H5FFF 8K
1 1 d3 - H6000 H7FFF 8K
1 X X RAM2 H8000 - HFFFF 32K
31/05/2013 Electrnica DigitalElectrnica Digital 41
0 0000
Por ejemplo, a la primer posicin de memoria
.... No usado de RAM #2 se accede indistintamente con las
8191 1FFF
direcciones:
8192 2000
..... RAM #1
A15 ...A12 A11 ................ A0
16383 3FFF 8000 1000 0000 0000 0000
16384 4000 A000 1010 0000 0000 0000
RAM #1
....
(espejo) C000 1100 0000 0000 0000
24575 5FFF
E000 1110 0000 0000 0000
40960 6000
.... No usado
8000
49151 7FFF
... RAM #2
41152 8000
9FFF
A000
RAM #2
....
(espejo)
BFFF
C000
RAM #2 RAM #2
....
(espejo)
DFFF
E000
RAM #2

(espejo)
31/05/2013 FFFF
Electrnica DigitalElectrnica Digital 42
65535 FFFF