как процессор решает, к какому ядру доставить аппаратное прерывание до того, как операционная система будет задействована?
до того, как операционная система будет задействована;работает только один ЦП (остальные ЦП застряли в состоянии «ждать запуска IPI» до тех пор, пока ОС их не запустит), а контроллер прерываний (микросхемы PIC или IIC APIC) настроен таким образом, что IRQ отправляются единственномуCPU, который работает.
Примечание: для BIOS;IO APIC также отключается до тех пор, пока ОС не разрешит / не настроит его, а микропрограмма использует старые микросхемы PIC (которые буквально не могут быть использованы для определения того, в какой ЦП отправлять IRQ).Для UEFI прошивка в основном не использует IRQ (драйверы устройств опрашивают устройство).
После включения ОС (не раньше);ОС конфигурирует IIC APIC / s и, возможно, MSI (сообщение сигнализирует прерывания) и, возможно, IOMMU, чтобы сообщить аппаратному обеспечению, на какой ЦП отправлять каждый IRQ.
Существует один особый случай («отправка на ЦП с самым низким приоритетом»).«особенность», где набор микросхем решает, в какой ЦП отправлять IRQ (на основе настройки программного обеспечения «приоритет задачи» в локальном APIC или CR8).К сожалению, эта функция может не поддерживаться чипсетом и может не использоваться ОС, даже если она поддерживается.