Arquitectura ibm pc
Las principales interrupciones en la IBM PC son:
* Internas o excepciones
* Externas o de hardware
* No enmascarables NMI
* Enmascarables INTR
*Software
Vectores/listas de interrupciones
La tabla de vectores de interrupción contiene las direcciones de las rutinas de servicio de las interrupciones que realizan las funciones asociadas con lasinterrupciones.
Las rutinas del POST del BIOS inicializa la tabla de vectores, al momento de “bootear”, con las direcciones de las rutinas suministradas por el código en la ROM BIOS y después el DOS ynuestros programas de aplicación agregan sus respectivos vectores a los vectores de esta tabla, conforme son cargados..
CSL
CSH
IPL
IPh
0000
3FFF
Tabla de vectores
de interrupción
Seubica en 1024 localidades de RAM en la parte más baja de la memoria que permiten 256 vectores de interrupción de 4 bytes cada uno.
Un vector de interrupción está formado por la dirección de inicio dela rutina de servicio de la interrupción ISR ( 2 bytes para CS y 2 bytes para IP)
Vector 0
0001
0002
0003
LA TABLA DE VECTORES DE INTERRUPCIÓN
LA TABLA DE VECTORES DE INTERRUPCIÓN
Cadavector: 4 bytes
Dirección del vector: 0: INT x 4
La tabla ocupa 256x4 = 1024 bytes (1 Kbyte)
Reservadas por INTEL (modo protegido)
Error de división por 0
Ejecución paso a paso
NMI (Noenmascarable)
Instrucción INT
Desbordamiento (INTO)
Utilizables por el usuario
Cuando una interrupción ocurre, independientemente de la fuente, el 80x86 realiza lo siguinte:
1) El CPU carga (push) elregistro de banderas al STACK
2) La CPU carga al STACK la dirección de retorno lejano ( segmento:offset ) primero el valor del segmento.
3) La CPU determina la causa de la interrupción ( esto es,lee el número o tipo de la interrupción) y toma los 4 bytes del vector de interrupción de la dirección 0000:vector*4.
4) La CPU transfiere el control a la rutina especificada por la tabla de...
Regístrate para leer el documento completo.