PCI總線自3.0版本開始支持MSI-X機(jī)制,對(duì)MSI做出了一些升級(jí)和改進(jìn),以克服MSI機(jī)制的三個(gè)主要的缺陷:
1. 隨著系統(tǒng)的發(fā)展,對(duì)于特定的大型應(yīng)用,32個(gè)中斷向量不夠用了(參考前一篇文章);
2. 只有一個(gè)目標(biāo)地址使得多核CPU情況下的,靜態(tài)中斷分配變得困難。如果能夠使每個(gè)向量對(duì)應(yīng)不同的唯一的地址,便會(huì)靈活很多;
3. 某些應(yīng)用中的中斷優(yōu)先級(jí)混亂問題。
有趣的是,MSI只支持32個(gè)中斷向量,而MSI-X支持多達(dá)2048個(gè)中斷向量,但是MSI-X的相關(guān)寄存器在配置空間中占用的空間卻更小。這是因?yàn)橹袛嘞蛄啃畔⒉⒉恢苯哟鎯?chǔ)在這里,而是在一款特殊的Memory(MIMO)中。并通過BIR(Base address Indicator Register, or BAR Index Register)來(lái)確定其在MIMO中的具體位置。如下圖所示:
Message Control寄存器的具體描述如下:
MSI-X查找表的示意圖如下:
結(jié)構(gòu)圖如下:
類似的,Pending Bits則位于另一個(gè)Memory中,其結(jié)構(gòu)圖如下:
注:無(wú)論是MSI還是MSI-X,其本質(zhì)上都是基于Memory Write 的,因此也可能會(huì)產(chǎn)生錯(cuò)誤。比如PCIe中的ECRC錯(cuò)誤等。
-
總線
+關(guān)注
關(guān)注
10文章
2960瀏覽量
89782 -
PCIe
+關(guān)注
關(guān)注
16文章
1342瀏覽量
85181 -
msi
+關(guān)注
關(guān)注
0文章
26瀏覽量
30145
原文標(biāo)題:【博文連載】PCIe掃盲——中斷機(jī)制介紹(MSI-X)
文章出處:【微信號(hào):ChinaAET,微信公眾號(hào):電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
如何啟用32個(gè)MSI和MSI CPU關(guān)聯(lián)性?
電路板焊接缺陷的三個(gè)方面原因
電路板焊接缺陷的三個(gè)因素詳述
軟件架構(gòu)設(shè)計(jì)的三個(gè)維度

fpga應(yīng)用領(lǐng)域_fpga應(yīng)用三個(gè)主要方向
關(guān)于MES與ERP的三個(gè)問題
PCIe中斷機(jī)制介紹(MSI)

醫(yī)療人工智能系統(tǒng)的三個(gè)關(guān)鍵要素和挑戰(zhàn)
PCB焊接缺陷的三個(gè)原因資料下載

簡(jiǎn)述MSI和MSI-X中斷機(jī)制
使用霍爾效應(yīng)傳感器進(jìn)行設(shè)計(jì)的三個(gè)常見設(shè)計(jì)缺陷以及解決方案

使用三個(gè)步進(jìn)電機(jī)制造拍手控制汽車

評(píng)論