Escolar Documentos
Profissional Documentos
Cultura Documentos
Contedo
1.
Dispositivos de I/O
1.
2.
2.
Interrupo
1.
2.
Entrada : teclado, mouse, scanners, leitores ticos e magnticos(disco rgido), cameras de vdeo, microfone, sensores, placas de rede, etc. Sada : impressoras, monitores de vdeo, plotters, atuadores, placas de rede, placa de som, etc. A comunicao se d atravs de interfaces que compatibilizam diferenas eltricas, de velocidade, do formato da informao, etc.
Exemplo
CPU
Solicitao de acesso
Standard I/O Modo de comunicao onde a CPU tem acesso direto aos perifricos atravs das instrues IN e OUT (2 bytes). Suporta at 256 dispositivos.
Memory-mapped I/O Neste Modo, os dispositivos de I/O so enxergados pela CPU como Memria. Parte do espao de endereamento dedicado aos perifricos. As instrues LDA addr e STA so utilizadas. Exige o uso de outros chips de suporte.
6
Existem, essencialmente, 3 Modos de comunicao entre a CPU do 8085 e os perifricos: 1. Polling 2. Orientado s interrupes 3. Direct Memory Access (DMA)
Diminuio do grau de envolvimento do processador
1- Pooling
A CPU efetua uma varredura peridica nos dispositivos para verificar a necessidade de transmisso de dados para a CPU ou se o dispositivo est livre para receber. No envolve sinais de Hardware, podendo ser implementado por software, utilizando-se, por exemplo, a instruo IN. Desvantagem : baixa eficiencia, uma vez que a CPU dever interromper os seus processamentos, a todo instante, para executar esta varredura.
8
CPU
HOLD
CDMA
I/O
barramentos
Memria
10
O Controlador de DMA solicita o acesso Memria atravs da entrada HOLD. A CPU interrompe o seu processamento e responde com a sada HLDA. So liberados os barramentos de Dados e de Endereo e as linhas de Controle (RD, WR, etc) e passam a ser assumidos pelo Controlador de DMA. A transmisso ocorre em alta velocidade, por hardware, entre a memria e o dispositivo de I/O. No final, o Controlador de DMA, interrompe a CPU e lhe devolve o controle dos barramentos. Aplicaes : transferencia de dados entre a Memria Principal e o disco rgido, CD-ROM,placas de video, etc.
Obs. : Na leitura do HD ou CD, no ocorre a transferencia de, apenas, 01 arquivo e, sim,de um bloco inteiro de arquivos para a rea de trabalho da CPU (Memria ). E que se tivesse que passar pelo Acumulador ficaria muito lento todo o processo.
11
A CPU sofre uma Interrupo sempre que um dispositivo solicita uma transferencia de dados. O contexto atual (contedo dos Registradores em uso ) dever ser salvo na Pilha para este atendimento. A Interrupo pode ser por Hardware ou por Software.
12
Sintaxe : RST N ( RST 0 ... RST 7 ). Podem substituir a chamadas de sub-rotinas mais frequentes. Equivalem a um CALL 8 x N.
Efeito CALL 0000h CALL 0008h CALL 0010h CALL 0018h CALL 0020h CALL 0028h CALL 0030h CALL 0038h
Cdigo C7 CF D7 DF E7 EF F7 FF
A instruo RST N s possui opcode (apenas 1 byte). Da, ocupa menos espao e sua execuo mais rpida que o Call. Usam a Pilha p/ salvar o contexto atual (PC, PSW, etc.) Com a instruo RET, retorna-se ao programa principal. H, apenas, 8 bytes disponveis para cada instruo.Da, uma instruo incondicional JMP utilizada.
14
Exemplo
;************************************************ ;Programa de multiplicao de 2 nmeros ;utilizando RST com sub-rotina de soma ; ;************************************************ .org 1000h inicio: LXI MVI MVI MVI RST HLT multi: ADD B DCR C JNZ multi RET .org 0000h jmp multi ;Adiciona B ao acumulador. A = A + B ;Decrementa o contador. C = C - 1. ;Desvia para "soma" se o resultado de DCR C no for zero (Se Z = 0) ;Retorna para programa principal
;Pilha na posio 2000 h ;Zera acumulador. ;Carrega o registrador B com N1 e ;o Registrador C com N2,que ser usado como contador ;Equivale a CALL 0000h.Chama subrotina que adiciona B ao acumulador. ;Encerra processamento
;****************************************************
15
No 8085 existem 5 Interrupes por Hardware. So solicitadas externamente. So Vetoradas.Ou seja,qdo ativada,a CPU interrompe o processamento e executa uma chamada de sub-rotina num endereo especfico
Interrupo TRAP RST 5.5 RST 6.5 RST 7.5 Efeito CALL 0024h CALL 002Ch CALL 0034h CALL 003Ch Pino 6 9 8 7
Os dispositivos de I/O utilizam a Interrupo por Hardware,quando o perifrico est pronto para enviar/ receber algum dado. A transferencia ocorre de forma mais eficiente; pois, a CPU s acionada no momento devido.
16
Interface(*)
Dado
CPU
(*) CI 16550 (UART) com taxa de transmisso de 115.200 bps e capacidade de armazenamento de 16 Bytes em memria FIFO. Converte dados seriais em paralelo.
17
As Interrupes por Hardware possuem ordem de prioridade. Durante o atendimento a uma interrupo, as demais ficam indisponveis e, se ocorrerem, ficaro pendentes.
Interrupo TRAP RST 7.5 RST 6.5 RST 5.5 INTR Prioridade 1 2 3 4 5 Vetor 0024h 003Ch 0034h 002C nenhum
A entrada INTR permite a expanso da capacidade de Interrupo utilizando um Controlador de Interrupes (CI8259),o qual recebe at 8 dispositivos e gera os endereos do Vetor (ou Call N ).
18
Ativado por nvel e por borda Ativado, apenas, por borda Ativado por nvel Ativado por nvel
19
;*****************************************************************
; Programa de Leitura do Teclado com Interrupo no Simulador de 8085 ; Objetivo: Preencher 16 posies de Memria ( Buffer Circular de Memria )
; Guarda cdigo de tecla no buffer. ; Incrementa endereo do buffer. ; Implementa buffer circular, com 16 bytes. ; Verifica se o buffer circular est cheio.
JNZ CONT
MVI L,00 CONT: EI RET ; SUB-ROTINA : Interrupo RST 7.5 .ORG 003CH JMP Leitura ; Habilita interrupo
20
TRAP
TRAP
D CP
CALL 0024h
Q _ Q
A transio do relgio de 0 para 1 transfere a entrada D para a sada Q ( Q=1) e o sinal alto de relgio habilita a porta AND na sada do Flip-Flop. A sada do circuito de interrupo TRAP assume valor 1, desviando o processamento para o endereo 0024H. Um sinal baixo no pino RESET IN ou um sinal alto de Reconhecimento de TRAP limpa o pedido de interrupo.
21
D CP
Q _ Q
I 7.5
M 7.5 Pino 8 RST 6.5 M 6.5 Pino 9 RST 5.5 M 5.5 MSE DI RESET IN
Qualquer Reconhecimento de Interrupo
S S QQ D _ R CP Q M 7.5
R
CALL 003Ch
I 6.5
CALL 0034h Q Q _ Q
SD
CP R
M 6.5 I 5.5
CALL 002Ch
S S QQ D R CP
R _ Q
M 5.5
EI
S D
CP R
Q Q _ Q
IE
Explicao no slide a seguir => 22
No incio, ou aps um Reset, a sada IE est baixa e as interrupes desabilitadas. Aps a execuo da instruo EI, o sinal EI vai para 1. Se a interrupes no estiverem mascaradas ( MSE = 0), todas estaro habilitadas Se o pino 7 for ativado(RST 7.5)I7.5=1 CALL 003Ch Se o pino 8 for ativado(RST 6.5)I6.5=1 CALL 0034h Se o pino 9 for ativado(RST 5.5)I5.5=1 CALL 002Ch Aps o acionamento de uma interrupo, a CPU manda o sinal QUALQUER RECONH... para 1, desabilitando as demais. Se ocorrer,ento, outra solicitao de interrupo, a sada respectiva (I7.5...I5.5) ir para 1, sinalizando-a como pendente. Ao trmino da sub-rotina, dever ser inserida uma instruo EI para re-habilitar todas as interrupes.
23
CPU 8085
INTA
dados
At 8 pedidos de Interrupo
O Controlador 8259 possui o endereo inicial de 8 sub-rotinas. No incio da solicitao, gerada uma transio de 0 p/ 1 em INTR. A CPU reconhece com um 0 por INTA\. O 8259 envia o cdigo da instruo CALL. A CPU responde com um 0 em INTA\. O 8259 envia a parte inferior do endereo da sub-rotina. A CPU responde com um 0 em INTA\. O 8259 envia a parte superior do endereo da sub-rotina. A CPU salva o contexto atual e executa a sub-rotina.
24
25
26
A Mscara de Interrupo permite o uso seletivo das Interrupes. Bloqueando as Interrupes indesejadas. A instruo SIM usa o contedo do Acumulador para definir a Mscara de Interrupo. A Mscara de Interrupo s reconhecida aps o uso da instruo SIM.
Passo 1 : O Acumulador carregado com os dados da Mscara, cujos bits, acionaro as linhas do circuito de controle das Interrupes. Passo 2 : A instruo SIM executada para que possibilite a transferencia dos bits para o circuito de controle.
27
Acumulador SOD
Dado de Sada Serial Habilitao de Sada Serial Irrelevante Zera Flip-flop RST 7.5 Habilitao Setagem Mscara
Seta Mscara RST 7.5 Seta Mscara RST 6.5 Seta Mscara RST 5.5
28
SOE 0
X 0
R 7.5 0
MSE 1
M7.5 1
M6.5 1
M5.5 0
0 Programa 1
Na configurao acima, somente a interrupo RST 5.5 estar habilitada. As demais estaro desabilitadas.
EI
MVI A, 0E SIM Programa 2 EI MVI A, 08 SIM
; Habilita interrupes
; Carrega o padro de bits para habilitar somente RST5.5 ; Habilita RST 5.5 ; Habilita interrupes ; Carrega no Acumulador o padro de bits para habilitar as 3 ;interrupes ; Habilita as interrupes RST 7.5, 6.5, 5.5
29
30
Acumulador SID
Dado da Entrada Serial Interrupo R7.5 pendente Interrupo R6.5 pendente Interrupo R5.5 pendente Habilitao de Interrupo Mscara da Interrupo RST 7.5 Mscara da Interrupo RST 6.5
31
IE 1
M7.5 1
M6.5 0
M5.5 0
Leitura da Mscara :
Abrir :
Prg-08(Interrup.....).asm
33
34