精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

PCIe中斷機制介紹(MSI)

SwM2_ChinaAET ? 來源:未知 ? 作者:李倩 ? 2018-08-31 15:07 ? 次閱讀

前面的文章中介紹過,MSI本質上是一種Memory Write,和PCIe總線中的Message概念半毛錢關系都沒有。并且,MSI的Data Payload也是固定的,始終為1DW。

由于MSI也是從PCI總線繼承而來的,因此MSI相關的寄存器也存在于配置空間中的PCI兼容部分(前256個字節)。如下圖所示,MSI有四種類型:

其中Capability ID的值是只讀的,05h表示支持MSI功能。

Next Capability Pointer也是只讀的,其用于查找下一個MSI的位置,00h則表示到達Linked List的最后了。

Message Control Register用于確定MSI的格式與支持的功能等信息,如下圖所示:

具體描述如下:

Message Address Register:32-bit最低兩位固定為0,使得該地址是DW對齊的。

當Mask Bits將相關的中斷向量(Interrupt Vector)屏蔽后,該MSI將不會被發送。軟件可以通過這種方式來使能或者禁止某些MSI的發送。如果相關中斷向量沒有被屏蔽,則如果發生了相關中斷請求,這時Pending Bits中的相應bit則會被置位。一旦中斷信息被發出,則該bit會立即被清零。

注:可能有的人會有疑惑了(無論是Mindshare的書,還是PCI的Spec都沒有明確解釋),因為Mask Bits和Pending Bits都只有32位,而8位的中斷向量號最多可以表示256個!顯然,32位最多只能對應32個中斷向量號,無法支持256個的。實際上,一般的系統不會支持256個中斷向量號的,32個就已經足夠用了,所以并不用擔心這個問題。

PCIe設備會根據配置空間中的MSI請求信息,來創建Memory Write TLP,來講MSI信息發送出去。作為一種特殊的TLP,傳遞MSI的TLP需要遵循以下規則:

· No Snoop和Relaxed Ordering bits的值必須為0

· TLP長度值必須為01h

· First BE必須為1111b

· Last BE必須為0000b

· 地址是直接從配置空間中的響應位置復制過來的

如下圖所示:

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5317

    瀏覽量

    120004
  • PCIe
    +關注

    關注

    15

    文章

    1217

    瀏覽量

    82438

原文標題:【博文連載】PCIe掃盲——中斷機制介紹(MSI)

文章出處:【微信號:ChinaAET,微信公眾號:電子技術應用ChinaAET】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    MSI中斷簡介和生成方法

    Xilinx PCIE IP中MSI中斷相關的地址如下圖1所示,如果想要成功產生中斷MSI Control, Message Addres
    的頭像 發表于 02-25 09:24 ?2408次閱讀
    <b class='flag-5'>MSI</b><b class='flag-5'>中斷</b>簡介和生成方法

    將Hyperlink和pcie合在一起之后,Pcie無法響應MSI中斷

    響應到Hyperlink中斷后,將數據搬移到DDR3 0xc0000 0000開始的地址,數據總共1GB。DSP2將數據接收完之后,通過PCIE返回給DSP1,雙方的鏈路都連通了,DSP1的PCIE
    發表于 06-21 16:09

    PCIE MSI中斷的配置

    小弟學習K1_STK(從官網下的最新的例程keystone軟件開發包)里面的PCIE(例程),這個是例程里面RC端和EP端用的是MSI中斷PCIE_int_cfg.number_tx_MSI
    發表于 06-21 03:49

    xp支持PCIE中的MSI中斷方式么

    各位大家好: ? ? ? ?在使用PCIE時,我使用6678向PC機(xp系統)發送MSI中斷,但是查找資料發現貌似xp不支持msi中斷,以
    發表于 06-21 11:03

    DM8168 C6678 pcie msi 中斷不能觸發,請問是什么原因?

    你好,我現在使用的DM8168做為RC端,C6678作為EP,現在RC和EP直接數據收發都是可以的,現在主要在調試PCIEmsi中斷上碰到一個問題,具體問題描述如下: RC端配置:BAR0
    發表于 08-06 06:48

    PCIe設備發出MSI-X中斷請求的方法

    x86處理器如何處理MSI-X中斷請求PCIe設備發出MSI-X中斷請求的方法與發出MSI
    發表于 02-16 06:36

    PCIe掃盲—PCIe錯誤檢測機制的詳細資料概述

    PCIe總線錯誤檢測囊括了鏈路(Link)上的錯誤以及包傳遞過程中的錯誤,如下圖所示。用戶設計的應用程序層中的錯誤不屬于鏈路傳輸中的錯誤,不應當通過PCIe的錯誤檢測與處理機制處理,一般可借助設備特殊
    的頭像 發表于 08-18 11:05 ?1.5w次閱讀

    PCIe兩種中斷傳遞方式

    MSI/MSI-X是后續的PCI/PCI-X總線改進后的中斷機制,其中MSI-X(MSI-eXt
    的頭像 發表于 08-31 15:31 ?9214次閱讀

    克服MSI機制的三個主要的缺陷

    有趣的是,MSI只支持32個中斷向量,而MSI-X支持多達2048個中斷向量,但是MSI-X的相關寄存器在配置空間中占用的空間卻更小。這是因
    的頭像 發表于 09-02 10:41 ?4508次閱讀
    克服<b class='flag-5'>MSI</b><b class='flag-5'>機制</b>的三個主要的缺陷

    簡述PCI總線的中斷機制

    屬于邊帶信號(Sideband Signals),PCI總線規范并沒有明確規定在一個處理器系統中如何使用這些信號,因為這些信號對于PCI總線是可選信號。PCI設備還可以使用MSI機制向處理器提交中斷請求,而不使用這組
    的頭像 發表于 07-18 10:10 ?2796次閱讀

    教大家如何處理x86處理器中MSI-X中斷請求

    。 只是MSI-X中斷機制為了支持更多的中斷請求,在MSI-X Capablity結構中存放了一個指向一組Message Address和
    的頭像 發表于 08-12 11:23 ?7197次閱讀

    簡述MSIMSI-X中斷機制

    MSIMSI-X中斷機制 在PCI總線中,所有需要提交中斷請求的設備,必須能夠通過INTx引腳提交中斷
    的頭像 發表于 08-10 17:54 ?5765次閱讀

    x86處理器如何處理MSI-X中斷請求

    x86處理器如何處理MSI-X中斷請求PCIe設備發出MSI-X中斷請求的方法與發出MSI
    發表于 12-17 18:28 ?9次下載
    x86處理器如何處理<b class='flag-5'>MSI</b>-X<b class='flag-5'>中斷</b>請求

    Linux內核PCIE基礎知識整理

    在PCI總線中,所有需要提交中斷請求的設備,必須能通過INTx引腳提交中斷請求,MSI機制是一個可選機制。而
    發表于 01-12 14:54 ?2238次閱讀
    Linux內核<b class='flag-5'>PCIE</b>基礎知識整理

    PCIe熱插拔機制介紹

    前言本文主要講述PCIe熱插拔機制,通過圖形方式方便讀者快速掌握。 一、概述 如果在PCIe設備不支持熱插拔的條件下,在不斷電的情況下插拔一塊PCIe SSD時,很可能會對主板或
    的頭像 發表于 11-20 09:07 ?131次閱讀
    <b class='flag-5'>PCIe</b>熱插拔<b class='flag-5'>機制</b><b class='flag-5'>介紹</b>