Content deleted Content added
No edit summary |
m Replaced 1 bare URLs by {{Cite web}}; Replaced "Archived copy" by actual titles |
||
(25 intermediate revisions by 19 users not shown) | |||
Line 1:
{{Short description|Integrated circuit that handles interrupts}}
{{distinguish| PIC microcontroller }}
{{Multiple issues|
{{one source|date=February 2014}}
{{
}}
In [[computing]], a '''programmable interrupt controller''' ('''PIC''') is a device that helps [[microprocessor]] (or [[CPU]]) to handle [[Interrupt request (PC architecture)|interrupt requests]] (IRQ) coming from multiple different sources (like external I/O devices) which may come (get fired) simultaneously.<ref>{{Cite web|title=Interrupt Controller - an overview {{!}} ScienceDirect Topics|url=https://www.sciencedirect.com/topics/engineering/interrupt-controller|access-date=2020-07-26|website=www.sciencedirect.com}}</ref> It helps to prioritize IRQs so that CPU switches execution to the most appropriate [[interrupt handler]] (ISR) after PIC assertes IRQ's relative priority. Common modes of a PIC include hard priorities, rotating priorities, and cascading priorities.{{Citation needed|date=July 2011}} PICs often allow the cascading of their outputs to inputs between each other. On [[PC architecture]] PIC are typically ebedded into a [[Southbridge (computing)|southbridge chips]] whose internal architecture is defined by chipsets' vendors' standards.▼
In [[computing]], a '''programmable interrupt controller''' ('''PIC''') is an [[integrated circuit]] that helps a [[microprocessor]] (or [[CPU]]) handle [[Interrupt request (PC architecture)|interrupt requests]] (IRQs) coming from multiple different sources (like external I/O devices) which may occur simultaneously.<ref>{{cite journal|title=A Revisitation of Kernel Synchronization Schemes
|author1=Christopher Small |author2=Stephen Manley
▲
==Common features==
PICs typically have a common set of registers:
There are a number of common priority schemas in PICs including hard priorities, specific priorities, and rotating priorities.
Line 14 ⟶ 20:
==Well-known types==
One of the best known PICs, the [[Intel 8259|8259A]], was included in the [[x86 architecture|x86]] PC. In modern times, this is not included as a separate chip in an x86 PC, but rather as part of the motherboard's [[Southbridge (computing)|southbridge]] chipset.<ref>{{Cite web| title=82371AB PCI-TO-ISA / IDE Xcelerator (PIIX4) | url=https://www.intel.com/Assets/PDF/datasheet/290562.pdf | archive-url=https://web.archive.org/web/20090203012354/http://www.intel.com:80/Assets/PDF/datasheet/290562.pdf | archive-date=2009-02-03}}</ref> In other cases, it has been replaced by the newer [[Advanced Programmable Interrupt Controller]]s which support more interrupt outputs and more flexible priority schemas.
==See also==
* [[Intel 8259]]
* [[OpenPIC and IBM MPIC]]
* [[Inter-processor interrupt]] (IPI)
* [[Interrupt latency]]
* [[Non-maskable interrupt]] (NMI)
Line 29 ⟶ 31:
==Further reading==
* {{Cite web |date=2023-06-22 |title=Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 3A |url=https://www.intel.com/content/www/us/en/content-details/782158/intel-64-and-ia-32-architectures-software-developer-s-manual-combined-volumes-1-2a-2b-2c-2d-3a-3b-3c-3d-and-4.html?wapkw=intel%2064%20and%20ia-32%20architectures%20software%20developer%27s%20manual&docid=782161 |access-date=2025-03-28 |website=[[Intel]]}}
==References==
{{Reflist}}
==External links==
* [https://web.archive.org/web/20180408090800/http://www.fullchipdesign.com/tyh/interrupt_controller_vic.htm Interrupt controller and associated registers.]
|