EA-869 - Dúvidas Frequentes

EA-869 - Dúvidas Frequentes

Capítulo VI (1/2006)


(Ting - 2s97, Léo - 1s2006)
A seção VI.2 do livro-texto apresenta uma lista de dúvidas frequentes e soluções. Ela é muito elucidativa.


O que é uma rotina de serviço crítica?

O que é um sinal de reconhecimento de interrupção (interrupt acknowledge)?

Solução do exercício 23 do Capítulo.


O que é uma rotina de serviço crítica?

    No contexto da Capítulo VI uma rotina de serviço crítica é aquela cuja execução não deve ser interrompida.

O que é um sinal de reconhecimento de interrupção (interrupt acknowledge)?

    Quando o mapeamento de endereço de rotina de interrupção é externo à CPU, o Controlador de Interrupções pode gerar um sinal no pino de interrupção de processador em decorrência de um evento externo. Em algumas arquiteturas, o processador, assim que estiver apto para receber o endereço da rotina de serviço identificado pelo Controlador de Interrupções, gera o sinal de reconhecimento de interrupção que habilita a transferência deste endereço do Controlador para CPU via o barramento de dados.

Solução do exercício 23 do Capítulo.

    Como a arquitetura é de mascaramento por nível, uma rotina de serviço só pode ser interrompida se ocorrer um nível de interrupção maior ou igual ao nível de prioridade do programa corrente. Para o nosso problema, podemos associar a cada uma das três linhas de interrupção um nível de prioridade. Por exemplo,
    Linha Nível de Prioridade
    L1 3 (máxima)
    L2 2
    L3 1
    Quando uma linha, por exemplo L2, é atendida, atribuimos o valor 1 ao campo de nível de prioridade de interrupção (2 bits menos significativos) do registrador de estado, SR ou PSW, para que ela possa ser interrompida pelas outras duas linhas, L3 (prioridade 1) e L1 (prioridade 3).
    Observe, entretanto, que a rotina também pode ser interrompida pela própria linha, L2, já que o nível desta é 2. Para mascararmos seletivamente a linha L2, podemos utilizar o registrador de máscara seletivo disponível no Controlador de Interrupções, conforme mostra o seguinte mapa de memória (o conteúdo a partir do endereço 200):
    Endereço Conteúdo Comentários
    1 100 Endereço da rotina de serviço da L1
    :
    10 200 Endereço da rotina de serviço da L2
    :
    20 300 Endereço da rotina de serviço da L3
    :
    100 MOV #110,CONTRL Mascarar a L1
    MOV #01,SR Nível de Prioridade = 1
    :
    RTI
    :
    200 MOV #101,CONTRL Mascarar a L2
    MOV #01,SR Nível de Prioridade = 1
    :
    RTI
    :
    300 MOV #011,CONTRL Mascarar a L3
    MOV #10,SR Nível de Prioridade = 2
    :
    RTI
    :
    1000 MOV #111,CONTRL Nenhuma linha é inibida
    MOV #01,SR Nível de Prioridade = 1

Last modified: Mon Oct 27 23:10:21 BRA 1997

Sugestões para leopini@dca.fee.unicamp.br

Voltar para a página do curso.