- Message Signaled Interrupts
-
Message Signaled Interrupts (MSI, Прерывания, инициируемые сообщениями) в PCI версии 2.2 и более поздних, PCI-X, а также в PCI Express — альтернативная форма прерываний: вместо присваивания номера запроса на прерывание, устройству разрешается записывать сообщение по определённому адресу системной памяти, на деле отображенному на аппаратуру локального контроллера прерываний (local APIC) процессора. Для записи сообщения используется тот же механизм захвата шины (bus mastering), что и для DMA.
Для записи сообщений каждое устройство может иметь от одной до тридцати двух уникальных областей памяти.
Все прерывания шины PCI Express всегда доставляются как MSI, даже при использовании эмуляции традиционных номеров проводников прерываний.
Достоинства MSI:
- возможность передачи некоторых данных вместе с информацией о наступлении события. Это зачастую избавляет обработчик прерывания от необходимости читать данную информацию из регистров состояния устройства, что уменьшает загрузку шины.
- возможность полного отказа от проводников INT# от устройств и разъемов PCI до главного контроллера прерываний (IO APIC), а также от самого главного контроллера прерываний, упрощает материнскую плату.
- в многопроцессорных и многоядерных системах устройства получают возможность самостоятельно выбирать процессор/ядро для обработки конкретного прерывания, причем делать это полностью на уровне аппаратуры без исполнения программного кода. Это позволяет оптимизировать работу путем размещения большей части структур драйвера устройства и связанного с ним программного обеспечения (сетевых протоколов и т.д.) в кэше конкретного процессора или же в его "ближней" NUMA-памяти.
Поддерживается в операционной системе Microsoft Windows Vista и более поздних, в ОС FreeBSD с версии 6.3, а также в ядре Linux начиная с версии 2.6.8 [1]
Источники
- ↑ Сводная информация о параметре конфигурирования ядра Linux, CONFIG_PCI_MSI. Архивировано из первоисточника 4 июня 2012.
- Стандарт PCI 2.2, часть 6.8
Ссылки
- Краткое введение в MSI
- MSI в Windows Vista
- Руководство по MSI в Linux
- Сводная информация о параметре конфигурации MSI_CONFIG в ядре Linux
- Изменения, необходимые для поддержки MSI в FreeBSD
- Изменения, необходимые для поддержки MSI в Solaris Express
Это заготовка статьи о компьютерах. Вы можете помочь проекту, исправив и дополнив её.
Это примечание по возможности следует заменить более точным.Категории:- Компьютерные шины
- Компьютерное аппаратное обеспечение
Wikimedia Foundation. 2010.