arquitetura de computadores entrada e saida programa para ler o conteudo das chaves (exerc....

37
ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX , 0400H MOV DS , AX MOV BX , 0002H MOV AL , [BX] PROGRAMA PARA ACENDER TODOS OS LEDS. MOV AX , 0400H MOV DS , AX MOV BX , 0002H MOV AL , 00H MOV [BX] , AL

Upload: internet

Post on 17-Apr-2015

113 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

ENTRADA E SAIDA

PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR).MOV AX , 0400HMOV DS , AXMOV BX , 0002HMOV AL , [BX]

PROGRAMA PARA ACENDER TODOS OS LEDS.

MOV AX , 0400HMOV DS , AXMOV BX , 0002HMOV AL , 00HMOV [BX] , AL

Page 2: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

ENTRADA E SAIDA (E/S) (I/O)

MODOS DE IMPLEMENTAR E/S 2. E/S MAPEADA COMO E/S PARA EVITAR USO DE ENDEREÇOS DE MEMORIA COMO

ENDEREÇOS DE E/S FORAM CRIADAS INSTRUÇÕES ESPECIFICAS PARA E/S QUE COMANDAM SINAIS DE CONTROLE ESPECIFICOS PARA E/S.

INSTRUÇÕES DE ENTRADA IN AL , PORTA IN AX , PORTA IN REG , DX

COMANDAM O SINAL I/O RD

INSTRUÇÕES DE SAIDA OUT PORTA , AL OUT PORTA , AX OUT DX , REG

COMANDAM O SINAL I/O WR

OBS: PORTA OCUPA 1 BYTE 1 BYTE -> 256 PORTAS DIFERENTES

DX REGISTRADOR DE 16 BITS -> 64K PORTAS DIFERENTES

Page 3: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

ENTRADA E SAIDA

CS DS ES

BX

FC

B.END

B.DADOS

R.END

R.DADOS

UNID.

DE

INTERF.

MEMORIA

MEMRD

MEMWR

20

8 BITS

16 BITS

+X16

SS RASC1 T3

= , +1, -1

IP SP SI DI RASC2

CX DX T1 T2 IRAX

ALU

UNID. DE CONTROLE

B. 1

16

8

16

8

820 BITS

1 BIT

B. 2

B. 3B. 4

IORD

IOWR

Page 4: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

ENTRADA E SAIDA

C.COM.|C.OPER.|C.S.C.|C.PROX.END.END

MEMORIA

B0

B1

B2

SEQUENCIADOR

RENDUC

CLK

END. B0

IR

+1

0000000.....1

CINMEMRD MEMWR IORD IOWR

FCCOMP

O

1

2

MODIFICADOR

3

OR

OR

INV #WAITOR

ANDHOLD

HLDAD Q

CLK

Page 5: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

EXERCICIO 15

USAR O ENDEREÇO DE E/S 0531H PARA SELECIONAR UM CONJUNTO DE 8 LEDS E UM CONJUNTO DE 8 CHAVES QUE DEVEM SER CONECTADOS AO COMPUTADOR.

Page 6: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

INTERFACE E/S

ARQUITETURA DE COMPUTADORES

EXERCICIO 15 – SOLUÇÃO

IORD IOWR

CPU

REGLD

BARRAMENTO DE DADOS

3S0E

BARRAMENTO DE ENDEREÇOS0531H

COMPARADOR

AND

AND

INTERFACE E/S

DISPOSITIVOS E/S

VCC

.......

VCC

.......

Page 7: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

ENTRADA E SAIDA

PROGRAMA PARA LER O CONTEUDO DAS CHAVES E APAGAR TODOS OS LEDS, SABENDO QUE O ENDEREÇO DE E/S É 0531H

MOV DX , 0531HIN AL , DXMOV AL , FFHOUT DX , AL

Page 8: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

INTERFACE E/S

ARQUITETURA DE COMPUTADORES

CONTROLE DE E/S

IORD IOWR

CPU

REGLD

BARRAMENTO DE DADOS

BARRAMENTO DE ENDEREÇOSXXXXH

COMPARADOR

AND

INTERFACE E/S

DISPOSITIVOS E/S: IMPRESSORA

CPU ESCREVE

IMPRESSORA LÊ

TAXAS DIFERENTES.COMO COMPATIBILIZAR?

Page 9: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

CONTROLE DE E/S

IORD IOWR

CPU

REGISTRADORLD

BARRAMENTO DE DADOS

BARRAMENTO DE ENDEREÇOSXXXXH

COMPARADOR

AND

INTERFACE E/S

DISPOSITIVOS E/S: IMPRESSORA

CPU ESCREVE IMPRESSORA LÊ

FFD

COMPATIBILIZAÇÃO USANDO FLAG (FF) COMO SEMAFORO.FFD = O , CPU ESCREVE NO REGISTRADOR E FAZ FFD =1; IMPRESSORA NÃO FAZ NADA.FFD = 1 , CPU NÃO FAZ NADA ; IMPRESSORA LÊ O CONTEUDO DO REGISTRADOR E FAZ FFD = 0

Page 10: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

CONTROLE DE E/S

IORD IOWR

CPU

REGISTRADORLD

BARRAMENTO DE DADOS

BARRAMENTO DE ENDEREÇOS

XXXXH

COMPARADOR

AND

INTERFACE E/S

DISPOSITIVOS E/S: IMPRESSORA

FFD P Q C

IMPLEMENTAÇÃO USANDO FLAG (FF) COMO SEMAFORO.

YYYYH

COMPARADOR

D0

AND

SE OS END`s FOREMCONSECUTIVOS, É MAIS VANTAJOSO O USO DE

DECODIFICADORES

Page 11: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

CONTROLE DE E/S – VARREDURA

ROTINA PARA ENVIAR UM BYTE DE MEMORIA , CUJO ENDEREÇO ESTÁ EM BX, PARA A IMPRESSORA.

MOV DX , YYYYHIN AL , DXTEST AL , 01HJNZ FIMMOV AL , [BX]MOV DX , XXXXHOUT DX , ALFIM:RET

TESTANDO, TAMBEM, O FLAG Z O PROGRAMA QUE CHAMOU A ROTINA PODE SABER SE ODADO FOI , OU NÃO, ENVIADO PARA IMPRESSORA

ESTE TIPO DE CONTROLE DE E/S É CONHECIDO COMO

VARREDURA,E ESTÁ SINCRONIZADO COM O PROGRAMA.

Page 12: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

CONTROLE DE E/S – VARREDURA

DESVANTAGENS DO CONTROLE E/S POR VARREDURA.1. INSTRUÇÕE DE CHAMADA DE ROTINA ( CALL ....) DEVEM

SER INSERIDAS AO LONGO DO PROGRAMA. 2. NEM SEMPRE O DISPOSITIVO DE E/S (PERIFERICO), A IMPRESSORA NO EXEMPLO, DÁ PERMISSÃO PARA O ENVIO DE DADOS POR PARTE DA CPU. NESTE CASO HÁ UM DESPERDICIO DE TEMPO DE PROCESSAMENTO DA CPU, PORQUE A CHAMADA DA ROTINA NÃO PROVOCA UMA TRANSFERENCIA DE DADOS.

CONTROLE DE E/S MAIS EFICIENTE: INTERRUPÇÃO OBJETIVO: SEMPRE QUE A IMPRESSORA ESTIVER PRONTA PARA RECEBER UM DADO, ELA INTERROMPE A CPU, OU SEJA, A CPU SUSPENDE O PROGRAMA CHAMA, POR HARDWARE) A ROTINA DE TRATAMENTO DA IMPRESSORA .

Page 13: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

CONTROLE DE E/S – INTERRUPÇÃO

PARA REALIZAR O CONTROLE DE E/S POR INTERRUPÇÃO, SINAIS ADICIONAIS DEVEM SER ACRESCENTADOS A CPU.

INT INTA

CPU

PEDIDO DE INTERRUPÇÃO

ACEITAÇÃO DO PEDIDO DE INTERRUPÇÃO

ATIVIDADES QUE SÃO DISPARADAS QUANDO O SINAL INT É ATIVADO.1. A CPU TERMINA A EXECUÇÃO DA INSTRUÇÃO ATUAL E PULSA

O SINAL INTA PARA LER , NO BARRAMENTO DE DADOS, UM NUMERO DE IDENTIFICAÇÃO (ID) DE 8 BITS DO DISPOSITIVO QUE PEDIU INTERRUPÇÃO.

INT INTA

CPU BUS DADOS

ID

Page 14: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

CONTROLE DE E/S – INTERRUPÇÃO

2. A CPU SALVA CS E IP ( ENDEREÇO DE RETORNO DA ROTINA ) NA PILHA, JUNTAMENTE COM OS FLAGS DE STATUS.

INT INTA

CPU

CS

SP

IP

BARRAMENTO DE ENDEREÇO

BARRAMENTO DE DADOS

MEMORIA

MEMORIA

FLAGS

PILHA

CS

CSH

CSL

IPH

IPL

FLAGH

FLAGL

SS

Page 15: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

CONTROLE DE E/S – INTERRUPÇÃO

3. A CPU ATUALIZA CS E IP COM O ENDEREÇO DA ROTINA , LENDO OS SEGUINTES ENDEREÇOS.

INT INTA

CPU

CS

ID X 4

IP

BARRAMENTO DE ENDEREÇO

BARRAMENTO DE DADOS

MEMORIA

MEMORIA

VETORES DE INTERRUPÇÃO

CS

CSH

CSL

IPH

IPL

END. DA ROTINA(PREVIAMENTE GRAVADO)

ESPAÇO DE MEMORIA RESERVADO PARA OS VETORES DE INTERRUPÇÃO : 1K

Page 16: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

AAA

ARQUITETURA DE COMPUTADORES

CONTROLE DE E/S – INTERRUPÇÃO

IORD IOWR INTA

CPU INT

REGISTRADORLD

BARRAMENTO DE DADOS

BARRAMENTO DE ENDEREÇOS

XXXXH

COMPARADOR

AND

INTERFACE E/SDISPOSITIVOS E/S: IMPRESSORA

FFD P #Q C

IMPLEMENTAÇÃO.

ID

Page 17: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

CONTROLE DE E/S – INTERRUPÇÃO

PARA PERMITIR QUE UM DISPOSITIVO USE O SINAL DE INT DEVE-SE:1.PROGRAMAR O VETOR DE INTERRUPÇÃO CORRESPONDENTE (VI)2.DEFINIR O INICIO DA PILHA.

PROGRAMAÇÃO DO VIEX: ID =4 E END. ROTINA : 0060:423F

MOV AX , 0000HMOV DS , AXMOV BX , 0010H ; ID (= 4 ) x 4 = 10H MOV AX , 423FHMOV [BX] , AXINC BXINC BXMOV AX , 0060HMOV [BX] , AX

PROGRAMAÇÃO DO INICIO DA PILHAEX: END. INIC. DA PILHA :

0A20:0360

MOV AX , 0A20HMOV SS , AXMOV SP , 0360H

Page 18: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

CONTROLE DE E/S – INTERRUPÇÃO

ROTINA PARA ENVIAR UM BYTE DE MEMORIA , CUJO ENDEREÇO ESTÁ EM BX, PARA A IMPRESSORA.

MOV DX , XXXXHMOV AL , [BX]OUT DX , ALIRET

ESTA INSTRUÇÃO É DIFERENTE DA INSTRUÇÃO RET, PORQUE, ALEM DE RETIRAR DA PILHA O “CS” E O “IP”, ELA RETIRA OS FLAGS QUE FORAM ARMAZENDOSQUANDO OCORREU O PEDIDO DE INTERRUPÇÃO

O CONTROLE DE E/S POR INTERRUPÇÃO É ASSINCRONO COM

RELAÇÃO AO PROGRAMA EM EXECUÇÃO.

Page 19: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

EXERCICIO 16

1. QUAIS AS VANTAGENS/DESVANTAGENS DE E/S MAPEADA COMO MEMORIA E MAPEADA COMO E/S ?

2. QUAIS AS VANTAGENS/DESVANTAGENS DO CONTROLE DE E/S POR INTERRUPÇÃO E POR VARREDURA ?

3. PARA ID =2 , QUAL O ENDEREÇO DA ROTINA ASSOCIADO ? MEMORIA

END (HEX) DADO(HEX) 0 43

1 212 753 084 005 106 CD7 A28 2A9 04A 3FB 11C B2D 99E 12F 21

Page 20: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

EXERCICIO 16 – CONTINUAÇÃO

4. APÓS A EXECUÇÃO DO PROGRAMA ABAIXO, QUAL É O CONTEUDO DO REGISTRADOR A. MOV BX 4321H IN AL , 03 AND AL , BL OUT 04 , AL

89H

42H

IORD

STB REGISTRADOR AIOWR

DEC

I0 O0

I1 O1

I2 O2

#E O3

O4

05

06

AO

AI

A2

A3

A4

A5

A6

A7

OR

Page 21: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

EXERCICIO 16 – CONTINUAÇÃO

5. QUAIS SÂO OS CONTEUDOS DE SS SP E FLAGS APÓS A EXCUÇÃO DA INSTRUÇÃO IRET, SABENDO QUE O PROGRAMA CONTINUOU A EXECUÇÃO A PARTIR DO ENDEREÇO 45674

END (HEX) DADO(HEX) 2000 43

2001 212002 752003 242004 002005 652006 452007 A22008 2A2009 04200A 3F200B 11200C B6200D 19200E 41200F 26

Page 22: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

CONTROLE DE E/S – INTERRUPÇÃO

ALTERAÇÕES NA UNIDADE DE CONTROLE PARA ATENDIMENTO DE INTERRUPÇÃO.

O SINAL INT SÓ É AMOSTRADO PELA UNIDADE DE CONTROLE NO FINAL DA ECECUÇÃO DA INSTRUÇÃO CORRENTE.

ASSIM....NO SEQUENCIADOR DA UNIDADE DE CONTROLE VAMOS

ACRESCENTAR UM OUTRO MUX (2 x 1), COMANDADO PELO SINAL INT E NO CAMPO DE SINAIS DE CONTROLE , VAMOS ACRESCENTAR UM BIT (INTA) QUE VAI COMANDAR O SINAL INTA, CONFORME PODE SER VISTO NO PROXIMO SLIDE.

Page 23: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

CONTROLE DE E/S – INTERRUPÇÃO

C.COM.|C.OPER.|C.S.C.|C.PROX.END.

END

MEMORIA

B0

B1

B2

SEQUENCIADOR

RENDUC

CLK

IR

+1

0000000.....1

CIN MEMRD MEMWR IORD IOWR INTA

FCCOMP

O

1

2

MODIFICADOR

3

OR

OR

INV #WAITOR

ANDHOLD

HLDAD Q

CLK

1

0END. B0

END. D0 MICROPROGRAMA DE INTERRUPÇÃO

INT

Page 24: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

CONTROLE DE E/S – INTERRUPÇÃO

A ULTIMA MICROINSTRUÇÃO DE UM MICROPROGRAMA DE EXECUÇÃO DE UMA INSTRUÇÃO TEM NO CAMPO PROXIMO ENDEREÇO...

C.COM.|C.OPER.|C.S.C.| C.PROX.END | MUX2|MUX1|#1/2| 0/1

0 0

MEMORIA DA UNID. DE CONTROLE

COM A ALTERAÇÃO DO SEQUENCIADOR, ESTA MICROINSTRUÇÃO VAI SELECIONAR UMA DENTRE 2 POSSIBILIDADES, EM FUNÇÃO DO SINAL INT

SE INT =1 , PEDIDO DE INTERRUPÇÃORENDUC <- END DO MICROPROGRAMA DE

ATENDIMENTO DE PEDIDO DE INTERRUPÇÃOINTERRUPÇÃOSE INT = 0, NÃO EXISTE PEDIDO DE INTERRUPÇÃO

RENDUC <- END. B0

Page 25: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

CONTROLE DE E/S – INTERRUPÇÃO

CASO INT =1 , O MICROPROGRAMA DE ATENDIMENTO AO PEDIDO DE INTERRUPÇÃO É DISPARADO E ELE DEVE FAZER O SEGUINTE:

1. SALVAR CS,IP E FLAG´s NA PILHA E ATUALIZAR O SP.2. ATIVAR O SINAL INTA PARA LER A ID DO DISPOSITIVO QUE

PEDIU INTERRUPÇÃO.3. CARREGAR O NOVO CS E O NOVO IP ARMAZENADOS NOS

ENDEREÇOS 0000: ID X 4 -- IPL

0000: ID X 4 +1 – IPH 0000: ID X4 +2 -- CSL 0000 : ID X 4 +3 -- CSH 4. VOLTAR PARA O ENDEREÇO B0

C.COM.|C.OPER.|C.S.C.| C.PROX.END | MUX2|MUX1|#1/2| 0/1

0 0

MEMORIA DA UNID. DE CONTROLE

PROBLEMA!!

Page 26: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

CONTROLE DE E/S – INTERRUPÇÃO

CASO 0 SINAL INT AINDA ESTEJA EM NIVEL 1 , O MICROPROGRAMA DE ATENDIMENTO AO PEDIDO DE INTERRUPÇÃO VAI SER RE-EXECUTADO !!

PARA CONTORNAR ISTO , UM FLAG DE INTERRUPÇÃO (IF) E UM BIT

(SET/#RESET INT) SÃO ACRESCENTADO S, CONFORME PODE SER VISTO NO PROXIMO SLIDE.

IF =1 , INTERRUPÇÃOHABILITADAIF =0 , INTERRUPÇÃO DESABILITADA

O MICROPROGRAMA DE ATENDIMENTO AO PEDIDO DE INTERRUPÇÃO DEVE RESETAR IF.

Page 27: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

CONTROLE DE E/S – INTERRUPÇÃO

C.COM.|C.OPER.|C.S.C.|C.PROX.END.

END

MEMORIA

B0

B1

B2

SEQUENCIADOR

RENDUC

CLK

IR

+1

0000000.....1

CIN MEMRD MEMWR IORD IOWR S/#RIF INTA

FCCOMP

O

1

2

MODIFICADOR

3

OR

OR

INV #WAITOR

ANDHOLD

HLDAD Q

CLK

1

0END. B0

END. D0 MICROPROGRAMA DE INTERRUPÇÃO

INT Q IF D

Page 28: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

CONTROLE DE E/S – INTERRUPÇÃO

QUANDO IF DEVE SER SETADO , PARA QUE NOVOS PEDIDOS DE INTERRUPÇÃO SEJAM ACEITOS ?

PELA INSTRUÇÃO IRET , DADA NO FINAL DA ROTINA DE INTERRUPÇÃO. ESTA INSTRUÇÃO REGENERA OS FLAGS E O IF É UM DOS FLAGS.POR UMA INSTRUÇÃO STI, QUE FAZ COM QUE IF =1, DURANTE A ROTINA DE INTERRUPÇÃO. ISTO VAI PERMITIR ROTINAS ANINHADAS.

OBS: STI SÓ DEVE SER DADA,APÓS A AÇÃO QUE PROVOCA A RETIRADA DO PEDIDO DE INT. SE NÃO HOUVER ESTE CUIDADO, A PROPRIA ROTINA PODE SER RECOMEÇADA ANTES DO SEU TERMINO.

Page 29: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

CONTROLE DE E/S – INTERRUPÇÃO

INTERRUPÇÃO MASCARAVEL INTERRUPÇÃO NÃO MASCARAVEL

CPUIF

INT

CPU

NMIF

NMI

INSTRUÇÃO STI -> IF =1INSTRUÇÃO CLI -> IF =0

ID =2 , INTERNO

Page 30: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

CONTROLE DE E/S – INTERRUPÇÃO

A NIVEL DE MICROPROGRAMAÇÃO TEM-SE:

MICROPROGRAMA DE BUSCA DE INSTRUÇÃO

MICROPROGRAMA DE EXECUÇÃO DE INSTRUÇÃO

MICROPROGRAMA DE EXECUÇÃO DE INSTRUÇÃO

MICROPROGRAMA DE EXECUÇÃO DE INSTRUÇÃO

SIM

INT? INT? INT?

SIM SIM

MICROPROGRAMA DE ATENDIMENTO DE INTERRUPÇÃO

NÃO NÃO NÃO

Page 31: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

EXERCICIO 17

DADO O FILTRO DIGITAL...

S/H A/D

MICROCOMP

D/AE SCPU

MEMT

INTERVALO DE AMOSTRAGEM T

SINAL ANALOGICO

Page 32: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

EXERCICIO 17- CONTINUAÇÃO

1.FAÇA O SEU PROJETO, USANDO OS COMPONENTES EM ANEXO, SABENDO QUE:- O SINAL LOGICA DO S/H, EM NIVEL 1, FAZ AQUISIÇÃO DO SINAL

ANALOGICO DE ENTRADA E, EM NIVEL 0, FAZ A RETENÇÃO. ESTE SINAL DEVE SER CONECTADO AO BIT 0 DA PORTA DE SAIDA 05H.

- OS SINAIS CS=0 E WR=0 DO CONVERSOR A/D DISPARAM UMA CONVERSÃO. O CONVERSOR DEVE ESTAR MAPEADO NO END. 06H.

- UMA ROTINA DE INTERRUPÇÃO MASCARAVEL DEVE SER DISPARADA PELO SINAL INTR DO CONVERSOR A/D. O SINAL INTR ATIVO, INDICA QUE UM DADO FOI DIGITALIZADO. A ID DA INT É 08H.

- OS SINAIS CS=0 E RD=0 DO COVERSOR A/D PROVOCAM A LEITURA DO DADO DIGITALIZADO.

- O CONVERSOR D/A ESTÁ MAPEADO NO END. 07H .- UM OSCILADOR GERA UM PEDIDO DE INTERRUPÇÃO NÃO MASCARAVEL

A CADA 1MS (T) PARA A CPU A FIM DE QUE O SINAL ANALOGICO DE ENTRADA SEJA AMOSTRADO (DISCRETIZADO) PELO CIRCUITO S/H.

Page 33: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

EXERCICIO 17- CONTINUAÇÃO

2.FAÇA A ROTINA DE AMOSTRAGEM (CHAMADA AQUIS) DO SINAL ANALOGICO, SABENDO QUE O TEMPO DE AQUISIÇÃO É DE 40µS E O TEMPO DE UMA INSTRUÇÃO NOP É DE 10nS. USE O PEFIXO REP.3. FAÇA A ROTINA CONV. QUE DIGITALIZA O SINAL AMOSTRADO.4. FAÇA A ROTINA DE INTERRUPÇÃO MASCARAVEL , SABENDO QUE O DADO DIGITALIZADO DEVE SER ARMAZENADO NO END. 0300:0000.5. FAÇA UMA ROTINA CHAMADA FILTRO QUE IMPLEMENTE O FILTRO DIGITAL DA FIF. ABAIXO, SABENDO QUE OS DADOS ARMAZENADOS ESTÃO EM COMPLEMENTO A2 E A SAIDA DA ROTINA DEVE SER ARNAZENADA EM AL.

Z-1 Z-1 + Z-1 Z-1 Z-1 +1X Y

0,875

0,5 0,125

Page 34: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

EXERCICIO 17- CONTINUAÇÃO

6. FAÇA A ROTINA DE SAIDA QUE ENTREGUE A SAIDA DA ROTINA FILTRO PARA O CONVERSOR D/A.7. FAÇA A INICIALIZAÇÃO DO MICROCOMPUTADOR, SABENDO QUE O ENDEREÇO DA ROTINA DE INTERRUPÇÃO NMI É 0500: 0345 , DA ROTINAINT É 0600: 3000 E DA PILHA É 0D00:FFFF.8. FAÇA A ROTINA DE INTERRUPÇÃO NMI.---------------------------------------------------------------------------------------------------------------------------COMPONENTES DO PROJETO ; REGISTRADOR COM LD E OE, 3-STATE, DECODIFICADOR, FFD E ...

VIN S/H VOUT LOGICA

VIN A/D DADOS WR INTR RD CS 8

DADOS D/A VOUT 8

Page 35: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

ASSEMBLER / LINKER – PC (DOS)

PROGRAMA . ASM COMANDOS P/O ASSEMBLER +INSTR. EM ASSEMBLY

ASSEMBLER

PROGRAMA . OBJ

PROGRAMA1 . OBJ

PROGRAMAN . OBJ

LINKER

PROGRAMA . EXE

Page 36: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

ASSEMBLER / LINKER – PC (DOS)

LOADER

PROGRAMA . EXE

MEMORIA

Page 37: ARQUITETURA DE COMPUTADORES ENTRADA E SAIDA PROGRAMA PARA LER O CONTEUDO DAS CHAVES (EXERC. ANTERIOR). MOV AX, 0400H MOV DS, AX MOV BX, 0002H MOV AL, [BX]

ARQUITETURA DE COMPUTADORES

ASSEMBLER / LINKER – PC (DOS)

.EXENO DISCO NA MEMORIA

CABEÇALHO

SEGMENTO DE PILHA

SEGMENTO DE DADOS

SEGMENTO DE CODIGORET

PREFIXO

SEGMENTO DE PILHA

SEGMENTO DE DADOS

SEGMENTO DE CODIGORET

PONTO DE ENTRADA DO PROGRAMA

PONTO DE SAIDA DO PROGRAMA