































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Este documento explica o conceito de interrupções no arm, diferenciar interrupções de subrotinas, conhecer os mecanismos de interrupção do arm, aprender a instalar interrupções na memória e detalhar o atendimento de uma interrupção. O texto inclui um exemplo prático e a organização dos endereços de interrupção.
O que você vai aprender
Tipologia: Exercícios
1 / 39
Esta página não é visível na pré-visualização
Não perca as partes importantes!
INTERRUPÇÃO
Objetivos
Controlador
Vamos supor que você está jogando CandyCrush no seu smartphone e alguém resolve ligar para você...
É a quebra da sequência de operação de forma a atender eventos especiais, tais como:
Como eu informo a CPU que um evento quer interrompê-la?
Via um sinal de interrupção enviado ao GSI por linhas de interrupção
Cada linha de interrupção têm associada a ela um dispositivo (ou conjunto deles) que enviam o sinal de interrupção quando desejam ser atendidos.
GERADOR DE SINAIS DE INTERRUPÇÃO
D Q
CLR Q
GERADOR DE SEQUÊNCIA DE INTERRUPÇÃO
^ ...^ ...
...
sinais de controle sinais de controle sinal do fim da sequência de micro- comandos
sinal do fim da sequência de micro- comandos
sinal de^ C.O. interrupção
Flip-Flop de Interrupção sinais de controle
Onde iremos armazenas essas informações?
Pilha ← (PC) Pilha ← (PSW) PC ← End da RSI
End de retorno Estado corrente do processador
GERADOR DE SINAIS DE INTERRUPÇÃO
Desvia a execução para RSI
ROTINAS DE SERVIÇO DE INTERRUPÇÃO
Qual é o endereço da Rotina de Serviço de Interrupção?
Mapeamento Interno à CPU
Mapeamento
ROTINAS DE SERVIÇO DE INTERRUPÇÃO
Qual é o endereço da Rotina de Serviço de Interrupção?
Mapeamento Externo à CPU
end
Controlador de Interrupções
GSI
INTERRUPÇÃO
Onde se encontram as Rotinas de Serviço de Interrupção?
Possibilidade 1: Nos endereços associadas às linhas de interrupção L1 → RS L2 → RS
L3 → RS
(1) Em posições não contíguas de memória
Ln (^) ENDn
“mouse”
“mouse”
“teclado”
“teclado”
Invadiu a área reservada para a RSI de outra linha de interrupção!
Solução?
Desviar a execução para uma área livre da memória
“teclado” – P
“teclado” – P
... JUMP ENDX
Nesta forma de organização, cada endereço associado à linha de interrupção possui um conjunto de palavras para instalação das RSIs.
SINAIS DO GSI PUSH PC PUSH PSW JUMP ENDi PC ← ENDi
ORGANIZAÇÃO DOS ENDEREÇOS DE INTERRUPÇÃO
(2) Em vetores (interrupção vetorizada)
Ln (^) ENDn
Nesta forma de organização, os endereços associados à cada linha de interrupção estão em posições contíguas da memória ...
Desta forma, os endereços de interrupção conterão apenas os endereços das RSI apropriadas.
Isto implica não haver espaço para a instalação da RSI ...
SINAIS DO GSI PUSH PC PUSH PSW JUMP (ENDi) PC ← (ENDi) = RSIi
ORGANIZAÇÃO DOS ENDEREÇOS DE INTERRUPÇÃO
ORGANIZAÇÃO DOS ENDEREÇOS DE INTERRUPÇÃO
L3 L2 L
Se, antes de executar a RSI eu seto 001 no PSW, quem poderá interrompê-la?
A este valor que setamos no PSW chamamos de MÁSCARA DE INTERRUPÇÃO
Apenas a Linha 1!
Muitas vezes faz-se necessário passar uma máscara para o Registrador de Estado antes de iniciar a execução da RSI. Como faremos isso?
INTERRUPÇÃO X SUBROTINAS
ATENDIMENTO Síncrono (programa)
Assíncrono (sinal externo)
Própria Instrução Vetor de Interrupções
DESVIO DA EXECUÇÃO Salva PC Salva PC e PSW
RETORNO AO Restaura PC Restaura PC e PSW PROGRAMA
Controlador ao executar CALL
Controlador ao executar RTS
Controlador ao executar RTI
Diferença entre Interrupção e Subrotina?
INSTALANDO RSIs
Seja uma arquitetura onde as linhas de interrupção L1, L2 e L3 estão associadas a um Vetor de Interrupções de endereços contíguos e sem PSW. O Vetor de Interrupções começa na posição 0 de memória e as RSIs estão, respectivamente, nas posições 300, 400 e 500. Escreva um programa que implemente estas condições.
L END L2 (^) END L3 (^) END
Antes de continuar, vamos falar mais um pouco sobre pseudo-instruções ...