24
Decodificação de I/O e Memória Cap.6: 1/10 CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA afirmava-se que memória era todo dispositivo acessado através dos sinais *(S)MEMR ou *(S)MEMW e que I/O era todo dispositivo acessado através dos sinais *IOR ou *IOW (ativados pelas instruções "in" e "out") I/O é o nome dado a dispositivos que realizam diversas funções específicas, tais como enviar dados, receber dados, configurar a porta serial, controlar o acionador de disco ou ainda gerenciar a temporização. De forma mais simples, diz-se que os dispositivos de I/O trabalham com comandos e dados. Os comandos (operações de escrita) indicam como o dispositivo deverá operar, por exemplo, mudando a resolução da placa VGA, enquanto que os dados (leitura ou escrita) são manuseados pelo I/O com objetivos diversos, como, por exemplo, para serem comunicados via modem ou placa de rede. instruções in, out, ins e outs 64K x 1K endereços Espaço de I/O com 512 endereços para a placa do sistema ou Indica se o endereço era para os slots de expansão (A9=0) - placa do sistema Gerado pelas instruções IN e OUT, mas ignorado no caso de alguns PCs antigos Não são usados pelas instruções IN e OUT (A9=1) - slots de expansão 19 18 17 16 15 14 13 12 11 10 9 876543210 Bits do Endereço Figura 6.1. Interpretação dos bits de endereçamento de I/O, nas arquiteturas de PCs antigos. MZ MZ Editora Ltda. - http://www.mzeditora.com.br - PC: um Guia Prático de Hardware e Interfaceamento - Ricardo Zelenovsky & Alexandre Mendonça

CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA · 040h-043h temporizador programável (8253) 060h-063h interface paralela 8255 (XT) 060h-064h controlador 8742 (AT) 070h-071h RAM CMOS

  • Upload
    haanh

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA · 040h-043h temporizador programável (8253) 060h-063h interface paralela 8255 (XT) 060h-064h controlador 8742 (AT) 070h-071h RAM CMOS

Decodificação de I/O e Memória Cap.6: 1/10

CAPÍTULO VI

DECODIFICAÇÃO DE I/O E MEMÓRIA

• afirmava-se que memória era todo dispositivo acessado através dossinais *(S)MEMR ou *(S)MEMW e que I/O era todo dispositivo acessadoatravés dos sinais *IOR ou *IOW (ativados pelas instruções "in" e "out")

I/O é o nome dado a dispositivos que realizam diversas funções específicas,tais como enviar dados, receber dados, configurar a porta serial, controlar oacionador de disco ou ainda gerenciar a temporização. De forma mais simples,diz-se que os dispositivos de I/O trabalham com comandos e dados. Oscomandos (operações de escrita) indicam como o dispositivo deverá operar,por exemplo, mudando a resolução da placa VGA, enquanto que os dados(leitura ou escrita) são manuseados pelo I/O com objetivos diversos, como,por exemplo, para serem comunicados via modem ou placa de rede.

• instruções in, out, ins e outs

• 64K x 1K endereços

Espaço de I/O com512 endereços

para a placa do sistema ouIndica se o endereço era

para os slots de expansão(A9=0) - placa do sistema

Gerado pelasinstruções IN e OUT,mas ignorado no casode alguns PCs antigos

Não são usados pelasinstruções IN e OUT

(A9=1) - slots de expansão

19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Bits do Endereço

Figura 6.1. Interpretação dos bits de endereçamento de I/O, nas arquiteturas de PCs antigos.

MZMZ Editora Ltda.

- http://www.mzeditora.com.br - PC: um Guia Prático de Hardware e Interfaceamento - Ricardo Zelenovsky & Alexandre Mendonça

Page 2: CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA · 040h-043h temporizador programável (8253) 060h-063h interface paralela 8255 (XT) 060h-064h controlador 8742 (AT) 070h-071h RAM CMOS

Decodificação de I/O e Memória Cap.6: 2/10

FFFFh

0400h03FFh

0200h01FFh

0000h

64.512

512

512

Não usado no projeto inicial do PC

Espaço para os slots de expansão

Espaço para a placa do sistema

Figura 6.2. Utilização do espaço de endereçamento de I/O nos primeiros PCs.

• dispositivos "on-board"

Endereços Dispositivo000h-00Fh primeiro controlador de DMA (8237)020h-021h primeiro controlador de interrupções (8259)040h-043h temporizador programável (8253)060h-063h interface paralela 8255 (XT)060h-064h controlador 8742 (AT)070h-071h RAM CMOS e registrador de máscara NMI (AT)080h-08Fh registradores de paginação para DMA0A0h-0A1h segundo controlador de interrupções (AT)0C0h-0DFh segundo controlador de DMA (AT)0F0h-0FFh coprocessador aritmético (AT)1F0h-1FFh disco rígido (AT)200h-20Fh porta de jogos238h-23Bh mouse de barramento278h-27Fh LPT2:2B0h-2BFh vídeo (EGA-VGA)2C0h-2CFh vídeo (EGA-VGA)2D0h-2DFh vídeo (EGA-VGA)2E8h-2EFh COM4:2F8h-2FFh COM2:320h-32Fh disco rígido (XT)378h-37Fh LPT1:300h-31Fh reservado para protótipos3C0h-3CFh vídeo (EGA-VGA)3D0h-3DFh vídeo (CGA)3E8h-3EFh COM3:3F0h-3F7h disco flexível3F8h-3FFh COM1:

400h => projetos PCIFigura 6.3. Uso do espaço de endereçamento de I/O no PC.

MZMZ Editora Ltda.

- http://www.mzeditora.com.br - PC: um Guia Prático de Hardware e Interfaceamento - Ricardo Zelenovsky & Alexandre Mendonça

Page 3: CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA · 040h-043h temporizador programável (8253) 060h-063h interface paralela 8255 (XT) 060h-064h controlador 8742 (AT) 070h-071h RAM CMOS

Decodificação de I/O e Memória Cap.6: 3/10

Decodificação com endereço fixo

• *CS0, *CS1,...,*CS7 com habilitação em nível baixo• OR dos *CS com *IOR e *IOW

D0D1D2

D0 Q0D1 Q1D2 Q2D3 Q3D4 Q4D5 Q5D6 Q6D7 Q7

OCG

74LS373

*IOW (B13)74LS02

D3D4D5D6D7

D0D1D2D3D4D5

1A11Y11A21Y21A31Y31A41Y42A12Y12A22Y22A32Y32A42Y4

1G2G

74LS244

*CS0 (3E0H)*CS1 (3E1H)*CS2 (3E2H)*CS3 (3E3H)*CS4 (3E4H)*CS5 (3E5H)*CS6 (3E6H)

VCC

ABC

G1G2AG2B

Y0Y1Y2Y3Y4Y5Y6Y7

74LS138

A0 (A31)A1 (A30)A2 (A29)

A9A8A7

74LS30

A9 (A22)A8 (A23)A7 (A24)

A4 (A27)

A6 (A25)

A5 (A26)

74LS04

A6

A5*A4*A3*AEN

*CS7 (3E7H)

*IOR (B14)74LS32

D6D7

D0D1D2D3

A1 B1A2 B2A3 B3A4 B4A5 B5A6 B6A7 B7A8 B8

GDIR74LS245

D0 (A9)D1 (A8)D2 (A7)D3 (A6)

74LS04

74LS04

A3 (A28)

AEN (A11)

*IOR (B14)

*IOW (B13)74LS08

D4 (A5)D5 (A4)D6 (A3)D7 (A2)

74LS32

D4D5D6D7

*IOR (B14)

Barramento

de Dados do PCBarramento Interno

Entrada com8 Bits

Saída com8 Bits

8 EndereçosDecodificados

A9 A81 1

A7 A61 1

A5 A41 0

A3 A20 X

A1 A0X X

Endereço Base = 3E0H

*ADROK*IORW

Figura 6.4. Decodificação de I/O com endereço fixo.

• outportb(0x3E0, variável);

• variável = inportb(0x3E0);

• uso do 74LS374 ao invés do 74LS373

AEN = 0 é um nível lógico necessário para que os decodificadores deI/O operem sem conflitar com os ciclos de DMA.

Decodificação programável por chave

• uso de "dip switch"

• outportb(endereço, variável);

• variável = inportb(endereço);

MZMZ Editora Ltda.

- http://www.mzeditora.com.br - PC: um Guia Prático de Hardware e Interfaceamento - Ricardo Zelenovsky & Alexandre Mendonça

Page 4: CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA · 040h-043h temporizador programável (8253) 060h-063h interface paralela 8255 (XT) 060h-064h controlador 8742 (AT) 070h-071h RAM CMOS

Decodificação de I/O e Memória Cap.6: 4/10

D0 Q0D1 Q1D2 Q2D3 Q3D4 Q4D5 Q5D6 Q6D7 Q7

OCG

74LS373

D0D1D2

*IOW (B13)74LS02

D3D4D5D6D7

1G2G

74LS244

D0D1D2D3D4D5

*CS0 (base)*CS1 (base+1)*CS2 (base+2)*CS3 (base+3)*CS4 (base+4)*CS5 (base+5)*CS6 (base+6)

VCC

ABC

G1G2AG2B

Y0Y1Y2Y3Y4Y5Y6Y7

74LS138

A0 (A31)A1 (A30)A2 (A29)

P0P1P2P3P4P5P6P7

Q0Q1Q2Q3Q4Q5Q6Q7

G

P=Q

74LS688

AEN (A11)

6x (8K2)

A9 (A22)

A8 (A23)A7 (A24)A6 (A25)A5 (A26)A4 (A27)A3 (A28)

VCC*CS7 (base+7)

*IOR (B14)74LS32

D6D7

D0D1D2D3

A1 B1A2 B2A3 B3A4 B4A5 B5A6 B6A7 B7A8 B8

GDIR

74LS245

D0 (A9)D1 (A8)D2 (A7)D3 (A6)

VCCSW1

SW DIP-6

*IOR (B14)

*IOW (B13)74LS08

*ADROK

*IORW

D4 (A5)D5 (A4)D6 (A3)D7 (A2)

74LS32

D4D5D6D7

*IOR (B14)

Barramento

de Dados do PC

Barramento Interno

Entrada com8 Bits

Saída com8 Bits

8 EndereçosDecodificados

A9 A81 Y

A7 A6Y Y

A5 A4Y Y

A3 A2Y X

A1 A0X X

Programado pela Chave

1A11Y11A21Y21A31Y31A41Y42A12Y12A22Y22A32Y32A42Y4

Figura 6.5. Decodificação programável por chave, usando o 74LS688.

4X (8K2)

VCC VCC

4K7

*CS0 (base+0)*CS1 (base+4)*CS2 (base+8)*CS3 (base+12)*CS4 (base+16)

ABC

G1G2AG2B

Y0Y1Y2Y3Y4Y5Y6Y7

74LS138

A2 (A29)

A4 (A27)A3 (A28)

74LS266

74LS266

A8 (A23)

A7 (A24)

SW1

SW DIP-4

A6 (A25)74LS266

ADROK *CS5 (base+20)*CS6 (base+24)*CS7 (base+28)

74LS266

74LS09

A5 (A26)

74LS04

AEN (A11)

A9 (A22)

A B NXOR

0 0 1

0 1 0

1 0 0

1 1 1A=B 1

A=B 0

Wired AND

Coletor AbertoA9 A81 Y

A7 A6Y Y

A5 A4Y X

A3 A2X X

A1 A0- -

Programado pela Chave

8 Linhas Decodificadas.Cada linha seleciona umbloco de 4 endereços consecutivos.

Figura 6.6. Decodificação programável por chave usando o 74LS266.

MZMZ Editora Ltda.

- http://www.mzeditora.com.br - PC: um Guia Prático de Hardware e Interfaceamento - Ricardo Zelenovsky & Alexandre Mendonça

Page 5: CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA · 040h-043h temporizador programável (8253) 060h-063h interface paralela 8255 (XT) 060h-064h controlador 8742 (AT) 070h-071h RAM CMOS

Decodificação de I/O e Memória Cap.6: 5/10

• decodificação selecionável por PROM

EXEMPLO: Habilitar *CS0 para o endereço 382h

Endereço Dado Programado

1 1 1 0 0 0 0 1 0 1 1 1 1 1 1 1 0D7 D6 D5 D4 D3 D2 D1 D0A8 A7 A6 A5 A4 A3 A2 A1 A0

A0 (A31)

A1 (A30)

8

7

A2 (A29)

A3 (A28)

6

5

A4 (A27)

A5 (A26)

4

3

A6 (A25)

A7 (A24)

2

1

A8 (A23) 23

(60 s)N82S141

512X8 PROM

AEN (A11)21

A9 (A22) 19

23

21

*CS0

*CS1

9

10

*CS2

*CS3

11

13

*CS4

*CS5

14

15

*CS6

*CS7

16

17

VCC

A0

A1

A2

A3

A4

A5

A6

A7

A8

D0

D1

D2

D3

D4

D5

D6

D7

*CE1

*CE2

CE3

CE4

η

Figura 6.7. Decodificação de I/O usando uma PROM.

Expandindo o espaço de endereçamento

• utilização dos bits de ordem superior• não funciona desde o surgimento do PCI

• endereçamento indireto• RAM CMOS e vídeo VGA

DECOD.NORMAL

D0 - D7

*IOW

D0 - D7

G

Latch

IA0-7

D0-D7

*CS

*IOW

*IOR

8 / 256

A0-A9

AEN

EndereçoIndireto

DecodificadorI/O EndereçadoIndiretamente

*SEL

Transceiver

Dado Interpretado

como Endereço

Barramento de Dados Interno

*CS0

*CS1

Barramento de Dados do PC

Figura 6.9. Esquema simplificado para o endereçamento indireto para I/O.

MZMZ Editora Ltda.

- http://www.mzeditora.com.br - PC: um Guia Prático de Hardware e Interfaceamento - Ricardo Zelenovsky & Alexandre Mendonça

Page 6: CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA · 040h-043h temporizador programável (8253) 060h-063h interface paralela 8255 (XT) 060h-064h controlador 8742 (AT) 070h-071h RAM CMOS

Decodificação de I/O e Memória Cap.6: 6/10

ABC

G1G2AG2B

Y0Y1Y2Y3Y4Y5Y6Y7

74LS138

D0 Q0D1 Q1D2 Q2D3 Q3D4 Q4D5 Q5D6 Q6D7 Q7

OCG

74LS37374LS27

D0D1D2D3D4D5D6D7

IA0IA1IA2IA3IA4IA5IA6IA7

VCC

*ICS0*ICS1*ICS2*ICS3*ICS4*ICS5*ICS6*ICS7

D0 Q0D1 Q1D2 Q2D3 Q3D4 Q4D5 Q5D6 Q6D7 Q7

OCG

74LS373

D0D1D2D3D4P0

P1P2P3P4P5P6P7

Q0Q1Q2Q3Q4Q5Q6Q7

G

P=Q

74LS688

AEN (A11)

A0 (A31)*IOW (B13)

6x (8K2)

A9 (A22)

A8 (A23)A7 (A24)A6 (A25)A5 (A26)A4 (A27)A3 (A28)

VCC

*IOW (B13)

D5D6D7

1G2G

74LS244

D0D1D2D3D4D5D6D7

VCCSW1

SW DIP-6

*IOR (B14)

A1 B1A2 B2A3 B3A4 B4A5 B5A6 B6A7 B7A8 B8

GDIR

74LS245

D0D1D2D3D4D5D6D7

D0 (A9)D1 (A8)D2 (A7)D3 (A6)D4 (A5)D5 (A4)D6 (A3)D7 (A2)

74LS32

A0 (A31)

74LS04

*IOR (B14)

Dado usadocomo Endereço

8 Endereços Decodificados

Saída DigitalEndereçada Indiretamente

Entrada DigitalEndereçada Indiretamente

Barramento de DadosInterno

Barramento de Dados do PC

Barramento Dados PC

74LS27

1A11Y11A21Y21A31Y31A41Y42A12Y12A22Y22A32Y32A42Y4

Figura 6.10. Uso de endereçamento indireto para expandir o espaço de I/O.

• "outportb(base,índice);" seguido de "outportb(base+1,dado);"

I/O mapeado em memóriaDO0DO1DO2DO3

D0D1D2D3

D0 Q0D1 Q1D2 Q2D3 Q3D4 Q4D5 Q5D6 Q6D7 Q7

OCG

74LS373

*MEMW74LS02

D4D5D6D7

DO4DO5DO6DO7

D0D1A1 B1

A2 B2A3 B3A4 B4A5 B5A6 B6A7 B7A8 B8

GDIR

74LS245

D0 (A9)D1 (A8)74LS04

74LS30

A13 (A18)A14 (A17)

A15 (A16)A16 (A15)A18 (A13)A19 (A12)

A7 (A24)A8 (A23)A9 (A22)A10 (A21)

A11 (A20)A12 (A19)

74LS30

74LS04

D2 (A7)D3 (A6)D4 (A5)D5 (A4)D6 (A3)D7 (A2)

74LS10

D2D3D4D5D6

DI0DI1DI2DI3DI4DI5

D0D1D2D3D4D5

1G2G

74LS244

*MEMR

74S260A0 (A31)A1 (A30)A2 (A29)

A3 (A28)A4 (A27)A5 (A26)A6 (A25)

A17 (A14)

*MEMR74LS02

74LS04

D6D7

DI6DI7

D7

Decodificação dos 20 bits do Endereço DFFF8H

A191

A181

A170

A161

A151

A141

A131

A121

A111

A101

A91

A81

A71

A61

A51

A41

A31

A20

A10

A00

Entradas usando o endereçode memória DFFF8H

Saídas usando o endereçode memória DFFF8H

1A11Y11A21Y21A31Y31A41Y42A12Y12A22Y22A32Y32A42Y4

Figura 6.11. Registradores de I/O (entrada e saída) mapeados no primeiro megabyte de memória.

MZMZ Editora Ltda.

- http://www.mzeditora.com.br - PC: um Guia Prático de Hardware e Interfaceamento - Ricardo Zelenovsky & Alexandre Mendonça

Page 7: CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA · 040h-043h temporizador programável (8253) 060h-063h interface paralela 8255 (XT) 060h-064h controlador 8742 (AT) 070h-071h RAM CMOS

Decodificação de I/O e Memória Cap.6: 7/10

• nunca entra em conflito com os endereços de I/O já utilizados• aumenta o espaço de I/O• oferece a possibilidade de usar todas as instruções da família 80x86

I/O a 16 bits

DO0DO1DO2DO3

D0D1D2D3

D0 Q0D1 Q1D2 Q2D3 Q3D4 Q4D5 Q5D6 Q6D7 Q7

OCG

74LS373

*IOW74LS02

D4D5D6D7

DO4DO5DO6DO7

74LS05

A1 B1A2 B2A3 B3A4 B4A5 B5A6 B6A7 B7A8 B8

GDIR

74LS245

SD0SD1SD2SD3SD4SD5SD6SD7

*IOR

A0

*I/OCS16

DO8DO9DO10DO11

D8D9D10D11

D0 Q0D1 Q1D2 Q2D3 Q3D4 Q4D5 Q5D6 Q6D7 Q7

OCG

74LS373

*IOW74LS02

D12D13D14D15

DO12DO13DO14DO15

A1 B1A2 B2A3 B3A4 B4A5 B5A6 B6A7 B7A8 B8

GDIR

74LS245

SD8SD9SD10SD11SD12SD13SD14SD15

*IOR

*SBHE

A9...A1

AEN

decod.

I/O

endereçoímpar

endereçopar

74LS04

Figura 6.12. Esquema para I/O a 16 bits.

• parte alta e parte baixa (*SBHE e A0)

• acesso a endereço par• mov dx,300h

in ax,dx• "outport(0x300);" em linguagem C• endereços acessados: 300h e 301h• 1 único ciclo de barramento

• acesso a endereço ímpar• mov dx,301h

in ax,dx• "outport(0x301);" em linguagem C• endereços acessados: 301h e 302h• 2 ciclos de barramento

MZMZ Editora Ltda.

- http://www.mzeditora.com.br - PC: um Guia Prático de Hardware e Interfaceamento - Ricardo Zelenovsky & Alexandre Mendonça

Page 8: CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA · 040h-043h temporizador programável (8253) 060h-063h interface paralela 8255 (XT) 060h-064h controlador 8742 (AT) 070h-071h RAM CMOS

Decodificação de I/O e Memória Cap.6: 8/10

• acesso de 16 bits em barramento PCI

• acesso de 32 bits em barramento PCI

Decodificação de memória

• *(S)MEMR e *(S)MEMW

BD0BD1BD2BD3BD4

BA0BA1BA2BA3BA4

A0A1A2A3A4A5A6A7A8A9A10

CEOEWE

D0D1D2D3D4D5D6D7

6116

BD0BD1BD2BD3BD4

A0A1A2A3A4A5A6A7A8A9A10

CEOEWE

D0D1D2D3D4D5D6D7

6116

BA0BA1BA2BA3BA4

BA10BA9BA8BA7BA6

1A1 1Y11A2 1Y21A3 1Y31A4 1Y42A1 2Y12A2 2Y22A3 2Y32A4 2Y4

1G2G

74LS244

A10 (A21)A9 (A22)A8 (A23)

A6 (A25)A7 (A24)

A5 (A26)A4 (A27)A3 (A28)

1A1 1Y11A2 1Y21A3 1Y31A4 1Y42A1 2Y12A2 2Y22A3 2Y32A4 2Y4

1G2G

74LS244

BA5BA4BA3

BA5BA6BA7BA8BA9BA10

*BMEMR*CS0

BD5BD6BD7

*BMEMR*CS1

BA5BA6BA7BA8BA9BA10

BD5BD6BD7

BD0BD1BD2BD3

BA0BA1BA2BA3

A0A1A2A3A4A5A6A7A8A9A10

CEOEWE

D0D1D2D3D4D5D6D7

6116

*BMEMW

BD0BD1BD2BD3

A0A1A2A3A4A5A6A7A8A9A10

CEOEWE

D0D1D2D3D4D5D6D7

6116

*BMEMW

BA0BA1BA2BA3

BA2BA1BA0*BMEMR*BMEMW

A2 (A29)A1 (A30)A0 (A31)

*MEMR (B12)*MEMW (B11)

A11 (A20) A Y0B Y1

Y2G Y3

74LS139

*CS0

BA4BA5BA6BA7BA8BA9BA10

BD4BD5BD6BD7

BA4BA5BA6BA7BA8BA9BA10

BD4BD5BD6BD7

*BMEMR*BMEMW

*CS3*BMEMR*BMEMW

*CS2*CS1*CS2*CS3*SEL GRUPO

A12 (A19)

VCC

A19 (A12)A18 A(13)A17 (A14)A16 (A15)A15 (A16)A14 (A17)A13 (A18)

8K2

P0P1P2P3P4P5P6P7

Q0Q1Q2Q3Q4Q5Q6Q7

G

P=Q

74LS688

*SEL GRUPOD0 (A9)D1 (A8)D2 (A7)D3 (A6)D4 (A5)D5 (A4)D6 (A3)

A1 B1A2 B2A3 B3A4 B4A5 B5A6 B6A7 B7A8 B8

GDIR

74LS245

BD0BD1BD2BD3BD4BD5BD6BD7D7 (A2)

*MEMR (B12)

SW DIP-7

Figura 6.13. Decodificação de 8 KB de memória em blocos de 2 KB.

VCC

SW DIP-4

8K2A19 (A12)A18 (A13)A17 (A14)A16 (A15)

A0A1A2A3B0B1B2B3A<B A<BA=B A=BA>B A>B

74LS85

DecodificaçãoVCC de um bloco

de 64KB

Figura 6.14. Decodificação de 64 KB com endereço selecionável por chave.

MZMZ Editora Ltda.

- http://www.mzeditora.com.br - PC: um Guia Prático de Hardware e Interfaceamento - Ricardo Zelenovsky & Alexandre Mendonça

Page 9: CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA · 040h-043h temporizador programável (8253) 060h-063h interface paralela 8255 (XT) 060h-064h controlador 8742 (AT) 070h-071h RAM CMOS

Decodificação de I/O e Memória Cap.6: 9/10

Mapa de memória

PC ATMemória Estendida

100000h

E0000h

C0000h

A0000h

00000h

00400h

00500h

Reservado para a PARA ROM BIOS

Reservado para ROMs

Buffers de Vídeo

Porção transiente do DOS

Área de Programas

(programas de usuários e dados)

Porção residente do DOS

Área de dados para ROM BIOS e BASIC

Área de dados para a ROM BIOS

Tabela de Vetores de Interrupção

Área destinada

ao DOS

9FFFFh

Figura 6.15. Mapa de memória de um típico PC AT.

Exercícios

6-7) Projete um circuito que multiplexe o acesso a 2 registradores nummesmo endereço, da seguinte forma: o primeiro acesso é realizado em umdos registradores, o acesso seguinte é feito ao outro e assimsucessivamente.

6-12) O seguinte conjunto de instruções é utilizado para realizar uma leiturade 16 bits:

mov dx,300hin ax,dx .

Existe alguma diferença de desempenho entre executar estas instruçõescom a linha *I/O CS 16 ativada ou não ?

6-13) Repita o problema anterior, substituindo apenas 300h por 301h.

6-14) Nos casos dos problemas 6-12 e 6-13, quais as diferenças deimplementações em hardware ao ativar-se ou não a linha *I/O CS 16 ?

6-15) O que acontecerá se, por engano, um projetista utilizar em seu projetoos endereços de I/O de 3F0h a 3F7h ?

MZMZ Editora Ltda.

- http://www.mzeditora.com.br - PC: um Guia Prático de Hardware e Interfaceamento - Ricardo Zelenovsky & Alexandre Mendonça

Page 10: CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA · 040h-043h temporizador programável (8253) 060h-063h interface paralela 8255 (XT) 060h-064h controlador 8742 (AT) 070h-071h RAM CMOS

Decodificação de I/O e Memória Cap.6: 10/10

6-17) (Concurso para o Quadro de Engenheiros Militares do Exército -especialidade eletrônica - 1998)Para permitir que um microprocessador acesse 3 dispositivos, foi preparadaa decodificação a seguir, onde se utilizaram apenas as 10 linhas deendereços menos significativas: A0, A1, ..., A9. As demais linhas deendereços foram ignoradas. Considerando que os dispositivos sãoselecionados em nível baixo (quando *CS=0), determine em hexadecimaltodos os endereços possíveis, para cada dispositivo.

A1

A2 *CS

ABC

G1G2AG2B

Y0Y1Y2Y3Y4Y5Y6Y7

74LS138

A9

A8

A3

A7

A5

A6

A0

VCC

A4

DISP1

*CS DISP2

*CS DISP3

MZMZ Editora Ltda.

- http://www.mzeditora.com.br - PC: um Guia Prático de Hardware e Interfaceamento - Ricardo Zelenovsky & Alexandre Mendonça

Page 11: CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA · 040h-043h temporizador programável (8253) 060h-063h interface paralela 8255 (XT) 060h-064h controlador 8742 (AT) 070h-071h RAM CMOS

DEE - Unesp 1

10.1 – Conexão com Memórias – EPROM E SRAM

Page 12: CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA · 040h-043h temporizador programável (8253) 060h-063h interface paralela 8255 (XT) 060h-064h controlador 8742 (AT) 070h-071h RAM CMOS

2

10.2 – Decodificação de Endereços

Page 13: CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA · 040h-043h temporizador programável (8253) 060h-063h interface paralela 8255 (XT) 060h-064h controlador 8742 (AT) 070h-071h RAM CMOS

DEE - Unesp 3

10.3 – Decodificação de Endereços

Page 14: CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA · 040h-043h temporizador programável (8253) 060h-063h interface paralela 8255 (XT) 060h-064h controlador 8742 (AT) 070h-071h RAM CMOS

DEE - Unesp 4

10.3 – Decodificação de Endereços

Page 15: CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA · 040h-043h temporizador programável (8253) 060h-063h interface paralela 8255 (XT) 060h-064h controlador 8742 (AT) 070h-071h RAM CMOS

DEE - Unesp 5

10.3 – Decodificação de Endereços

Page 16: CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA · 040h-043h temporizador programável (8253) 060h-063h interface paralela 8255 (XT) 060h-064h controlador 8742 (AT) 070h-071h RAM CMOS

DEE - Unesp Introdução aos Microcontroladores –

ELE 1187 6

10.3 – Decodificação de Endereços

Page 17: CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA · 040h-043h temporizador programável (8253) 060h-063h interface paralela 8255 (XT) 060h-064h controlador 8742 (AT) 070h-071h RAM CMOS

DEE - Unesp 7

10.3 – Decodificação de Endereços

Page 18: CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA · 040h-043h temporizador programável (8253) 060h-063h interface paralela 8255 (XT) 060h-064h controlador 8742 (AT) 070h-071h RAM CMOS

DEE - Unesp 8

10.3 – Decodificação de Endereços

Page 19: CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA · 040h-043h temporizador programável (8253) 060h-063h interface paralela 8255 (XT) 060h-064h controlador 8742 (AT) 070h-071h RAM CMOS

DEE - Unesp 9

10.3 – Decodificação de Endereços

Page 20: CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA · 040h-043h temporizador programável (8253) 060h-063h interface paralela 8255 (XT) 060h-064h controlador 8742 (AT) 070h-071h RAM CMOS

DEE - Unesp Introdução aos Microcontroladores –

ELE 1187 10

10.3 – Decodificação de Endereços

Page 21: CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA · 040h-043h temporizador programável (8253) 060h-063h interface paralela 8255 (XT) 060h-064h controlador 8742 (AT) 070h-071h RAM CMOS

DEE - Unesp Introdução aos Microcontroladores –

ELE 1187 11

10.3 – Decodificação de Endereços

Page 22: CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA · 040h-043h temporizador programável (8253) 060h-063h interface paralela 8255 (XT) 060h-064h controlador 8742 (AT) 070h-071h RAM CMOS

DEE - Unesp 12

Trabalho 4 – Decodificação de endereço de I/O e Memória

4.1 : Indique a faixa de endereços em hexadecimal de cada

*CS para cada circuito a seguir

Page 23: CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA · 040h-043h temporizador programável (8253) 060h-063h interface paralela 8255 (XT) 060h-064h controlador 8742 (AT) 070h-071h RAM CMOS

DEE - Unesp 13

4.2: Indique a faixa de endereços em hexadecimal de cada *CS

para cada circuito a seguir.

Page 24: CAPÍTULO VI DECODIFICAÇÃO DE I/O E MEMÓRIA · 040h-043h temporizador programável (8253) 060h-063h interface paralela 8255 (XT) 060h-064h controlador 8742 (AT) 070h-071h RAM CMOS

DEE - Unesp 14

4.3: Desenhe o mapa de endereços de um sistema de 16 bits de

endereçamento e mapeie o bloco ocupado por cada CI de

memória da figura a seguir.