色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

PCIE數據鏈路層架構解析

路科驗證 ? 來源:LPIoT ? 2024-11-05 17:06 ? 次閱讀

以下文章來源于LPIoT,作者水鳥LPIoT

Pcie數據鏈路層

PCIe的數據鏈路層在事務層和物理層之間,用來負責鏈路管理,其主要功能是保證來自事務層的TLP在PCIe鏈路中的正確傳輸,為此數據鏈路層定義了一系列的DLLP報文,數據鏈路層使用了容錯和重傳機制保證數據傳輸的完整性和一致性(TLP ACK/NAK),此外數據鏈路層還需要對PCIe鏈路進行管理(電源管理)和監控(流量控制)。

與事務層不同的是,數據鏈路層主要處理端到端(同一條PCIe物理鏈路相鄰兩端設備的發送端和接收端)的數據傳輸;而事務層是源設備和目標設備之間的數據傳輸(源設備與目標設備之間傳輸距離更長,可能經過多個Switch并有多條PCIe物理鏈路)。此處類似于網絡通訊的概念,鏈路層通訊在直接物理相連的設備端口進行,網絡層通訊可以跨過多個設備進行。

數據鏈路層結構

數據鏈路層使用ACK/NAK協議發送和接收TLP(事務層報文),由發送部件和接收部件組成(每個PCIe設備的數據鏈路層包含了這兩部分,而兩個PCIe設備間的通信是發送部件和接收部件成對實現的),如下圖所示;

發送部件由1.Replay Buffer、2.ACK/NAK DLLP接收邏輯和3.TLP接收邏輯組成;

接收部件由1.“Error Check”邏輯、2.ACK/NAK DLLP發送邏輯和3.TLP發送邏輯組成。

e3682e04-90b4-11ef-a511-92fbcf53809c.png

PCIe總線數據鏈路層使用Replay Buffer和Error Check部件共通保證數據傳輸的可靠性和完整性;來自事務層的TLP先暫存在Replay Buffer中,然后發送到目標設備;源設備的數據鏈路層根據來自目標設備的ACK/NAK DLLP報文來決定是重發這些TLP,還是清除存放在Replay Buffer中的TLP。

1.Replay Buffer的大小決定過了事務層可以暫存在數據鏈路層的報文數量;

2.PCIe設備使用Error Check檢查接收到的TLP,并決定如何向對端設備進行報文回應;

數據鏈路層狀態

數據鏈路層需要通過物理層來監控PCIe鏈路狀態,并維護數據鏈路層的“控制與管理狀態機”(Data Link Control and Management State Machine,DLCMSM),可以從物理層獲得與當前PCIe鏈路相關的狀態,如下圖所示:

e38f67d0-90b4-11ef-a511-92fbcf53809c.png

DLCMSM主要包含三個狀態:DL_Inactive、DL_Iinit、DL_Active

DL_Inactive狀態:物理層通知數據鏈路層當前PCIe鏈路狀態不可用,沒有檢測到PCIe鏈路的對端連接了PCIe設備;PCIe設備從復位狀態進入DL_Inactive狀態時,進行如下操作:

(1)對PCIe數據鏈路層進行徹底復位:將與PCIe鏈路相關的寄存器置為復位值,并丟棄在Replay Buffer中保存的所有報文;

(2)數據鏈路層向事務層提交DL_Down狀態信息

(3)丟棄來自數據鏈路層和物理層的所有TLP,不再接收對端設備發送的DLLP;

(4)如果PCIe鏈路對端有PCIe設備相連,則物理層的LinkUp狀態位為1,且事務層并未禁止當前PCIe鏈路時,數據鏈路層將從DL_Inactive狀態遷移到DL_Init狀態。

(5)如果PCIe鏈路對端不存在PCIe設備,則物理層的LinkUp狀態位為0,此時數據鏈路層一直處于DL_Inactive狀態。

2.DL_Iinit狀態:物理層通知數據鏈路層當前PCIe鏈路可用(LinkUp = 1),且物理層正處理鏈路初始化狀態,此時數據鏈路層不能接收或發送TLP和DLLP;

3.DL_Active狀態:當前PCIe鏈路處于正常工作模式,物理層已完成PCIe鏈路訓練(LTSSM);此時數據鏈路層可以從事務層和物理層正常接收和發送TLP,并處理DLLP。在多數情況下數據鏈路層從DL_Active狀態遷移到DL_Init狀態,意味著處理器系統出現了異常,系統軟件需要處理這些異常;但如下情況的狀態遷移不會引發異常。

e3b1977e-90b4-11ef-a511-92fbcf53809c.png

DLCMSM除了從物理層獲得當前PCIe鏈路狀態外,還可以使用狀態位向事務層報告數據鏈路層所處的狀態;如上圖所示,當數據鏈路層收到物理層的狀態信息后,DLCMSM狀態機將進行狀態轉換,并向事務層通知PCIe鏈路的狀態。

1.DL_Down:數據鏈路層處于該狀態時,表示PCIe鏈路暫時沒有檢測到對端連接設備(并非對端不存在物理設備);當數據鏈路層處于DL_Inactive時,該狀態位有效;

2.DL_Up:數據鏈路層處于該狀態時,表示PCIe鏈路的對端連接了設備;當數據鏈路層處于DL_Acive狀態時,該狀態位有效。

事務層對DL_Down/Up狀態的處理

當事務層收到數據鏈路層的DL_Down狀態信息時,則說明出現了如下狀況:

1.PCIe鏈路的對端沒有連接設備;

2.PCIe鏈路丟失了對端設備的連接;

3.數據鏈路層和物理層出現了某種錯誤,PCIe鏈路不能正常工作;

4.系統軟件禁用PCIe鏈路。

事務層受到DL_Down狀態信息后:

1.將不再從數據鏈路層中接收TLP,除了已經使用ACK/NAK報文確認過的TLP;

2.RC或Switch的下游端口將復位與鏈路相關的內部邏輯和狀態;

3.Switch和Bridge的上游端口將復位相關的內部邏輯和狀態,并丟棄正在處理的TLP;

——此時Switch和PCIe橋使用Hot Reset方式復位所有下游端口。

以上是《PCIE數據鏈路層整體架構》,敬請關注后續內容

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

    關注

    15

    文章

    1248

    瀏覽量

    82954
  • 數據鏈路層
    +關注

    關注

    0

    文章

    58

    瀏覽量

    12017
  • 狀態機
    +關注

    關注

    2

    文章

    492

    瀏覽量

    27613
  • 網絡通訊
    +關注

    關注

    0

    文章

    75

    瀏覽量

    11284

原文標題:PCIE數據鏈路層整體架構

文章出處:【微信號:Rocker-IC,微信公眾號:路科驗證】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    數據鏈路層組幀

    數據鏈路層怎么根據協議組幀,本人沒有寫過類似程序,大家有寫過的可否貼下簡單的程序 啟發一下。感激不盡。謝謝。
    發表于 01-17 11:48

    TLP的數據鏈路層組成與操作

      本章將著重講述TLP的數據鏈路層組成與操作,上一篇更新應該為第五講,數據鏈路層位于事務層和物理層之間,使用容錯和重傳機制保證了數據傳輸的完整性和一致性,此外,數據鏈路層還需要對
    發表于 01-08 17:25

    數據鏈路層.ppt

    數據鏈路層*3.1  數據鏈路層的基本概念*3.2  停止等待協議  3.2.1 完全理想化的數據傳輸  3.2.2 具有最簡單流量控制的
    發表于 10-23 16:41 ?0次下載
    <b class='flag-5'>數據鏈路層</b>.ppt

    數據鏈路層的作用

    數據鏈路層的作用:通過一些數據鏈路層協議和鏈路控制規程,在不太可靠的物理鏈路上實現可靠的數據傳輸。 “鏈路(Link)”和“數據鏈路”是不
    發表于 07-22 16:04 ?7138次閱讀

    數據鏈路層的功能

     數據鏈路層的功能        數據鏈路層要完成許多特定的功能。這些功能包括為網絡層提供設計良好的服務接口,處理幀同步,處理傳輸差錯,調整幀
    發表于 07-22 16:04 ?3362次閱讀

    數據鏈路層的定義

    數據鏈路層的定義 一、設計數據鏈路層的原因
    發表于 07-22 17:13 ?2580次閱讀
    <b class='flag-5'>數據鏈路層</b>的定義

    什么是OSI模型數據鏈路層

    什么是OSI模型數據鏈路層 數據鏈路層最基本的服務是將源機網絡層來的數據可靠地傳輸到相鄰節點的目標機網絡層。為達到這一目的,數據鏈路層
    發表于 03-18 15:11 ?2242次閱讀

    數據鏈路層到底是什么_數據鏈路層工作原理是怎樣的

    本文開始闡述了什么是數據鏈路層,其次闡述了數據鏈路層的分類和數據鏈路層的工作原理,最后介紹了常用的數據鏈路層
    發表于 03-14 14:10 ?3.1w次閱讀
    <b class='flag-5'>數據鏈路層</b>到底是什么_<b class='flag-5'>數據鏈路層</b>工作原理是怎樣的

    數據鏈路層常用成紙法有哪些_數據鏈路層的作用

    本文開始闡述了數據鏈路層的概念與數據鏈路層數據鏈路層的功能或作用,其次闡述了數據鏈路層的主要協議,最后分析了數據鏈路層常用成紙法有哪些。
    發表于 03-14 14:44 ?2233次閱讀
    <b class='flag-5'>數據鏈路層</b>常用成紙法有哪些_<b class='flag-5'>數據鏈路層</b>的作用

    數據鏈路層和傳輸層的區別是什么

    本文開始介紹了傳輸層的概念、傳輸層的基本功能以及傳輸層服務類型,其次介紹了數據鏈路層功能與工作過程,最后闡述了數據鏈路層和傳輸層的區別。
    發表于 03-14 15:03 ?2.7w次閱讀
    <b class='flag-5'>數據鏈路層</b>和傳輸層的區別是什么

    數據鏈路層設備有哪些

    數據鏈路層的設備與組件是指那些同時具有物理層和數據鏈路層功能的設備或組件。數據鏈路層的設備與組件主要有網卡、網橋和交換機。
    發表于 03-14 15:20 ?2.5w次閱讀

    一文看懂數據鏈路層和網絡層的區別

    本文開始介紹了網絡層的概念及網絡層的主要功能,其次闡述了數據鏈路層的概念和數據鏈路層的功能,最后介紹了數據鏈路層的作用以及數據鏈路層和網絡層的區別。
    發表于 03-14 15:38 ?7.2w次閱讀
    一文看懂<b class='flag-5'>數據鏈路層</b>和網絡層的區別

    數據鏈路層的任務

    數據鏈路層的主要任務是使網絡層無需了解物理層的特征而獲得可靠的傳輸。數據鏈路層將通過鏈路層數據進行打包和解包、差錯檢測和校正,并協調共享介質。
    的頭像 發表于 02-27 15:08 ?7412次閱讀

    數據鏈路層設備有哪些

    數據鏈路層的設備與組件是指那些同時具有物理層和數據鏈路層功能的設備或組件。數據鏈路層的設備與組件主要有網卡、網橋和交換機。
    的頭像 發表于 02-27 15:17 ?6w次閱讀

    PCIe鏈路層里的ACK/NAK介紹

    ??編 者 按? ? ????讀cocotbext-pcie源碼,有部分牽涉到數據鏈路層。雖然自工作以來接觸到PCIe還是蠻多的,但一般往往專注在TLP層,對于數據鏈路層還是接觸的比較
    的頭像 發表于 06-25 10:31 ?2976次閱讀
    <b class='flag-5'>PCIe</b><b class='flag-5'>鏈路層</b>里的ACK/NAK介紹
    主站蜘蛛池模板: 精品一二三区久久AAA片| 久久re6热在线视频| 老司机福利在视频在ae8| 动漫女主被扒开双腿羞辱| 嫩草AV久久伊人妇女| 中文字幕99香蕉在线| 久久久乱码精品亚洲日韩| 视频三区 国产盗摄| 俄罗斯爱爱| 色偷偷在线视频| 国产精品久久高潮呻吟无码| 久久综合给合久久狠狠狠…| 中文无码有码亚洲 欧美| 久久综合丁香激情久久| 9277在线观看资源| 国产人A片在线乱码视频| 亚洲精品成人a在线观看| 极品美女穴| 2019精品国产品在线不卡| 红色机尾快播| 伊人久久精品AV无码一区| 麻豆免费观看高清完整视频在线 | 在线观看中文字幕国产| 国产A级毛片久久久久久久| 色综合久久88色综合天天提莫| 国产免费怕怕免费视频观看 | 久久兔费黄A级毛片高清| 99久久国产露脸国语对白| 欧美性爱 成人| 国产精品久久久久久久久爆乳 | 国产精品久久久久永久免费看 | 亚洲福利区| 国产成人免费不卡在线观看| 欧美gay69| 国产成年网站v片在线观看| 亚洲精品成人a| 欧美16一17sex性hd| 国产盗摄一区二区| 永久久久免费人妻精品| 日本三区四区免费高清不卡| 精品久久久麻豆国产精品|