Программируемый контроллер прерываний (PIC): интегральная схема для обработки запросов прерываний от устройств. Приоритезация, режимы работы, архитектура ПК.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Тоқтатуларды басқаруға арналған интегралды схема. Компьютерлік жүйеде бағдарламаланатын тоқтату контроллері (PIC) – микропроцессорға (немесе CPU) бір мезгілде туындауы мүмкін әртүрлі көздерден (мысалы, сыртқы I/O құрылғылары) келетін тоқтату сұраныстарын (IRQ) басқаруға көмектесетін интегралды схема. Ол IRQ-ларды басымдыққа бөліп, PIC IRQ-ның салыстырмалы басымдығын бағалағаннан кейін CPU-дың орындауын ең тиімді үзіліс өңдеушісіне (ISR) ауыстыруға көмектеседі. Тоқтату басымдылығының кең таралған түрлеріне қатаң басымдықтар, айналмалы басымдықтар және каскадтық басымдықтар жатады. PIC-тер көбінесе кірістерді шығыстарға конфигурацияланатын тәсілде бейімдеуге мүмкіндік береді. ПК архитектурасында PIC әдетте чипсет өндірушісінің стандарттарымен анықталатын оңтүстік көпір чипіне кіріктірілген.
Integrated circuit that handles interrupts
In computing, a programmable interrupt controller (PIC) is an integrated circuit that helps a microprocessor (or CPU) handle interrupt requests (IRQs) coming from multiple different sources (like external I/O devices) which may occur simultaneously. It helps prioritize IRQs so that the CPU switches execution to the most appropriate interrupt handler (ISR) after the PIC assesses the IRQs' relative priorities. Common modes of interrupt priority include hard priorities, rotating priorities, and cascading priorities. PICs often allow mapping input to outputs in a configurable way. On the PC architecture PIC are typically embedded into a southbridge chip whose internal architecture is defined by the chipset vendor's standards.
Ортақ белгілері
PIC-терде әдетте тіркелімдердің ортақ жиынтығы болады: үзіліс сұранысы тіркелімі (IRR), қызметтегі тіркелімі (ISR) және үзіліс маскасы тіркелімі (IMR). IRR қай үзілістердің расталуын күтіп тұрғанын көрсетеді және әдетте тікелей қол жеткізуге болмайтын, символдық тіркелім болып табылады. ISR тіркелімі қай үзілістердің расталғанын, бірақ үзілістің аяқталуын (EOI) әлі күтіп тұрғанын көрсетеді. IMR қай үзілістерді елемеуге және растамауға болатынын анықтайды. Осындай қарапайым тізілім схемасы бір уақытта екі түрлі үзіліс сұранысын орындалмаған күйде қалдыруға мүмкіндік береді: біреуі растауды күтеді, екіншісі EOI-ді күтеді. PIC-терде қатты басымдықтар, арнайы басымдықтар және айналмалы басымдықтар сияқты бірнеше ортақ басымдық схемалары бар. Үзілістер жиек бойынша немесе деңгей бойынша инициялануы мүмкін. EOI жіберілген кезде үзілістің аяқталғанын растаудың бірнеше ортақ тәсілі бар. Оларға қай үзілістің аяқталғанын көрсету, аяқталған үзілісті анықтау (әдетте ISR-дегі ең жоғары басымдықпен күтіп тұрған), және үзілісті растауды EOI ретінде қарастыру кіреді.
PICs typically have a common set of registers: interrupt request register (IRR), in service register (ISR), and 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.
Белгілі түрлері
Ең танымал PIC-тердің бірі – 8259A, x86 ПК-ға енгізілген. Қазіргі заманда, бұл x86 ПК-да жеке чип ретінде емес, аналық платаның оңтүстік көпірлік чипсетінің құрамында кездеседі. Кейбір жағдайларда, ол жаңа, жетілдірілген бағдарламаланатын үзіліс басқарушыларымен алмастырылды, олар көбірек үзіліс шығыстарын және икемдірек басымдық схемаларын қолдайды.
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, but rather as part of the motherboard's southbridge chipset. In other cases, it has been replaced by the newer Advanced Programmable Interrupt Controllers which support more interrupt outputs and more flexible priority schemas.