Sunteți pe pagina 1din 36

Departamento de Electrnica

Electrnica Digital

Mapas de memoria
Bioingeniera
Facultad de Ingeniera - UNER

31/05/2013

Electrnica DigitalElectrnica Digital

Direccionamiento de las memorias

31/05/2013

Electrnica DigitalElectrnica Digital

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)
CPU

Memoria

Bus de control

Bus de datos (DB Data Bus)

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

31/05/2013

H0000 a HFFFF
010 a 6553510 = 64K palabras

Electrnica DigitalElectrnica Digital

16

CPU

Bus de direcciones

Memoria
(64K) x 8

Bus de control
8
Bus de datos

31/05/2013

Electrnica DigitalElectrnica Digital

16

CPU

Bus de direcciones

Memoria
(64K) x4

Bus de control
8

Memoria
(64K) x4

Bus de datos

31/05/2013

Electrnica DigitalElectrnica Digital

?
16

CPU

Bus de direcciones
15

15

Memoria
(32K) x8

Memoria
(32K) x8

Bus de control
8

Bus de datos

31/05/2013

Electrnica DigitalElectrnica Digital

Bus de direcciones
A15
15
15

CPU

15

CS\ Memoria
(32K) x8

Bus de control
8

CS\ Memoria
(32K) x8

Bus de datos

31/05/2013

Electrnica DigitalElectrnica Digital

0000

0000 0000 0000 0000

....

....

CI #1
MEM 32k

Referencias
H03FF = 1K
H07FF = 2K
H0FFF= 4K
H1FFF = 8K
H3FFF = 16K
H7FFF=
32K
31/05/2013

....

....

32767

7FFF

0111 1111 1111 1111

32768

8000

1000 0000 0000 0000

....

....

CI #2
MEM 32K

65535

....

....

FFFF

1111 1111 1111 1111

Electrnica DigitalElectrnica Digital

Bus de direcciones

16

Memoria
(64K)

CPU

Bus de control
8
Circuito decodificador
de seleccin de chip

Bus de datos

Bus de direcciones

16
CC

14

CC

14 CC

CI #1

CI #2

CI #3

RWM
16K

RWM
16K

ROM
8K

lneas de
seleccin de chip
31/05/2013

13 CC

13

CC

CI #4
ROM
8K

12 CC

12

CC

12 CC

12

CI #5

CI #6

CI #7

CI #8

ROM
4K

ROM
4K

ROM
4K

ROM
4K

direccin de
palabra fsica
Electrnica DigitalElectrnica Digital

0000
....

16383

3FFF

16384

4000
.....

32767

7FFF

32768

8000
....

Direccin
HA018

40959

9FFF

40960

A000
....

49151

BFFF

41152

C000
.....

53247

CFFF

53248

D000
.....

Referencias
H03FF = 1K
H07FF = 2K
H0FFF= 4K
H1FFF = 8K
H3FFF
= 16K
31/05/2013

57343

DFFF

57344

E000
....

61439

EFFF

61440

F000
....

65535

FFFF

CI #1
RWM 16K

CI #2
RWM 16K

Mapa de memoria
Es la distribucin de cada chip de
memoria dentro del espacio de
direcciones y est determinado por el
rango de direcciones con el cual se
selecciona cada chip mediante el CC

CI #3
ROM 8K
CI #4
ROM 8K
(13 bits)

Direccin del
mapa de
memoria

Chip 4
ROM
8K

HA000

CI #5
ROM 4K

H0000

H0018

24

H1FFF

8191

.....
HA018

CI #6
ROM 4K

CI #7
ROM 4K

Direccin
interna del CI

XX

.....
HBFFF

1010 0000 0001 1000

CI #8
ROMDigitalElectrnica
4K
Electrnica
Digital

0000 0000 0001 1000


10

0000
....

....

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

....
40959

9FFF

40960

A000
....

49151

BFFF

41152

C000
.....

CI #3
ROM 8K

....
1001 1111 1111 1111

CI #4
ROM 8K
(13 bits)

1010 0000 0000 0000


....
1011 1111 1111 1111
1100 0000 0000 0000

CI #5
ROM 4K

.....

53247

CFFF

1100 1111 1111 1111

53248

D000

1101 0000 0000 0000

.....
57343

DFFF

57344

E000
....

31/05/2013

0000 0000 0000 0000

CI #1
RWM 16K

CI #6
ROM 4K

.....
1101 1111 1111 1111
1110 0000 0000 0000

CI #7
ROM 4K

....

61439

EFFF

1110 1111 1111 1111

61440

F000

1111 0000 0000 0000

65535

CI #8
....
ROMDigitalElectrnica
4K
Electrnica
Digital

FFFF

....
1111 1111 1111 1111

11

Seleccin de cada CI dentro del mapa


Bus de direcciones

16
CC

14

Chip 1
RWM
16K

CC

14

Chip 2
RWM
16K

CC
Chip 3
ROM
8K

13

CC

13

Chip 4
ROM
8K

CC

12 CC

Chip 5
ROM
4K

12

CC

Chip 6
ROM
4K

12

Chip 7
ROM
4K

CC

12

Chip 8
ROM
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

1 (16K)

2 (16K)

3 (8K)

4 (8K)

5 (4K)

6 (4K)

7 (4K)

8
8 (4K) Electrnica DigitalElectrnica Digital

1
31/05/2013

14 bits
A13A0

CS2/ = A15 + A14/

13 bits
A12A0

CS4/ = A15/ + A14 + A13/

12 bits
A11A0

CS3/ = A15/ + A14 + A13


CS5/ = A15/ + A14/ + A13 + A12
CS6/ = A15/ + A14/ + A13 + A12/
CS7/ = A15/ + A14/ + A13/ + A12
CS / = A15/ + A14/ + A13/ + A12 /

12

Direcciones
mapa

Salidas del CC (decodificador)

Bits de seleccin del AD

Chip

A15

A14

A13

A12

CS1

CS2

CS3

CS4

CS5

CS6

CS7

CS8

0000
3FFF

1 (16K)
14 bits

4000
7FFF

2 (16K)

3 (8K)
13 bits

4 (8K)

C000
CFFF

5 (4K)
12 bits

D000
DFFF

6 (4K)

7 (4K)

8 (4K)

8000
9FFF
A000
BFFF

E000
EFFF
F000
FFFF

31/05/2013

Electrnica DigitalElectrnica Digital

13

Bus de direcciones A0...A15

CS/

CS/

CS/

CS/

CS/

CS/

CS/

CS/

31/05/2013

RWM 1
16K x 8

RWM 2
16K x 8

ROM 1
8K x 8

ROM 2
8K x 8

ROM 3
4K x 8

ROM 4
4K x 8

ROM 5
4K x 8

ROM 6
4K x 8

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.

31/05/2013

D0...D7

D0...D7

D0...D7

D0...D7

A0...A9

A0...A9

A0...A9

A0...A9

D0...D7
A0...A9

A0...A8

D0...D7

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)

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

0000
03FF

1K

No
usados

0400
07FF

1K

ROM #5

0800
0BFF

1K

ROM #4

0C00
0FFF

1K

No
usados

1000
13FF

1K

ROM #3

1400
1FFF

3K

No
usados

2000
23FF

1K

ROM #2

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

2400
3FFF

7K

No
usados

4000
43FF

1K

ROM#1

4400
7FFF

15K

No
usados

8000
81FF

512

RAM

8200
83FF

512

RAM
(espejo)

8400
FFFF

31K

No
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
seleccin

Direcciones fsicas
(10 bits)

A13 A12 A11 A10 A9

31/05/2013

A8

A7

A0

Decoder

Direcciones

CI

D0

0000 - 03FF

ROM0

D1

0400 07FF

ROM1

D2

0800 0BFF

ROM2

D3

0CFF 0FFF

ROM3

D4

1000 13FF

ROM4

D5

1400 17FF

ROM5

D6

1800 1BFF

ROM6

D7

1C00 1FFF

ROM7

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

R/W

Chip de
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

R/W

MEM #X-1

MEM #1
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
Nota: las lneas de control pueden variar segn cada tipo de memoria

23

Diseo

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

#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

A0...A9

A0...A9
31/05/2013

D4...D7

10

D0...D3

#bits del AB de cada memoria?

Electrnica DigitalElectrnica Digital

25

Expansin de la capacidad de almacenamiento

N 2n

M 2

N es la capacidad inicial de la memoria


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

M es la capacidad final de la memoria (banco)


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

M 2z
n 2 z n X
N 2

31/05/2013

Nmero de memorias necesarias

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

R/W

CS

OE

A0...An-1

R/W

CS

OE

A0...An-1

R/W

CS

OE

D0...Dm-1

D0...Dm-1

D0...Dm-1

31/05/2013

Electrnica DigitalElectrnica
27
Nota: lasDigital
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

31/05/2013
Electrnica DigitalElectrnica Digital

Circuito del ejemplo


29

R/W
OE

Bus de direcciones A0...A13

CS

A0...A9

CS

A0...A9

CS

A0...A9

R/W
OE
CS

A0...A9

D0...D3

D0...D3

D0...D3

D0...D3

Mapa de memoria
Direccionamiento fsico
(de cada chip)

Direccionamiento
(Seleccin de chip)

Dir. hexa

Chip

A13

A12

A11

A10

A9

A8

A7

A6

A5

A4

A3

A2

A1

A0

0400 a
07FF

0800 a
0BFF

1000 a
13FF

2000 a
23FF

31/05/2013

Existen partes no usadas


del espacio de direcciones:
0000 a 03FF
0C00 a 0FFF
1400 a 1FFF
a 3FFF Digital
Electrnica2400
DigitalElectrnica

RAM0
RAM1
RAM2
RAM3

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)

CS

D0...D3
A0...A9

CS

CS

D0...D3

Memoria 3
1K x 4

A0...A9

D0...D3

Memoria 2
1K x 4

A0...A9

Memoria 1
1K x 4

R/W
OE
CS

Memoria 0
1K x 4
A0...A9

D0...D3

Bus de datos D0...D3

D0 D1 D2 D3

Decoder 2 a 4
E0

E1

A10
A11

R/W
OE

31/05/2013

Bus de direcciones A0...A11

Bus de direcciones A0...A11

Electrnica DigitalElectrnica Digital

33

Diseo

Mapa de memoria
A11

A10

A9

A8

A7

A6

A5

A4

A2

A1

A0

Direc.
Hexa

Direc.
Decimal

000 a
3FF

0a
1023

400 a
7FF

1024 a
2047

800 a
BFF

2048 a
3071

C00 a
FFF

3072 a
4095

Seleccin

Chip

Direcciones para cada chip

A11

A10

decoder

Dir. Hex

Dir. Decim.

Memoria

D0

000 a 3FF

0 a 1023

RAM 0

D1

400 a 7FF

1024 a 2047

RAM 1

D2

800 a BFF

2048 a 3071

RAM 2

D3

C00 a FFF

3072 a 4095

RAM 3

31/05/2013

A3

Electrnica DigitalElectrnica Digital

RAM0
RAM1
RAM2
RAM3

El mapa se aprovecha por


completo en forma lineal
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

31/05/2013
Electrnica DigitalElectrnica Digital

OE

R/W

Bus de direcciones A0...A11

Circuito del ejemplo


39

/CS30

/CS31

A0...A9

/CS20

/CS21

A0...A9

/CS10

/CS11

A0...A9

/CS00

/CS01

A0...A9

D0...D3

D4...D7

D0...D3

D4...D7

D0...D3

D4...D7

D0...D3

D4...D7

Diseo

Mapa de memoria
Direc.
Hexa

Direc.
Dec.

000 a
3FF

Direccionamiento

Seleccin

Chip
A11

A10

A9

A8

A7

A6

A5

A4

A3

A2

A1

A0

0a
1023

400 a
7FF

1024 a
2047

800 a
BFF

2048 a
3071

C00 a
FFF

3072 a
4095

31/05/2013

Dir. Hex

Dir. Decim.

A11

A10

Memoria

000 a 3FF

0 a 1023

#0

400 a 7FF

1024 a 2047

#1

800 a BFF

2048 a 3071

#2

C00 a FFF

3072 a 4095

#3

Electrnica DigitalElectrnica Digital

RAM0L
RAM0H
RAM1L
RAM1H
RAM2L
RAM2H
RAM3L
RAM3H

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

d0

H0000 H1FFF

8K

d1

RAM1

H2000 H3FFF

8K

d2

RAM1

H4000 H5FFF

8K

d3

H6000 H7FFF

8K

RAM2

H8000 - HFFFF

32K

31/05/2013

Electrnica DigitalElectrnica Digital

41

0000
....

8191

1FFF

8192

2000
.....

16383

3FFF

16384

4000
....

24575

5FFF

40960

6000
....

49151

7FFF

41152

8000

No usado

Por ejemplo, a la primer posicin de memoria


de RAM #2 se accede indistintamente con las
direcciones:
A15 ...A12

A11 ................ A0

8000

1000

0000 0000 0000

A000

1010

0000 0000 0000

C000

1100

0000 0000 0000

E000

1110

0000 0000 0000

RAM #1

RAM #1
(espejo)

No usado

8000
...

RAM #2

9FFF
A000
....

RAM #2
(espejo)

BFFF
RAM #2

C000
....

RAM #2
(espejo)

DFFF
E000

31/05/2013
65535

FFFF

Electrnica DigitalElectrnica
Digital
FFFF

RAM #2
(espejo)
42

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