Судя по очень небольшим знаниям, каждое PCI устройство имеет 4 контакта прерывания. Пины от множества различных PCI устройств на материнской плате (встроенные или внешние устройства) направляются на IO-APIC (усовершенствованный программируемый контроллер прерываний) через программируемый маршрутизатор прерываний. Так что это была топология.

Насколько я знаю, когда происходит прерывание, IO-APIC будет сигнализироваться, и он поднимет INT на CPU, затем произойдет волшебство, и CPU начнет выполнять ISR (подпрограмма обслуживания прерываний).

Что это за магия?

Какая связь должна происходить между процессором и IO-APIC для обработки INT?

Я имею в виду, как процессор получил вектор прерывания (это специальный цикл шины PCI ?) И что произойдет, если IRQ будет использоваться многими устройствами (в качестве примера платформы для x86 Linux )?

1 ответ1

0

Вектор прерывания уже сохранен в таблице векторов прерываний, поэтому ЦПУ не нужно получать его от периферийного устройства. Если прерывание связано с IO-APIC или аналогичным устройством, которое может вызывать прерывания по разным причинам, обработчик прерываний запросит это устройство, чтобы выяснить, почему оно вызвало прерывание. Для этого не существует специального цикла шины, точно так же, как процессор будет получать информацию от одного из своих периферийных устройств.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .