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

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

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

CCIX傳輸層詳解

路科驗證 ? 來源:老秦談芯 ? 作者:老秦談芯 ? 2022-09-09 13:01 ? 次閱讀

4.CCIX傳輸層

開篇中提過,CCIX可以看作兩個主要規(guī)范,分別是CCIX協(xié)議規(guī)范和CCIX傳輸規(guī)范。

CCIX 協(xié)議規(guī)范包含CCIX 協(xié)議層和CCIX鏈接層。這些層規(guī)定緩存一致性協(xié)議、報文發(fā)送、流控和CCIX 傳輸部分的協(xié)議。這正是第三章中的內(nèi)容。

CCIX 傳輸規(guī)范包含CCIX 和PCIe事務層,PCIe 數(shù)據(jù)鏈路層,和CCIX 物理層。這些層負責器件間的物理連接,包括速率和帶寬協(xié)商,傳輸包錯誤檢測和重試,和初始包編碼協(xié)議。這是第四章的主要內(nèi)容。

開始學習這章之前,再來復習一下CCIX的分層架構(gòu)。

2281138e-2ff6-11ed-ba43-dac502259ad0.png

從圖中可以看出,在CCIX傳輸規(guī)范中,除了添加了CCIX事務層,作為對PCIe事務層的擴展或者替換,而其它各層均遵循復用PCIe標準。按慣例,我們重點看看CCIX事務層,其它部分略過。

4.1 介紹

CCIX規(guī)范中使用數(shù)據(jù)包在CCIX鏈路層(CCIX Link Layer)和CCIX事務層(CCIX Transaction Layer)之間傳遞信息

CCIX傳輸層(Transport Layer)分為兩個部分:一個處理出站(Outbound)信息,另一個處理入站(Inbound)信息。

237bd2ec-2ff6-11ed-ba43-dac502259ad0.png

CCIX使用數(shù)據(jù)包在CCIX鏈路層和CCIX事務層之間傳遞信息。在發(fā)送端,當傳輸?shù)臄?shù)據(jù)包在事務層(Transaction Layer)、數(shù)據(jù)鏈路層(Link Layer)和物理層(Physical Layer)中向下游流動時,它們被擴展,需要加上在這些層處理數(shù)據(jù)包所需的附加信息。在接收端,發(fā)生相反的過程,包從其物理層傳輸?shù)綌?shù)據(jù)鏈路層,最后轉(zhuǎn)換為可由接收設(shè)備的事務層處理的形式。

2537d612-2ff6-11ed-ba43-dac502259ad0.png

這也是分層架構(gòu)的基本理念,每一層各司其職,只負責處理本層的任務。在傳輸端,各層把上一層的數(shù)據(jù)做為本層的負載,加上本層所需的信息,傳輸給下一層;在接收端,各層把本層所需要的信息剝離出來,并進行處理,然后把其余的數(shù)據(jù)傳輸給上一層。通過分層架構(gòu),可以很好的對規(guī)范進行劃分,從而簡化設(shè)計。

4.1.1 CCIX事務層

CCIX規(guī)范定義了自己的事務層,替換了PCIe的事務層,或者說CCIX事務層是一個簡化的PCIe事務層,其中僅支持以下的事務層數(shù)據(jù)包(Transaction Layer Packets,后面簡稱TLPs):

優(yōu)化的TLP

PCIe兼容的TLP

CCIX事務層的主要職責是組裝和拆分TLP。

在接收路徑上,CCIX事務層在將TLP轉(zhuǎn)發(fā)到CCIX鏈路層之前,檢查TLP的完整性。

對于PCIe兼容的TLP,PCIe基本規(guī)范中規(guī)定的PCIe事務層檢查適用。

對于優(yōu)化的TLP,指定了一組新的CCIX事務層檢查。

CCIX事務層還負責用基于信用的流量控制方式去管理CCIX TLP。在接收路徑上,為通過數(shù)據(jù)完整性檢查,并轉(zhuǎn)發(fā)到協(xié)議層的CCIX TLP返回已發(fā)布的流控制信用。在發(fā)送路徑上,實現(xiàn)了一個信用門(credit gate),以基于可用的發(fā)布信用控制CCIX TLP的流量。

4.1.2 PCIe事務層

CCIX規(guī)范不修改PCIe事務層。

4.1.3 PCIe數(shù)據(jù)鏈路層

CCIX規(guī)范不修改PCIe數(shù)據(jù)鏈路層,而是按原樣使用它。PCIe數(shù)據(jù)鏈路層充當PCIe和CCIX事務以及CCIX物理層之間的中間層。數(shù)據(jù)鏈路層的主要職責包括鏈路管理和數(shù)據(jù)完整性,包括錯誤檢測和錯誤糾正。

4.1.4 CCIX物理層

CCIX物理層以特定于實現(xiàn)的格式與PCIe數(shù)據(jù)鏈路層交換數(shù)據(jù)包信息。該層負責將從PCIe數(shù)據(jù)鏈路層接收的數(shù)據(jù)包信息轉(zhuǎn)換為適當?shù)男蛄谢袷?,并以與連接到鏈路另一側(cè)的設(shè)備兼容的數(shù)據(jù)速率和PCIe寬度在CCIX鏈路上傳輸。

CCIX物理層定義了兩種物理層類型。CCIX組件只需要支持其中一種:

PCIe PHY:這種PHY類型符合PCIe基本規(guī)范

擴展數(shù)據(jù)速率(Extended Data Rate,EDR):這種PHY類型支持PCIe基本規(guī)范的所有要求,具有16.0 GT/s的能力,并將支持的數(shù)據(jù)速率擴展到20.0 GT/s和25.0 GT/s。

4.2 事務層

4.2.1 CCIX事務層架構(gòu)

CCIX事務層中至少要有一個PCIe虛擬通道(Virtual Channel,VC),也就是VC0,用來交換PCIe TLP。

CCIX事務層還應該有一個CCIX虛擬通道(CCIX VC),用來交換CCIX TLP,但不能是VC0。

258edbb0-2ff6-11ed-ba43-dac502259ad0.png

4.2.2 事務層協(xié)議 – 數(shù)據(jù)包定義

CCIX事務層必須支持PCIe兼容的TLP,可以選擇支持優(yōu)化的TLP。

PCIe兼容TLP的格式如下:

25d931b0-2ff6-11ed-ba43-dac502259ad0.png

消息路由字段必須設(shè)置為010b–按ID路由。

所有CCIX TLP的供應商ID字段等于CCID。

PCIe兼容TLP的總長度大于4 DW。因此,TLP Fmt字段為011b。Length[9:0]是供應商定義消息的負載中DW總數(shù)

上圖TLP頭中DW3和數(shù)據(jù)負載格式在第三章中定義

優(yōu)化的TLP格式,且須遵循的規(guī)則:

25ffd8d8-2ff6-11ed-ba43-dac502259ad0.png

優(yōu)化的TLP要求是4-byte對齊,且4-byte增量

優(yōu)化的TLP由1 DW TLP頭部分和最多可包含127 DW的TLP有效載荷部分組成。

字節(jié)0的第7位始終為0b

Type[0]字段指示CCIX硬件規(guī)范版本,目前只有1.0版本

TC [2:0]字段,Traffic Class,流量分類

Length[6:0]是負載包含的DW數(shù)目

CCIX允許在一個TLP中打包兩個或多個協(xié)議消息,從而使協(xié)議消息傳輸?shù)拈_銷最小化。只有當所有協(xié)議消息都具有公共CCIX鏈路時,才支持打包協(xié)議消息。對于CCIX事務層來說,打包的消息看起來仍然像一個帶負載的TLP。多協(xié)議消息的信息在CCIX鏈路層內(nèi)編碼/解碼,對事務層透明。

所有CCIX設(shè)備都需要支持CCIXVC的PCIe兼容TLP格式。只有當鏈路兩端都支持優(yōu)化TLP格式功能時,才可以在CCIX VC上交換優(yōu)化的TLP。

在PCIe設(shè)備發(fā)現(xiàn)(discovery)過程中,可以通過讀取DVSEC寄存器來判斷是否支持CCIX。

4.2.3 CCIX虛擬通道

在正常工作條件下,CCIX VC將僅發(fā)送和接收CCIX TLP。CCIX VC為CCIXTLP實現(xiàn)了一個先進先出(FIFO)隊列。CCIX VC應當規(guī)定一個posted流量控制信用值。這樣,設(shè)計時FIFO隊列的大小就可以確定了。

CCIX VC還應當規(guī)定一個non-posted流量控制信用值。CCIX VC上一般預計不會有non-posted TLPs,但是一旦接收到這些TLP,就需要一些資源處理他們。

插播一段,Non-posted(非轉(zhuǎn)發(fā))事務和Posted(轉(zhuǎn)發(fā))事務都是PCIe TLP(事務層包)類型。Non-posted事務分為兩個部分,首先是發(fā)送端向接收端發(fā)送TLP請求,接收端接收到請求完成后向發(fā)送端發(fā)送完成TLP。Non-posted事務必須等待接收到完成TLP,PCIe總線才能結(jié)束當前的TLP。PostedTLP不需要完成TLP返回,此種方式中,TLP還沒達到最終目的地之前,PCIe總線就可以結(jié)束當前的事務。

4.2.4 接收到的TLP的處理

CCIX事務層接收到的TLP處理流程如下圖:

262a6e86-2ff6-11ed-ba43-dac502259ad0.png

從數(shù)據(jù)鏈路層接收到TLP后,先通過TC[2:0]判斷是分發(fā)給PCIe虛擬通道還是CCIX虛擬通道。

補充一點,TC 是數(shù)據(jù)包的頭內(nèi)的一個3-bit的字段。用來將流量分成8種(TC0-TC7)不同的類別,本地應用軟件和系統(tǒng)軟件根據(jù)性能要求確定某個TLP使用什么樣的TC標志。虛擬通道是物理緩沖區(qū),它通過使用發(fā)送和接收虛擬信道緩沖區(qū),提供一種在鏈路上實現(xiàn)多個獨立數(shù)據(jù)流的方法。PCIe設(shè)備可以實現(xiàn)最多8個VC緩沖區(qū)(VC0-VC7)。并且必須要實現(xiàn) VC0,即最通用的服務類別。設(shè)備或交換器需要實現(xiàn)TC/VC映射邏輯,通過該邏輯形成對應關(guān)系,把給定的TC號的TLP使用特定的VC號的緩沖區(qū)通過鏈路發(fā)送出去。多個TC可以對應一個VC,因而可以使用有限數(shù)目的VC緩沖區(qū)來降低設(shè)備成本。系統(tǒng)軟件通過配置寄存器設(shè)置 TC/VC 的映射。應用軟件確定TLP的TC標志以及設(shè)置滿足性能要求的TC/VC的映射關(guān)系。最簡單的情況可以將 TC/VC 映射寄存器設(shè)置為TC到VC的一對一關(guān)系。

CCIX事務層的行為由寄存器TransactionLayerControl(這個寄存器在第六章DVSEC中描述)的比特位OptimizedTLPGenerationReceptionRoutingEnable來控制。如果這個比特位被設(shè)定(set),發(fā)送方以優(yōu)化的TLP格式生成CCIXTLP,傳輸路徑中的交換機和接收方接受優(yōu)化的TLP,所有接收方都將拒絕PCIe兼容的TLP。如果這個比特位被清除(clear),發(fā)送方以PCIe兼容TLP格式生成CCIX TLP,傳輸路徑中的交換機和接收方接受PCIe兼容TLP,所有接收方都將拒絕優(yōu)化的TLP。

4.2.5 事務排序規(guī)則

CCIX事務層應遵循PCIe基本規(guī)范中對事務排序的所有要求。在正常工作條件下,CCIX VC將僅發(fā)送和接收PCIe兼容的TLP或優(yōu)化的TLP。

4.2.6 虛擬通道機制

CCIX事務層應遵循PCIe基本規(guī)范中對虛擬通道機制的所有要求。VC機制不區(qū)分PCIe VC和CCIXVC。后面有時間再分析PCIe的VC機制。

4.2.7 事務層流量控制

CCIX事務層應遵循PCIe基本規(guī)范中對流量控制的所有要求,除去那些僅適用于CCIX VC行為的異常。

4.2.8 數(shù)據(jù)完整性

CCIX事務層應遵循PCIe基本規(guī)范中對數(shù)據(jù)中毒(Data Poisoning)機制的所有要求。優(yōu)化的TLP格式不支持PCIe數(shù)據(jù)中毒機制。

CCIX事務層應遵循PCIe基本規(guī)范中關(guān)于基于端到端CRC(End-to-End CRC)的數(shù)據(jù)完整性機制的所有要求。優(yōu)化的TLP格式不支持ECRC機制。

4.2.9 完成超時機制

CCIX事務層應遵循PCIe基本規(guī)范中對完成超時(Completion Timeout)機制的所有要求。

4.2.10 鏈接狀態(tài)依賴

CCIX事務層應遵循PCIe基本規(guī)范中對鏈接狀態(tài)依賴(Link Status Dependencies)機制的所有要求。

4.3 CCIX數(shù)據(jù)鏈路層

是不是叫PCIe數(shù)據(jù)鏈路層更為合適?

4.4 CCIX物理層邏輯塊

4.4.1 介紹

物理層分為邏輯子塊和電氣子塊。CCIX傳輸規(guī)范擴展了PCIe基本規(guī)范中規(guī)定的邏輯和電氣子塊。

4.4.2 CCIX邏輯子模塊

CCIX物理層支持16.0 GT/s,20.0 GT/s和25.0 GT/s的傳輸速率。

支持擴展數(shù)據(jù)速率的CCIX設(shè)備可以通過控制ESMControl.ESMEnable比特位(從0變成1),來進入擴展速率模式(Extended Speed Mode,ESM)。

4.4.3 重定時器

關(guān)于PCIe Retimer,隨著PCIe協(xié)議的不斷升級,頻率越來越高,對數(shù)據(jù)在線路中的傳輸長度提出了強烈挑戰(zhàn)。為了解決這一問題,PCIe協(xié)議在4.0版本種提出了Retimer。Retimer實際上是一種協(xié)議感知設(shè)備,能更好地將信號傳輸?shù)礁h。

總結(jié):CCIX 傳輸規(guī)范包含CCIX事務層和PCIe 事務層,PCIe 數(shù)據(jù)鏈路層,和CCIX 物理層。這些層負責器件間的物理連接,包括速率和帶寬協(xié)商,傳輸包錯誤檢測和重試,和初始包編碼協(xié)議。除去CCIX事務層,其它層均遵循PCIe標準。

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

    關(guān)注

    15

    文章

    1165

    瀏覽量

    81996
  • 傳輸層
    +關(guān)注

    關(guān)注

    0

    文章

    29

    瀏覽量

    10857

原文標題:老秦帶你探索CCIX(七)

文章出處:【微信號:Rocker-IC,微信公眾號:路科驗證】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    詳解太赫茲通信頻段和MAC工作原理

    技術(shù)在通信領(lǐng)域的應用與當今比較成熟的微波通信和光纖通信相比,具有更多的優(yōu)點,比如說,傳輸速率高,方向性好,安全性高,散射小,以及穿透性好等。之前的文章《詳解IEEE 802.11ad(60 GHz
    發(fā)表于 06-17 06:24

    一文弄懂CCIX協(xié)議

    3. CCIX協(xié)議3.1 介紹每個CCIX代理都有一個ID,通過ID進行消息路由。每個CCIX端口可以與一個或多個其他CCIX端口通信。
    發(fā)表于 06-08 17:23

    CCIX 1.1設(shè)備必須支持PCIe 5.0 PHY或CCIX EDR PHY這兩種物理

    必須符合下面表中的定義。傳輸DVSEC包含CCIX物理、數(shù)據(jù)鏈路層和事務的控制和狀態(tài)寄存器(Control and Status Register,CSR)。協(xié)議DVSEC包含
    發(fā)表于 08-16 15:45

    光纖傳輸和同軸傳輸詳解

    光纖傳輸和同軸傳輸詳解 兩種民用數(shù)字音頻接口------光纖傳輸和同軸傳輸    
    發(fā)表于 01-15 10:19 ?6571次閱讀

    HDMI傳輸原理詳解

    HDMI傳輸原理詳解 如同最頂級的發(fā)動機是F1賽車馳騁賽場的保障一樣,HDMI標準之所以擁有強大的數(shù)據(jù)傳輸能力,和它的傳輸原理是分不開的
    發(fā)表于 10-20 13:42 ?6815次閱讀
    HDMI<b class='flag-5'>傳輸</b>原理<b class='flag-5'>詳解</b>

    CCIX協(xié)議對于一些高性能應用詳解

    用于加速器的緩存一致互聯(lián)協(xié)議(CCIX)是指由一家新的行業(yè)標準機構(gòu) – CCIX聯(lián)盟 -- 開發(fā)的一組規(guī)范。CCIX的驅(qū)動因素是需要比當前可用技術(shù)更快的互連,并且需要緩存一致性,以便在異構(gòu)多處理器
    發(fā)表于 11-15 11:14 ?1.4w次閱讀
    <b class='flag-5'>CCIX</b>協(xié)議對于一些高性能應用<b class='flag-5'>詳解</b>

    數(shù)據(jù)鏈路層和傳輸的區(qū)別是什么

    本文開始介紹了傳輸的概念、傳輸的基本功能以及傳輸服務類型,其次介紹了數(shù)據(jù)鏈路層功能與工作過
    發(fā)表于 03-14 15:03 ?2.6w次閱讀
    數(shù)據(jù)鏈路層和<b class='flag-5'>傳輸</b><b class='flag-5'>層</b>的區(qū)別是什么

    詳解片式鐵氧體磁珠mtnf系列

    詳解片式鐵氧體磁珠mtnf系列
    發(fā)表于 10-28 11:11 ?0次下載

    一文詳細了解CCIX規(guī)范

    正文開始前,閑扯幾句。在接下來分析CCIX規(guī)范的過程中,大家會發(fā)現(xiàn)CCIX里面有太多ARM的影子,尤其是協(xié)議的一致性協(xié)議部分,你會看到有很多跟CHI相似的東西。另外,在CCIX規(guī)范的
    的頭像 發(fā)表于 06-23 09:20 ?1827次閱讀

    CCIX協(xié)議消息字段的含義

    每個CCIX代理都有一個ID,通過ID進行消息路由。
    的頭像 發(fā)表于 06-28 17:22 ?1199次閱讀

    一文詳解CCIX規(guī)范

    正文開始前,閑扯幾句。在接下來分析CCIX規(guī)范的過程中,大家會發(fā)現(xiàn)CCIX里面有太多ARM的影子,尤其是協(xié)議的一致性協(xié)議部分,你會看到有很多跟CHI相似的東西。另外,在CCIX規(guī)范的
    的頭像 發(fā)表于 08-01 14:01 ?2051次閱讀

    CCIX協(xié)議詳解

    每個CCIX代理都有一個ID,通過ID進行消息路由。 每個CCIX端口可以與一個或多個其他CCIX端口通信。CCIX交換機(Switch)包括CCI
    的頭像 發(fā)表于 08-03 14:12 ?2417次閱讀

    CCIX傳輸詳解

    開篇中提過,CCIX可以看作兩個主要規(guī)范,分別是CCIX協(xié)議規(guī)范和CCIX傳輸規(guī)范。
    的頭像 發(fā)表于 08-09 11:39 ?1384次閱讀

    CCIX物理詳解

    CCIX 1.1設(shè)備必須支持兩種物理中的一種:PCIe 5.0 PHY,或者是CCIX EDR PHY。
    的頭像 發(fā)表于 08-15 11:12 ?2043次閱讀

    CCIX協(xié)議詳解

    全一致性讀事務,包括:ReadUnique,ReadClean, ReadNotSharedDirty,ReadShared。其事務流程如下圖。
    的頭像 發(fā)表于 08-17 09:39 ?1196次閱讀