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

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

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

CHI架構(gòu)的基礎(chǔ)知識(shí)

冬至子 ? 來源:子墨祭 ? 作者:子墨祭 ? 2023-10-30 14:39 ? 次閱讀

一、CHI架構(gòu)

CHI架構(gòu)是一個(gè)可擴(kuò)展的、支持一致性的集線器接口和由多個(gè)組件使用的片上互連。根據(jù)系統(tǒng)要求的PPA(performance, power, and area),CHI體系結(jié)構(gòu)允許組件連接的靈活拓?fù)浣Y(jié)構(gòu)。

1.1組件

基于CHI的系統(tǒng)組件可以包括:

  • 獨(dú)立處理器
  • 處理器簇
  • 圖形處理器
  • 內(nèi)存控制器
  • I/O橋
  • PCIe子系統(tǒng)
  • CHI互連線

1.2關(guān)鍵特性

該體系結(jié)構(gòu)的主要特性是:

  • 可擴(kuò)展的體系結(jié)構(gòu),支持從小型系統(tǒng)擴(kuò)展到大型系統(tǒng)的模塊化設(shè)計(jì)。
  • 獨(dú)立的分層方法,包括協(xié)議層、網(wǎng)絡(luò)層和鏈路層,具有不同的功能。
  • 基于數(shù)據(jù)包的通信。
  • 所有的事務(wù)都由一個(gè)基于互連的Home節(jié)點(diǎn)處理,它可以協(xié)調(diào)所需的窺探snoop、緩存cache和內(nèi)存memory訪問。
  • CHI一致性協(xié)議支持:

——cache line大小為64byte
——使用Snoop filter和基于directory的系統(tǒng),用于減少不必要的snoop事務(wù)。
——MESI和MOESI緩存模型,并從任何緩存狀態(tài)轉(zhuǎn)發(fā)數(shù)據(jù)。
——增加了 partial 和empty的cache line狀態(tài)。

  • CHI事務(wù)集包括:

——豐富的事務(wù)類型以支持PPA高效的系統(tǒng)緩存實(shí)現(xiàn)。
——支持互連中的原子操作和同步。
——支持高效執(zhí)行獨(dú)占訪問的功能。
——將數(shù)據(jù)移動(dòng)到更接近預(yù)期的使用點(diǎn)來實(shí)現(xiàn)高效的數(shù)據(jù)移動(dòng)和替換。
——通過分布式虛擬內(nèi)存(DVM)操作進(jìn)行虛擬內(nèi)存管理

  • 支持Retry機(jī)制來管理協(xié)議層資源;
  • 支持端到端的Qos(Quality of Service);
  • 可配置的數(shù)據(jù)寬度來滿足系統(tǒng)需求;
  • 支持ARM TrustZone;
  • 低功耗信號(hào),可以使能flit級(jí)別門控、組件之間的建斷鏈來支持時(shí)鐘門控和電源門控、協(xié)議層的活動(dòng)信號(hào)來控制電源和時(shí)鐘;

1.3 CHI層次

CHI層次按功能可以劃分為:

  • ?協(xié)議層(Protocol)
  • ?網(wǎng)絡(luò)層(Network)
  • ?鏈路層(Link)

Layer Communication granularity Primary function
Protocal transaction 協(xié)議層是CHI架構(gòu)里的最頂層,其功能有:
1、在協(xié)議節(jié)點(diǎn)產(chǎn)生并處理請求與響應(yīng);
2、定義協(xié)議節(jié)點(diǎn)允許的cache狀態(tài)和狀態(tài)轉(zhuǎn)換;
3、定義每個(gè)請求類型的傳輸流程;
4、管理協(xié)議層的流控;
Network packet 網(wǎng)絡(luò)層功能有:
1、打包協(xié)議層信息;
2、確定并增加源節(jié)點(diǎn)和目的節(jié)點(diǎn)的ID到packet中,確保這些packets能正確在互聯(lián)線上路由;
Link flit 鏈路層功能:
1、提供網(wǎng)絡(luò)設(shè)備之間的流控;
2、管理鏈路通道以提供跨網(wǎng)絡(luò)的無死鎖切換

二、拓?fù)浣Y(jié)構(gòu)

CHI架構(gòu)主要是與拓?fù)錈o關(guān)的。然而,本規(guī)范中包含了某些與拓?fù)湎嚓P(guān)的優(yōu)化,以使實(shí)現(xiàn)更高效。圖1-1顯示了三個(gè)拓?fù)涫纠?,以顯示可用的互連帶寬和可擴(kuò)展性選項(xiàng)的范圍。

Crossbar:
這個(gè)拓?fù)錁?gòu)建起來很簡單,并且自然地提供了一個(gè)具有低延遲的有序網(wǎng)絡(luò)。它適用于連線相對較小的地方。該拓?fù)浣Y(jié)構(gòu)適用于與少量節(jié)點(diǎn)的互連。
Ring:
這種拓?fù)涮峁┝嗽诨ミB布線效率和延遲之間的權(quán)衡。延遲隨環(huán)上節(jié)點(diǎn)的數(shù)量呈線性增加。這種拓?fù)浣Y(jié)構(gòu)適用于中等大小的互連。
Mesh:
這種拓?fù)湟誀奚嗟倪B線為代價(jià)提供了更大的帶寬。它是非常模塊化的,并且可以通過添加更多的行和列的交換機(jī)來很容易地?cái)U(kuò)展到更大的系統(tǒng)。這種拓?fù)浣Y(jié)構(gòu)適用于更大規(guī)模的互連。

三、術(shù)語

術(shù)語 描述
Transaction 一個(gè)transaction執(zhí)行一個(gè)單獨(dú)的操作,如一個(gè)transaction可以是讀memory或?qū)憁emory
Message 協(xié)議層術(shù)語,用于定義兩個(gè)組件之間交換信息的粒度,如:

  • ?Request
  • ?Data response
  • ?Snoop request

一個(gè)數(shù)據(jù)響應(yīng)message可能由多個(gè)packets組成
Packet 端到端跨越interconnect的傳輸粒度,一個(gè)message可能由一個(gè)或多個(gè)packets組成,每個(gè)packet包含有源和目的節(jié)點(diǎn)的ID來保證在interconnect上獨(dú)立路由
Flit 最小流控單位,一個(gè)packet可以由一個(gè)或多個(gè)flits組成,對于同一個(gè)packet的所有flits在interconnect上傳輸必須遵循同樣的路徑,對于CHI,所有的packets都是由一個(gè)flit組成
Phit 物理層傳輸單位,一個(gè)flit可以由一個(gè)或多個(gè)phits組成,phit定義為兩相鄰網(wǎng)絡(luò)設(shè)備之間的一個(gè)傳輸,對于CHI,所有的flits都是由一個(gè)phit組成
PoS Point of Serialization,位于ICN內(nèi),用于Requests之間的保序(HNF同時(shí)具有PoS和PoC的功能)
PoC Point of Coherence,一致性節(jié)點(diǎn),用于保證所有訪問同一個(gè)memory地址的請求都可以得到同一份數(shù)據(jù)
PoP Point of Persistence(PoP)是內(nèi)存系統(tǒng)中的一個(gè)點(diǎn),當(dāng)系統(tǒng)電源斷開時(shí),會(huì)保持對內(nèi)存的寫入,當(dāng)電源恢復(fù)時(shí),會(huì)可靠的恢復(fù)對內(nèi)存的寫入。
PoPA Point of Physical Aliasing (PoPA),在一個(gè)物理地址空間(PAS)中的位置更新對所有其他物理地址空間可見。
Downstream cache downstream cache是以RN的視角定義的,RN的downstream cache可以通過CHI請求訪問
Requester Requester可以指獨(dú)立產(chǎn)生原始transactions的組件(master),也可以指ICN
Completer Completer可以指ICN,也可以是SN
Master 通常是一個(gè)系統(tǒng)中最上游的agent
Slave 通常是一個(gè)系統(tǒng)中最下游的agent
Endpoint slave的另一個(gè)名字,指的是一個(gè)transaction的最終目的地
Protocol Credit 一個(gè)P-credit用于保證completer有能力接收一個(gè)transaction
Link layer Credit 一個(gè)L-credit用于保證另一邊的link可以接受不了一個(gè)flit
ICN interconnect的簡稱,用于協(xié)議節(jié)點(diǎn)之間的通訊的CHI傳輸機(jī)構(gòu),ICN可能也包含協(xié)議節(jié)點(diǎn),如HN和MN
IPA intermediate Physical Address,中間物理地址,在兩級(jí)地址系統(tǒng)中,第一級(jí)產(chǎn)生IPA,第二級(jí)產(chǎn)生物理地址
RN 請求節(jié)點(diǎn),產(chǎn)生協(xié)議transaction,包含讀和寫
HN Home節(jié)點(diǎn),位于ICN,用于接收來自RN的協(xié)議transaction,完成相應(yīng)的一致性操作并返回一個(gè)響應(yīng)
SN 從屬節(jié)點(diǎn),用于接收來自HN的請求,完成相應(yīng)的操作并返回一個(gè)響應(yīng)
MN 其他節(jié)點(diǎn),位于ICN,用于接收來自RN的DVM操作,完成相應(yīng)的操作并返回一個(gè)響應(yīng)
IO Coherent node IO一致性節(jié)點(diǎn)產(chǎn)生的snoop請求不會(huì)導(dǎo)致數(shù)據(jù)被cache,因此IO一致性節(jié)點(diǎn)也不會(huì)接收到任何snoop請求
snoopee 正在接收snoop的RN。
Write-Invalidate protocol 該協(xié)議是指當(dāng)RN往一個(gè)共享地址寫數(shù)據(jù)時(shí),必須先把所有共享的數(shù)據(jù)備份都無效掉,然后再進(jìn)行寫操作,CHI采用的就是該協(xié)議
In a timely manner 協(xié)議中沒有定義在某個(gè)絕對的時(shí)間后,某件事必須發(fā)生,但是及時(shí)發(fā)生可以使系統(tǒng)效率更高
Don’t Care 表示該域段可以設(shè)置為任何值,包括非法值和保留值,任何組件收到的包中如果包含設(shè)為Don’t care的域段,都必須忽略該域段
Inapplicable 表示該域段值不會(huì)用于信息處理

四、事務(wù)類型

本規(guī)范(CHI issueF)所支持的協(xié)議事務(wù)及其主要分類:
(后續(xù)會(huì)再開一篇專門描述各種事務(wù)及其使用場景)

下表顯示了事務(wù)的表現(xiàn)形式:

五、一致性概述

硬件一致性使系統(tǒng)組件能夠共享內(nèi)存,而不需要軟件緩存維護(hù)來保持一致性。
如果兩個(gè)組件往相同地址的memory發(fā)起寫操作,這些操作可以被所有的組件以相同的順序觀察到,那么這個(gè)memory區(qū)域就是一致性的。

5.1 coherency model

圖1-2所示為包含三個(gè)master組件的一致性系統(tǒng),每個(gè)master組件包含一份loacl cache和一致性協(xié)議節(jié)點(diǎn)。CHI協(xié)議允許memory數(shù)據(jù)存放在一處或多處master cache當(dāng)中。

一致性協(xié)議強(qiáng)制要求,當(dāng)需要存數(shù)據(jù)時(shí),先把所有其它masters的數(shù)據(jù)備份失效掉,這樣一致性協(xié)議可以使得所有的masters獲取到任何地址的正確的數(shù)據(jù)值。在存儲(chǔ)完成后,其它masters可以獲取到新的數(shù)據(jù)到自己local cache;

CHI協(xié)議允許(不強(qiáng)求)主存的數(shù)據(jù)不是實(shí)時(shí)更新,只有在所有master的cache都不需要該數(shù)據(jù)備份時(shí),才把數(shù)據(jù)刷新到主存中;
協(xié)議使得master可以確定一份cacheline是否是唯一的或者存在多份拷貝。如果是唯一的,master可以直接改變它的值不需要知會(huì)系統(tǒng)中其它masters,如果不是唯一的,master必須使用恰當(dāng)?shù)膖ransaction知會(huì)其它masters;
所有的一致性是以cacheline粒度對齊,cacheline在64bytes對齊存儲(chǔ)系統(tǒng)中大小為64bytes;

5.2 Cache state model

為了使得一個(gè)組件在訪問cache line時(shí),可以確定是否該執(zhí)行某操作,CHI協(xié)議定義了cache state。每個(gè)cache state基于如下的cache line特性:
cache state cache line characteristics
Valid,Invalid Valid表示該cache line存在于cache中,Invalid表示該cache line沒有放在cache中
Unique,Shared Unique表示cache line單獨(dú)存放于該cache中,Shared表示其它c(diǎn)ache中也可能存在該cache line,但不保證一定有
Clean,Dirty Clean表示該cache沒有責(zé)任更新主存數(shù)據(jù),Dirty表示該cache line數(shù)據(jù)相對于主存已經(jīng)發(fā)生了改變,該cache必須確保最終主存的數(shù)據(jù)被更新
Full,Partial,Empty Full表示cacheline全部byte有效,Partial表示可能只有部分byte有效,不是全部有效;Empty表示沒有byte有效;

如下圖1-3所示為7種cache state model,注意一個(gè)valid的cache state不是Partial或Empty,而是Full。UC、UD、SC和SD全都是Full cache line狀態(tài)。

具體的狀態(tài)含義和狀態(tài)轉(zhuǎn)換將在后文詳細(xì)介紹。

六、組件名稱

根據(jù)CHI協(xié)議節(jié)點(diǎn)類型,可以將組件分類命名如下:
類別 組件名 功能
RN 請求節(jié)點(diǎn)。生成到互連的協(xié)議事務(wù),包括讀取和寫操作。請求節(jié)點(diǎn)被進(jìn)一步分類為:

RN-F 完全一致性請求節(jié)點(diǎn):

?包含硬件一致性cache
?允許產(chǎn)生所有協(xié)議定義的transactions;
?支持所有的snoop transactions

RN-D IO一致性請求節(jié)點(diǎn),支持DVM操作:

?不包含硬件一致性cache;
?可以接收DVM操作;
?可以產(chǎn)生協(xié)議定義的一部分transactions

RN-I IO一致性請求節(jié)點(diǎn):

?不包含硬件一致性cache;
?不能接受DVM操作;
?可以產(chǎn)生一部分協(xié)議定義的transactions;
?不要求具有snoop功能
HN Home Node,位于從請求節(jié)點(diǎn)接收協(xié)議事務(wù)的互連器內(nèi)的節(jié)點(diǎn)。
主節(jié)點(diǎn)被進(jìn)一步歸類為:

HN-F 用于接收所有的請求操作,除了DVM操作:

1、POC點(diǎn),通過監(jiān)聽RN-Fs,管理各Master一致性,完成所有的snoop響應(yīng)后,發(fā)送一個(gè)響應(yīng)給發(fā)出請求的RN;
2、PoS點(diǎn),用于管理多個(gè)memory請求的順序;
3、可能包含目錄或監(jiān)聽過濾,以此來減少大量的snoop request

HN-I 處理有限的一部分協(xié)議定義的Request請求:

1、PoS點(diǎn),管理訪問IO subsystem的順序;
2、不包含PoC點(diǎn),也不具備處理snoop請求

MN 用于接收來自RN發(fā)送的DVM操作,完成相應(yīng)的操作,并返回一個(gè)響應(yīng)

SN Slave Node,用于接收來自HN的請求,完成相應(yīng)的操作并返回一個(gè)響應(yīng);

SN-F 指的是Normal memory,可以處理Non-snoop讀寫請求、atomic請求、以及這些命令的其它形式、CMO請求
SN-I 指的是Peripheral或Normal Memory,可以處理Non-snoop讀寫、atomic操作、以及這些命令的其它形式、CMO請求

下圖1-4顯示了通過互連連接的各種協(xié)議節(jié)點(diǎn)類型:

七、讀數(shù)據(jù)來源

在基于CHI的系統(tǒng)中,讀請求的數(shù)據(jù)可以來自不同的地方,如下圖1-5所示,這些源有:
?Cache within ICN
?Slave Node
?Peer RN-F

對于RN-F或SN返回的讀數(shù)據(jù),可以發(fā)送給HN,HN再轉(zhuǎn)發(fā)數(shù)據(jù)給原始的Requester;也可以直接跳過HN,返回?cái)?shù)據(jù)給原始Requester,這樣可以減少讀數(shù)據(jù)的latency。這些技術(shù)可分類為:

DMT Direct Memory Transfer SN直接返回?cái)?shù)據(jù)給原始的Requester
DCT Direct Cache Transfer Peer RN-F字節(jié)返回?cái)?shù)據(jù)給原始Requester;
在DCT中,數(shù)據(jù)提供者需要通知HN它已經(jīng)將數(shù)據(jù)發(fā)給原始Request了,在某些情況下,數(shù)據(jù)提供者也必須發(fā)送一份拷貝數(shù)據(jù)給HN。
DWT Direct Write-data Transfer 定義允許請求的請求節(jié)點(diǎn)直接向下級(jí)節(jié)點(diǎn)發(fā)送寫入數(shù)據(jù)的特性。

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

    關(guān)注

    68

    文章

    18926

    瀏覽量

    227218
  • 集線器
    +關(guān)注

    關(guān)注

    0

    文章

    376

    瀏覽量

    39333
  • 虛擬機(jī)
    +關(guān)注

    關(guān)注

    1

    文章

    888

    瀏覽量

    27811
  • PCIe接口
    +關(guān)注

    關(guān)注

    0

    文章

    116

    瀏覽量

    9625
  • PPA
    PPA
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    7467
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    labview基礎(chǔ)知識(shí)

    labview基礎(chǔ)知識(shí)labview基礎(chǔ)知識(shí)labview基礎(chǔ)知識(shí)labview基礎(chǔ)知識(shí)
    發(fā)表于 03-08 17:56

    ARM架構(gòu)基礎(chǔ)知識(shí)小結(jié)

    從單片機(jī)轉(zhuǎn)到ARM ―― ARM架構(gòu)基礎(chǔ)知識(shí)小結(jié)
    發(fā)表于 12-29 06:16

    【HarmonyOS基礎(chǔ)知識(shí)】HarmonyOS系統(tǒng)架構(gòu)

    這個(gè)視頻帶大家揭秘HarmonyOS基礎(chǔ)知識(shí)之HarmonyOS系統(tǒng)架構(gòu),一起來看看?
    發(fā)表于 01-19 18:32

    Cortex-A7 MPCore架構(gòu)基礎(chǔ)知識(shí)點(diǎn)匯總,不看肯定后悔

    Cortex-A7 MPCore架構(gòu)基礎(chǔ)知識(shí)點(diǎn)匯總,不看肯定后悔
    發(fā)表于 11-30 06:45

    ARM架構(gòu)基礎(chǔ)知識(shí)點(diǎn)匯總

    之所以更復(fù)雜,當(dāng)然是為了跑更快以及更好地支持片上系統(tǒng),所以在某種程度上來說對片上系統(tǒng)不是很了解的話那對于ARM架構(gòu)的理解也不會(huì)那么深。ARM架構(gòu)基礎(chǔ)知識(shí)小結(jié)通用寄存器R13通常被用作棧指針,進(jìn)入異...
    發(fā)表于 12-13 06:26

    AMBA CHI協(xié)議介紹

    相干集線器接口(CHI)是AXI相干擴(kuò)展(ACE)協(xié)議的演進(jìn)。它是Arm提供的高級(jí)微控制器總線架構(gòu)(AMBA)的一部分。AMBA是一個(gè)自由的可用的、全球采用的、開放的功能塊連接和管理標(biāo)準(zhǔn)在片上系統(tǒng)
    發(fā)表于 08-02 13:40

    AMBA 5 CHI架構(gòu)規(guī)范

    CHI架構(gòu)是一種可擴(kuò)展、連貫的集線器接口和片上互連,可供多個(gè)組件使用。CHI架構(gòu)允許根據(jù)性能、電源和區(qū)域系統(tǒng)要求靈活地進(jìn)行組件連接拓?fù)洹?/div>
    發(fā)表于 08-08 07:46

    SoC Designer Plus AMBA CHI協(xié)議包的用戶指南

    協(xié)議代表了接口組成方面的范式轉(zhuǎn)變。 AMBA CHI采用節(jié)點(diǎn)和接口的概念,而不是以前的AMBA協(xié)議使用的主/從范例。 Amba CHI節(jié)點(diǎn)和接口信號(hào)通常是彼此的鏡像(注意例外),并且兩者支持的方法是相同的。 有關(guān)更多信息,請參閱ARM AMBA5
    發(fā)表于 08-17 07:08

    通信基礎(chǔ)知識(shí)教程

    通信基礎(chǔ)知識(shí) 1、電信基礎(chǔ)知識(shí)2、通信電源技術(shù)3、配線設(shè)備結(jié)構(gòu)、原理與防護(hù)4、防雷基礎(chǔ)知識(shí)5、EMC基礎(chǔ)知識(shí)6、防腐蝕原理與技術(shù)7、產(chǎn)品安
    發(fā)表于 03-04 16:48 ?33次下載

    電池基礎(chǔ)知識(shí)(集全版)

    電池基礎(chǔ)知識(shí)(集全版)  電池基礎(chǔ)知識(shí)
    發(fā)表于 11-10 14:19 ?2433次閱讀

    計(jì)算機(jī)基礎(chǔ)知識(shí)介紹

    計(jì)算機(jī)基礎(chǔ)知識(shí)計(jì)算機(jī)基礎(chǔ)知識(shí)計(jì)算機(jī)基礎(chǔ)知識(shí)
    發(fā)表于 12-03 16:13 ?0次下載

    使用Eclipse基礎(chǔ)知識(shí)

    使用Eclipse 基礎(chǔ)知識(shí) 使用Eclipse 基礎(chǔ)知識(shí) 適合初學(xué)者學(xué)習(xí)使用
    發(fā)表于 02-26 10:30 ?0次下載

    電源管理基礎(chǔ)知識(shí)電源管理基礎(chǔ)知識(shí)電源管理基礎(chǔ)知識(shí)

    電源管理基礎(chǔ)知識(shí)電源管理基礎(chǔ)知識(shí)電源管理基礎(chǔ)知識(shí)
    發(fā)表于 09-15 14:36 ?76次下載
    電源管理<b class='flag-5'>基礎(chǔ)知識(shí)</b>電源管理<b class='flag-5'>基礎(chǔ)知識(shí)</b>電源管理<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    優(yōu)質(zhì)LDO基礎(chǔ)知識(shí)分享

    本節(jié)分享下LDO的基礎(chǔ)知識(shí),主要來源于Ti的文檔《LDO基礎(chǔ)知識(shí)》。
    的頭像 發(fā)表于 03-26 11:03 ?1222次閱讀

    架構(gòu)模式的基礎(chǔ)知識(shí)

    ????作為軟件工程師,為什么至少要學(xué)習(xí)基本的架構(gòu)模式? ????我相信有很多人回答了這個(gè)問題,但我會(huì)給你一些考慮的理由。 ????首先,如果您了解架構(gòu)模式的基礎(chǔ)知識(shí),那么您就更容易遵循架構(gòu)
    的頭像 發(fā)表于 06-13 16:13 ?636次閱讀
    <b class='flag-5'>架構(gòu)</b>模式的<b class='flag-5'>基礎(chǔ)知識(shí)</b>