Knowledge (XXG)

Programmable interrupt controller

Source 📝

168: 73: 32: 312:
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.
290:
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
295:(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. 274:(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 270:(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 45: 334: 83: 141: 51: 113: 465: 189: 120: 267: 229: 211: 59: 127: 411: 298:
There are a number of common priority schemas in PICs including hard priorities, specific priorities, and rotating priorities.
109: 98: 485: 182: 176: 329:
PC. In modern times, this is not included as a separate chip in an x86 PC, but rather as part of the motherboard's
357: 193: 134: 387:
IA-32 Intel Architecture Software Developer's Manual, Volume 3A: System Programming Guide, Part 1, Chapter 10
330: 279: 90: 368: 419: 480: 352: 490: 20: 255: 363: 271: 326: 292: 432: 275: 445: 374: 259: 474: 460: 291:
specifies which interrupts have been acknowledged, but are still waiting for an
72: 346: 322: 306: 302: 243: 282:
whose internal architecture is defined by the chipset vendor's standards.
337:
which support more interrupt outputs and more flexible priority schemas.
390: 461:
IA-32 Intel Architecture Software Developer's Manual, Volume 3A
263: 161: 66: 25: 333:
chipset. In other cases, it has been replaced by the newer
385:
More information on the Intel APIC can be found in the
94: 446:
https://www.intel.com/Assets/PDF/datasheet/290562.pdf
412:"A Revisitation of Kernel Synchronization Schemes" 466:Interrupt controller and associated registers. 8: 99:introducing citations to additional sources 335:Advanced Programmable Interrupt Controllers 60:Learn how and when to remove these messages 16:Integrated circuit that handles interrupts 230:Learn how and when to remove this message 212:Learn how and when to remove this message 175:This article includes a list of general 89:Relevant discussion may be found on the 402: 428: 417: 7: 410:Christopher Small; Stephen Manley. 110:"Programmable interrupt controller" 278:PIC are typically embedded into a 181:it lacks sufficient corresponding 14: 248:programmable interrupt controller 41:This article has multiple issues. 321:One of the best known PICs, the 166: 82:relies largely or entirely on a 71: 30: 49:or discuss these issues on the 1: 509: 389:, freely available on the 18: 358:Inter-processor interrupt 301:Interrupts may be either 349:– notable PIC from Intel 19:Not to be confused with 196:more precise citations. 427:Cite journal requires 369:Non-maskable interrupt 325:, was included in the 353:OpenPIC and IBM MPIC 95:improve this article 486:Digital electronics 21:PIC microcontroller 268:interrupt requests 256:integrated circuit 364:Interrupt latency 272:interrupt handler 240: 239: 232: 222: 221: 214: 160: 159: 145: 64: 498: 448: 443: 437: 436: 430: 425: 423: 415: 407: 317:Well-known types 293:end of interrupt 280:southbridge chip 235: 228: 217: 210: 206: 203: 197: 192:this article by 183:inline citations 170: 169: 162: 155: 152: 146: 144: 103: 75: 67: 56: 34: 33: 26: 508: 507: 501: 500: 499: 497: 496: 495: 471: 470: 457: 452: 451: 444: 440: 426: 416: 409: 408: 404: 399: 383: 381:Further reading 343: 319: 307:level triggered 288: 286:Common features 276:PC architecture 236: 225: 224: 223: 218: 207: 201: 198: 188:Please help to 187: 171: 167: 156: 150: 147: 104: 102: 88: 76: 35: 31: 24: 17: 12: 11: 5: 506: 505: 502: 494: 493: 488: 483: 473: 472: 469: 468: 463: 456: 455:External links 453: 450: 449: 438: 429:|journal= 401: 400: 398: 395: 382: 379: 378: 377: 375:IRQL (Windows) 372: 366: 361: 355: 350: 342: 339: 318: 315: 303:edge triggered 287: 284: 260:microprocessor 238: 237: 220: 219: 202:September 2013 174: 172: 165: 158: 157: 93:. Please help 79: 77: 70: 65: 39: 38: 36: 29: 15: 13: 10: 9: 6: 4: 3: 2: 504: 503: 492: 489: 487: 484: 482: 479: 478: 476: 467: 464: 462: 459: 458: 454: 447: 442: 439: 434: 421: 413: 406: 403: 396: 394: 392: 388: 380: 376: 373: 370: 367: 365: 362: 359: 356: 354: 351: 348: 345: 344: 340: 338: 336: 332: 328: 324: 316: 314: 310: 308: 304: 299: 296: 294: 285: 283: 281: 277: 273: 269: 265: 261: 258:that helps a 257: 253: 249: 245: 234: 231: 216: 213: 205: 195: 191: 185: 184: 178: 173: 164: 163: 154: 151:February 2014 143: 140: 136: 133: 129: 126: 122: 119: 115: 112: –  111: 107: 106:Find sources: 100: 96: 92: 86: 85: 84:single source 80:This article 78: 74: 69: 68: 63: 61: 54: 53: 48: 47: 42: 37: 28: 27: 22: 441: 420:cite journal 405: 386: 384: 320: 311: 300: 297: 289: 251: 247: 241: 226: 208: 199: 180: 148: 138: 131: 124: 117: 105: 81: 57: 50: 44: 43:Please help 40: 481:Motherboard 331:southbridge 194:introducing 491:Interrupts 475:Categories 397:References 347:Intel 8259 177:references 121:newspapers 46:improve it 393:website. 266:) handle 244:computing 91:talk page 52:talk page 341:See also 254:) is an 190:improve 135:scholar 179:, but 137:  130:  123:  116:  108:  391:Intel 371:(NMI) 360:(IPI) 323:8259A 142:JSTOR 128:books 433:help 262:(or 246:, a 114:news 327:x86 305:or 264:CPU 252:PIC 242:In 97:by 477:: 424:: 422:}} 418:{{ 309:. 55:. 435:) 431:( 414:. 250:( 233:) 227:( 215:) 209:( 204:) 200:( 186:. 153:) 149:( 139:· 132:· 125:· 118:· 101:. 87:. 62:) 58:( 23:.

Index

PIC microcontroller
improve it
talk page
Learn how and when to remove these messages

single source
talk page
improve this article
introducing citations to additional sources
"Programmable interrupt controller"
news
newspapers
books
scholar
JSTOR
references
inline citations
improve
introducing
Learn how and when to remove this message
Learn how and when to remove this message
computing
integrated circuit
microprocessor
CPU
interrupt requests
interrupt handler
PC architecture
southbridge chip
end of interrupt

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.