Taula de vectors d'interrupcions

De la Viquipèdia, l'enciclopèdia lliure
Taula de vectors d'interrupcions en memòria.

Una taula de vectors d'interrupcions (IVT) és una estructura de dades que associa una llista de controladors d'interrupcions amb una llista de peticions d'interrupcions en una taula de vectors d'interrupcions. Cada entrada de la taula de vectors d'interrupció, anomenada vector d'interrupció, és l'adreça d'un controlador d'interrupcions (també conegut com ISR). Tot i que el concepte és comú a les arquitectures de processadors, els IVT es poden implementar de manera específica per a l'arquitectura. Per exemple, una taula de distribució és un mètode per implementar una taula de vectors d'interrupció.[1][2]

A les interrupcions se'ls assigna un nombre entre 0 i 255. Els vectors d'interrupció per a cada número d'interrupció s'emmagatzemen als 1024 bytes inferiors de la memòria principal. Per exemple, la interrupció 0 s'emmagatzema de 0000:0000 a 0000:0003, la interrupció 1 de 0000:0004 a 0000:0007, i així successivament.[3]

Nombre d'Interrupció Adreça IVT Nom de la Interrució
0 00-03 CPU, divisió per zero
1 04-07 Un pas de Debugat
2 08-0B Interrupció NMI (Non Maskable Interrupt)
3 0C-0F Punts de parada de Debugat
4 10-13 Desbordament aritmètic
5 14-17 Rutina d'impressió de pantalla de la BIOS
6 18-1B Reservat
7 1C-1F Reservat
8 20-23 IRQ0, seveis maquinari temps real
9 24-27 IRQ1, interfície teclat
A 28-2B IRQ2, serveis del bus ISA
B 2C-2F IRQ3, maquinari Com 2
C 30-33 IRQ4, maquinari Com1
D 34-37 IRQ5, LPT2, maquinari port paral·lel
E 38-3B IRQ6, adaptador disquet
F 3C-3F IRQ7, LPT1, maquinari port paral·lel
10 40-43 Seveis de video
11 44-47 Comprovació de l'Equipment
12 48-4B Determinació del tamany de la memòria
13 4C-4F Rutines d'E/S de disquets
14 50-53 Rutines d'E/S de port sèrie
15 54-57 (obsoleta)
16 58-5B Rutines d'E/S del teclat
17 5C-5F Rutines d'E/S de la impressora
18 60-63 Points to basic interpreter in a "real" IBM PC
19 64-67 Carregador de sistema
1A 68-6B Serveis d'hora real
1B 6C-6F Serveis del Ctrl-Break
1C 70-73 Tic del sistema (18.2 tics per segon)
1D 74-77 Paràmetres de Video
1E 78-7B Paràmetres del Disc
1F 7C-7F Gràfics del Video
20 80-83 (obsoleta)
21 84-87 Tots els serveis DOS
22 88-8B Adreça de Terminació
23 8C-8F Adreça de sortida de Ctrl-Break
24 90-93 Manegador d'error crític
25 94-97 Lectura de sectors lògics
26 98-9B Escriptura de sectors lògics
27 9C-9F (obsoleta)
28 to 3F A0-A3 to FC-FF Reservat per DOS
40 to 4F 100-103 to 13C-13F Reservat per la BIOS
50 140-143 Reservat per la BIOS
51 144-147 Funcions del Ratolí
52 to 59 148-14B to 164-167 Reservat per la BIOS
5A 168-16B Reservat per la BIOS

La majoria dels processadors tenen una taula de vectors d'interrupció, que inclou xips d'Intel, AMD, Infineon, Microchip Atmel, NXP, ARM [4][5] etc.

Referències[modifica]

  1. «Interrupt Vector Table - an overview | ScienceDirect Topics» (en anglès). [Consulta: 10 setembre 2023].
  2. Lab, Microcontrollers. «What is Interrupt Vector Table?» (en anglès americà), 02-09-2020. [Consulta: 10 setembre 2023].
  3. «The interrupt vector table - Embedded Systems Architecture [Book]» (en anglès). [Consulta: 10 setembre 2023].
  4. «Documentation – Arm Developer» (en anglès). developer.arm.com. [Consulta: 26 juliol 2020].
  5. «Documentation – Arm Developer – AArch64 exception vector table» (en anglès). developer.arm.com. [Consulta: 26 juliol 2020].