Beruflich Dokumente
Kultur Dokumente
(ACom)
MEAer
Aula No 06:
2015/2016
Nuno.Roma@tecnico.ulisboa.pt
Arquitectura de Computadores
(ACom)
Aula Anterior
Ambiente de
Desenvolvimento do
Na aula anterior...
P3
Perif
ericos do Recursos do P3
processador P3
Instrucoes do P3:
Interrupco
es
Ambiente de
Desenvolvimento do
P3
Perif
ericos do
processador P3
Interrupco
es
Contagem do Tempo
Pr
oxima Aula
Planeamento
Ambiente de
Desenvolvimento do
Planeamento
P3
Perif
ericos do
processador P3
Interrupco
es
Contagem do Tempo
Pr
oxima Aula
Ambiente de
Desenvolvimento do
Hoje:
P3
Perif
ericos do
Ambiente de desenvolvimento do P3;
processador P3 Perifericos do P3;
Interrupco
es
Entradas e sadas;
Contagem do Tempo
Interrupcoes;
Pr
oxima Aula
Contagem do Tempo.
Bibliografia:
Seccoes 14.5 e A.2
Ambiente de
Desenvolvimento do
P3
Perif
ericos do
processador P3
Interrupco
es
Contagem do Tempo
Pr
oxima Aula
Ambiente de Desenvolvimento do P3
Ambiente de
Desenvolvimento do Constitudo por duas ferramentas distintas (em Linux):
P3
Perif
ericos do Compilador de linguagem Assembly
processador P3
Invocacao: $ p3as-linux <nome>.as
Interrupco
es
Resultado:
Contagem do Tempo
Pr
oxima Aula <nome>.exe - Codigo binario
<nome>.lis - Listagem das referencias (tags) utilizadas
Simulador do processador P3
Invocacao: $ java -jar p3sim.jar <nome>.exe
Simulador do processador P3
Ambiente de
Desenvolvimento do
Simulador do processador P3:
P3
Perif
ericos do
processador P3
Interrupco
es
Contagem do Tempo
Pr
oxima Aula
Interrupco
es
Contagem do Tempo
Pr
oxima Aula
Perif
ericos do processador P3
Perif
ericos do processador P3
Ambiente de
Desenvolvimento do
Varios perifericos disponveis:
P3
Perif
ericos do Entrada:
processador P3
Interrupco
es
8 Interruptores ON-OFF (switches)
Contagem do Tempo 15 Botoes de pressao*
Pr
oxima Aula
Sada:
16 LEDs
4 Displays de 7 segmentos
LCD de 2 linhas
Entrada & Sada:
Janela de texto
Outros:
Temporizador*
* - Atraves de interrupcao
Ambiente de
Desenvolvimento do
Utilizacao:
P3
Perif
ericos do Acessveis atraves do endereco FFF8h;
processador P3
O estado individual de cada LED (ligado/desligado) e
Interrupco
es
definido por uma escrita para este porto;
Contagem do Tempo
O LED da direita e controlado pelo bit menos
Pr
oxima Aula
significativo da palavra escrita.
LEDs
Ambiente de
Desenvolvimento do
Exemplo:
P3
Perif
ericos do LEDS EQU FFF8h
processador P3
Interrupco
es ORIG 0000h
...
Contagem do Tempo
MOV R1,1100111011011011b
Pr
oxima Aula MOV M[LEDS], R1
...
Ambiente de
Desenvolvimento do
Utilizacao:
P3
Perif
ericos do Acessveis atraves do endereco FFF9h;
processador P3
Uma leitura deste endereco permite ler, em simultaneo,
Interrupco
es
o estado do conjunto dos 8 interruptores;
Contagem do Tempo
Ao interruptor da direita corresponde o bit menos
Pr
oxima Aula
significativo da palavra lida.
Ambiente de
Desenvolvimento do
Exemplo:
P3
Perif
ericos do LEDS EQU FFF8h
processador P3 SWITCH EQU FFF9h
Interrupco
es
ORIG 0000h
Contagem do Tempo
...
Pr
oxima Aula ReadSW: MOV R1, M[SWITCH]
MOV M[LEDS], R1
BR ReadSW
...
Ambiente de
Desenvolvimento do
Utilizacao:
P3
Perif
ericos do Acessveis atraves dos enderecos FFF0h, FFF1h, FFF2h e
processador P3
FFF3h;
Interrupco
es
Cada um destes portos controla, da direita para a
Contagem do Tempo
esquerda, um conjunto de 7 segmentos de LEDs;
Pr
oxima Aula
Os 4 bits menos significativos determinam o caracter
hexadecimal (0h a Fh) que aparece no display.
Displays de 7 Segmentos
Ambiente de
Desenvolvimento do
Exemplo:
P3
Perif
ericos do
processador P3
Interrupco
es
Contagem do Tempo
DISPLAY7SEG0 EQU FFF0h
DISPLAY7SEG1 EQU FFF1h
Pr
oxima Aula
DISPLAY7SEG2 EQU FFF2h
DISPLAY7SEG3 EQU FFF3h
ORIG 0000h
...
MOV R1, 3
MOV R2, 15
MOV M[DISPLAY7SEG3], R2
SUB R2, R1
MOV M[DISPLAY7SEG2], R2
SUB R2, R1
MOV M[DISPLAY7SEG1], R2
SUB R2, R1
MOV M[DISPLAY7SEG0], R2
...
Ambiente de
Desenvolvimento do
Utilizacao:
P3
Perif
ericos do Display com 16 colunas
processador P3
e 2 linhas de texto;
Interrupco
es
Uma escrita para o
Contagem do Tempo
porto FFF5h faz ecoar o
Pr
oxima Aula
caracter ASCII
correspondente aos
8 LSBs da palavra
escrita;
O porto FFF4h e um porto de controlo:
Bit 15 - Liga ou desliga o LCD;
Bit 5 - Limpa o LCD;
Bit 4 - Posiciona o cursor na linha 0 ou 1;
Bits 3 a 0 - Posiciona o cursor na coluna especificada.
LCD
Ambiente de
Desenvolvimento do
Exemplo:
P3
Perif
ericos do
processador P3
Interrupco
es
LCD_CTR EQU FFF4h
Contagem do Tempo LCD_CHAR EQU FFF5h
Pr
oxima Aula ORIG 8000h
Text STR Hello World,0
ORIG 0000h
...
MOV R1, 1000000000100000b ; Activa e limpa o LCD
MOV M[LCD_CTR], R1
MOV R1, 1000000000000011b ; Linha 0, Coluna 3
MOV M[LCD_CTR], R1
MOV R2, Text ; Ponteiro para o caracter a escrever
Other: MOV R3, M[R2]
CMP R3, R0
BR.Z EndLCD
CMP R3,
BR.NZ Cont
OR R1, 0000000000010000b ; Muda de linha
Cont: MOV M[LCD_CHAR], R3 ; Escreve caracter
INC R2
INC R1
MOV M[LCD_CTR], R1 ; Avan
ca para a pr
oxima posi
ca~o
BR Other
EndLCD: BR EndLCD
Ambiente de
Desenvolvimento do
P3
Perif
ericos do
processador P3
Interrupco
es
Contagem do Tempo
Pr
oxima Aula
Janela de Texto
Ambiente de
Desenvolvimento do
Utilizacao:
P3
Perif
ericos do Permite ler caracteres do teclado do computador;
processador P3
Permite escrever caracteres numa janela com 24 linhas e
Interrupco
es
80 colunas;
Contagem do Tempo
Estao reservados 4 portos:
Pr
oxima Aula
Porto de Leitura - FFFFh (leitura):
Retorna o caracter ASCII correspondente `a u
ltima
tecla premida sobre a janela de texto;
Porto de Escrita - FFFEh (escrita):
Permite escrever um dado caracter ASCII na janela de
texto;
A janela mantem internamente um cursor onde este
caracter e escrito;
Ambiente de
Desenvolvimento do
Utilizacao:
P3
Perif
ericos do Porto de Estado - FFFDh (leitura):
processador P3
Interrupco
es Permite testar se existe ou nao algum caracter para ler
Contagem do Tempo na janela de texto; caso nao haja, uma leitura deste
Pr
oxima Aula porto retorna 0;
Porto de Controlo - FFFCh (escrita):
Uma escrita do valor FFFFh inicializa (apaga) a janela
de texto;
Apos a inicializacao, a escrita de um caracter no porto
de escrita incrementa automaticamente o cursor;
possvel posicionar o cursor numa dada posicao
E
arbitraria da janela escrevendo, para o porto de
controlo, a coordenada desejada de acordo com a
seguinte representacao:
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Linha Coluna
Janela de Texto
Ambiente de
Desenvolvimento do
Exemplo:
P3
Perif
ericos do
processador P3
Interrupco
es
Contagem do Tempo
Pr
oxima Aula
TXT_CTR EQU FFFCh
TXT_ST EQU FFFDh
TXT_WR EQU FFFEh
TXT_RD EQU FFFFh
ORIG 8000h
Prompt STR Type some text (press . to finish): ,0
Nome TAB 80
ORIG 0000h
...
RdKey: ...
Ambiente de
Desenvolvimento do Exemplo (cont):
P3
...
Perif
ericos do MOV R2, R0
processador P3 Wait: CMP M[TXT_ST], R0 ; Ciclo de espera por uma tecla primida
BR.Z Wait
Interrupco
es MOV R1, M[TXT_RD] ; L^
e a
ultima tecla primida
CMP R1, .
Contagem do Tempo BR.Z EndInp
Pr
oxima Aula MOV M[TXT_WR], R1 ; Escreve caracter lido
MOV M[R2+Nome], R1
INC R2
BR Wait
EndInp: MOV M[R2+Nome], R0
...
Janela de Texto
Ambiente de
Desenvolvimento do Exemplo (cont):
P3
...
Perif
ericos do MOV R1, FFFFh
processador P3 MOV M[TXT_CTR], R1 ; Inicializa e limpa a janela
MOV R1, 050Ah ; Linha 5, coluna 10
Interrupco
es MOV M[TXT_CTR], R1 ; Posiciona cursor
Contagem do Tempo MOV R2, R0
Pr
oxima Aula NxStep: MOV R3, M[R2+Nome]
CMP R3, R0
BR.Z EndPrg
MOV M[TXT_WR], R3 ; Escreve caracter
INC R2
INC R1 ; Avan
ca para a pr
oxima coluna
MOV M[TXT_CTR], R1 ; Posiciona cursor
BR NxStep
EndPrg: BR EndPrg
Ambiente de
Desenvolvimento do Exemplo (cont):
P3
...
Perif
ericos do MOV R1, FFFFh
processador P3 MOV M[TXT_CTR], R1 ; Inicializa e limpa a janela
MOV R1, 050Ah ; Linha 5, coluna 10
Interrupco
es MOV M[TXT_CTR], R1 ; Posiciona cursor
Contagem do Tempo MOV R2, R0
Pr
oxima Aula NxStep: MOV R3, M[R2+Nome]
CMP R3, R0
BR.Z EndPrg
MOV M[TXT_WR], R3 ; Escreve caracter
INC R2
INC R1 ; Avan
ca para a pr
oxima coluna
MOV M[TXT_CTR], R1 ; Posiciona cursor
BR NxStep
EndPrg: BR EndPrg
Ambiente de
Desenvolvimento do
P3
Perif
ericos do
processador P3
Interrupco
es
Contagem do Tempo
Pr
oxima Aula
Interrupco
es
Ambiente de
Desenvolvimento do
Interrupco
es:
P3
Perif
ericos do Acontecem quando a sequencia normal das instrucoes e
processador P3
alterada por motivos externos (e nao so) ao processador;
Interrupco
es
Necessidade de efectuar algum processamento especfico;
Contagem do Tempo
Operacoes de entrada/sada (teclado, porto serie, etc.).
Pr
oxima Aula
Interrupc
oes
Ambiente de
Desenvolvimento do
Exemplos:
P3
Perif
ericos do
processador P3
Interrupco
es
Contagem do Tempo
Pr
oxima Aula
Ambiente de
Desenvolvimento do
Exemplos:
P3
Perif
ericos do
processador P3
Interrupco
es
Contagem do Tempo
Pr
oxima Aula
Interrupc
oes
Ambiente de
Desenvolvimento do
Alternativa ao uso de interrupcoes:
P3
Perif
ericos do Polling - o processador amostra, a intervalos regulares, o
processador P3
valor sob observacao;
Interrupco
es
Problema: sobrecarga grande do processador!!!
Contagem do Tempo
Pr
oxima Aula
Ambiente de
Desenvolvimento do
Alternativa ao uso de interrupcoes:
P3
Perif
ericos do Polling - o processador amostra, a intervalos regulares, o
processador P3
valor sob observacao;
Interrupco
es
Problema: sobrecarga grande do processador!!!
Contagem do Tempo
Pr
oxima Aula
Interrupc
oes
Ambiente de
Desenvolvimento do
Alternativa ao uso de interrupcoes:
P3
Perif
ericos do Polling - o processador amostra, a intervalos regulares, o
processador P3
valor sob observacao;
Interrupco
es
Problema: sobrecarga grande do processador!!!
Contagem do Tempo
Pr
oxima Aula
Ambiente de
Desenvolvimento do
Alternativa ao uso de interrupcoes:
P3
Perif
ericos do Polling - o processador amostra, a intervalos regulares, o
processador P3
valor sob observacao;
Interrupco
es
Problema: sobrecarga grande do processador!!!
Contagem do Tempo
Pr
oxima Aula
Interrupc
oes
Ambiente de
Desenvolvimento do
Sinalizac
ao das Interrupco
es:
P3
Perif
ericos do Cada processador disponibiliza uma ou mais linhas de
processador P3
interrupcao que sao activadas pelos dispositivos
Interrupco
es
exteriores;
Contagem do Tempo
Pr
oxima Aula
Ambiente de
Desenvolvimento do
Sinalizac
ao das Interrupco
es:
P3
Perif
ericos do Cada processador disponibiliza uma ou mais linhas de
processador P3
interrupcao que sao activadas pelos dispositivos
Interrupco
es
exteriores;
Contagem do Tempo
Pr
oxima Aula Identificac
ao das Interrupco
es:
Apos ter recebido a indicacao de que uma interrupcao
vai ser atendida, o dispositivo utiliza um dos
barramentos exteriores para identificar a interrupcao -
vector de interrupc ao;
uma u nica linha de interrupcao pode sinalizar varias
interrupcoes diferentes!
Interrupc
oes
Ambiente de
Desenvolvimento do
Atendimento das Interrupco
es:
P3
Perif
ericos do O processador acede a uma tabela que indica qual o
processador P3
endereco da sub-rotina que deve ser usada para atender
Interrupco
es
o pedido - tabela de rotinas de interrupcao;
Contagem do Tempo
Pr
oxima Aula
Ambiente de
Desenvolvimento do
Atendimento das Interrupco
es:
P3
Perif
ericos do O processador acede a uma tabela que indica qual o
processador P3
endereco da sub-rotina que deve ser usada para atender
Interrupco
es
o pedido - tabela de rotinas de interrupc ao;
Contagem do Tempo
Transfere o controlo da execucao para esta sub-rotina,
Pr
oxima Aula
apos a salvaguarda (automatica) na pilha de:
Registo de Estado (RE);
Program Counter (PC)
Interrupc
oes
Ambiente de
Desenvolvimento do
Atendimento das Interrupco
es:
P3
Perif
ericos do O processador acede a uma tabela que indica qual o
processador P3
endereco da sub-rotina que deve ser usada para atender
Interrupco
es
o pedido - tabela de rotinas de interrupc ao;
Contagem do Tempo
Transfere o controlo da execucao para esta sub-rotina,
Pr
oxima Aula
apos a salvaguarda (automatica) na pilha de:
Registo de Estado (RE);
Program Counter (PC)
Ambiente de
Desenvolvimento do
Tabela de rotinas de interrupc
ao:
P3
Perif
ericos do Residente numa zona fixa de mem oria;
processador P3
Possui tantas entradas quantas as interrupcoes do
Interrupco
es
processador;
Contagem do Tempo
Cada entrada contem o endereco do incio da rotina de
Pr
oxima Aula
tratamento dessa interrupcao.
Interrupc
oes
Ambiente de
Desenvolvimento do
Tabela de rotinas de interrupc
ao:
P3
Perif
ericos do Residente numa zona fixa de mem oria;
processador P3
Possui tantas entradas quantas as interrupcoes do
Interrupco
es
processador;
Contagem do Tempo
Cada entrada contem o endereco do incio da rotina de
Pr
oxima Aula
tratamento dessa interrupcao.
No P3 esta tabela comeca no endereco FE00h;
Ambiente de
Desenvolvimento do
Tabela de rotinas de interrupc
ao:
P3
Perif
ericos do Residente numa zona fixa de mem oria;
processador P3
Possui tantas entradas quantas as interrupcoes do
Interrupco
es
processador;
Contagem do Tempo
Cada entrada contem o endereco do incio da rotina de
Pr
oxima Aula
tratamento dessa interrupcao.
No P3 esta tabela comeca no endereco FE00h;
Exemplo:
Caso seja activada a interrupc
ao n, a execuc
ao da rotina de
atendimento da interrupc
ao ocorrera a partir do valor guardado na
posic
ao de memoria FE00h + n:
PC M[FE00h + n]
Se for a interrupc
ao 5...
PC M[FE05h]
Interrupc
oes
Ambiente de
Desenvolvimento do
NOTA: as interrupcoes podem ocorrer em qualquer
P3
momento, sem que o processador o possa prever...
Perif
ericos do
processador P3 Exemplo: entre a execucao de uma instrucao aritmetica e a
Interrupco
es instrucao de salto condicional que dela depende:
Contagem do Tempo
Loop: DEC R1
Pr
oxima Aula
Interrup
ca
~o !!!
BR.Z Loop
Da a necessidade em salvaguardar o Registo de
Estado (RE)...
Ambiente de
Desenvolvimento do Activac
ao/Inibic
ao das Interrupco
es:
P3
Perif
ericos do O programador pode desactivar um bit de estado (E) de
processador P3
modo a impedir que as interrupcoes sejam atendidas;
Interrupco
es
Interrupc
oes
Ambiente de
Desenvolvimento do Activac
ao/Inibic
ao das Interrupco
es:
P3
Perif
ericos do O programador pode desactivar um bit de estado (E) de
processador P3
modo a impedir que as interrupcoes sejam atendidas;
Interrupco
es
Ambiente de
Desenvolvimento do Activac
ao/Inibic
ao das Interrupco
es:
P3
Perif
ericos do O programador pode desactivar um bit de estado (E) de
processador P3
modo a impedir que as interrupcoes sejam atendidas;
Interrupco
es
Interrupc
oes
Ambiente de
Desenvolvimento do Activac
ao/Inibic
ao das Interrupco es:
P3
Perif
ericos do E ainda possvel filtrar as interrupcoes que devem ser
processador P3
atendidas ou impedir o atendimento de outras atraves de
Interrupco
es
uma m ascara de interrupco es:
Contagem do Tempo
Pr
oxima Aula Colocar a zero o bit com peso igual ao vector de
interrupcao que se pretende inibir:
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1
Ambiente de
Desenvolvimento do Activac
ao/Inibic
ao das Interrupco es:
P3
Perif
ericos do E ainda possvel filtrar as interrupcoes que devem ser
processador P3
atendidas ou impedir o atendimento de outras atraves de
Interrupco
es
uma m ascara de interrupco es:
Contagem do Tempo
Pr
oxima Aula Colocar a zero o bit com peso igual ao vector de
interrupcao que se pretende inibir:
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1
Interrupc
oes
Ambiente de
Desenvolvimento do Activac
ao/Inibic
ao das Interrupco es:
P3
Perif
ericos do E ainda possvel filtrar as interrupcoes que devem ser
processador P3
atendidas ou impedir o atendimento de outras atraves de
Interrupco
es
uma m ascara de interrupco es:
Contagem do Tempo
Pr
oxima Aula Colocar a zero o bit com peso igual ao vector de
interrupcao que se pretende inibir:
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1
Ambiente de
Desenvolvimento do Activac
ao/Inibic
ao das Interrupco es:
P3
Perif
ericos do E ainda possvel filtrar as interrupcoes que devem ser
processador P3
atendidas ou impedir o atendimento de outras atraves de
Interrupco
es
uma m ascara de interrupco es:
Contagem do Tempo
Pr
oxima Aula Colocar a zero o bit com peso igual ao vector de
interrupcao que se pretende inibir:
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1
Interrupc
oes
Ambiente de
Desenvolvimento do
Como
e que
e desencadeada uma interrupc
ao?
P3
Perif
ericos do
processador P3
Interrupco
es
Contagem do Tempo
Pr
oxima Aula
Bot
oes de Press
ao:
Estao disponveis 15 bot
oes de pressao, cada um
associado a um vector de interrupcao;
O accionamento do botao de ndice i faz com que o
P3 chame a rotina de interrupcao associada ao
vector i: PC <- M[FE00h+i]
Temporizador (vemos a seguir)
Ambiente de
Desenvolvimento do
Passos necess
arios para a utilizac
ao de interrupco
es:
P3
Perif
ericos do 0. Inicializac
ao do Stack!!!
processador P3
1. Preenchimento da tabela de interrupco es
Interrupco
es
2. Inicializac
ao da mascara de interrupco
es
Contagem do Tempo
3. Activacao das interrupco
es
Pr
oxima Aula
Interrupc
oes
Ambiente de
Desenvolvimento do
Passos necess
arios para a utilizac
ao de interrupco
es:
P3
Perif
ericos do 0. Inicializac
ao do Stack!!!
processador P3
SP INICIAL EQU FDFFh
Interrupco
es
; Programa principal
Contagem do Tempo Inicio: MOV R7, SP INICIAL
Pr
oxima Aula MOV SP, R7
...
Ambiente de
Desenvolvimento do
Passos necess
arios para a utilizac
ao de interrupco
es:
P3
Perif
ericos do 0. Inicializac
ao do Stack!!!
processador P3
1. Preenchimento da tabela de interrupco
es
Interrupco
es
; Tabela de interrup
c~oes
Contagem do Tempo
ORIG FE00h
Pr
oxima Aula INT0 WORD ...
INT1 WORD ResetCont
INT2 WORD ...
2. Inicializac
ao da m
ascara de interrupco
es
3. Activacao das interrupco
es
Interrupc
oes
Ambiente de
Desenvolvimento do
Passos necess
arios para a utilizac
ao de interrupco
es:
P3
Perif
ericos do 0. Inicializac
ao do Stack!!!
processador P3
1. Preenchimento da tabela de interrupco es
Interrupco
es
2. Inicializac
ao da mascara de interrupco
es
Contagem do Tempo
Pr
oxima Aula
INT MASK ADDR EQU FFFAh
INT MASK EQU 0000000000000010b
; Programa principal
Inicio: ...
MOV R7, INT MASK
MOV M[INT MASK ADDR], R7
...
3. Activac
ao das interrupco
es
Ambiente de
Desenvolvimento do
Passos necess
arios para a utilizac
ao de interrupco
es:
P3
Perif
ericos do 0. Inicializac
ao do Stack!!!
processador P3
1. Preenchimento da tabela de interrupco es
Interrupco
es
2. Inicializac
ao da mascara de interrupco
es
Contagem do Tempo
3. Activacao das interrupco
es
Pr
oxima Aula
; Programa principal
Inicio: ...
ENI
...
Interrupc
oes
Ambiente de
Desenvolvimento do
Exemplo:
P3
SP INICIAL EQU FDFFh
Perif
ericos do INT MASK ADDR EQU FFFAh
processador P3 INT MASK EQU 0000000000000001b
Interrupco
es
; Tabela de interrup
co~es
Contagem do Tempo ORIG FE00h
INT0 WORD ResetCont
Pr
oxima Aula
ORIG 0000h ; Programa principal
Inicio: MOV R7, SP INICIAL
MOV SP, R7
MOV R7, INT MASK
MOV M[INT MASK ADDR], R7
ENI
...
Interrupco
es
Contagem do Tempo
Pr
oxima Aula
Contagem do Tempo
Contagem do Tempo
Ambiente de
Desenvolvimento do
Como tratar a passagem do tempo num
P3
computador?
Perif
ericos do
processador P3 Soluc
ao: temporizadores (timers)
Interrupco
es
Contagem do Tempo
Pr
oxima Aula
Ambiente de
Desenvolvimento do
Como tratar a passagem do tempo num
P3
computador?
Perif
ericos do
processador P3 Soluc
ao: temporizadores (timers)
Interrupco
es
Contagem do Tempo
Pr
oxima Aula
Contagem do Tempo
Ambiente de
Desenvolvimento do
Como tratar a passagem do tempo num
P3
computador?
Perif
ericos do
processador P3 Soluc
ao: temporizadores (timers)
Interrupco
es
Contagem do Tempo
Pr
oxima Aula
Ambiente de
Desenvolvimento do
Como tratar a passagem do tempo num
P3
computador?
Perif
ericos do
processador P3 Soluc
ao: temporizadores (timers)
Interrupco
es
Contagem do Tempo
Pr
oxima Aula
Contagem do Tempo
Ambiente de
Desenvolvimento do
Como tratar a passagem do tempo num
P3
computador?
Perif
ericos do
processador P3 Soluc
ao: temporizadores (timers)
Interrupco
es
Contagem do Tempo
Pr
oxima Aula
Ambiente de
Desenvolvimento do O temporizador e controlado por duas posicoes de mem
oria:
P3
Perif
ericos do
processador P3
endereco FFF6h - corresponde ao temporizador
Interrupco
es propriamente dito, contendo o n
umero de unidades de
Contagem do Tempo tempo a decrementar;
Pr
oxima Aula endereco FFF7h - permite parar (=0) ou activar (=1) o
funcionamento do contador;
Contagem do Tempo
Ambiente de
Desenvolvimento do O temporizador e controlado por duas posicoes de mem
oria:
P3
Perif
ericos do
processador P3
endereco FFF6h - corresponde ao temporizador
Interrupco
es propriamente dito, contendo o n
umero de unidades de
Contagem do Tempo tempo a decrementar;
Pr
oxima Aula endereco FFF7h - permite parar (=0) ou activar (=1) o
funcionamento do contador;
Ambiente de
Desenvolvimento do O temporizador e controlado por duas posicoes de mem
oria:
P3
Perif
ericos do
processador P3
endereco FFF6h - corresponde ao temporizador
Interrupco
es propriamente dito, contendo o n
umero de unidades de
Contagem do Tempo tempo a decrementar;
Pr
oxima Aula endereco FFF7h - permite parar (=0) ou activar (=1) o
funcionamento do contador;
Contagem do Tempo
Ambiente de
Desenvolvimento do O temporizador e controlado por duas posicoes de mem
oria:
P3
Perif
ericos do
processador P3
endereco FFF6h - corresponde ao temporizador
Interrupco
es propriamente dito, contendo o n
umero de unidades de
Contagem do Tempo tempo a decrementar;
Pr
oxima Aula endereco FFF7h - permite parar (=0) ou activar (=1) o
funcionamento do contador;
Ambiente de
Desenvolvimento do
O temporizador esta associado `a interrupc
ao 15, a qual e
P3
activada quando o contador atinge o valor 0
Perif
ericos do
processador P3
Interrupco
es
Contagem do Tempo
Pr
oxima Aula
Contagem do Tempo
Ambiente de
Desenvolvimento do
O temporizador esta associado `a interrupc
ao 15, a qual e
P3
activada quando o contador atinge o valor 0:
Perif
ericos do
processador P3
Para garantir a maxima precisao, e conveniente que a
Interrupco
es
opria rotina
re-programacao do timer seja feita pela pr
Contagem do Tempo
de atendimento da interrupc ao!!!
Pr
oxima Aula
; esta subrotina
e chamada quando o temporizador chegou ao fim (0) vai ser necess
ario
; definir novo valor de contagem e permitir que essa contagem comece ( M[FFF7h] = 1 )
TimerSub: PUSH R1
MOV R1,TimeLong
MOV M[TimerValue],R1 ; definir valor de contagem do timer
MOV R1,EnableTimer
MOV M[TimerControl],R1 ; inicia contagem
...
POP R1
RTI
Ambiente de
Desenvolvimento do
P3
Perif
ericos do
processador P3
Interrupco
es
Contagem do Tempo
Pr
oxima Aula
Pr
oxima Aula
Ambiente de
Desenvolvimento do
Traducao de linguagem de alto nvel para Assembly:
P3
Perif
ericos do
Constantes
processador P3 Variaveis
Interrupco
es Estruturas de controlo
Contagem do Tempo Chamadas a sub-rotinas
Pr
oxima Aula
Passagem de parametros para sub-rotinas:
Por registo
Por mem oria
Pela pilha
Nota de Agradecimento
Ambiente de
Desenvolvimento do
P3
Perif
ericos do
processador P3
Agradecimento
Interrupco
es
Contagem do Tempo
Algumas paginas desta apresentacao foram extraidas de:
Pr
oxima Aula
[1] Jose Carlos Monteiro, Arquitectura de Computadores, Instituto
Superior Tecnico (IST), Universidade Tecnica de Lisboa, Portugal,
2010.