CEFET-RS
Curso de Eletrônica
4.2
4.2
-
-
Interrup
Interrup
ç
ç
ão no PC
ão no PC
Organiza
Organiza
ç
ç
ão de Computadores
ão de Computadores
Interrupção no PC
• Processo em que um periférico, de
entrada ou saída, avisa que precisa ser
atendido.
Interrupção no PC
IP
Cada vetor de interrupção ocupa 4 bytes. • 2 bytes para offset (IP)
• 2 bytes para segmento (CS)
• 256 vetores de interrupções (00 a FF) CS : nº INT * 4 nº INT * 4 + 1 nº INT * 4 + 2 nº INT * 4 + 3
• O endereço inicial das RTI´s são chamados de vetores de
interrupção. E localizam-se a partir do endereço 0000:0000 da memória.
Interrupção no PC
A B C D E F Tabela de vetores de Interrupção• O PC possui uma área para armazenar
até 256 vetores de interrupção, ocupando os primeiros 1024 endereços da memória.
Interrupção no PC
• NMI – interrupções não mascaráveis.
Interrupções que nunca podem ser inibidas. São utilizadas em operações essenciais do PC.
•INTR – são as interrupções gerais do PC.
Podem ser habilitadas ou inibidas através de um Flag (IF).
Interrupções de Hardware
Completar a instrução em execução próxima instrução INTR = 1 IP e CS para a pilha IF = 1Desabilita INT (IF = 0) FLAGS para a pilha
O periférico envia o número da INT INTA Executar a RTI ... IRET Restaurar CS e IP e FLAGS da pilha Modo Supervisor V V F F
Interrupção em um XT
• Num XT tínhamos apenas 8 endereçosdisponíveis, que ficavam da seguinte forma:
• 0 – Sinal de clock do relógio • 1 – Teclado • 2 – Livre • 3 - Com2 • 4 – Com1 • 5 – Disco rígido • 6 – Drive de disquete • 7 – Porta paralela
As prioridades das Interrupções
• Quando vários pedidos de interrupção de hardwareocorrem simultaneamente, o processador deve decidir quem será atendido primeiro.
• Tal decisão deve ser baseada na urgência ou
importância de cada evento que causou o pedido.
• O número da IRQ indica o seu grau de prioridade,
quanto menor o número maior a prioridade (configuração default do PC).
Exemplo de prioridades
• Usando o XT como exemplo, a IRQ de maior
prioridade é o clock da placa mãe, e a de menor prioridade é a IRQ da porta paralela.
• 0 – Sinal de clock do relógio • 1 – Teclado • 2 – Livre • 3 - Com2 • 4 – Com1 • 5 – Disco rígido • 6 – Drive de disquete • 7 – Porta paralela
O aumento de Interrupções
• A partir do 286: os PC´s passaram a ter 16 IRQ´s:• numeradas de 0 a 15.
• Inclusão de um segundo controlador de IRQ: • cascateado ao que já existia no XT;
Prioridades das Interrupções
• Com o aumento das IRQ´s, ocorreu uma alteração naordem de prioridades.
• Sendo o segundo controlador ligado ao IRQ2,do
primeiro controlador, todas as IRQ´s do segundo
controlador de interrupções tem maior prioridade que as IRQ´s de 3 a 7 do primeiro controlador de
Compartilhamento de IRQ´s
• Mesmo com o aumento para 16 endereços de
IRQ, e não mais aumentado até hoje, surgiram problemas de conflitos de IRQ, ou seja, dois dispositivos utilizando a mesmo IRQ.
Compartilhamento de IRQ´s
• Configuração de endereços mais comuns:
IRQ 0 - Sinal de clock da placa mãe (fixo) IRQ 1 - Teclado (fixo)
IRQ 2 - Cascateador de IRQs (fixo) IRQ 3 - Porta serial 2
IRQ 4 - Porta serial 1 IRQ 5 - Livre
IRQ 6 - Drive de disquetes
IRQ 7 - Porta paralela (impressora) IRQ 8 - Relógio do CMOS (fixo) IRQ 9 - Placa de vídeo
IRQ 10 - Livre
IRQ 11 - Controlador USB IRQ 12 - Porta PS/2
IRQ 13 - Coprocessador aritmético IRQ 14 - IDE Primária
Compartilhamento de IRQ´s
• Esse tipo de compartilhamento só foi possível com achegada de novas tecnologias como: * Barramento PCI
* Barramento USB * Dispositivos SCSI
• No caso do barramento PCI, o recurso que
disponibiliza o compartilhamento de IRQ é o PCI Steering.
OBS: Nem todos dispositivos PCI podem trabalhar dessa maneira.
Reservando/Desabilitando IRQ
• Além dos recursos de compartilhamento de
IRQ, ainda é possível reservar uma IRQ através do setup da máquina, na opção:
“PNP/PCI Setup”
• No caso de reservar um IRQ-X basta marca-lo
Reservando/Desabilitando IRQ
• É possível também, através do setup, desabilitar
IRQ´s ou dispositivos que não estejam sendo utilizados para liberar IRQ´s.
* IRQ do vídeo AGP
* USB se não esta sendo usada * Portas seriais
* IDE secundário
Interrupções por software
Conceito de interrupção permite flexibilidade da arquitetura, permitindo exploração das potencialidades do sistema.
O PC permite 256 vetores de interrupção, porém somente possui 16 interrupções de hardware.
• As interrupções podem ser geradas: • Por um dispositivo de hardware; • Pelo próprio processador;
Interrupções por software
00 – 07 Î interrupções do processador;08 – 0F Î interrupções de hardware (IRQ); 10 – 1F Î interrupções do BIOS;
20 – 2F Î interrupções do DOS (S.O.); 33 Î interrupção do DOS (S.O.); 67 Î interrupção do DOS (S.O.);