Programmable Interrupt Controller

Programmable Interrupt Controller

A Programmable Interrupt Controller (PIC) is a device which allows priority levels to be assigned to its interrupt outputs. When the device has multiple interrupt outputs to assert, it will assert them in the order of their relative priority. Common modes of a PIC include hard priorities, rotating priorities, and cascading priorities. PICs often allow the cascading of their outputs to inputs between each other.

Common features

PICs typically have a common set of registers: Interrupt Request Register (IRR), In-Service Register (ISR), Interrupt Mask Register (IMR). The IRR specifies which interrupts are pending acknowledgement, and is typically a symbolic register which can not be directly accessed. The ISR register specifies which interrupts have been acknowledged, but are still waiting for an End Of Interrupt (EOI). The IMR specifies which interrupts are to be ignored and not acknowledged. A simple register schema such as this allows up to two distinct interrupt requests to be outstanding at one time, one waiting for acknowledgement, and one waiting for EOI.

There are a number of common priority schemas in PICs including hard priorities, specific priorities, and rotating priorities.

Interrupts may be either edge triggered or level triggered.

There are a number of common ways of acknowledging an interrupt has completed when an EOI is issued. These include specifying which interrupt completed, using an implied interrupt which has completed (usually the highest priority pending in the ISR), and treating interrupt acknowledgement as the EOI.

Well-known PICs

One of the best known PICs, the 8259A, was included in the x86 PC. In modern times, this is not included as a separate chip in an x86 PC. Rather, its function is included as part of the motherboard's southbridge chipset. In other cases, it has been completely replaced by the newer Advanced Programmable Interrupt Controllers which support many more interrupt outputs and more flexible priority schemas.

More Information

More information on the Intel APIC can be found in the "IA-32 Intel Architecture Software Developer's Manual, Volume 3A: System Programming Guide, Part 1, Chapter 8", freely available on the Intel website.

ee also

* Intel 8259
* Advanced Programmable Interrupt Controller
* Intel APIC Architecture
* Inter-Processor Interrupt
* Interrupt
* Interrupt handler
* Interrupt request
* Interrupt latency
* Non-Maskable interrupt
* PIC microcontroller

External links

* [http://www.evilbitz.com/2006/12/08/interrupts-and-interrupt-controllers/ Interrupts and Interrupt-Controllers]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • Programmable Interrupt Controller — Ein Programmable Interrupt Controller (PIC) ist ein integrierter Schaltkreis zur Verwaltung mehrerer Hardware Interrupts und zu deren geordneter Weiterleitung an eine CPU. Denn Prozessoren (z. B. Intel und AMD Prozessoren) weisen oft nur… …   Deutsch Wikipedia

  • Advanced Programmable Interrupt Controller — In computing, an Advanced Programmable Interrupt Controller (APIC) is a more complex Programmable Interrupt Controller (PIC) than Intel s original types such as the 8259A. APIC devices permit more complex priority models, and Advanced IRQ… …   Wikipedia

  • Advanced Programmable Interrupt Controller — Der Advanced Programmable Interrupt Controller (APIC, nicht zu verwechseln mit ACPI) sorgt für die Verteilung von Interrupts in x86 und Itanium basierenden Computersystemen. Der APIC besteht im Gegensatz zum PIC aus zwei Komponenten, dem Local… …   Deutsch Wikipedia

  • Advanced Programmable Interrupt Controller — o APIC es un controlador de interrupciones, incorporado en la unidad central de procesamiento y diseñado por y para el multiproceso, concretamente para poder incorporar múltiples microprocesadores a la placa madre. No confundir con el I/O APIC de …   Wikipedia Español

  • Interrupt-Controller — Als Interrupt Controller bezeichnet man die Funktionseinheit im Computer, die für die Entgegennahme und Verteilung der Interrupts zuständig ist. Dieser befindet sich in der Regel in der Southbridge des Hauptplatinen­chipsatzes und leitet die… …   Deutsch Wikipedia

  • Interrupt Controller — Als Interrupt Controller bezeichnet man die Funktionseinheit im Computer, die für die Entgegennahme und Verteilung der Interrupts zuständig ist. Dieser befindet sich in der Regel in der Southbridge des Hauptplatinen­chipsatzes und leitet die… …   Deutsch Wikipedia

  • interrupt controller —    A chip used to process and prioritize hardware interrupts. In the PC, a programmable interrupt controller responds to each hardware interrupt, assigns a priority, and forwards it to the main processor.    See also interrupt request …   Dictionary of networking

  • Programmable Logic Controller — Rack mit einer Speicherprogrammierbaren Steuerung Eine Speicherprogrammierbare Steuerung (SPS, engl. Programmable Logic Controller, PLC) ist eine Baugruppe, die zur Steuerung oder Regelung einer Maschine oder Anlage eingesetzt wird. In der Regel… …   Deutsch Wikipedia

  • Programmable logic controller — Rack mit einer Speicherprogrammierbaren Steuerung Eine Speicherprogrammierbare Steuerung (SPS, engl. Programmable Logic Controller, PLC) ist eine Baugruppe, die zur Steuerung oder Regelung einer Maschine oder Anlage eingesetzt wird. In der Regel… …   Deutsch Wikipedia

  • Programmable controller — may be: * Programmable logic controller * Programmable automation controller * Programmable Interrupt Controller * Universal remote …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”