Чтобы конкурировать с усовершенствованным программируемым контроллером прерываний (APIC) компании Intel , который позволил создать первые многопроцессорные системы на базе Intel 486 , в начале 1995 года AMD и Cyrix предложили в качестве несколько схожей по назначению архитектуры OpenPIC, поддерживающей до 32 процессоров. [1] Архитектура OpenPIC имела, по крайней мере, декларативную поддержку со стороны IBM и Compaq около 1995 года. [2] Однако ни одна материнская плата x86 не была выпущена с OpenPIC. [3] После провала OpenPIC на рынке x86, AMD лицензировала архитектуру Intel APIC для своих процессоров AMD Athlon и более поздних.
Однако IBM разработала свой многопроцессорный контроллер прерываний ( MPIC ) на основе спецификации регистра OpenPIC. [4] В эталонной конструкции IBM процессоры совместно используют MPIC через шину DCR , а их доступ к шине контролируется арбитром DCR. MPIC поддерживает до четырех процессоров и до 128 источников прерываний. [4] Благодаря различным реализациям MPIC был включен в эталонные конструкции PowerPC и некоторые розничные компьютеры.
IBM использовала MPIC на основе OpenPIC 1.0 в своем RS/6000 F50 и один на основе OpenPIC 1.2 в своем RS/6000 S70. Обе эти системы также использовали двойной 8259 на своих мостах PCI-ISA. [5] IBM MPIC также использовался в RS/6000 7046 Model B50. [6]
Чип Apple Hydra Mac I/O (MIO) (из классической эпохи Mac OS 1990-х годов ) реализовал MPIC вместе с контроллером SCSI , контроллером ADB , контроллером GeoPort и таймерами. [7] Реализация Apple «Open PIC» (как это написано в документации Apple той эпохи) в их первом чипе MIO для Common Hardware Reference Platform была основана на версии 1.2 спецификации регистров и поддерживала до двух процессоров и до 20 источников прерываний. [8] MPIC также был включен в более новый контроллер ввода-вывода K2, используемый в Power Mac G5s . [9] [10]
Freescale также использует MPIC («совместимый с Open PIC») на всех своих процессорах PowerQUICC и QorIQ . [11] Виртуальная машина на базе ядра Linux (KVM) поддерживает виртуализированный MPIC с 256 прерываниями на основе вариантов Freescale. [12]