<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

什么是PCIe?

UnionMemory憶聯 ? 來源:未知 ? 2023-07-04 18:15 ? 次閱讀

PCIe是一種高速串行計算機擴展總線標準,自2003年推出以來,已經成為服務器(Server)和PC上的重要接口。今天為大家簡單介紹一下PCIe的發展歷史以及它的工作原理。


一、PCIe的由來

PCIe接口的全稱是Peripheral Component Interconnect Express,原來的名字是“3GIO”,由Intel在2001年提出。PCIe的前身是PCI,PCI 使用的是并行傳輸方式,有較多的限制,并使用數據包(Packet)進行數據傳輸,數據報文在發送和接收過程中需要經過務層、數據鏈路層和物理層多個層次。


PCIe串行總線標準被推出時,旨在替代舊的PCI、PCI-X和AGP總線標準,以實現更高的數據速率并簡化系統設計。在交由PCI-SIG(PCI特殊興趣組織)認證發布后改名為“PCI-Express”,簡稱“PCI-e”。此后,隨著時間的推移PCIe不斷改進以適應現代計算機的最新帶寬需求。


圖1


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


二、PCIe鏈路的常見設備

PCIe采用的是樹型拓撲結構, 一般由根復合體(Root Complex),中繼器(Repeater),終端設備(Endpoint)等類型的PCIe設備組成。


接下來將講述PCIe如何通過下圖突出顯示的典型鏈路進行初始化和傳輸。


圖2


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


Repeater:中繼器是一種信號調節裝置,可分為兩類:Retimers和Redriver,兩者都是常用的PCIe組件,Retimer通過內部時鐘重構信號,再恢復后發送出去;Redriver則是通過信號均衡化和預加強等技術,重新加強再發送出去。在圖示中,我們將使用PCIe 4.0兼容的Retimers舉例。


PCIe Endponit: PCIe終端設備,是PCIe樹型結構的末端節點。比如SSD,網卡、GFX卡等等。


圖3


三、PCIe鏈路初始化

在了解PCIe鏈路是如何建立以及數據如何通過PCIe協議傳輸之前,我們先了解一下常見PCIe控制信號的功能。


圖4


PERST#信號為全局復位信號,由處理器系統提供。處理器系統需要為PCIe插槽和PCIe設備提供該復位信號。PCIe設備使用該信號復位內部邏輯,當該信號有效時,PCIe設備將進行復位操作。


WAKE#和CLKREQ#信號都用于在本文討論范圍之外的低功率狀態之間轉換。


REFCLK#是PCIe設備開始數據傳輸的先決條件,PCIe設備通過使用REFCLK#提供的100 MHz外部參考時鐘(Refclk),用于協調在兩個PCIe設備間的數據傳輸。


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


圖5


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


圖6


在經過PCIe鏈路初始化后,每個器件開始接收數據并做出響應。PCIe連接開始鏈路訓練過程并進入配置階段,在該階段中,由于通道長度變化而導致數據中的任何偏差都能得到校準,PCIe鏈路的寬度、鏈路速率、鏈路翻轉和鏈路極性也在此階段確定。


圖7


當存在多條鏈路時,則PCIe連接稱為PCIe分叉。在示例中,有一個非分叉連接,即所有通道都分配給編號為0的鏈路。由于Retimer鏈路分為兩部分,其兩側的鏈路分別進行鏈路初始化。在確定鏈路和通道號后,PCIe鏈路可以進入多種狀態。


圖8


以進入L0狀態舉例,這是發送和接收數據與數據包的正常操作狀態。到達L0后Root Complex和Endpoint可相互通信,PCIe鏈路也可轉換為多種低功耗狀態或另一種鏈路訓練狀態。在此不做過多闡述。


圖9


四、PCIe鏈路均衡

當PCIe設備支持PCIe Gen2時,鏈路速度也會隨之提高。如果數據速率為PCIe Gen3或以上,PCIe鏈路將需要經歷額外鏈路優化過程(稱為鏈路均衡)。


鏈路均衡以建立設備間穩定的連接為目的。通過調節Tx (傳輸端)和Rx (接收端)的設置,提高信號質量,使PCIe鏈路以最穩定且更快的速率傳輸。由于PCIe在Gen3及以上的每一代均需優化連接,因此鏈路均衡過程可能發生多次。


例如:若所有PCIe設備為Gen5,則有3次鏈路均衡過程(第1次:Gen1-Gen3;第2次:Gen3-Gen4;第3次:Gen4-Gen5)。鏈路均衡通過PCIe 規范中定義的preset值來實現,preset指不同的預過沖(Preshoot)和去加重(De-emphasis)的組合。對于Gen3和Gen4,有11個preset值,即preset0-preset10。對于不同的鏈路情況,系統要求Rx端發送Tx EQ preset設置請求給Tx端,讓其做對應的preset均衡設置;Tx端發送Rx EQ均衡設置,要求Rx端做相應的設置,最終獲得一個最優的均衡組合和Rx端的眼圖。


圖10


Phase0:第1階段鏈路均衡涉及上游端口(Upstream port)和下游端口(Downstream port)之間的精確動態協商,下游端口通過向上游設備發送每個通道所需的發送器preset值來開始鏈路均衡,被稱為第0階段鏈接均衡。在接收到下游端口的請求后不久,上游端口增加到第3代(Gen3)鏈路數據速率,并開始使用所需preset將訓練序列發送回下游端口。鏈路速度增加至Gen3(8 GT/s)后,鏈路均衡過程通過來回發送preset值來協商每個端口的preset配置,從而繼續優化鏈路。


圖11


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


圖12


Phase2:在第1階段鏈路的誤碼率實現BER≤10e-4后,進入到Phase 2,隨后進一步優化上游端口的preset值,直至獲得最優設置,鏈路的誤碼率應滿足BER ≤ 1E-12。


Phase3:到第3階段對下游端口執行相同的協商。上游端口通過訓練序列發送均衡請求去調整下游端口的preset值,直至獲得最優設置,鏈路的誤碼率應滿足BER ≤ 1e-12。


當Phase3完成后,鏈路均衡也已完成,此時鏈路以Gen3的速率進入L0狀態,并在該速率進行穩定通信。對于更高的傳輸速率,PCIe設備必須進行多次鏈路均衡過程。


圖13


然而在某些主板設計中,尤其是那些具有長通道鏈路的主板,這種信號質量無法實現,可能需要另外的信號調節。在這種情況下,中繼器(如Redriver,Retimer)則被用來做信號調節,并在PCIe設備和根復合體之間提供高質量信號。


Union Memory

內容來源:
*TI Precision Labs- What is PCIe?
*The secret to optimizing PCIe high-speed signal transmission – dynamic link equalization


長按識別關注更多憶聯資訊



原文標題:什么是PCIe?

文章出處:【微信公眾號:UnionMemory憶聯】歡迎添加關注!文章轉載請注明出處。

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

    關注

    12

    文章

    3886

    瀏覽量

    84780
  • SSD
    SSD
    +關注

    關注

    20

    文章

    2713

    瀏覽量

    115696

原文標題:什么是PCIe?

文章出處:【微信號:UnionMemory憶聯,微信公眾號:UnionMemory憶聯】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    老舊電腦升級,1盤位SATA SSD轉PCIe插槽 硬盤抽取盒 #diy電腦 #sata #pcie

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

    pcie協議規范

    pcie協議
    發表于 05-16 09:09 ?1次下載

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

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

    PCIe標準的演進歷史 各代PCIe標準之間的主要差異

    自2003年推出以來,PCIe發展至今已經從最初的1.0升級到了6.0,本文則為大家簡單介紹一下PCIe標準的演進歷史以及各代PCIe標準之間的主要差異。
    的頭像 發表于 12-14 16:38 ?2642次閱讀
    <b class='flag-5'>PCIe</b>標準的演進歷史 各代<b class='flag-5'>PCIe</b>標準之間的主要差異

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

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

    體驗紫光PCIE之使用WinDriver驅動紫光PCIE

    紫光的logos系列的PGL50H/PGL100H、logos-2全系列都集成gen2×4的PCIE硬核,且官方也提供了例程。 紫光的PCIE用起來還是挺方便的,生成IP的同時生成了對應的PCIE
    發表于 11-17 14:35

    PCIe引腳定義和PCIe協議層介紹

    本文我們將向大家介紹PCIe引腳定義以及PCIe協議層。
    發表于 09-26 11:39 ?8729次閱讀
    <b class='flag-5'>PCIe</b>引腳定義和<b class='flag-5'>PCIe</b>協議層介紹

    項目承接案例:PCIE采集系統 前端圖像或ADC數據采集,通過PCIE傳輸至PC??蓪崿FPCIE 2.0 x#

    PCIeADC數據
    明德揚助教小易老師
    發布于 :2023年08月30日 12:25:38

    如何加速PCIe仿真

    ? 我們在進行PCIe RTL仿真時,由于PCIe ltssm協商過程比較復雜,導致PCIe ltssm進入L0狀態所花費的時間比較長(大概在20~60分鐘,因代碼復雜度、服務器性能、PCIe
    的頭像 發表于 08-17 09:42 ?865次閱讀
    如何加速<b class='flag-5'>PCIe</b>仿真

    PCIe AMBA集成指南

    本文檔旨在提供關于將PCIe接口集成到基于AMBA的片上系統(SoC)的指導。 假設PCIe接口通過基于AXI或ACE協議的互連連接到SoC的其余部分。 讀者應熟悉PCIe、AMBA AXI
    發表于 08-17 07:25

    PCIe?標準演進歷史

    自2003年推出以來,PCIe發展至今已經從最初的1.0升級到了6.0,在上一篇文章中為大家介紹了PCIe基礎知識:《什么是PCIe?》 ,本文則為大家簡單介紹一下 PCIe 標準的演
    的頭像 發表于 07-26 08:05 ?1017次閱讀
    <b class='flag-5'>PCIe</b>?標準演進歷史

    什么是PCIe?

    如果不是做主板類的工程師或者沒有自己組裝過電腦/服務器的,估計很多人并不了解PCIe是什么。
    發表于 07-04 09:30 ?6661次閱讀
    什么是<b class='flag-5'>PCIe</b>?

    PCIe的基礎知識整理

    PCIe 7.0規范的數據傳輸速率將再次倍增,達到128 GT/s,大幅度高于PCIe 6.0的64 GT/s和PCIe 5.0的32 GT/s。一個PCIe 7.0 x16通道可以支
    發表于 06-25 10:48 ?634次閱讀
    <b class='flag-5'>PCIe</b>的基礎知識整理

    如何讀寫PCIe?

    我是一名PCIe新手,想了解以下問題: 1、如何測試PCIe? 2、如何讀寫PCIe(兩塊開發板通過PCIe線互連,分別配置為RC和EP)? 3.如何支持NTB?
    發表于 06-12 06:05
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>