1 / 6

Advanced Programmable Interrupt Controllers

Advanced Programmable Interrupt Controllers. Multiprocessor-systems require enhanced circuitry for signaling of external interrupt-requests. Multiple Logical Processors. DUAL CORE CPU. CPU 0. CPU 1. I/O APIC. LOCAL APIC. LOCAL APIC.

kennell
Download Presentation

Advanced Programmable Interrupt Controllers

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Advanced Programmable Interrupt Controllers Multiprocessor-systems require enhanced circuitry for signaling of external interrupt-requests

  2. Multiple Logical Processors DUAL CORE CPU CPU 0 CPU 1 I/O APIC LOCAL APIC LOCAL APIC Advanced Programmable Interrupt Controller is needed to perform ‘routing’ of I/O requests from peripherals to CPUs (The legacy PICs are masked when the APICs are enabled)

  3. Redirection Table Entry 63 56 55 48 32 destination extended destination reserved 31 16 15 14 13 12 11 10 9 8 7 0 reserved M A S K E / L R I R R H / L S T A T U S L / P delivery mode interrupt vector 000 = Fixed 001 = Lowest Priority 010 = SMI 011 = (reserved) 100 = NMI 101 = INIT 110 = (reserved) 111 = ExtINT Trigger-Mode (1=Edge-triggered, 0=Level-triggered) Remote IRR (for Level-Triggered only) 0 = Reset when EOI received from Local-APIC 1 = Set when Local-APICs accept Level-Interrupt sent by IO-APIC Interrupt Input-pin Polarity (1=Active-High, 0=Active-Low) Destination-Mode (1=Logical, 0=Physical) Delivery-Status (1=Pending, 0=Idle)

  4. I/O APIC Documentation “Intel I/O Controller Hub (ICH7) Family Datasheet” available online at http://www.intel.com/design/chipsets/datashts/307013.htm

  5. Our ‘ioapic.c’ kernel-module • This Linux module creates a pseudo-file (named ‘/proc/ioapic’) which lets users view the current contents of the I/O APIC Redirection-Table registers • You can compile and install this module for our classroom and CS Lab machines or our Core-2 Duo (“anchor”) machines

  6. Our ‘anchor’ systems Mapping of IRQ-lines to Interrupt-ID numbers 0 (masked) C (mouse)  0x89 1 (keyboard)  0x39 D ( )  0x91 2 (timer)  0x31 E (hard-disk)  0x99 3 ( )  0x41 F ( )  0xA1 4 (serial-uart)  0x49 10 (ethernet)  0xA9 5 ( )  0x51 11 ( )  0xB1 6 (diskette-controller)  0x59 12 ( )  0xB9 7 (parallel-port)  0x61 13 ( )  0xC1 8 (real-time-clock)  0x69 14 (masked) 9 (acpi)  0x71 15 (masked) A ( )  0x79 16 (masked) B ( )  0x81 17 ( )  0xC9

More Related