Está en la página 1de 13

m

Interrupciones del hardware.

Interrupciones del software.

Excepciones del procesador .

acurren cuando un dispositivo necesita


atencin del procesador y genera una
seal elctrica en la lnea IRQ que tiene
asignada.
Esta seal es recogida y
procesada por el controlador de
excepciones {  antes de ser enviada al
procesador, lo que puede realizarse de
dos formas, segn el tipo de interrupcin
sea enmascarable o no enmascarable.


    
ignifica que, bajo control del software, el procesador
puede aceptar o ignorar (enmascarar) la seal de
interrupcin. Para ello se enva una seal a la patilla
 , y el procesador la atiende o la ignora en funcin
del contenido de un bit (IF) en un registro (FLAG) que
puede estar habilitado o deshabilitado.


     
significa que la interrupcin no puede ser deshabilitada
por software.
Este tipo de interrupciones ocurren
cuando se recibe una seal en la patilla 
("Nonmaskable Interrupt" 5 ) del procesador.
e
reservan para casos en que es crtica la respuesta, por
ejemplo que se detecte un error de paridad en la
memoria. Adems son de prioridad ms alta que las
enmascarables.

Los procesadores Intel de la gama x86 y


compatibles, disponen de una instruccin 
que permite generar por software cualquiera
de los 256 tipos de interrupcin anteriormente
descritos (2 ).
El proceso seguido es
exactamente el mismo que si se recibe una
interrupcin hardware en la patilla INTR, salvo
que en este caso se conoce el tipo de
interrupcin, y no se requiere ningn ciclo
INTA. Por ejemplo, en lenguaje ensamblador,
la instruccin INT 21 invoca la interrupcin 33d
(21h), que en M a es la llamada a los
servicios del istema.

Este tipo de interrupciones son de prioridad ms alta que las


de hardware (enmascarables y no enmascarables), de forma
que si se recibe una interrupcin hardware mientras que se
ejecuta una software, esta ltima tiene prioridad.
Este tipo de interrupciones son utilizadas tanto por el istema
aperativo como por los programas de usuario que pueden
instalar las suyas particulares (hemos sealado , que algunas
de las 255 posiciones de la tabla de vectores de interrupcin
estn desocupadas).
Precisamente, aquellas posiciones de la  que sealan a
posiciones dentro de la RaM Ia (por encima de la
direccin F0000h ) se refieren a interrupciones
relacionadas con servicios de la Ia, mientras que las
situadas en la zona de     , se refieren a
interrupciones instaladas por el istema o los programas de
aplicacin.

urante el funcionamiento del procesador pueden


ocurrir circunstancias excepcionales; es usual citar
como ejemplo el caso de una divisin por cero. En
estos casos, el procesador genera una 
,
que es tratada como si fuese una interrupcin
software (6.2 ), con la diferencia de que el nmero
de interrupcin asociado depende del tipo de
excepcin.
En el caso de la divisin por cero el nmero
asociado es cero.
Este era el nico tipo de
excepcin de procesador prevista en el 8088, pero
en los modelos sucesivos de la saga x86 y Pentium
esta posibilidad fue amplindose paulatinamente.

a     

1: Excepciones del procesador.


m 2: Interrupciones software.
m 3: Interrupciones hardware no
enmascarables.
m 4: Interrupciones hardware
enmascarables.
m



El sistema de interrupciones es una excepcin en lo que a
evolucin se refiere. A partir de la introduccin del segundo
controlador 8259A en 1.984, el diseo ha permanecido
invariable. La razn es que su modificacin supondra un
cambio demasiado drstico en la arquitectura del PC, con
un parque de millones de sistemas y perifricos instalados
con millones de programas y istemas aperativos
funcionando que no podran ser trasladados "tal cual" a las
nuevas mquinas

m    



La especificacin {{ antes comentada, aunque


simplificaba las cosas, en realidad no resolva el
problema de fondo: la escasez de ciertos recursos,
principalmente lneas de interrupcin. Por lo que
al desarrollar la interfaz { ( 6.4), Intel incluy la
posibilidad de que estos dispositivos pudieran
compartir la misma IRQ.
A continuacin se muestra la distribucin de IRQs
en un sistema Linux dotado de bus PCI, tal como
se obtiene con el comando   sealado
anteriormente . (se han resaltado las sentencias
interesantes) :

PCI: Using IRQ router PIIX [8086/7110] at 00:02.0


PCI: Found IRQ 11 for device 00:03.0
{  !"     # " $$$%
{  !"     # " $$$$
erial driver version 5.05c (2001 07 08) with HU 6
MANY_PaRT MULTIPaRT HARE_IRQ ERIAL_PCI enabled
PIIX4: not 100% native mode: will probe irqs later
ide0 at 0x1f0 0x1f7,0x3f6 on irq 14
ide1 at 0x170 0x177,0x376 on irq 15
PCI: Found IRQ 11 for device 00:02.2
usb uhci.c: U UHCI at I/a 0x1060, IRQ 11
PCI: Found IRQ 11 for device 00:03.0
{  !"     # " $$$%
{  !"     # " $$$$
PCI: Found IRQ 11 for device 00:03.1
{  !"     # " $$$%$
{  !"     # " $$$$
Yenta IRQ list 0698, PCI irq11
Yenta IRQ list 0698, PCI irq11
eth0: AboCom FE2000VX (RealTek RTL8139) at 0xd0afa000,
00:4f:62:01:5c:7a, IRQ 11
eth1: Xircom: port 0x300, irq 3, hwaddr 00:10:A4:01:FF:F1
tty03 at port 0x02e8 (irq = 3) is a 16550A
PCI: Found IRQ 5 for device 00:07.0

Puede apreciarse que los dispositivos PCI comparten las


IRQ11 e IRQ5. Como es habitual, las controladoras IE
primaria y secundaria, identificadas aqu como ide0 e ide1,
utilizan IRQ14 e IRQ15. Los dispositivos identificados como
"$ y " son sendas tarjetas de red. &!$% es un puerto
serie cuya UART es una 16550. ' se refiere al tipo de
controladora de conexin de los dispositivos PCMCIA (se
trata de un equipo porttil que dispone de este tipo de
bahas).

También podría gustarte