深入了解PCIe協(xié)議
掃描二維碼
隨時隨地手機(jī)看文章
自1992年引入以來,PCI(Peripheral Component Interconnect)標(biāo)準(zhǔn)一直是計算機(jī)系統(tǒng)內(nèi)部通信的重要組成部分。隨著技術(shù)的進(jìn)步,PCIe(Peripheral Component Interconnect Express)于2003年推出,它提供了一個更高效、更高帶寬的接口。隨著時間的發(fā)展,PCIe已經(jīng)成為現(xiàn)代計算平臺的標(biāo)準(zhǔn),從最初的1.0版本發(fā)展到了如今的6.0版本。
如果說AMBA AXI/ACE/CHI是SoC內(nèi)部的總線,那么PCIe就是計算機(jī)板級的總線了。PCIe不僅支持高速數(shù)據(jù)傳輸,還具備低延遲、高可靠性和靈活性,這些特點(diǎn)使其成為連接各種外設(shè)(如顯卡、存儲設(shè)備、網(wǎng)絡(luò)適配器等)到主板的主要手段。無論是個人計算機(jī)還是企業(yè)級服務(wù)器,PCIe都是不可或缺的一部分。作為板級芯片和芯片互聯(lián)的主要數(shù)據(jù)通路,PCIe作用越來越重要。了解PCIe對一個SoC的從業(yè)者,是十分必要的。
-
PCIe基礎(chǔ)知識
-
什么是PCIe?
PCIe是一種點(diǎn)對點(diǎn)的高速串行連接方式,設(shè)計用于替代舊式的并行總線架構(gòu)。它使用了分層的體系結(jié)構(gòu),其中每一層負(fù)責(zé)特定的功能:
1.1 PCIE通道配置
PCI Express(PCIe)的通道(lane)配置是決定PCIe設(shè)備性能的關(guān)鍵因素。通道配置通常用“x”后跟一個數(shù)字表示,如x1、x4、x8、x16等,這個數(shù)字代表了有多少個獨(dú)立的PCIe通道被使用,即有幾個lane。這些配置影響了設(shè)備的帶寬和數(shù)據(jù)傳輸速率,從而影響了整體的系統(tǒng)性能。x32基本沒有產(chǎn)品實(shí)現(xiàn)過,所以一般最大是x16.
x1:這是最小的通道配置,只使用一個PCIe通道。盡管帶寬最低,但它足夠用于低帶寬需求的設(shè)備,如一些網(wǎng)絡(luò)適配器、聲卡或USB擴(kuò)展卡。
x4:使用四個PCIe通道,提供了四倍于x1配置的帶寬。這樣的配置常用于需要更高帶寬但又不需要x8或x16帶寬的設(shè)備,如某些高速的存儲解決方案或中等帶寬需求的網(wǎng)絡(luò)卡。
x8:配置有八個PCIe通道,提供了八倍于x1配置的帶寬。x8通常用于高性能的存儲設(shè)備,如RAID控制器。
x16:這是最常見的高性能配置,使用16個PCIe通道,提供了16倍于x1配置的帶寬。x16配置主要用于圖形卡(GPU),因?yàn)檫@些設(shè)備需要非常高的帶寬來處理大量的圖形數(shù)據(jù)。
x32:雖然PCIe規(guī)范中定義了x32配置,但實(shí)際上很少見。理論上,x32配置將提供32倍于x1配置的帶寬,但由于成本、功耗和設(shè)計復(fù)雜性,大多數(shù)系統(tǒng)中并未采用這種配置。
1.2 PCIe版本演變
-
從PCIe 1.0到最新版本的關(guān)鍵變化
-
PCIe 1.0:提供2.5 GTps的單向帶寬,每個通道的最大傳輸速率為250 MB/s。
-
PCIe 2.0:帶寬翻倍至5.0 GTps,每個通道的最大傳輸速率為500 MB/s。
-
PCIe 3.0:再次翻倍至8.0 GTps,每個通道的最大傳輸速率為1 GB/s,同時提高了編碼效率,從8b/10b編碼改為128b/130b編碼。
-
PCIe 4.0:帶寬達(dá)到16.0 GTps,每個通道的最大傳輸速率為2 GB/s。
-
PCIe 5.0:最新版本,帶寬為32.0 GTps,每個通道的最大傳輸速率為4 GB/s。
-
PCIe 6.0:帶寬達(dá)到64.0 GTps,每個通道的最大傳輸速率為8 GB/s,引入了PAM4調(diào)制技術(shù),進(jìn)一步提高傳輸效率。
對應(yīng)表格如下:
1.3 版本兼容
PCIe設(shè)計時考慮了向下兼容性,即較新的設(shè)備可以在較老的系統(tǒng)上工作,盡管可能達(dá)不到最佳性能。例如,一個PCIe 4.0設(shè)備可以插入到PCIe 3.0插槽中,但只能以PCIe 3.0的速度運(yùn)行。
-
PCIE架構(gòu)及主要組件
2.1 架構(gòu)層次
PCIe架構(gòu)可以分為以下幾層:
-
應(yīng)用層:這不是PCIe規(guī)范正式定義的一部分,而是由具體實(shí)現(xiàn)者根據(jù)需求設(shè)計的部分。應(yīng)用層決定了設(shè)備的功能和類型,例如存儲設(shè)備、網(wǎng)絡(luò)適配器或圖形卡。
-
事務(wù)層(Transaction Layer):負(fù)責(zé)處理事務(wù)的初始化和完成,包括讀取、寫入、配置和中斷等操作。事務(wù)層還管理事務(wù)的優(yōu)先級和流量控制,確保數(shù)據(jù)請求和響應(yīng)的高效處理。
-
數(shù)據(jù)鏈路層(Data Link Layer):分為兩個子層:
-
鏈路子層(Link Sublayer):負(fù)責(zé)鏈路的建立、訓(xùn)練、維護(hù)和錯誤檢測,確保數(shù)據(jù)包的準(zhǔn)確傳輸。
-
物理媒體附件子層(Physical Media Attachment Sublayer):負(fù)責(zé)數(shù)據(jù)的編碼和解碼,確保數(shù)據(jù)在物理層的正確傳輸。
-
物理層(Physical Layer):包括電氣信號的生成、接收和處理,以及串行數(shù)據(jù)的編碼和解碼。物理層進(jìn)一步細(xì)分為兩個子層:
-
電氣子層(Electrical Sublayer):處理電氣信號的生成和接收,確保信號的完整性和穩(wěn)定性。
-
介質(zhì)訪問控制子層(Media Access Control Sublayer):管理數(shù)據(jù)在物理介質(zhì)上的傳輸,包括信號的編碼和解碼。
通過這種分層架構(gòu),PCIe能夠?qū)崿F(xiàn)高效、可靠的數(shù)據(jù)傳輸,滿足各種應(yīng)用場景的需求。
2.2 主要組件
PCIe架構(gòu)的主要組件包括:
-
Root Complex (RC):通常位于系統(tǒng)主板上,與CPU緊密集成,作為PCIe架構(gòu)的起點(diǎn)。Root Complex負(fù)責(zé)初始化和配置PCIe總線,管理事務(wù)處理,并提供到CPU和內(nèi)存的接口。
-
Switches:允許構(gòu)建復(fù)雜的PCIe拓?fù)?,通過連接多個端點(diǎn)設(shè)備或其他Switches,實(shí)現(xiàn)靈活的系統(tǒng)架構(gòu)。Switches可以擴(kuò)展PCIe總線,允許更多設(shè)備連接到系統(tǒng)中,從而提高系統(tǒng)的擴(kuò)展性和靈活性。Switch可以將一個上游端口連接到多個下游端口,實(shí)現(xiàn)多路徑傳輸。
-
Endpoint (EP):連接到PCIe總線的終端設(shè)備,如顯卡、存儲控制器、網(wǎng)絡(luò)適配器等。它們是PCIe總線的消費(fèi)者,與Root Complex或Switches相連,執(zhí)行具體的I/O操作和數(shù)據(jù)處理任務(wù)。
-
PCI Express to PCI/PCI-X Bridge :PCI Express 到 PCI/PCI-X 橋接器提供了一個連接PCI Express架構(gòu)和PCI/PCI-X層次結(jié)構(gòu)的接口,使現(xiàn)代PCI Express系統(tǒng)能夠與傳統(tǒng)的PCI或PCI-X設(shè)備兼容。
2.3 配置空間與地址映射
每個PCIe設(shè)備都有一個配置空間,其中包含了設(shè)備的信息和控制寄存器。配置空間分為多個寄存器,包括Vendor ID、Device ID、Class Code、BAR(Base Address Register)等。地址映射確保了主機(jī)能夠正確地尋址和通信,通過配置空間可以讀取和修改設(shè)備的狀態(tài)和設(shè)置。
-
PCIe硬件層次概要
PCI Express 使用數(shù)據(jù)包在組件之間傳輸信息。數(shù)據(jù)包在事務(wù)層和數(shù)據(jù)鏈路層形成,以攜帶信息從發(fā)送組件傳輸?shù)浇邮战M件。當(dāng)傳輸?shù)臄?shù)據(jù)包流經(jīng)其他層時,會被添加必要的附加信息,以便在這些層處理數(shù)據(jù)包。在接收端,這一過程相反,數(shù)據(jù)包從物理層表示形式轉(zhuǎn)換為數(shù)據(jù)鏈路層表示形式,最終(對于事務(wù)層數(shù)據(jù)包)轉(zhuǎn)換為接收設(shè)備的事務(wù)層可以處理的形式。下圖展示了事務(wù)級數(shù)據(jù)包信息通過各層的概念流程。
3.1 事務(wù)層(Transaction Layer)
架構(gòu)的上層是事務(wù)層。事務(wù)層的主要職責(zé)是組裝和拆解事務(wù)層數(shù)據(jù)包(TLP)。TLP用于通信事務(wù),如讀取和寫入,以及某些類型的事件。事務(wù)層還負(fù)責(zé)管理基于信用的流量控制。每個需要響應(yīng)包的請求包都實(shí)現(xiàn)為分離事務(wù)。每個包都有一個唯一的標(biāo)識符,使響應(yīng)包能夠定向到正確的發(fā)起者。包格式支持不同的尋址形式,具體取決于事務(wù)的類型(內(nèi)存、I/O、配置和消息)。包還可以具有諸如No Snoop、Relaxed Ordering和ID-Based Ordering (IDO)等屬性。
事務(wù)層支持四種地址空間:它包括三種PCI地址空間(內(nèi)存、I/O和配置),并增加了消息空間。PCIe規(guī)范使用消息空間來支持所有先前的側(cè)帶信號,如中斷、電源管理請求等,作為帶內(nèi)消息事務(wù)??梢詫CI Express消息事務(wù)視為“虛擬線”,因?yàn)樗鼈兊男Ч窍四壳捌脚_實(shí)現(xiàn)中使用的大量側(cè)帶信號。
事務(wù)層傳輸?shù)幕締挝皇荰LP(Transaction Layer Packet),事務(wù)層包,是在 PCIe 鏈路上進(jìn)行數(shù)據(jù)傳輸?shù)幕締挝?。TLP 包含了事務(wù)的所有必要信息,包括請求類型、目標(biāo)地址、數(shù)據(jù)負(fù)載等。
TLP 通常由以下幾個部分組成:
-
包頭(Header):包含有關(guān)事務(wù)的元數(shù)據(jù),如事務(wù)類型、地址、長度、事務(wù)ID等。
-
數(shù)據(jù)負(fù)載(Data Payload):包含實(shí)際要傳輸?shù)臄?shù)據(jù)。
-
尾部(Tail):可選部分,通常用于表示 TLP 的結(jié)束。
TLP 類型和四種地址空間對應(yīng):
-
Memory Read/Write:用于內(nèi)存讀寫操作。
-
I/O Read/Write:用于 I/O 地址空間的讀寫操作。
-
Configuration Read/Write:用于設(shè)備配置空間的讀寫操作。
-
Message:用于發(fā)送控制信息,如中斷、電源管理命令等。
3.2 數(shù)據(jù)鏈路層(Data Link Layer)
PCIe鏈路的中間層是數(shù)據(jù)鏈路層,它作為事務(wù)層和物理層之間的中間階段。數(shù)據(jù)鏈路層的主要職責(zé)包括鏈路管理和數(shù)據(jù)完整性,包括錯誤檢測和錯誤糾正。
數(shù)據(jù)鏈路層的發(fā)送端接受由事務(wù)層組裝的TLP,計算并應(yīng)用數(shù)據(jù)保護(hù)代碼和TLP序列號,然后提交給物理層進(jìn)行跨鏈路傳輸。接收端的數(shù)據(jù)鏈路層負(fù)責(zé)檢查接收到的TLP的完整性,并將它們提交給事務(wù)層進(jìn)行進(jìn)一步處理。在檢測到TLP錯誤時,這一層負(fù)責(zé)請求重新傳輸TLP,直到信息正確接收,或確定鏈路已失效。
數(shù)據(jù)鏈路層還生成和消耗用于鏈路管理功能的包。為了區(qū)分這些包與事務(wù)層使用的TLP,當(dāng)提到由數(shù)據(jù)鏈路層生成和消耗的包時,將使用術(shù)語數(shù)據(jù)鏈路層包(DLLP)。
數(shù)據(jù)鏈路層負(fù)責(zé)可靠地將事務(wù)層(Transaction Layer)提供的TLP(Transaction Layer Packet)通過PCI Express鏈路傳輸?shù)搅硪唤M件的事務(wù)層。數(shù)據(jù)鏈路層提供的服務(wù)包括:
數(shù)據(jù)交換
-
接受事務(wù)層提供的TLP并將其傳遞給物理層(Physical Layer)進(jìn)行傳輸。
-
接受物理層從鏈路接收到的TLP并將其傳遞給接收事務(wù)層。
錯誤檢測和重試
-
生成TLP序列號和LCRC(Link Cyclic Redundancy Check)。
-
存儲已傳輸?shù)腡LP以支持?jǐn)?shù)據(jù)鏈路層重試。
-
對TLP和數(shù)據(jù)鏈路層包(DLLP)進(jìn)行數(shù)據(jù)完整性檢查。
-
生成正確認(rèn)和負(fù)確認(rèn)DLLP。
-
提供錯誤報告和記錄機(jī)制的錯誤指示。
-
鏈路確認(rèn)超時重播機(jī)制。
初始化和電源管理
-
跟蹤鏈路狀態(tài)并將其活動/復(fù)位/斷開狀態(tài)傳達(dá)給事務(wù)層。
數(shù)據(jù)鏈路層為PCIe鏈路執(zhí)行三個關(guān)鍵服務(wù):
-
事務(wù)層數(shù)據(jù)包(TLP)的排序:由事務(wù)層生成的TLP按順序排列。
-
確保TLP在兩個端點(diǎn)之間的可靠傳輸:通過確認(rèn)協(xié)議(ACK和NAK信號)明確要求重傳未確認(rèn)/錯誤的TLP。
-
初始化和管理流量控制信用:確保鏈路的流量控制。
在發(fā)送端,數(shù)據(jù)鏈路層為每個出站TLP生成一個遞增的序列號。這個序列號作為每個傳輸TLP的唯一標(biāo)識標(biāo)簽,并插入到出站TLP的頭部。每個出站TLP的末尾還附加了一個32位的循環(huán)冗余校驗(yàn)碼(在PCIe上下文中稱為鏈路CRC或LCRC)。
在接收端,接收的TLP的LCRC和序列號都在鏈路層進(jìn)行驗(yàn)證。如果LCRC檢查失?。ū砻鲾?shù)據(jù)錯誤),或者序列號不在范圍內(nèi)(與上次有效接收的TLP不連續(xù)),則認(rèn)為該TLP及其之后接收到的所有TLP無效并丟棄。接收器發(fā)送一個帶有無效TLP序列號的否定確認(rèn)消息(NAK),請求重新傳輸該序列號之后的所有TLP。如果接收到的TLP通過了LCRC檢查且序列號正確,則認(rèn)為它是有效的。鏈路接收器遞增序列號(跟蹤最后接收到的好TLP),并將有效的TLP轉(zhuǎn)發(fā)到接收器的事務(wù)層。發(fā)送一個ACK消息到遠(yuǎn)程發(fā)送器,指示TLP成功接收(并且隱含地,所有具有過去序列號的TLP也成功接收)。
如果發(fā)送器接收到NAK消息,或者在超時期限內(nèi)沒有收到任何確認(rèn)(NAK或ACK),發(fā)送器必須重新傳輸所有沒有正面確認(rèn)(ACK)的TLP。除非設(shè)備或傳輸介質(zhì)持續(xù)故障,否則鏈路層向事務(wù)層呈現(xiàn)一個可靠的連接,因?yàn)閭鬏攨f(xié)議確保了在不可靠介質(zhì)上的TLP傳輸。
除了發(fā)送和接收由事務(wù)層生成的TLP,數(shù)據(jù)鏈路層還生成和消耗數(shù)據(jù)鏈路層數(shù)據(jù)包(DLLP)。ACK和NAK信號通過DLLP進(jìn)行通信,還有一些電源管理消息和流量控制信用信息(代表事務(wù)層)。
實(shí)際上,鏈路上未確認(rèn)的TLP數(shù)量受兩個因素限制:發(fā)送器的重放緩沖區(qū)的大?。ū仨毚鎯λ袀鬏?shù)腡LP副本,直到遠(yuǎn)程接收器確認(rèn)它們)和接收器向發(fā)送器發(fā)出的流量控制信用。PCI Express要求所有接收器發(fā)出最低數(shù)量的信用(credits),以確保鏈路允許發(fā)送PCIConfig TLP和消息TLP。
3.3 PCIe物理層(Physical Layer)
物理層包括所有接口操作所需的電路,包括驅(qū)動器和輸入緩沖器、并行到串行和串行到并行轉(zhuǎn)換、PLL(鎖相環(huán))和阻抗匹配電路。它還包括與接口初始化和維護(hù)相關(guān)的邏輯功能。物理層以實(shí)現(xiàn)特定的格式與數(shù)據(jù)鏈路層交換信息。這一層負(fù)責(zé)將從數(shù)據(jù)鏈路層接收到的信息轉(zhuǎn)換為適當(dāng)?shù)拇懈袷?,并以與鏈路另一端連接的設(shè)備兼容的頻率和寬度進(jìn)行傳輸。
PCI Express架構(gòu)具有“hooks”,“hooks”指的是預(yù)先設(shè)計的機(jī)制或接口,用于支持未來的技術(shù)改進(jìn)和性能提升。具體來說,這些“hooks”允許在未來引入更高的速度、更先進(jìn)的編碼技術(shù)和新的傳輸介質(zhì),而不會對整個系統(tǒng)的架構(gòu)造成重大改動。這些機(jī)制通常包括預(yù)留的參數(shù)、擴(kuò)展接口或可配置的選項(xiàng),以便在需要時進(jìn)行更新或擴(kuò)展。
PCIe物理層規(guī)范分為兩個子層,分別對應(yīng)電氣和邏輯規(guī)范。邏輯子層有時進(jìn)一步劃分為MAC子層和PCS(物理編碼子層),盡管這種劃分不是PCIe規(guī)范的正式部分。
邏輯子塊有兩個主要部分:
-
傳輸部分(Transmit Section):準(zhǔn)備從數(shù)據(jù)鏈路層傳遞過來的出站信息,以便由電氣子塊進(jìn)行傳輸。
-
接收部分(Receiver Section):識別并準(zhǔn)備接收到的信息,然后將其傳遞給數(shù)據(jù)鏈路層。
邏輯子塊和電氣子塊通過狀態(tài)和控制寄存器接口(或功能等效接口)協(xié)調(diào)每個收發(fā)器的狀態(tài)。邏輯子塊負(fù)責(zé)物理層的控制和管理功能。
編碼方式
PCI Express 使用不同的編碼方式,具體取決于數(shù)據(jù)速率:
-
當(dāng)數(shù)據(jù)速率為 2.5 GT/s 或 5.0 GT/s 時,使用 8b/10b 編碼。
-
當(dāng)數(shù)據(jù)速率大于或等于 8.0 GT/s 時,使用128b/130b編碼。
PCIe Spec只是規(guī)定了物理層需要實(shí)現(xiàn)的功能、性能與參數(shù)等,至于如何實(shí)現(xiàn)這些卻并沒有明確的說明。也就是說,廠商可以根據(jù)自己的需要和實(shí)際情況,來設(shè)計PCIe的物理層
3.4 鏈路效率(Efficiency of the link)
正如任何“網(wǎng)絡(luò)”通信鏈路一樣,一些“原始”帶寬被協(xié)議開銷所消耗。例如,PCIe 1.x 車道在物理層之上提供的數(shù)據(jù)速率為250 MB/s(單工)。這并不是有效負(fù)載帶寬,而是物理層帶寬。
額外信息:PCIe 車道必須攜帶額外的信息以實(shí)現(xiàn)完整功能。
這些額外的信息包括協(xié)議開銷,如編碼開銷、頭部信息、錯誤檢測和糾正碼等,這些都會占用一部分帶寬。因此,實(shí)際的有效負(fù)載帶寬會低于物理層帶寬。
對于PCI Express(PCIe)而言,協(xié)議開銷主要包括以下幾個方面:
-
編碼開銷
8b/10b 編碼:在PCIe 1.x和2.x中使用8b/10b編碼。每8位數(shù)據(jù)被編碼為10位,這意味著編碼開銷為20%。
對于8b/10b編碼:
對于128b/130b 編碼:在PCIe 3.x及更高版本中使用128b/130b編碼。每128位數(shù)據(jù)被編碼為130位,這意味著編碼開銷為1.5625%。
-
頭部開銷
-
TLP 頭部:每個TLP(Transaction Layer Packet)都包含一個頭部,頭部大小取決于TLP的類型和復(fù)雜性。常見的TLP頭部大小在16字節(jié)到32字節(jié)之間。
-
DLLP 頭部:每個DLLP(Data Link Layer Packet)也包含一個頭部,頭部大小通常較小,約為4字節(jié)。
-
錯誤檢測和糾正碼
-
CRC(Cyclic Redundancy Check):用于檢測數(shù)據(jù)傳輸中的錯誤。對于TLP,使用32位的LCRC(Link Cyclic Redundancy Check)。
-
ECRC(Enhanced Cyclic Redundancy Check):用于增強(qiáng)數(shù)據(jù)傳輸?shù)目煽啃?,通常?2位。
-
控制符號(Control Symbols)
-
有序集(Ordered Sets):用于鏈路管理,如鏈路訓(xùn)練和狀態(tài)管理。常見的有序集包括SKP(Skip Ordered Set)和TS(Training Sequence)。
-
空閑符號(Idle Symbols):用于維持鏈路的活動狀態(tài),防止鏈路進(jìn)入低功耗模式。
舉例來說,假設(shè)我們有一個PCIe 1.x通道,其物理層帶寬為250 MB/s(單工), 我們來計算一下有效負(fù)載帶寬
-
編碼開銷:
-
8b/10b編碼的開銷為20%,因此實(shí)際的物理層帶寬為:
-
頭部開銷:
假設(shè)每個TLP的頭部為16字節(jié),每個TLP的數(shù)據(jù)負(fù)載為1024字節(jié),則每個TLP的總大小為1040字節(jié)。
頭部開銷為:
-
錯誤檢測和糾正碼:
假設(shè)每個TLP的LCRC為32位(4字節(jié)),則每個TLP的總大小為1044字節(jié)。
錯誤檢測開銷為:
-
控制符號:
-
控制符號的開銷通常較小,假設(shè)為1%。
綜合以上開銷,有效負(fù)載帶寬可以估算為:
-
PCIe電源管理(Power Management)
在低功耗越來越重要的今天,功耗管理是一個協(xié)議非常重要的部分,有可能是成功的關(guān)鍵部分。
PCIe協(xié)議規(guī)定的電源管理狀態(tài)如下:
-
D狀態(tài):與特定功能相關(guān)聯(lián)
-
D0:操作狀態(tài),消耗最多的電能
-
D1 和 D2:中間省電狀態(tài)
-
D3 Hot:非常低的電能狀態(tài)
-
D3 Cold:斷電狀態(tài)
-
L狀態(tài):與特定鏈路相關(guān)聯(lián)
-
L0:操作狀態(tài)
-
L0s, L1, L1.0, L1.1, 和 L1.2:各種低電能狀態(tài)
電源管理提供以下服務(wù):
-
識別功能的電源管理能力的機(jī)制
-
將功能轉(zhuǎn)換到特定電源管理狀態(tài)的能力
-
通知功能的當(dāng)前電源管理狀態(tài)
-
在特定事件上喚醒系統(tǒng)的選項(xiàng)
PCI Express (PCIe) 鏈路電源管理狀態(tài)旨在在鏈路不主動傳輸數(shù)據(jù)時減少功耗。這些狀態(tài)由活動狀態(tài)電源管理 (ASPM) 管理,并且可以由硬件自主地進(jìn)入和退出。下面是鏈路電源管理狀態(tài)總結(jié)表。詳細(xì)的信息內(nèi)容非常多,可以查閱PCIe的協(xié)議。
總結(jié)
PCIe憑借其卓越的性能、靈活的設(shè)計和強(qiáng)大的生態(tài)系統(tǒng),將繼續(xù)在未來的計算平臺中發(fā)揮核心作用。隨著技術(shù)的不斷進(jìn)步,我們可以期待PCIe帶來更多的創(chuàng)新和可能性。例如,未來的PCIe版本可能會引入更高的帶寬、更低的延遲和更強(qiáng)的安全性,以滿足日益增長的計算需求。
對于希望利用PCIe技術(shù)的開發(fā)者和工程師來說,了解其底層機(jī)制和高級特性至關(guān)重要。此外,關(guān)注最新的標(biāo)準(zhǔn)更新和技術(shù)趨勢也是必不可少的。建議開發(fā)者和工程師:
-
學(xué)習(xí) PCIe 的英文資料最經(jīng)典的是 Mindshare 的PCI Express SYSTEM ARCHITECTURE,網(wǎng)上有英文版本和中文版本,找不到的可以留下郵箱我發(fā)給你。
-
深入學(xué)習(xí)PCIe協(xié)議規(guī)范,掌握其物理層、數(shù)據(jù)鏈路層和事務(wù)層的詳細(xì)工作原理。
-
關(guān)注PCIe的最新版本和標(biāo)準(zhǔn)更新,了解新的特性和優(yōu)化。
-
以PCIe的IP為抓手,深入學(xué)習(xí)PCIe的硬件實(shí)現(xiàn)。
PCIe協(xié)議非常復(fù)雜,內(nèi)容眾多,這里也只是簡單介紹。也不算深入了解,只是對全貌做了一個基本介紹。需要做PCIe相關(guān)工作的,還是需要在了解全貌的基礎(chǔ)上,以年為單位的深入去理解它。網(wǎng)上資料很多,還是以協(xié)議為根本。
后紀(jì)
技術(shù)很重要,技術(shù)背后的思想更重要!
技術(shù)背后的某些思想就是你解決以后問題的鑰匙。我的文章可能一篇中知識點(diǎn)不太多,但是力求讓你能深入理解,為你進(jìn)階打下基礎(chǔ)。如果有一點(diǎn)點(diǎn)收獲,也算是我對中國芯片行業(yè)的一點(diǎn)點(diǎn)貢獻(xiàn)吧。
贈人玫瑰,手有余香。如果你有所收獲,麻煩花一秒時間幫我點(diǎn)個贊和在看吧,謝謝!





