那曲檬骨新材料有限公司

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

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

3天內不再提示

一文詳解CCIX規范

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

正文開始前,閑扯幾句。在接下來分析CCIX規范的過程中,大家會發現CCIX里面有太多ARM的影子,尤其是協議層的一致性協議部分,你會看到有很多跟CHI相似的東西。另外,在CCIX規范的底層,基本全是復用和遵循PCIe規范。

說到PCIe,就必須先提一提PCI。PCI是Peripheral Component Interconnect的縮寫,它是一種由英特爾公司1991年推出的局部總線標準。最早提出的PCI總線工作在33MHz頻率之下,傳輸帶寬達到132MB/s,基本上滿足了當時處理器的發展需要。后來,隨著對更高性能的要求,不斷把PCI 總線的頻率提升。PCI使用共享并行總線架構,其中PCI主機和所有設備共享一組通用的地址,數據和控制線。這種并行架構天然決定了PCI的時鐘頻率不可能一直提升。因為隨著時鐘頻率的不斷提升,并行總線間的信號干擾(EMI)會越來越嚴重。所以PCI后期已經不能適應高速發展的數據傳輸需求。

PCI-Express(Peripheral Component Interconnect express,簡稱PCIe)應運而生。PCIe是一種高速串行計算機擴展總線標準,它原來的名稱為“3GIO”,是由英特爾在2001年提出的,旨在替代舊的PCI,PCI-X和AGP總線標準。PCIe屬于高速串行點對點雙通道高帶寬傳輸,所連接的設備分配獨享通道帶寬,不共享總線帶寬。它的主要優勢就是數據傳輸速率高。目前,PCIe交由PCI-SIG組織負責維護和發布。市場已經有支持PCIe 5.0標準的控制器和設備,相信不久之后,PCIe 6.0將會大規模商用。

由于PCIe標準極其復雜,本人能力有限,對PCIe標準還處于學習階段。所以后面跟PCIe相關的部分一帶而過,主要介紹一下CCIX獨有的部分,重點是規范中的第三章。

如果有小伙伴精通PCIe,還望不吝賜教。

接下來,我們按照CCIX規范的章節過一遍,主要是對規范內容的理解和歸納。CCIX規范本身比較晦澀難懂,而且通篇看下來感覺有一些段落前后順序有些顛倒。比如我發現有一些概念是先用后解釋,造成的后果就是初看前面的時候一頭霧水,看到后面的章節才明白前面大概在說啥。如果大家也有類似的感覺,不妨多看幾遍。本系列文章中盡量避免這些問題,但是由于本人水平有限,難免會漏掉一些細節或者有理解不準確的地方,請見諒,一切以spec為準。

1. 文檔概述

CCIX規范定義了一些術語:

Port:端口與物理引腳關聯,并有兩個子層,CCIX Port和Transport Port。CCIX端口充當來自CCIX設備的CCIX協議層消息的入口(Ingress)和出口(Egress)。傳輸端口是充當傳輸層數據包進出網關的控制器。

CCIX Link:CCIX鏈路是一對CCIX端口之間的邏輯連接。

PCIe Link:PCIe鏈路是PCIe端口的物理連接。

Transport Link:傳輸鏈路是指傳輸層規范中用于覆蓋CCIX協議層的物理鏈路。

CCIX Components:CCIX組件是定義CCIX一致性協議所需的模塊。

Acceleration Function:加速功能(簡稱AF)是針對一致性協議的內存訪問請求的特定實現源,該協議由CCIX請求代理表示,用于通過CCIX一致性層進行通信,后文中會經常提到AF。

CCIX Device:CCIX設備是由一個或多個符合CCIX協議的CCIX組件組成的物理實體。

CCIX Agent:CCIX代理,在規范中分為四類,Request Agent(RA),RA是讀寫事物的源端;Home Agent(HA)負責管理給定地址范圍內的一致性和內存訪問;Slave Agent(SA),處理HA的事務,擴展系統內存,包括連接到外圍設備的存儲;Error Agent(EA),接受和處理協議錯誤消息。

CCIX Function Blocks:定義CCIX組件功能所需的構建模塊。

CCIX Switch:一種CCIX設備,由兩個或多個CCIX ports組成,支持端口到端口的轉發。

Packet:獨立路由的數據傳輸單元。

SAM:System Address Map,系統地址映射。

G-SAM:Global System Address Map。

G-RSAM:Global Request Agent System Address Map。

G-HSAM:Global Home Agent System Address Map。

RSAM:請求代理視角的SAM。

HSAM:主代理視角的SAM。

PSAM:端口相關的SAM。

EDR:Extended Data Rate,除了PCI Express基本規范定義的標準PHY速度之外的PHY的數據速率。

ESM:Extended Speed Mode,ESM是一種允許PCIe鏈路速度在標準PCIe速度和EDR速度之間轉換的機制。

CCIX Consortium Identifier(CCID) :CCIX DVSEC結構和CCIX PCIe兼容頭協議消息中的16位公共標識符。

CCIX Consortium Unique Value(CCUV) :CCIX DVSEC結構和CCIX PCIe兼容頭協議消息中的硬件默認16位值。

2. CCIX概述

CCIX規范擴展了處理器-處理器,處理器-內存,處理器-加速器,加速器-加速器之間的數據共享。CCIX允許所有處理實體之間的一組公共虛擬地址(VA)引用所有數據結構。為了實現這些功能,CCIX擴展了共享虛擬內存(Shared Virtual Memory,SVM)模型。

擴展系統內存:CCIX允許將系統內存域擴展到主機連接內存之外。作為系統內存的一部分,主機內存管理器可以選擇以與主機內存分配和管理相同的方式,去分配和管理外圍連接的內存。因此,通過CCIX內存擴展,主機可以擴展其內存容量和/或支持新的內存技術。主機的外圍連接內存視圖與多節點主機系統中現有的內存視圖一致,即非統一內存訪問(NUMA)內存模型。

基于處理器或加速器的應用程序訪問模式的軟件透明數據移動:CCIX在加速器中支持硬件一致性緩存,并為處理器和加速器訪問維護共享數據的一致視圖,而無需軟件干預。在CCIX系統中,緩存允許根據處理器或加速器的訪問模式隱式移動共享數據,以便進一步重復使用或修改,而無需在它們之間遷移或維護多個或修改后的副本。

應用程序管理的數據從主機移動到加速器連接的內存:CCIX使應用程序能夠協調從一個內存節點到另一個內存節點的數據移動,而無需任何操作系統協助。這允許數據生產者將數據放在作為數據消費者的計算實體(處理器或加速功能)旁邊。

以上所說的這幾點構成了主機內存和處理器、外設連接內存和加速器之間無縫數據共享的基礎。擴展系統內存沒什么好解釋的了;CCIX規范支持在多芯片的處理器內核之間共享緩存數據,這種共享是通過一致性協議來完成的,對軟件來說是完全透明的;至于應用程序管理數據,我的理解是類似于CHI中的cache stashing。

CCIX標準支持多種拓撲結構:tree,mesh,ring等等。比如下圖中的直接連接拓撲:

394a0006-1153-11ed-ba43-dac502259ad0.png

全連接拓撲:

395aa924-1153-11ed-ba43-dac502259ad0.png

上一篇中介紹過了CCIX規范的分層架構模型,這里就不再重復了。放張圖幫助大家回憶。

39798c22-1153-11ed-ba43-dac502259ad0.png

每個CCIX端口都與一個傳輸端口(Transport Port)相關聯。傳輸端口僅限于PCIe端口。CCIX端口負責創建與PCIe兼容的供應商定義消息(VDM)事務層數據包(TLP),或具有優化報頭的CCIX數據包。CCIX協議消息在PCIe兼容或優化TLP的有效負載中承載。每個CCIX端口可以與一個或多個CCIX端口通信。

399ff65a-1153-11ed-ba43-dac502259ad0.png

CCIX可以通過選擇性地聚合多個CCIX端口,在兩個CCIX設備之間實現更高的帶寬連接。CCIX體系結構定義了一種跨多個CCIX端口分配內存訪問請求和監聽的方法,當PCIe用作傳輸時,每個CCIX端口映射到一個PCIe控制器,以有效地在CCIX代理之間實現更高的帶寬。端口聚合(Port Aggregation)通常用于單個端口的可用吞吐量不足以滿足兩個芯片之間的通信需求的情況。如下圖所示,右側芯片的RA的請求可以通過兩個CCIX端口(圖中的Port 0和Port 1)發給左側芯片的HA,達到增加兩個芯片數據共享的帶寬。

39d4571a-1153-11ed-ba43-dac502259ad0.png

CCIX設備可以作為PCIe設備被主機發現和管理。組件及其功能通過PCIe配置空間中指定的特定供應商的擴展功能(DVSEC)部分被主機識別。CCIX DVSEC在PCIe配置頭的DVSEC供應商ID字段中攜帶通用CCIX ID(CCID)。CCIX DVSEC定義了功能,還提供了控制和狀態字段。

CCIX一致性互連通過標準CCIX驅動程序進行管理。AFs通過供應商提供的驅動程序作為PCIe功能進行管理。CCIX允許加速器連接的內存成為整個系統內存的一部分。然后,內核內存管理器將其作為可分配系統內存進行管理。

CCIX定義了服務器級可靠性、可用性和可維護性(Reliability Availability Serviceability,RAS)功能集。CCIX的RAS體系結構通過PCI Express基本規范中定義的高級錯誤報告(Advanced Error Reporting,AER)機制維護PCIe傳輸錯誤的報告。與CCIX一致性互連相關的錯誤通過一個單獨的并行機制報告給AER。這個記錄和報告協議錯誤的新機制稱為協議錯誤報告(Protocol ErrorReporting,PER)機制。CCIX設備中的PER錯誤記錄在協議DVSEC中。

CCIX利用PCIe的地址轉換服務(Address Translation Service,ATS)標準,允許CCIX設備將虛擬地址(VA)映射到其相關的物理地址(PA),并提供每頁的訪問控制。CCIX規范要求,所有CCIX設備需要提供以下保證:

CCIX設備通過地址轉換服務確保來自AFs的所有請求受訪問權限控制

CCIX設備確保在設備上的固件受信任

CCIX可以使用PCIe標準的消息信令中斷(MSI/MSI-X)將事件從加速器發送到主機處理器。在前面講ARM中斷控制器的時候介紹過一些MSI的知識,想了解更多的話,往前翻一翻,或者去看看PCIe的規范。

通過這兩次的學習,我們對CCIX的大體輪廓有了一個認識。CCIX是在PCIe規范的基礎上發展出來的,在復用了大量PCIe規范的同時添加了CCIX協議層,CCIX鏈路層和CCIX事務層,并通過這三層定義了緩存一致性協議和所需的CCIX消息,以及消息傳遞機制。這三層往下就是復用PCIe的分層結構了。另外,CCIX規范擴展了PCIe的物理層數據傳輸速率。

正文開始前,閑扯幾句。在接下來分析CCIX規范的過程中,大家會發現CCIX里面有太多ARM的影子,尤其是協議層的一致性協議部分,你會看到有很多跟CHI相似的東西。另外,在CCIX規范的底層,基本全是復用和遵循PCIe規范。

審核編輯:湯梓紅

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

    關注

    68

    文章

    19407

    瀏覽量

    231169
  • 內存
    +關注

    關注

    8

    文章

    3055

    瀏覽量

    74325

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

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

收藏 人收藏

    評論

    相關推薦

    弄懂CCIX協議層

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

    CCIX 1.1設備必須支持PCIe 5.0 PHY或CCIX EDR PHY這兩種物理層嗎

    5 物理層5.1 介紹CCIX 1.1設備必須支持兩種物理層中的種:PCIe 5.0 PHY,或者是CCIX EDR PHY。5.2 EDR25-SR電氣規范EDR25-SR電氣
    發表于 08-16 15:45

    Xilinx宣布CCIX聯盟成員增長3倍并推出相關規范

    AMD 公司研究員兼 I/O 和電路技術副總裁 Gerry Talbot 表示:“AMD 歡迎 CCIX 規范標準首版發布,也歡迎新成員加入并共同建立起 CCIX 這個開放式緩存致性
    發表于 10-18 09:34 ?682次閱讀

    CCIX協議對于些高性能應用詳解

    用于加速器的緩存致互聯協議(CCIX)是指由家新的行業標準機構 – CCIX聯盟 -- 開發的
    發表于 11-15 11:14 ?1.4w次閱讀
    <b class='flag-5'>CCIX</b>協議對于<b class='flag-5'>一</b>些高性能應用<b class='flag-5'>詳解</b>

    詳細了解CCIX規范

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

    CCIX規范的簡單介紹

    對于芯片互聯網絡,有兩個指標是至關重要的:帶寬和延時。CCIX 采用兩種機制來提高性能、降低延時。第種機制是采用緩存致性,自動保持處理器和加速器的緩存致,提升易用性、降低延時。
    的頭像 發表于 07-21 14:35 ?1415次閱讀

    CCIX協議層詳解

    每個CCIX代理都有個ID,通過ID進行消息路由。 每個CCIX端口可以與個或多個其他CCIX端口通信。
    的頭像 發表于 08-03 14:12 ?2791次閱讀

    CCIX傳輸層詳解

    開篇中提過,CCIX可以看作兩個主要規范,分別是CCIX協議規范CCIX傳輸規范
    的頭像 發表于 08-09 11:39 ?1568次閱讀

    CCIX物理層詳解

    CCIX 1.1設備必須支持兩種物理層中的種:PCIe 5.0 PHY,或者是CCIX EDR PHY。
    的頭像 發表于 08-15 11:12 ?2371次閱讀

    CCIX傳輸層詳解

    開篇中提過,CCIX可以看作兩個主要規范,分別是CCIX協議規范CCIX傳輸規范
    的頭像 發表于 09-09 13:01 ?1461次閱讀

    詳解精密封裝技術

    詳解精密封裝技術
    的頭像 發表于 12-30 15:41 ?1709次閱讀

    詳解分立元件門電路

    詳解分立元件門電路
    的頭像 發表于 03-27 17:44 ?3374次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>詳解</b>分立元件門電路

    詳解pcb和smt的區別

    詳解pcb和smt的區別
    的頭像 發表于 10-08 09:31 ?3475次閱讀

    詳解pcb地孔的作用

    詳解pcb地孔的作用
    的頭像 發表于 10-30 16:02 ?1751次閱讀

    詳解pcb的msl等級

    詳解pcb的msl等級
    的頭像 發表于 12-13 16:52 ?1w次閱讀
    青鹏棋牌官网下载| 明升百家乐QQ群| 百家乐园蒙特卡罗| 最新百家乐官网电脑游戏机| 百家乐制胜秘| 在线百家乐官网博彩网| 百家乐官网庄家抽水的秘密| 万人迷百家乐的玩法技巧和规则| 大发888娱乐城3403| 二爷百家乐官网的玩法技巧和规则| 全讯网是什么| 将军百家乐官网的玩法技巧和规则| 新澳博娱乐| 百家乐游戏机图片| 新手百家乐官网指点迷津| 免费百家乐预测工具| 澳门百家乐官网破解方法| 澳门百家乐怎么看小路| 百家乐官网号公| 陵川县| 全讯网源码| 犹太人百家乐的玩法技巧和规则| 百家乐官网娱乐城体育| 香港百家乐六合彩| 百家乐代理加盟| 百家乐官网包赢| 188金宝博开户| 百家乐路单生| 百家乐官网那个平好| 玩百家乐官网高手支招篇| 新盈国际| 利高| 大发888迅雷下载免费| 百家乐电投| 24山向中那个向最好| 赌片百家乐的玩法技巧和规则| 百家乐官网园天将| 百家乐官网百姓话题| 百家乐官网上海代理| 澳门百家乐官网出千吗| 百家乐官网傻瓜式投注法|