Message Signaled Interrupts ( MSI, Message-Initiated Interrupts ) este o formă alternativă de întreruperi disponibilă în versiunea PCI 2.2 și ulterioară, PCI-X și, de asemenea, obligatorie în toate versiunile de PCI Express . În loc să i se atribuie un număr fix de solicitare de întrerupere , dispozitivului i se permite să scrie un mesaj la o anumită adresă de memorie a sistemului, mapată de fapt la hardware -ul controlerului local de întrerupere ( APIC local ) al procesorului. Pentru a scrie un mesaj, se folosește același mecanism de mastering al magistralei ca și pentru DMA.
Pentru scrierea mesajelor, fiecare dispozitiv care utilizează MSI poate avea de la una la treizeci și două de zone de memorie unice.
Toate întreruperile magistralei PCI Express sunt întotdeauna livrate ca MSI, chiar și atunci când se utilizează emularea tradițională a numărului de fir de întrerupere.
Avantajele MSI:
MSI este acceptat pe Microsoft Windows Vista și sistemele de operare ulterioare, pe FreeBSD începând cu versiunea 6.3, pe OpenBSD începând cu versiunea 5.0 [1] și în nucleul Linux începând cu versiunea 2.6.8 [2]
MSI-X este o versiune extinsă a MSI care vă permite să definiți până la câteva mii de întreruperi.
În ciuda apariției MSI și MSI-X relativ demult, utilizarea reală pe scară largă încă nu este prezentă, chiar dacă este instalată cea mai recentă versiune de Windows 10. De exemplu, nVidia, pentru a fi compatibil cu hardware foarte vechi, nu face activează suportul pentru întreruperi MSI în mod implicit în driverele lor. Și, de asemenea, majoritatea driverelor instalate în Windows nu oferă inițial suport MSI, ceea ce necesită să îl activați singur și pentru care există utilitare adecvate. [1] Lipsa unui MSI activat într-un sistem care rulează duce la o creștere a latenței DPC [3] , deoarece în modul bazat pe linie, driverele necesită mai multă atenție din partea procesorului. Și cea mai greșită decizie într-o astfel de situație este dezactivarea HPET , ceea ce de fapt crește încărcarea procesorului și mai mult datorită activării algoritmilor de procesare a temporizatorului software în loc de a folosi un temporizator hardware în podul de sud a plăcii de bază.