PCIE協議-4-物理層邏輯模塊

4.1 簡介

物理層將事務層和數據鏈路層與用于鏈路數據交換的信令技術隔離開來。物理層被劃分為邏輯物理層和電氣物理層子模塊(見圖4-1)。

?4.2 邏輯物理層子模塊

邏輯子模塊有兩個主要部分:一個發送部分,它準備從數據鏈路層傳遞過來的信息,以便通過電氣子模塊傳輸;一個接收部分,它識別并準備接收到的信息,然后將其傳遞給數據鏈路層。

邏輯子模塊和電氣子模塊通過狀態和控制寄存器接口或功能等效設備協調每個收發器的狀態。邏輯子模塊指導物理層的控制和管理功能。

PCI Express在數據速率為2.5 GT/s或5.0 GT/s時使用8b/10b編碼。對于大于或等于8.0 GT/s的數據速率,它使用每條通道的編碼以及物理層封裝。

4.2.1? 2.5 GT/s和5.0 GT/s數據速率編碼

4.2.1.1 符號編碼

在2.5和5.0 GT/s的數據速率下,PCI Express使用8b/10b傳輸編碼。這種傳輸編碼的定義與ANSI X3.230-1994標準第11條款(以及IEEE 802.3z,36.2.4)中指定的定義相同。采用這種方案,8位數據字符被當作3位和5位映射到一個4位代碼組和一個6位代碼組上。控制位與數據字符結合使用,用于確定何時編碼8b/10b傳輸編碼中包含的12個特殊符號之一。這些代碼組連接起來形成一個10位符號。如圖4-2所示,ABCDE映射到abcdei,FGH映射到fghj。

4.2.1.1.1 數據的串行化和反串行化

符號的位被放置在一條通道上,從位"a"開始,以位"j"結束。圖4-3和圖4-4中展示了示例。?

4.2.1.1.2 用于幀定界和鏈路管理的特殊符號(K代碼)

8b/10b編碼方案提供了與用于表示字符的數據符號不同的特殊符號。這些特殊符號用于本章后面描述的各種鏈路管理機制。 特殊符號也用于對DLLPs和TLPs進行幀定界, 使用不同的特殊符號允許這兩種類型的包能夠快速且容易地區分開來。

表4-1顯示了PCI Express使用的特殊符號,并為每個符號提供了簡要說明。這些符號將在后續章節中更詳細地討論。每個這些特殊符號以及數據符號,都必須通過查看整個10位符號來解釋。

4.2.1.1.3 8b/10b 解碼規則

有效的8b/10b代碼的符號表在附錄B中給出。這些表格有一列用于正差錯和一列用于負差錯。

在從電氣空閑狀態出來后首次傳輸差分數據時,除非有其他要求,否則發射器可以選擇任何差錯,發射器之后必須遵循正確的8b/10b編碼規則,直到進入下一個電氣空閑狀態。

當接收器檢測到從電氣空閑狀態退出時,初始差錯設置為獲得符號鎖定時使用的第一個符號的差錯。如果由于硬件設計實現的錯誤數量,在傳輸差分信息期間丟失并重新獲得符號鎖定,差錯也可能會被重新初始化。

在初始差錯設置后,所有接收到的符號都必須在與當前運行差錯相對應的正確列中找到。 如果接收到的符號在與錯誤的運行差錯相對應的列中找到,或者符號與兩列都不對應,則物理層必須通知數據鏈路層接收到的符號無效。這是一個接收器錯誤,并且是與端口相關聯的報告錯誤(見第6.2節)。

4.2.1.2 符號到鏈路的幀定界和應用

符號到通道的幀定界和應用分為兩類。第一類是有序集(Ordered Sets),第二類是TLPs(事務層包)和DLLPs(數據鏈路層協議包)。有序集總是在每條通道上串行傳輸,以便在多通道鏈路上,所有通道同時出現完整的有序集。

幀定界機制使用特殊符號K28.2 "SDP"來開始一個DLLP,使用特殊符號K27.7 "STP"來開始一個TLP。特殊符號K29.7 "END"用于標記TLP或DLLP的結束。

符號的概念流必須從其內部表示(這是實現依賴的)映射到外部通道。符號被映射到通道上,以首位符號(代表字符0)放置在通道0上;第二個放置在通道1上;依此類推。x1鏈路是一個最簡單案例,映射是最普通的,所有符號按順序放置在單一通道上。

當沒有傳輸包信息或特殊有序集時,發射器處于邏輯空閑狀態。在此期間,必須傳輸空閑數據。空閑數據必須由數據字節0('h00),根據4.2.1.3節的規則進行擾亂,并根據4.2.1.1節的規則進行8b/10b編碼,與TLP和DLLP數據符號的擾亂和編碼方式相同。同樣,當接收器沒有接收任何包信息或特殊有序集時,接收器處于邏輯空閑狀態,并且應接收上述描述的空閑數據。 在傳輸空閑數據期間,必須繼續按照4.2.7節的規定傳輸SKP有序集。

對于以下規則,"放置"定義為發射器將符號放入鏈路的正確通道的要求。

  • TLPs必須通過在TLP開始放置一個STP符號,在TLP結束放置一個END符號或EDB符號來幀定界(見圖4-5)。
  • 一個正確形成的TLP在STP和END或EDB符號之間包含至少18個符號。如果接收到的序列在STP和END或EDB符號之間少于18個符號,接收器允許將其視為接收器錯誤。 如果檢查,這是一個與接收端口相關聯的報告錯誤(見第6.2節)。
  • DLLPs必須通過在DLLP開始放置一個SDP符號,在DLLP結束放置一個END符號來幀定界(見圖4-6)。
  • 邏輯空閑定義為一個或多個符號時間的時間段,在此期間沒有傳輸/接收信息:TLPs、DLLPs或任何類型的特殊符號。與電氣空閑不同,在邏輯空閑期間,空閑符號(00h)正在被傳輸和接收。
    • 當發射器處于邏輯空閑狀態時,所有通道上必須傳輸邏輯空閑數據(00h)。 這根據4.2.1.3節的規則進行擾亂。
    • 接收器必須忽略傳入的邏輯空閑數據,并且除了擾亂序列外,不得對任何特定數據模式有任何依賴。
  • 對于大于x1的鏈路,當從邏輯空閑鏈路條件開始傳輸TLP時,必須將STP符號(代表TLP的開始)放置在通道0上。
  • 對于大于x1的鏈路,當從邏輯空閑鏈路條件開始傳輸DLLP時,必須將SDP符號(代表DLLP的開始)放置在通道0上。
  • STP符號放置在鏈路上的頻率不得超過每個符號時間一次。
  • SDP符號放置在鏈路上的頻率不得超過每個符號時間一次。
  • 只要滿足上述規則,就允許TLP和DLLP傳輸連續跟隨彼此。
  • 在同一符號時間內,可以放置一個STP符號和一個SDP符號在鏈路上。
    • 大于x4的鏈路可以在第4*N通道上放置STP和SDP符號,其中N是一個正整數。 例如,在x8鏈路上,STP和SDP符號可以放置在通道0和4;在x16鏈路上,STP和SDP符號可以放置在通道0、4、8或12。
  • 對于N等于8或更大的xN鏈路,如果END或EDB符號被放置在通道K上,而K不等于N-1,并且通道K+1后面沒有STP或SDP符號(即,沒有TLP或DLLP立即跟隨),那么PAD符號必須被放置在通道K+1到通道N-1。
    • 例如,在x8鏈路上,如果END或EDB被放置在通道3上,當后面沒有STP或SDP跟隨時,PAD必須被放置在通道4到7。
  • EDB符號用于標記一個無效化TLP的結束。有關EDB使用的更多信息,請參見第3.6.2.1節。
  • 接收器可以自行選擇檢查本節規則的違規情況。這些檢查是獨立的可選檢查(見第6.2.3.4節)。如果進行了檢查,違規被視為接收器錯誤,并且是與端口相關聯的報告錯誤(見第6.2節)。

4.2.1.3 數據擾碼

為了改善鏈路的電氣特性,通常會對數據進行擾亂。這涉及到使用線性反饋移位寄存器(LFSR)生成的模式與數據流進行異或(XOR)操作。在發射端,擾亂是在8b/10b編碼之前對字符應用的。在接收端,在8b/10b解碼之后對字符應用反擾亂。

在多通道鏈路上,擾亂功能可以使用一個或多個LFSR實現。當每個鏈路有多個發射LFSR時,這些LFSR必須協同工作,在每個LFSR中保持相同的同時(通道到通道輸出偏斜)值。當每個鏈路有多個接收LFSR時,這些LFSR也必須協同工作,在每個LFSR中保持相同的同時(通道到通道偏斜)值。無論它們如何實現,LFSR必須以通道為單位與數據交互,就好像鏈路內每個通道都有一個單獨的LFSR一樣。

LFSR在圖4-10中有圖形表示,擾亂或反擾亂是通過將8位(D0-D7)字符與LFSR的16位(D0-D15)輸出進行串行異或操作來執行的。LFSR的一個輸出,D15,與要處理的數據的D0進行異或。然后,LFSR和數據寄存器串行前進,重復D1到D7的輸出處理。數據異或后,LFSR前進。LFSR實現了多項式:

數據鏈路層用來通知物理層禁用擾亂的機制和/或接口是硬件定義實現的,并且超出了本規范的范圍。 數據擾亂規則如下:

  • COM符號初始化LFSR。
  • 除了SKP符號外,每個符號LFSR值前進八個串行移動。
  • 所有數據符號(D代碼),除了有序集內(例如,TS1、TS2、EIEOS)、合規模式(見第4.2.8節)和修改后的合規模式(見第4.2.9節)之外,都被擾亂。
  • 所有特殊符號(K代碼)都不被擾亂。
  • 線性反饋移位寄存器(LFSR)的初始種子值(D0-D15)是FFFFh。當一個COM符號從發射端LFSR退出后,發射端的LFSR會被初始化。每當COM符號進入該鏈路任何通道上的接收端LFSR時,接收端的LFSR也會被初始化。
  • 擾亂只能在配置結束時禁用(見第4.2.6.3.5節)。
  • 對于回環從設備,擾亂不適用。
  • 默認情況下,在檢測模式下擾亂始終是啟用的。

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/14505.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/14505.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/14505.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spring 中常用的手動裝載 bean 方法

在 Spring 的 bean 裝載條件中,雖然 Spring 給我們提供了非常好用便捷的 Condition 相關注解,但是很多時候 Condition 相關注解并不滿足我們的需求,我需要更復雜的條件手動控制是否裝置 bean。這個時候我們就可以實現 Spring 為我們提供的幾個…

域名DNS添加CAA記錄

目錄 概述 檢測CAA記錄 添加CAA記錄 概述 DNS CAA(Certificate Authority Authorization)記錄是一種不太常見的DNS記錄類型,它主要用于鎖定證書頒發機構(CA)列表,以確保只有特定的CA可以為某個域名頒發SSL/TLS證書。CAA記錄是保護域名免受釣魚攻擊的安全措施,通過限制…

v-md-editor和SSE實現ChatGPT的打字機式輸出

概述 不論是GPT還是文心一言,在回答的時候類似于打字機式的將答案呈現給我們,這樣的交互一方面比較友好,另一方面,當答案比較多、生成比較慢的時候也能爭取一些答案的生成時間。本文后端使用express和stream,使用SSE將…

Boosting Cache Performance by Access Time Measurements——論文泛讀

TOC 2023 Paper 論文閱讀筆記整理 問題 大多數現代系統利用緩存來減少平均數據訪問時間并優化其性能。當緩存未命中的訪問時間不同時,最大化緩存命中率與最小化平均訪問時間不同。例如:系統使用多種不同存儲介質時,不同存儲介質訪問時間不同…

【C++初階】—— 類和對象 (上)

📝個人主頁🌹:EterNity_TiMe_ ?收錄專欄?:C “ 登神長階 ” 🌹🌹期待您的關注 🌹🌹 類和對象 1. 初步認識C2. 類的引入3. 類的定義聲明和定義全部放在類體中聲明和定義分開存放 4.…

8個實用網站和軟件,收藏起來一定不后悔~

整理了8個日常生活中經常能用得到的網站和軟件,收藏起來一定不會后悔~ 1.ZLibrary zh.zlibrary-be.se/這個網站收錄了超千萬的書籍和文章資源,國內外的各種電子書資源都可以在這里搜索,98%以上都可以在網站內找到,并且支持免費下…

Android系統的/etc/mkshrc文件

/etc/mkshrc 文件是用于配置 mksh(MirBSD Korn Shell)環境的啟動腳本。mksh 是 Android 默認使用的 shell,在 shell 啟動時會讀取并執行這個文件中的配置。以下是關于 /etc/mkshrc 文件的詳細信息及其用途。 /etc/mkshrc 文件的作用 環境配…

sql server專題實驗4 復雜查詢

SQL Server 是微軟開發的數據庫管理系統,它支持復雜的查詢操作,允許用戶從數據庫中檢索、分析和處理數據。在進行復雜查詢時,通常會用到以下幾種SQL語句和概念: 連接(Join): INNER JOIN:只返回兩…

設計模式--備忘錄模式

備忘錄模式是一種行為設計模式,它用于在不破壞封裝的前提下,保存一個對象的內部狀態,以便以后可以恢復到這個狀態。這種模式在許多應用場景中非常有用,例如在實現撤銷操作、保存游戲進度、恢復文件備份以及保持工作狀態等。 備忘…

linux中ansible整理筆記

一、工作模式 1. adhoc臨時命令 語法: ansible 主機或者組列表 -m 模塊 -a “參數” 2. playbook 語法: ansible-playbook xxx.yml 二、模塊 1. ping 2.command:默認模塊(不支持重定向,管道) 3.shell:類似com…

IP地址顯示“不安全”怎么辦|已解決

解決IP地址顯示“不安全”的問題,通常需要確保網站或服務使用HTTPS協議進行加密通信,可以通過部署SSL證書來解決,以下是具體的解決步驟: 1 申請IP地址SSL證書:網站管理員應向證書頒發機構(CA)申…

網絡拓撲—WEB-IIS服務搭建

文章目錄 WEB-IIS服務搭建網絡拓撲配置網絡IISPC 安裝IIS服務配置IIS服務(默認站點)PC機訪問網頁 配置IIS服務(新建站點)PC機訪問網頁 WEB-IIS服務搭建 網絡拓撲 //交換機忽略不計 IIS服務IP:192.168.1.1 PC機IP&…

人類交互2 聽覺處理和語言中樞

人類聽覺概述 人類聽覺是指通過耳朵接收聲音并將其轉化為神經信號,從而使我們能夠感知和理解聲音信息的能力。聽覺是人類五種感覺之一,對我們的日常生活和交流至關重要。 聽覺是人類交流和溝通的重要工具。通過聽覺,我們能夠聽到他人的語言…

安裝錯誤提示Please run MaterialLibrary2018.msi first或者其他MaterialLibrary版本

打開autoremove,系統檢查,點擊開始檢查。檢查完成修復。 可以解決部分該問題,如果沒解決的請咨詢

Linux中的文件描述符

1.系統調用接口和庫函數的關系 函數:fopen fclose fread fwrite 都是c標準庫當中的函數,也就是用戶操作接口中ibc系統調用:open close read write 都是系統調用提供的接口 c語言中接口底層封裝的都是系統調用接口 FILE* stdin stdout stderr…

[POI2008] STA-Station/洛谷P3478(樹形dp)

[ P O I 2008 ] S T A ? S t a t i o n ( 樹形 d p ) \Huge{[POI2008] STA-Station(樹形dp)} [POI2008]STA?Station(樹形dp) 題目鏈接:[P3478 POI2008] STA-Station - 洛谷 文章目錄 題意思路標程 題意 給定一個 n n n個點的樹,請求出一個結點&#…

js無感刪除url搜索部分,不刷新頁面

如:把下面的網址 http://127.0.0.1:5173/?code3b9cc36e&state 改成 http://127.0.0.1:5173 history.pushState(null, 網站標題, location.origin)

TikTok越獄檢測之二 <調試器檢測>

來了,調試器檢測。總結如下,多多指教: 檢測app 是否被附加調試: 原理就是檢測父進程是否 launchd啟動,在OS X和iOS 系統中,用戶環境始于launchd,為用戶態出現的第一個進程,為所有的進程的祖先,launchd 的進…

Python模塊、包和異常處理

大家好,在當今軟件開發領域,Python作為一種簡潔、易讀且功能強大的編程語言,被廣泛應用于各種領域。作為一名測試開發工程師,熟練掌握Python的模塊、包和異常處理是提高代碼可維護性和錯誤處理能力的關鍵。本文將和大家一起探討Py…

SAP-MRP和采購申請

1、如果采購申請是手工創建的,跑MRP會不會被覆蓋? 創建一個采購申請18089476,然后運行MRP-MD03,再用MD04查看下 從上圖看,手工創建的采購申請被打上*號,沒有被覆蓋掉。 2、如果采購申請被審批了,會不會被覆蓋掉? 首先創建一個獨立需求MD61 然后庫存消耗掉為0,運行M…