Кіріспе

Компьютерлік жабдықтың үзілісінің түрі. Хабарламамен жіберілетін үзілістер (MSI) – арнайы жолақты хабарламаларды пайдаланып үзілістерді сигналдау әдісі, бұл арнайы үзіліс желілеріндегі дәстүрлі сигналдарды алмастырады. Хабарламамен жіберілетін үзілістерді құрылғыда іске асыру күрделірек болғанымен, олар пин негізіндегі үзіліс сигналдауға қарағанда үзілістерді өңдеудің жақсартылған тиімділігі сияқты маңызды артықшылықтарға ие. Бұл дәстүрлі үзіліс механизмдеріне, мысалы, ескі үзіліс сұрау (IRQ) жүйесіне қарама-қарсы. Хабарламамен жіберілетін үзілістер PCI шинасының 2.2 нұсқасынан бастап және кейінірек пайда болған PCI Express шинасында қолдау көрсетіледі. Кейбір PCI емес архитектуралар да хабарламамен жіберілетін үзілістерді қолданады.

Шолу

Дәстүрлі түрде, құрылғы хост өңдеу ортасына үзіліс туралы хабарлау үшін қолданатын үзіліс желісіне (пиніне) ие болады. Бұл үзіліс хабарлаудың дәстүрлі түрі – бақылау сигналдарын жіберудің дербес тәсілі, себебі ол осындай басқару ақпаратын негізгі деректер жолынан бөлек, арнайы жол арқылы жібереді. MSI осы дербес үзіліс желілерін негізгі деректер жолы арқылы үзілістерді көрсететін арнайы хабарламалар алмасу арқылы дербес емес сигнал берумен алмастырады. Атап айтқанда, MSI құрылғыға үзілісті сипаттайтын шағын көлемдегі деректерді жадқа бейнеленген I/O мекенжайына жазуға мүмкіндік береді, ал чипсет сол деректердің негізінде тиісті үзілісті процессорға жібереді. MSI туралы жиі кездесетін жаңылыс түсінік – құрылғының үзіліс бөлігі ретінде процессорға деректерді жіберуге мүмкіндік береді деген сенім. Жадқа жазу транзакциясының бөлігі ретінде жіберілген деректер чипсетке қай процессорда қай үзілісті іске қосу керектігін анықтау үшін қолданылады; бұл деректер құрылғыға үзіліс басқарушыға қосымша ақпарат беру үшін қолжетімді емес.

Артықшылықтар

Құрылғыда іске асыруы күрделірек болғанымен, хабарлама арқылы жіберілген үзілістердің пин негізіндегі үзіліс сигналдауынан бірнеше маңызды артықшылықтары бар. Механикалық тұрғыдан алғанда, азырақ пиндер жалғауды қарапайымдап, арзандатып және сенімдірек етеді. Бұл стандартты PCI жалғауы үшін артықшылық болмаса да, PCI Express осы үнемдеуден пайдаланады. MSI мүмкін болатын үзілістер санын арттырады. Дәстүрлі PCI бір карта үшін төрт үзіліспен шектелген (және олардың барлық карталар арасында бөлісілгендігіне байланысты, көбінесе тек біреуін ғана пайдаланады), ал хабарлама арқылы жіберілген үзілістер картаға ондаған үзілістерді жіберуге мүмкіндік береді, қажет болған жағдайда. Бұл бәсекенің алдын алу үшін үзіліс басқарушылары DMA жазуы аяқталғанын қамтамасыз ету үшін құрылғыдан мәліметтерді оқуға міндетті болды. Бұл оқу орташа өнімділікке кедергі келтіретін. MSI жазуы DMA жазуын басып өте алмайды, сондықтан бәсеке жойылды.

MSI түрлері

PCI хабарлама арқылы жіберілетін үзілістерді қолдау үшін MSI және MSI X деп аталатын екі қосымша мүмкіндікті анықтайды. PCI Express бұрынғы PCI үзілістерін имитациялау үшін өзіндік хабарламаға негізделген механизмін анықтайды.

MSI

MSI (алғаш рет PCI 2.2 нұсқасында анықталды) құрылғыға 1, 2, 4, 8, 16 немесе 32 үзіліс тіркеуге мүмкіндік береді. Құрылғы жазуға арналған мекенжаймен (әдетте, бұл үзіліс контроллеріндегі басқару тіркелгіші) және оны сәйкестендіру үшін 16 биттік дерек сөзімен бағдарламаланады. Үзіліс нөмірі дерек сөзіне қосылып, үзіліс анықталады.

MSI-X

MSI X (алғаш рет PCI 3.0 стандартында анықталды) құрылғыға 2048 үзіліске дейін бөлуге мүмкіндік береді. Алғашқы MSI қолданған жалғыз мекенжай кейбір архитектуралар үшін шектеулі болып табылған. Атап айтқанда, бұл кейбір жоғары жылдамдықты желілік қолданбаларда пайдалы болатын әртүрлі процессорларға жеке үзілістерді бағыттауды қиындатты. MSI X үзілістердің үлкен санын қамтамасыз етеді және әрқайсысына жеке мақсатты мекенжай мен дерек сөзін тағайындайды. MSI X құрылғылары міндетті түрде 2048 үзілісті қолдамайды. MSI-дегі қосымша мүмкіндіктер (64 биттік адрестеу және үзіліс маскалау) MSI X-те де міндетті болып табылады.

PCI Express мұралық үзілістер эмуляциясы

PCI Express физикалық үзіліс сымдарына ие емес, бірақ PCI-дың 4 физикалық үзіліс сымын арнайы PCI Express хабарламалары арқылы, мысалы, Assert INTA және Deassert INTC арқылы имитациялайды. Хабарламаларға негізделген (PCI Express деңгейінде) бұл механизм PCI деңгейінің MSI механизмінің кейбір, бірақ барлық артықшылықтарын ұсынады: құрылғыға арналған 4 виртуалды сым енді шинада ортақ қолданылмайды (бірақ PCI Express контроллерлері ескі үзілістерді ішкі түрде біріктіре алады), ал үзіліс өзгерістері енді жарыс жағдайларынан зардап тартпайды. PCI Express құрылғыларға осы ескі үзіліс хабарламаларын пайдалануға рұқсат береді, бұл PCI драйверлерімен бағдарламалық үйлесімділікті сақтайды, бірақ олар PCI деңгейінде MSI немесе MSI X-ті де қолдауы тиіс.

x86 жүйелері

Intel жүйелерінде PCI (және PCI Express) MSI/MSI X жұмыс істеуі үшін, тіпті бір процессорлы (бір ядролы) жүйелерде де LAPIC қосулы болуы қажет. Мұндай жүйелерде MSI-лер үзіліс қызметін қажет ететін процессордың/ядроның LAPIC-іне үзіліс векторын тікелей жазу арқылы өңделеді. 2009 жылғы Intel LAPIC-тері 224-ке дейін MSI негізделген үзілістерді қолдады.