0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是PCIe?

UnionMemory憶聯(lián) ? 來(lái)源:未知 ? 2023-07-04 18:15 ? 次閱讀

PCIe是一種高速串行計(jì)算機(jī)擴(kuò)展總線標(biāo)準(zhǔn),自2003年推出以來(lái),已經(jīng)成為服務(wù)器(Server)和PC上的重要接口。今天為大家簡(jiǎn)單介紹一下PCIe的發(fā)展歷史以及它的工作原理。


一、PCIe的由來(lái)

PCIe接口的全稱是Peripheral Component Interconnect Express,原來(lái)的名字是“3GIO”,由Intel在2001年提出。PCIe的前身是PCI,PCI 使用的是并行傳輸方式,有較多的限制,并使用數(shù)據(jù)包(Packet)進(jìn)行數(shù)據(jù)傳輸,數(shù)據(jù)報(bào)文在發(fā)送和接收過(guò)程中需要經(jīng)過(guò)務(wù)層、數(shù)據(jù)鏈路層和物理層多個(gè)層次。


PCIe串行總線標(biāo)準(zhǔn)被推出時(shí),旨在替代舊的PCI、PCI-X和AGP總線標(biāo)準(zhǔn),以實(shí)現(xiàn)更高的數(shù)據(jù)速率并簡(jiǎn)化系統(tǒng)設(shè)計(jì)。在交由PCI-SIG(PCI特殊興趣組織)認(rèn)證發(fā)布后改名為“PCI-Express”,簡(jiǎn)稱“PCI-e”。此后,隨著時(shí)間的推移PCIe不斷改進(jìn)以適應(yīng)現(xiàn)代計(jì)算機(jī)的最新帶寬需求。


圖1


2021年,PCIe 6.0 規(guī)范發(fā)布。每通道數(shù)據(jù)傳輸速率從PCIe 5.0的32 GT/s翻番至64 GT/s,PCIe 6.0*16通道的帶寬高達(dá)256 GB/s,除了帶寬和效率的提升外,PCIe 6.0還具有更低的延遲,是PCIe技術(shù)的又一大飛躍。


二、PCIe鏈路的常見設(shè)備

PCIe采用的是樹型拓?fù)浣Y(jié)構(gòu), 一般由根復(fù)合體(Root Complex),中繼器(Repeater),終端設(shè)備(Endpoint)等類型的PCIe設(shè)備組成。


接下來(lái)將講述PCIe如何通過(guò)下圖突出顯示的典型鏈路進(jìn)行初始化和傳輸。


圖2


Root Complex:根復(fù)合體是CPU和PCIe總線連接的接口。主要負(fù)責(zé)存儲(chǔ)器域到PCIe總線域的地址轉(zhuǎn)換,隨著虛擬化技術(shù)的引入,根復(fù)合體的功能也越來(lái)越復(fù)雜。根復(fù)合體把來(lái)自CPU的request轉(zhuǎn)化成PCIe的4類request(configuration、memory、I/O、message)并發(fā)送給下面的設(shè)備。


Repeater:中繼器是一種信號(hào)調(diào)節(jié)裝置,可分為兩類:Retimers和Redriver,兩者都是常用的PCIe組件,Retimer通過(guò)內(nèi)部時(shí)鐘重構(gòu)信號(hào),再恢復(fù)后發(fā)送出去;Redriver則是通過(guò)信號(hào)均衡化和預(yù)加強(qiáng)等技術(shù),重新加強(qiáng)再發(fā)送出去。在圖示中,我們將使用PCIe 4.0兼容的Retimers舉例。


PCIe Endponit: PCIe終端設(shè)備,是PCIe樹型結(jié)構(gòu)的末端節(jié)點(diǎn)。比如SSD,網(wǎng)卡、GFX卡等等。


圖3


三、PCIe鏈路初始化

在了解PCIe鏈路是如何建立以及數(shù)據(jù)如何通過(guò)PCIe協(xié)議傳輸之前,我們先了解一下常見PCIe控制信號(hào)的功能。


圖4


PERST#信號(hào)為全局復(fù)位信號(hào),由處理器系統(tǒng)提供。處理器系統(tǒng)需要為PCIe插槽和PCIe設(shè)備提供該復(fù)位信號(hào)。PCIe設(shè)備使用該信號(hào)復(fù)位內(nèi)部邏輯,當(dāng)該信號(hào)有效時(shí),PCIe設(shè)備將進(jìn)行復(fù)位操作。


WAKE#和CLKREQ#信號(hào)都用于在本文討論范圍之外的低功率狀態(tài)之間轉(zhuǎn)換。


REFCLK#是PCIe設(shè)備開始數(shù)據(jù)傳輸?shù)南葲Q條件,PCIe設(shè)備通過(guò)使用REFCLK#提供的100 MHz外部參考時(shí)鐘(Refclk),用于協(xié)調(diào)在兩個(gè)PCIe設(shè)備間的數(shù)據(jù)傳輸。


PCIe鏈路在初始狀態(tài)時(shí),需要檢測(cè)對(duì)端設(shè)備是否存在,然后才能進(jìn)行鏈路訓(xùn)練。所有PCIe設(shè)備通電并提供參考時(shí)鐘信號(hào)后在每個(gè)通道上將擁有接收器檢測(cè)(Receiver Detection)電路,該電路將允許PCIe設(shè)備確定是否有要配對(duì)的鏈路伙伴。假設(shè)PCIe Rx檢測(cè)電路檢測(cè)到另一個(gè)設(shè)備,則每個(gè)通道將開始以2.5 GT/s的速度進(jìn)行傳輸串行數(shù)據(jù)。


圖5


2.5 GT/s是PCIe 1.0采用的數(shù)據(jù)速率,另外由于PCIe 1.0與任何PCIe設(shè)備兼容,因此每個(gè)PCIe鏈路都以相同的鏈路初始化過(guò)程開始。以下圖為例,Root Complex、Retimer和Endpoint都以PCIe 1.0的速度開始傳輸。


圖6


在經(jīng)過(guò)PCIe鏈路初始化后,每個(gè)器件開始接收數(shù)據(jù)并做出響應(yīng)。PCIe連接開始鏈路訓(xùn)練過(guò)程并進(jìn)入配置階段,在該階段中,由于通道長(zhǎng)度變化而導(dǎo)致數(shù)據(jù)中的任何偏差都能得到校準(zhǔn),PCIe鏈路的寬度、鏈路速率、鏈路翻轉(zhuǎn)和鏈路極性也在此階段確定。


圖7


當(dāng)存在多條鏈路時(shí),則PCIe連接稱為PCIe分叉。在示例中,有一個(gè)非分叉連接,即所有通道都分配給編號(hào)為0的鏈路。由于Retimer鏈路分為兩部分,其兩側(cè)的鏈路分別進(jìn)行鏈路初始化。在確定鏈路和通道號(hào)后,PCIe鏈路可以進(jìn)入多種狀態(tài)。


圖8


以進(jìn)入L0狀態(tài)舉例,這是發(fā)送和接收數(shù)據(jù)與數(shù)據(jù)包的正常操作狀態(tài)。到達(dá)L0后Root Complex和Endpoint可相互通信,PCIe鏈路也可轉(zhuǎn)換為多種低功耗狀態(tài)或另一種鏈路訓(xùn)練狀態(tài)。在此不做過(guò)多闡述。


圖9


四、PCIe鏈路均衡

當(dāng)PCIe設(shè)備支持PCIe Gen2時(shí),鏈路速度也會(huì)隨之提高。如果數(shù)據(jù)速率為PCIe Gen3或以上,PCIe鏈路將需要經(jīng)歷額外鏈路優(yōu)化過(guò)程(稱為鏈路均衡)。


鏈路均衡以建立設(shè)備間穩(wěn)定的連接為目的。通過(guò)調(diào)節(jié)Tx (傳輸端)和Rx (接收端)的設(shè)置,提高信號(hào)質(zhì)量,使PCIe鏈路以最穩(wěn)定且更快的速率傳輸。由于PCIe在Gen3及以上的每一代均需優(yōu)化連接,因此鏈路均衡過(guò)程可能發(fā)生多次。


例如:若所有PCIe設(shè)備為Gen5,則有3次鏈路均衡過(guò)程(第1次:Gen1-Gen3;第2次:Gen3-Gen4;第3次:Gen4-Gen5)。鏈路均衡通過(guò)PCIe 規(guī)范中定義的preset值來(lái)實(shí)現(xiàn),preset指不同的預(yù)過(guò)沖(Preshoot)和去加重(De-emphasis)的組合。對(duì)于Gen3和Gen4,有11個(gè)preset值,即preset0-preset10。對(duì)于不同的鏈路情況,系統(tǒng)要求Rx端發(fā)送Tx EQ preset設(shè)置請(qǐng)求給Tx端,讓其做對(duì)應(yīng)的preset均衡設(shè)置;Tx端發(fā)送Rx EQ均衡設(shè)置,要求Rx端做相應(yīng)的設(shè)置,最終獲得一個(gè)最優(yōu)的均衡組合和Rx端的眼圖。


圖10


Phase0:第1階段鏈路均衡涉及上游端口(Upstream port)和下游端口(Downstream port)之間的精確動(dòng)態(tài)協(xié)商,下游端口通過(guò)向上游設(shè)備發(fā)送每個(gè)通道所需的發(fā)送器preset值來(lái)開始鏈路均衡,被稱為第0階段鏈接均衡。在接收到下游端口的請(qǐng)求后不久,上游端口增加到第3代(Gen3)鏈路數(shù)據(jù)速率,并開始使用所需preset將訓(xùn)練序列發(fā)送回下游端口。鏈路速度增加至Gen3(8 GT/s)后,鏈路均衡過(guò)程通過(guò)來(lái)回發(fā)送preset值來(lái)協(xié)商每個(gè)端口的preset配置,從而繼續(xù)優(yōu)化鏈路。


圖11


Phase1:為了充分優(yōu)化鏈路,以便能夠交換訓(xùn)練序列(Training Sequences)并且完成用于精調(diào)目的的剩余鏈路均衡階段,盡管有出現(xiàn)鏈路質(zhì)量差的可能性,相同的訓(xùn)練序列依然會(huì)被重復(fù)發(fā)送,來(lái)確保下游端口接收到正確的preset值。


圖12


Phase2:在第1階段鏈路的誤碼率實(shí)現(xiàn)BER≤10e-4后,進(jìn)入到Phase 2,隨后進(jìn)一步優(yōu)化上游端口的preset值,直至獲得最優(yōu)設(shè)置,鏈路的誤碼率應(yīng)滿足BER ≤ 1E-12。


Phase3:到第3階段對(duì)下游端口執(zhí)行相同的協(xié)商。上游端口通過(guò)訓(xùn)練序列發(fā)送均衡請(qǐng)求去調(diào)整下游端口的preset值,直至獲得最優(yōu)設(shè)置,鏈路的誤碼率應(yīng)滿足BER ≤ 1e-12。


當(dāng)Phase3完成后,鏈路均衡也已完成,此時(shí)鏈路以Gen3的速率進(jìn)入L0狀態(tài),并在該速率進(jìn)行穩(wěn)定通信。對(duì)于更高的傳輸速率,PCIe設(shè)備必須進(jìn)行多次鏈路均衡過(guò)程。


圖13


然而在某些主板設(shè)計(jì)中,尤其是那些具有長(zhǎng)通道鏈路的主板,這種信號(hào)質(zhì)量無(wú)法實(shí)現(xiàn),可能需要另外的信號(hào)調(diào)節(jié)。在這種情況下,中繼器(如Redriver,Retimer)則被用來(lái)做信號(hào)調(diào)節(jié),并在PCIe設(shè)備和根復(fù)合體之間提供高質(zhì)量信號(hào)。


Union Memory

內(nèi)容來(lái)源:
*TI Precision Labs- What is PCIe?
*The secret to optimizing PCIe high-speed signal transmission – dynamic link equalization


長(zhǎng)按識(shí)別關(guān)注更多憶聯(lián)資訊



原文標(biāo)題:什么是PCIe?

文章出處:【微信公眾號(hào):UnionMemory憶聯(lián)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 存儲(chǔ)
    +關(guān)注

    關(guān)注

    13

    文章

    4170

    瀏覽量

    85481
  • SSD
    SSD
    +關(guān)注

    關(guān)注

    20

    文章

    2810

    瀏覽量

    116984

原文標(biāo)題:什么是PCIe?

文章出處:【微信號(hào):UnionMemory憶聯(lián),微信公眾號(hào):UnionMemory憶聯(lián)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    PCIe應(yīng)用的時(shí)鐘

    電子發(fā)燒友網(wǎng)站提供《PCIe應(yīng)用的時(shí)鐘.pdf》資料免費(fèi)下載
    發(fā)表于 09-04 10:48 ?0次下載
    <b class='flag-5'>PCIe</b>應(yīng)用的時(shí)鐘

    PCIe 5.0 SerDes 測(cè)試

    #01 PCIe Gen 5 簡(jiǎn)介 PCIe 是用于硬盤、固態(tài)硬盤 (SSD)、圖形卡、Wi-Fi 和內(nèi)部以太網(wǎng)連接的先進(jìn)互連 I/O 技術(shù)。PCIe 由一組快速、可擴(kuò)展且可靠的 I/O 標(biāo)準(zhǔn)組成
    的頭像 發(fā)表于 08-16 09:33 ?472次閱讀
    <b class='flag-5'>PCIe</b> 5.0 SerDes 測(cè)試

    pcie4.0和pcie3.0接口兼容嗎

    PCIe 4.0和PCIe 3.0接口在多個(gè)方面實(shí)現(xiàn)了兼容性,PCIe 4.0和PCIe 3.0接口兼容性問(wèn)題是一個(gè)廣泛討論的話題。 PCIe
    的頭像 發(fā)表于 07-10 10:12 ?5095次閱讀

    FPGA的PCIE接口應(yīng)用需要注意哪些問(wèn)題

    FPGA上的PCIe接口應(yīng)用是一個(gè)復(fù)雜的任務(wù),需要考慮多個(gè)方面的問(wèn)題以確保系統(tǒng)的穩(wěn)定性和性能。以下是在FPGA的PCIe接口應(yīng)用中需要注意的關(guān)鍵問(wèn)題: 硬件資源和內(nèi)部架構(gòu) : FPGA的型號(hào)和尺寸
    發(fā)表于 05-27 16:17

    老舊電腦升級(jí),1盤位SATA SSD轉(zhuǎn)PCIe插槽 硬盤抽取盒 #diy電腦 #sata #pcie

    硬盤PCIe
    ICY DOCK硬盤盒
    發(fā)布于 :2024年05月23日 17:11:22

    pcie協(xié)議規(guī)范

    pcie協(xié)議
    發(fā)表于 05-16 09:09 ?98次下載

    PCIE是啥?PCIe結(jié)構(gòu)及應(yīng)用

    PCIExpress(PCIe)的發(fā)展歷史可以追溯到PCI(Peripheral Component Interconnect)的起源。PCI是Intel于1991年提出的一種計(jì)算機(jī)總線標(biāo)準(zhǔn),主要用于計(jì)算機(jī)連接其外圍設(shè)備,如硬盤控制器、聲卡、顯卡和網(wǎng)卡等。
    發(fā)表于 04-18 14:13 ?3166次閱讀
    <b class='flag-5'>PCIE</b>是啥?<b class='flag-5'>PCIe</b>結(jié)構(gòu)及應(yīng)用

    PCIe可以添加哪些定位手段?PCIe需要的debug設(shè)計(jì)

    如圖所示,PCIe IP作為endpoint與RC對(duì)接,用戶實(shí)現(xiàn)了應(yīng)用邏輯,與PCIe IP進(jìn)行交互,交互信號(hào)中data格式為TLP報(bào)文格式,且交互信號(hào)包含相應(yīng)的控制信號(hào),例如PCIe配置空間和IP相干的配置信號(hào)。
    的頭像 發(fā)表于 02-26 18:19 ?1217次閱讀

    什么是PCIe?PCIe有什么用途?什么是PCIe通道

    什么是PCIe?PCIe有什么用途?什么是PCIe通道,x1、x4、x8和x16是什么意思?PCIe 5.0有何不同? PCI-Express(peripheral component
    的頭像 發(fā)表于 01-30 16:09 ?2548次閱讀

    PCIE的發(fā)展史及應(yīng)用

    隨著PCIE版本的不斷升級(jí),其應(yīng)用范圍也越來(lái)越廣泛。除了傳統(tǒng)的顯卡、網(wǎng)卡、聲卡等設(shè)備外,SSD、USB控制器、Thunderbolt接口等設(shè)備也開始支持PCIE接口。
    的頭像 發(fā)表于 01-21 10:25 ?1141次閱讀

    PCIe標(biāo)準(zhǔn)的演進(jìn)歷史 各代PCIe標(biāo)準(zhǔn)之間的主要差異

    自2003年推出以來(lái),PCIe發(fā)展至今已經(jīng)從最初的1.0升級(jí)到了6.0,本文則為大家簡(jiǎn)單介紹一下PCIe標(biāo)準(zhǔn)的演進(jìn)歷史以及各代PCIe標(biāo)準(zhǔn)之間的主要差異。
    的頭像 發(fā)表于 12-14 16:38 ?4852次閱讀
    <b class='flag-5'>PCIe</b>標(biāo)準(zhǔn)的演進(jìn)歷史 各代<b class='flag-5'>PCIe</b>標(biāo)準(zhǔn)之間的主要差異

    什么是PCIe?PCIe有什么用途?PCIe 5.0有何不同?

    隨著英特爾Alder Lake CPU的發(fā)布,以及AMD 7000 Ryzen CPU的即將發(fā)布,PCIe 5.0 硬件終于成為現(xiàn)實(shí)。但什么是 PCIe 5.0?
    的頭像 發(fā)表于 11-18 16:48 ?3138次閱讀
    什么是<b class='flag-5'>PCIe</b>?<b class='flag-5'>PCIe</b>有什么用途?<b class='flag-5'>PCIe</b> 5.0有何不同?

    體驗(yàn)紫光PCIE之使用WinDriver驅(qū)動(dòng)紫光PCIE

    紫光的logos系列的PGL50H/PGL100H、logos-2全系列都集成gen2×4的PCIE硬核,且官方也提供了例程。 紫光的PCIE用起來(lái)還是挺方便的,生成IP的同時(shí)生成了對(duì)應(yīng)的PCIE
    發(fā)表于 11-17 14:35

    PCIe:用CopprLink取代OCuLink?

    PCI SIG 本周表示,它正在開發(fā) PCIe 5.0 和PCIe 6.0接口的布線規(guī)范,數(shù)據(jù)傳輸速率為 32 GT/s 和 64 GT/s。
    的頭像 發(fā)表于 11-16 17:43 ?1751次閱讀
    <b class='flag-5'>PCIe</b>:用CopprLink取代OCuLink?