Advanced Programmable Interrupt Controllers - PowerPoint PPT Presentation

About This Presentation
Title:

Advanced Programmable Interrupt Controllers

Description:

DUAL CORE CPU. Multiple Logical Processors. CPU. 0. CPU. 1. I/O. APIC. LOCAL. APIC. LOCAL. APIC ... and CS Lab machines or our Core-2 Duo ('anchor') machines ... – PowerPoint PPT presentation

Number of Views:210
Avg rating:3.0/5.0
Slides: 7
Provided by: CRU7
Learn more at: https://www.cs.usfca.edu
Category:

less

Transcript and Presenter's Notes

Title: Advanced Programmable Interrupt Controllers


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
reserved
extended destination
destination
31

16 15 14 13 12 11 10 9 8 7
0
reserved
interrupt vector
L / P
S T A T U S
H / L
R I R R
E / L
M A S K
delivery mode
000 Fixed 001 Lowest Priority 010 SMI 011
(reserved) 100 NMI 101 INIT 110
(reserved) 111 ExtINT
Trigger-Mode (1Edge-triggered, 0Level-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 (1Active-High,
0Active-Low)
Destination-Mode (1Logical, 0Physical)
Delivery-Status (1Pending, 0Idle)
4
I/O APIC Documentation
  • Intel I/O Controller Hub (ICH7) Family
    Datasheet
  • available online at
  • http//www.intel.com/design/chipsets/datashts/307
    013.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
Write a Comment
User Comments (0)
About PowerShow.com