日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > > 處芯積律


自1992年引入以來(lái),PCI(Peripheral Component Interconnect)標(biāo)準(zhǔn)一直是計(jì)算機(jī)系統(tǒng)內(nèi)部通信的重要組成部分。隨著技術(shù)的進(jìn)步,PCIe(Peripheral Component Interconnect Express)于2003年推出,它提供了一個(gè)更高效、更高帶寬的接口。隨著時(shí)間的發(fā)展,PCIe已經(jīng)成為現(xiàn)代計(jì)算平臺(tái)的標(biāo)準(zhǔn),從最初的1.0版本發(fā)展到了如今的6.0版本。

如果說(shuō)AMBA AXI/ACE/CHI是SoC內(nèi)部的總線,那么PCIe就是計(jì)算機(jī)板級(jí)的總線了。PCIe不僅支持高速數(shù)據(jù)傳輸,還具備低延遲、高可靠性和靈活性,這些特點(diǎn)使其成為連接各種外設(shè)(如顯卡、存儲(chǔ)設(shè)備、網(wǎng)絡(luò)適配器等)到主板的主要手段。無(wú)論是個(gè)人計(jì)算機(jī)還是企業(yè)級(jí)服務(wù)器,PCIe都是不可或缺的一部分。作為板級(jí)芯片和芯片互聯(lián)的主要數(shù)據(jù)通路,PCIe作用越來(lái)越重要。了解PCIe對(duì)一個(gè)SoC的從業(yè)者,是十分必要的。

  1. PCIe基礎(chǔ)知識(shí)

  • 什么是PCIe?

PCIe是一種點(diǎn)對(duì)點(diǎn)的高速串行連接方式,設(shè)計(jì)用于替代舊式的并行總線架構(gòu)。它使用了分層的體系結(jié)構(gòu),其中每一層負(fù)責(zé)特定的功能:

1.1 PCIE通道配置

PCI Express(PCIe)的通道(lane)配置是決定PCIe設(shè)備性能的關(guān)鍵因素。通道配置通常用“x”后跟一個(gè)數(shù)字表示,如x1、x4、x8、x16等,這個(gè)數(shù)字代表了有多少個(gè)獨(dú)立的PCIe通道被使用,即有幾個(gè)lane。這些配置影響了設(shè)備的帶寬和數(shù)據(jù)傳輸速率,從而影響了整體的系統(tǒng)性能。x32基本沒(méi)有產(chǎn)品實(shí)現(xiàn)過(guò),所以一般最大是x16.

x1:這是最小的通道配置,只使用一個(gè)PCIe通道。盡管帶寬最低,但它足夠用于低帶寬需求的設(shè)備,如一些網(wǎng)絡(luò)適配器、聲卡或USB擴(kuò)展卡。

x4:使用四個(gè)PCIe通道,提供了四倍于x1配置的帶寬。這樣的配置常用于需要更高帶寬但又不需要x8或x16帶寬的設(shè)備,如某些高速的存儲(chǔ)解決方案或中等帶寬需求的網(wǎng)絡(luò)卡。

x8:配置有八個(gè)PCIe通道,提供了八倍于x1配置的帶寬。x8通常用于高性能的存儲(chǔ)設(shè)備,如RAID控制器。

x16:這是最常見(jiàn)的高性能配置,使用16個(gè)PCIe通道,提供了16倍于x1配置的帶寬。x16配置主要用于圖形卡(GPU),因?yàn)檫@些設(shè)備需要非常高的帶寬來(lái)處理大量的圖形數(shù)據(jù)。

x32:雖然PCIe規(guī)范中定義了x32配置,但實(shí)際上很少見(jiàn)。理論上,x32配置將提供32倍于x1配置的帶寬,但由于成本、功耗和設(shè)計(jì)復(fù)雜性,大多數(shù)系統(tǒng)中并未采用這種配置。

1.2 PCIe版本演變

  • 從PCIe 1.0到最新版本的關(guān)鍵變化

    • PCIe 1.0:提供2.5 GTps的單向帶寬,每個(gè)通道的最大傳輸速率為250 MB/s。

    • PCIe 2.0:帶寬翻倍至5.0 GTps,每個(gè)通道的最大傳輸速率為500 MB/s。

    • PCIe 3.0:再次翻倍至8.0 GTps,每個(gè)通道的最大傳輸速率為1 GB/s,同時(shí)提高了編碼效率,從8b/10b編碼改為128b/130b編碼。

    • PCIe 4.0:帶寬達(dá)到16.0 GTps,每個(gè)通道的最大傳輸速率為2 GB/s。

    • PCIe 5.0:最新版本,帶寬為32.0 GTps,每個(gè)通道的最大傳輸速率為4 GB/s。

    • PCIe 6.0:帶寬達(dá)到64.0 GTps,每個(gè)通道的最大傳輸速率為8 GB/s,引入了PAM4調(diào)制技術(shù),進(jìn)一步提高傳輸效率。

對(duì)應(yīng)表格如下:

1.3 版本兼容

PCIe設(shè)計(jì)時(shí)考慮了向下兼容性,即較新的設(shè)備可以在較老的系統(tǒng)上工作,盡管可能達(dá)不到最佳性能。例如,一個(gè)PCIe 4.0設(shè)備可以插入到PCIe 3.0插槽中,但只能以PCIe 3.0的速度運(yùn)行。

  1. PCIE架構(gòu)及主要組件

2.1 架構(gòu)層次

PCIe架構(gòu)可以分為以下幾層:

  • 應(yīng)用層:這不是PCIe規(guī)范正式定義的一部分,而是由具體實(shí)現(xiàn)者根據(jù)需求設(shè)計(jì)的部分。應(yīng)用層決定了設(shè)備的功能和類型,例如存儲(chǔ)設(shè)備、網(wǎng)絡(luò)適配器或圖形卡。

  • 事務(wù)層(Transaction Layer):負(fù)責(zé)處理事務(wù)的初始化和完成,包括讀取、寫入、配置和中斷等操作。事務(wù)層還管理事務(wù)的優(yōu)先級(jí)和流量控制,確保數(shù)據(jù)請(qǐng)求和響應(yīng)的高效處理。

  • 數(shù)據(jù)鏈路層(Data Link Layer):分為兩個(gè)子層:

    • 鏈路子層(Link Sublayer):負(fù)責(zé)鏈路的建立、訓(xùn)練、維護(hù)和錯(cuò)誤檢測(cè),確保數(shù)據(jù)包的準(zhǔn)確傳輸。

    • 物理媒體附件子層(Physical Media Attachment Sublayer):負(fù)責(zé)數(shù)據(jù)的編碼和解碼,確保數(shù)據(jù)在物理層的正確傳輸。

  • 物理層(Physical Layer):包括電氣信號(hào)的生成、接收和處理,以及串行數(shù)據(jù)的編碼和解碼。物理層進(jìn)一步細(xì)分為兩個(gè)子層:

    • 電氣子層(Electrical Sublayer):處理電氣信號(hào)的生成和接收,確保信號(hào)的完整性和穩(wěn)定性。

    • 介質(zhì)訪問(wèn)控制子層(Media Access Control Sublayer):管理數(shù)據(jù)在物理介質(zhì)上的傳輸,包括信號(hào)的編碼和解碼。

通過(guò)這種分層架構(gòu),PCIe能夠?qū)崿F(xiàn)高效、可靠的數(shù)據(jù)傳輸,滿足各種應(yīng)用場(chǎ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ù)洌ㄟ^(guò)連接多個(gè)端點(diǎn)設(shè)備或其他Switches,實(shí)現(xiàn)靈活的系統(tǒng)架構(gòu)。Switches可以擴(kuò)展PCIe總線,允許更多設(shè)備連接到系統(tǒng)中,從而提高系統(tǒng)的擴(kuò)展性和靈活性。Switch可以將一個(gè)上游端口連接到多個(gè)下游端口,實(shí)現(xiàn)多路徑傳輸。

  • Endpoint (EP):連接到PCIe總線的終端設(shè)備,如顯卡、存儲(chǔ)控制器、網(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 橋接器提供了一個(gè)連接PCI Express架構(gòu)和PCI/PCI-X層次結(jié)構(gòu)的接口,使現(xiàn)代PCI Express系統(tǒng)能夠與傳統(tǒng)的PCI或PCI-X設(shè)備兼容。

2.3 配置空間與地址映射

每個(gè)PCIe設(shè)備都有一個(gè)配置空間,其中包含了設(shè)備的信息和控制寄存器。配置空間分為多個(gè)寄存器,包括Vendor ID、Device ID、Class Code、BAR(Base Address Register)等。地址映射確保了主機(jī)能夠正確地尋址和通信,通過(guò)配置空間可以讀取和修改設(shè)備的狀態(tài)和設(shè)置。

  1. PCIe硬件層次概要

PCI Express 使用數(shù)據(jù)包在組件之間傳輸信息。數(shù)據(jù)包在事務(wù)層和數(shù)據(jù)鏈路層形成,以攜帶信息從發(fā)送組件傳輸?shù)浇邮战M件。當(dāng)傳輸?shù)臄?shù)據(jù)包流經(jīng)其他層時(shí),會(huì)被添加必要的附加信息,以便在這些層處理數(shù)據(jù)包。在接收端,這一過(guò)程相反,數(shù)據(jù)包從物理層表示形式轉(zhuǎn)換為數(shù)據(jù)鏈路層表示形式,最終(對(duì)于事務(wù)層數(shù)據(jù)包)轉(zhuǎn)換為接收設(shè)備的事務(wù)層可以處理的形式。下圖展示了事務(wù)級(jí)數(shù)據(jù)包信息通過(guò)各層的概念流程。

3.1 事務(wù)層(Transaction Layer)

架構(gòu)的上層是事務(wù)層。事務(wù)層的主要職責(zé)是組裝和拆解事務(wù)層數(shù)據(jù)包(TLP)。TLP用于通信事務(wù),如讀取和寫入,以及某些類型的事件。事務(wù)層還負(fù)責(zé)管理基于信用的流量控制。每個(gè)需要響應(yīng)包的請(qǐng)求包都實(shí)現(xiàn)為分離事務(wù)。每個(gè)包都有一個(gè)唯一的標(biāo)識(shí)符,使響應(yīng)包能夠定向到正確的發(fā)起者。包格式支持不同的尋址形式,具體取決于事務(wù)的類型(內(nèi)存、I/O、配置和消息)。包還可以具有諸如No Snoop、Relaxed Ordering和ID-Based Ordering (IDO)等屬性。

事務(wù)層支持四種地址空間:它包括三種PCI地址空間(內(nèi)存、I/O和配置),并增加了消息空間。PCIe規(guī)范使用消息空間來(lái)支持所有先前的側(cè)帶信號(hào),如中斷、電源管理請(qǐng)求等,作為帶內(nèi)消息事務(wù)??梢詫CI Express消息事務(wù)視為“虛擬線”,因?yàn)樗鼈兊男Ч窍四壳捌脚_(tái)實(shí)現(xiàn)中使用的大量側(cè)帶信號(hào)。

事務(wù)層傳輸?shù)幕締挝皇荰LP(Transaction Layer Packet),事務(wù)層包,是在 PCIe 鏈路上進(jìn)行數(shù)據(jù)傳輸?shù)幕締挝?。TLP 包含了事務(wù)的所有必要信息,包括請(qǐng)求類型、目標(biāo)地址、數(shù)據(jù)負(fù)載等。

TLP 通常由以下幾個(gè)部分組成:

  • 包頭(Header):包含有關(guān)事務(wù)的元數(shù)據(jù),如事務(wù)類型、地址、長(zhǎng)度、事務(wù)ID等。

  • 數(shù)據(jù)負(fù)載(Data Payload):包含實(shí)際要傳輸?shù)臄?shù)據(jù)。

  • 尾部(Tail):可選部分,通常用于表示 TLP 的結(jié)束。

TLP 類型和四種地址空間對(duì)應(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ù)完整性,包括錯(cuò)誤檢測(cè)和錯(cuò)誤糾正。

數(shù)據(jù)鏈路層的發(fā)送端接受由事務(wù)層組裝的TLP,計(jì)算并應(yīng)用數(shù)據(jù)保護(hù)代碼和TLP序列號(hào),然后提交給物理層進(jìn)行跨鏈路傳輸。接收端的數(shù)據(jù)鏈路層負(fù)責(zé)檢查接收到的TLP的完整性,并將它們提交給事務(wù)層進(jìn)行進(jìn)一步處理。在檢測(cè)到TLP錯(cuò)誤時(shí),這一層負(fù)責(zé)請(qǐng)求重新傳輸TLP,直到信息正確接收,或確定鏈路已失效。

數(shù)據(jù)鏈路層還生成和消耗用于鏈路管理功能的包。為了區(qū)分這些包與事務(wù)層使用的TLP,當(dāng)提到由數(shù)據(jù)鏈路層生成和消耗的包時(shí),將使用術(shù)語(yǔ)數(shù)據(jù)鏈路層包(DLLP)。

數(shù)據(jù)鏈路層負(fù)責(zé)可靠地將事務(wù)層(Transaction Layer)提供的TLP(Transaction Layer Packet)通過(guò)PCI Express鏈路傳輸?shù)搅硪唤M件的事務(wù)層。數(shù)據(jù)鏈路層提供的服務(wù)包括:

數(shù)據(jù)交換

  • 接受事務(wù)層提供的TLP并將其傳遞給物理層(Physical Layer)進(jìn)行傳輸。

  • 接受物理層從鏈路接收到的TLP并將其傳遞給接收事務(wù)層。

錯(cuò)誤檢測(cè)和重試

  • 生成TLP序列號(hào)和LCRC(Link Cyclic Redundancy Check)。

  • 存儲(chǔ)已傳輸?shù)腡LP以支持?jǐn)?shù)據(jù)鏈路層重試。

  • 對(duì)TLP和數(shù)據(jù)鏈路層包(DLLP)進(jìn)行數(shù)據(jù)完整性檢查。

  • 生成正確認(rèn)和負(fù)確認(rèn)DLLP。

  • 提供錯(cuò)誤報(bào)告和記錄機(jī)制的錯(cuò)誤指示。

  • 鏈路確認(rèn)超時(shí)重播機(jī)制。

初始化和電源管理

  • 跟蹤鏈路狀態(tài)并將其活動(dòng)/復(fù)位/斷開(kāi)狀態(tài)傳達(dá)給事務(wù)層。

數(shù)據(jù)鏈路層為PCIe鏈路執(zhí)行三個(gè)關(guān)鍵服務(wù):

  1. 事務(wù)層數(shù)據(jù)包(TLP)的排序:由事務(wù)層生成的TLP按順序排列。

  2. 確保TLP在兩個(gè)端點(diǎn)之間的可靠傳輸:通過(guò)確認(rèn)協(xié)議(ACK和NAK信號(hào))明確要求重傳未確認(rèn)/錯(cuò)誤的TLP。

  3. 初始化和管理流量控制信用:確保鏈路的流量控制。

在發(fā)送端,數(shù)據(jù)鏈路層為每個(gè)出站TLP生成一個(gè)遞增的序列號(hào)。這個(gè)序列號(hào)作為每個(gè)傳輸TLP的唯一標(biāo)識(shí)標(biāo)簽,并插入到出站TLP的頭部。每個(gè)出站TLP的末尾還附加了一個(gè)32位的循環(huán)冗余校驗(yàn)碼(在PCIe上下文中稱為鏈路CRC或LCRC)。

在接收端,接收的TLP的LCRC和序列號(hào)都在鏈路層進(jìn)行驗(yàn)證。如果LCRC檢查失?。ū砻鲾?shù)據(jù)錯(cuò)誤),或者序列號(hào)不在范圍內(nèi)(與上次有效接收的TLP不連續(xù)),則認(rèn)為該TLP及其之后接收到的所有TLP無(wú)效并丟棄。接收器發(fā)送一個(gè)帶有無(wú)效TLP序列號(hào)的否定確認(rèn)消息(NAK),請(qǐng)求重新傳輸該序列號(hào)之后的所有TLP。如果接收到的TLP通過(guò)了LCRC檢查且序列號(hào)正確,則認(rèn)為它是有效的。鏈路接收器遞增序列號(hào)(跟蹤最后接收到的好TLP),并將有效的TLP轉(zhuǎn)發(fā)到接收器的事務(wù)層。發(fā)送一個(gè)ACK消息到遠(yuǎn)程發(fā)送器,指示TLP成功接收(并且隱含地,所有具有過(guò)去序列號(hào)的TLP也成功接收)。

如果發(fā)送器接收到NAK消息,或者在超時(shí)期限內(nèi)沒(méi)有收到任何確認(rèn)(NAK或ACK),發(fā)送器必須重新傳輸所有沒(méi)有正面確認(rèn)(ACK)的TLP。除非設(shè)備或傳輸介質(zhì)持續(xù)故障,否則鏈路層向事務(wù)層呈現(xiàn)一個(gè)可靠的連接,因?yàn)閭鬏攨f(xié)議確保了在不可靠介質(zhì)上的TLP傳輸。

除了發(fā)送和接收由事務(wù)層生成的TLP,數(shù)據(jù)鏈路層還生成和消耗數(shù)據(jù)鏈路層數(shù)據(jù)包(DLLP)。ACK和NAK信號(hào)通過(guò)DLLP進(jìn)行通信,還有一些電源管理消息和流量控制信用信息(代表事務(wù)層)。

實(shí)際上,鏈路上未確認(rèn)的TLP數(shù)量受兩個(gè)因素限制:發(fā)送器的重放緩沖區(qū)的大?。ū仨毚鎯?chǔ)所有傳輸?shù)腡LP副本,直到遠(yuǎn)程接收器確認(rèn)它們)和接收器向發(fā)送器發(fā)出的流量控制信用。PCI Express要求所有接收器發(fā)出最低數(shù)量的信用(credits),以確保鏈路允許發(fā)送PCIConfig TLP和消息TLP。

3.3 PCIe物理層(Physical Layer)

物理層包括所有接口操作所需的電路,包括驅(qū)動(dòng)器和輸入緩沖器、并行到串行和串行到并行轉(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ì)的機(jī)制或接口,用于支持未來(lái)的技術(shù)改進(jìn)和性能提升。具體來(lái)說(shuō),這些“hooks”允許在未來(lái)引入更高的速度、更先進(jìn)的編碼技術(shù)和新的傳輸介質(zhì),而不會(huì)對(duì)整個(gè)系統(tǒng)的架構(gòu)造成重大改動(dòng)。這些機(jī)制通常包括預(yù)留的參數(shù)、擴(kuò)展接口或可配置的選項(xiàng),以便在需要時(shí)進(jìn)行更新或擴(kuò)展。

PCIe物理層規(guī)范分為兩個(gè)子層,分別對(duì)應(yīng)電氣和邏輯規(guī)范。邏輯子層有時(shí)進(jìn)一步劃分為MAC子層和PCS(物理編碼子層),盡管這種劃分不是PCIe規(guī)范的正式部分。

邏輯子塊有兩個(gè)主要部分:

  • 傳輸部分(Transmit Section):準(zhǔn)備從數(shù)據(jù)鏈路層傳遞過(guò)來(lái)的出站信息,以便由電氣子塊進(jìn)行傳輸。

  • 接收部分(Receiver Section):識(shí)別并準(zhǔn)備接收到的信息,然后將其傳遞給數(shù)據(jù)鏈路層。

邏輯子塊和電氣子塊通過(guò)狀態(tài)和控制寄存器接口(或功能等效接口)協(xié)調(diào)每個(gè)收發(fā)器的狀態(tài)。邏輯子塊負(fù)責(zé)物理層的控制和管理功能。

編碼方式

PCI Express 使用不同的編碼方式,具體取決于數(shù)據(jù)速率:

  • 當(dāng)數(shù)據(jù)速率為 2.5 GT/s 或 5.0 GT/s 時(shí),使用 8b/10b 編碼。

  • 當(dāng)數(shù)據(jù)速率大于或等于 8.0 GT/s 時(shí),使用128b/130b編碼。

PCIe Spec只是規(guī)定了物理層需要實(shí)現(xiàn)的功能、性能與參數(shù)等,至于如何實(shí)現(xiàn)這些卻并沒(méi)有明確的說(shuō)明。也就是說(shuō),廠商可以根據(jù)自己的需要和實(shí)際情況,來(lái)設(shè)計(jì)PCIe的物理層

3.4 鏈路效率(Efficiency of the link

正如任何“網(wǎng)絡(luò)”通信鏈路一樣,一些“原始”帶寬被協(xié)議開(kāi)銷所消耗。例如,PCIe 1.x 車道在物理層之上提供的數(shù)據(jù)速率為250 MB/s(單工)。這并不是有效負(fù)載帶寬,而是物理層帶寬。

額外信息:PCIe 車道必須攜帶額外的信息以實(shí)現(xiàn)完整功能。

這些額外的信息包括協(xié)議開(kāi)銷,如編碼開(kāi)銷、頭部信息、錯(cuò)誤檢測(cè)和糾正碼等,這些都會(huì)占用一部分帶寬。因此,實(shí)際的有效負(fù)載帶寬會(huì)低于物理層帶寬。

對(duì)于PCI Express(PCIe)而言,協(xié)議開(kāi)銷主要包括以下幾個(gè)方面:

  1. 編碼開(kāi)銷

8b/10b 編碼:在PCIe 1.x和2.x中使用8b/10b編碼。每8位數(shù)據(jù)被編碼為10位,這意味著編碼開(kāi)銷為20%。

對(duì)于8b/10b編碼:

對(duì)于128b/130b 編碼:在PCIe 3.x及更高版本中使用128b/130b編碼。每128位數(shù)據(jù)被編碼為130位,這意味著編碼開(kāi)銷為1.5625%。

  1. 頭部開(kāi)銷

  • TLP 頭部:每個(gè)TLP(Transaction Layer Packet)都包含一個(gè)頭部,頭部大小取決于TLP的類型和復(fù)雜性。常見(jiàn)的TLP頭部大小在16字節(jié)到32字節(jié)之間。

  • DLLP 頭部:每個(gè)DLLP(Data Link Layer Packet)也包含一個(gè)頭部,頭部大小通常較小,約為4字節(jié)。

  1. 錯(cuò)誤檢測(cè)和糾正碼

  • CRC(Cyclic Redundancy Check):用于檢測(cè)數(shù)據(jù)傳輸中的錯(cuò)誤。對(duì)于TLP,使用32位的LCRC(Link Cyclic Redundancy Check)。

  • ECRC(Enhanced Cyclic Redundancy Check):用于增強(qiáng)數(shù)據(jù)傳輸?shù)目煽啃?,通常?2位。

  1. 控制符號(hào)(Control Symbols)

  • 有序集(Ordered Sets):用于鏈路管理,如鏈路訓(xùn)練和狀態(tài)管理。常見(jiàn)的有序集包括SKP(Skip Ordered Set)和TS(Training Sequence)。

  • 空閑符號(hào)(Idle Symbols):用于維持鏈路的活動(dòng)狀態(tài),防止鏈路進(jìn)入低功耗模式。

舉例來(lái)說(shuō),假設(shè)我們有一個(gè)PCIe 1.x通道,其物理層帶寬為250 MB/s(單工), 我們來(lái)計(jì)算一下有效負(fù)載帶寬

  1. 編碼開(kāi)銷:

  • 8b/10b編碼的開(kāi)銷為20%,因此實(shí)際的物理層帶寬為:

  1. 頭部開(kāi)銷:

假設(shè)每個(gè)TLP的頭部為16字節(jié),每個(gè)TLP的數(shù)據(jù)負(fù)載為1024字節(jié),則每個(gè)TLP的總大小為1040字節(jié)。

頭部開(kāi)銷為:

  1. 錯(cuò)誤檢測(cè)和糾正碼:

假設(shè)每個(gè)TLP的LCRC為32位(4字節(jié)),則每個(gè)TLP的總大小為1044字節(jié)。

錯(cuò)誤檢測(cè)開(kāi)銷為:

  1. 控制符號(hào):

    1. 控制符號(hào)的開(kāi)銷通常較小,假設(shè)為1%。

綜合以上開(kāi)銷,有效負(fù)載帶寬可以估算為:

  1. PCIe電源管理(Power Management)

在低功耗越來(lái)越重要的今天,功耗管理是一個(gè)協(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ù):

  • 識(shí)別功能的電源管理能力的機(jī)制

  • 將功能轉(zhuǎn)換到特定電源管理狀態(tài)的能力

  • 通知功能的當(dāng)前電源管理狀態(tài)

  • 在特定事件上喚醒系統(tǒng)的選項(xiàng)

PCI Express (PCIe) 鏈路電源管理狀態(tài)旨在在鏈路不主動(dòng)傳輸數(shù)據(jù)時(shí)減少功耗。這些狀態(tài)由活動(dòng)狀態(tài)電源管理 (ASPM) 管理,并且可以由硬件自主地進(jìn)入和退出。下面是鏈路電源管理狀態(tài)總結(jié)表。詳細(xì)的信息內(nèi)容非常多,可以查閱PCIe的協(xié)議。

總結(jié)

PCIe憑借其卓越的性能、靈活的設(shè)計(jì)和強(qiáng)大的生態(tài)系統(tǒng),將繼續(xù)在未來(lái)的計(jì)算平臺(tái)中發(fā)揮核心作用。隨著技術(shù)的不斷進(jìn)步,我們可以期待PCIe帶來(lái)更多的創(chuàng)新和可能性。例如,未來(lái)的PCIe版本可能會(huì)引入更高的帶寬、更低的延遲和更強(qiáng)的安全性,以滿足日益增長(zhǎng)的計(jì)算需求。

對(duì)于希望利用PCIe技術(shù)的開(kāi)發(fā)者和工程師來(lái)說(shuō),了解其底層機(jī)制和高級(jí)特性至關(guān)重要。此外,關(guān)注最新的標(biāo)準(zhǔn)更新和技術(shù)趨勢(shì)也是必不可少的。建議開(kāi)發(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)容眾多,這里也只是簡(jiǎn)單介紹。也不算深入了解,只是對(duì)全貌做了一個(gè)基本介紹。需要做PCIe相關(guān)工作的,還是需要在了解全貌的基礎(chǔ)上,以年為單位的深入去理解它。網(wǎng)上資料很多,還是以協(xié)議為根本。

后紀(jì)

技術(shù)很重要,技術(shù)背后的思想更重要!

技術(shù)背后的某些思想就是你解決以后問(wèn)題的鑰匙。我的文章可能一篇中知識(shí)點(diǎn)不太多,但是力求讓你能深入理解,為你進(jìn)階打下基礎(chǔ)。如果有一點(diǎn)點(diǎn)收獲,也算是我對(duì)中國(guó)芯片行業(yè)的一點(diǎn)點(diǎn)貢獻(xiàn)吧。

贈(zèng)人玫瑰,手有余香。如果你有所收獲,麻煩花一秒時(shí)間幫我點(diǎn)個(gè)贊和在看吧,謝謝!


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉