L'Intel8259 és un controlador d'interrupció programable (PIC) dissenyat per als microprocessadorsIntel 8085 i Intel 8086. La part inicial era 8259, una versió posterior del sufix A era compatible i utilitzable amb el processador 8086 o 8088. El 8259 combina múltiples fonts d'entrada d'interrupció en una única sortida d'interrupció al microprocessador amfitrió, ampliant els nivells d'interrupció disponibles en un sistema més enllà dels un o dos nivells que es troben al xip del processador. El 8259A era el controlador d'interrupció del bus ISA a l'IBM PC original i l'IBM PC AT.[1]
El 8259 es va presentar com a part de la família MCS 85 d'Intel el 1976. El 8259A es va incloure al PC original introduït el 1981 i mantingut pel PC/XT quan es va introduir el 1983. Es va afegir un segon 8259A amb la introducció del PC/AT. El 8259 ha coexistit amb l' arquitectura Intel APIC des de la seva introducció als ordinadors multiprocessadors simètrics. Els ordinadors moderns han començat a eliminar gradualment el 8259A a favor de l'Arquitectura Intel APIC. Tanmateix, tot i que ja no és un xip separat, la interfície 8259A encara la proporciona el Platform Controller Hub o Southbridge a les plaques base x86 modernes.[2]
Descripció funcional
Els pins de senyal principals d'un 8259 són els següents: vuit línies d'entrada de sol·licitud d'interrupció anomenades IRQ0 a IRQ7, una línia de sortida de sol·licitud d'interrupció anomenada INTR, línia de reconeixement d'interrupció anomenada INTA, D0 a D7 per comunicar el nivell d'interrupció o desplaçament vectorial. Altres connexions inclouen CAS0 a CAS2 per fer cascada entre 8259s.[3]
Fins a vuit 8259 esclaus es poden connectar en cascada a un 8259 mestre per proporcionar fins a 64 IRQ. Els 8259 es connecten en cascada connectant la línia INT d'un esclau 8259 a la línia IRQ d'un mestre 8259.
Les operacions de finalització d'interrupció (EOI) admeten EOI específics, EOI no específics i auto-EOI. Una EOI específica especifica el nivell d'IRQ que està reconeixent a l'ISR. Una EOI no específica restableix el nivell d'IRQ a l'ISR. L'EOI automàtica restableix el nivell d'IRQ a l'ISR immediatament després de reconèixer la interrupció.
El 8259A admet els modes d'activació d'interrupció de vora i de nivell. S'admeten els modes de prioritat fixa i de rotació.
El 8259 es pot configurar per funcionar amb un 8080/8085 o un 8086/8088. Al 8086/8088, el controlador d'interrupció proporcionarà un número d'interrupció al bus de dades quan es produeixi una interrupció. El cicle d'interrupció del 8080/8085 emetrà tres bytes al bus de dades (corresponent a una instrucció CALL del conjunt d'instruccions 8080/8085).
El 8259A proporciona una funcionalitat addicional en comparació amb el 8259 (en particular el mode buffer i el mode activat per nivell) i és compatible amb ell.[4]