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

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

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

CCIX協(xié)議層講解

安芯教育科技 ? 來源:安芯教育科技 ? 作者:安芯教育科技 ? 2022-07-27 09:28 ? 次閱讀

3. CCIX協(xié)議層

3.4 事務(wù)結(jié)構(gòu)

3.4.1 請求事務(wù)

基于結(jié)構(gòu)的不同請求類型如下:

全一致性讀事務(wù),包括:ReadUnique,ReadClean, ReadNotSharedDirty,ReadShared。其事務(wù)流程如下圖。

請求芯片發(fā)出一個讀請求事務(wù),占用一個請求信用(request credit)。

芯片返回讀數(shù)據(jù)和相應(yīng)的事務(wù)響應(yīng)(使用CompData操作碼)。

請求者發(fā)送確認響應(yīng),確認事務(wù)完成(使用CompAck操作碼)。

950c1208-0d48-11ed-ba43-dac502259ad0.png

非一致性或IO一致性讀事務(wù),包括:ReadNoSnp,ReadOnce,ReadOnceCleanInvalid,ReadOnceMakeInvalid。其事務(wù)流程如下圖。

請求芯片發(fā)出一個讀請求事務(wù),占用一個請求信用(request credit)。

主芯片返回讀數(shù)據(jù)和相應(yīng)的事務(wù)響應(yīng)(使用CompData操作碼)。

此類事務(wù)不需要CompAck

951e01e8-0d48-11ed-ba43-dac502259ad0.png

無CompAck的無數(shù)據(jù)事務(wù),包括:CleanShared,CleanSharedPersist,CleanInvalid,MakeInvalid,Evict. 其事務(wù)流程如下圖。

請求芯片發(fā)出一個讀請求事務(wù),占用一個請求信用(request credit)。

主芯片返回Comp響應(yīng)

953c3a6e-0d48-11ed-ba43-dac502259ad0.png

有CompAck的無數(shù)據(jù)事務(wù),包括:CleanUnique,MakeUnique。事務(wù)流程如下圖。

請求芯片發(fā)出一個讀請求事務(wù),占用一個請求信用。

主芯片返回Comp響應(yīng)

請求者發(fā)送確認響應(yīng),確認事務(wù)完成(使用CompAck操作碼)。

954a31be-0d48-11ed-ba43-dac502259ad0.png

所有寫事務(wù)都使用相同的事務(wù)結(jié)構(gòu)。事務(wù)流程如下圖。

請求芯片發(fā)送一個寫請求(帶數(shù)據(jù)),占用一個請求信用和一個數(shù)據(jù)信用。

主芯片返回Comp響應(yīng)。

956b61b8-0d48-11ed-ba43-dac502259ad0.png

原子事務(wù)基于Comp響應(yīng),分成兩類,一類是AtomicStore(無數(shù)據(jù)),另一類是AtomicLoad,AtomicSwap,AtomicCompare(有數(shù)據(jù))。事務(wù)流程如下圖。

求芯片發(fā)送一個原子請求(帶數(shù)據(jù)),占用一個請求信用和一個數(shù)據(jù)信用。

主芯片返回Comp(對應(yīng)AtomicStore)或CompData(對應(yīng)non-AtomicStore)。

9587a0bc-0d48-11ed-ba43-dac502259ad0.png

3.4.2 監(jiān)聽事務(wù)

無數(shù)據(jù)響應(yīng)的監(jiān)聽事務(wù)流程如下

主芯片發(fā)送監(jiān)聽請求,占用一個監(jiān)聽信用(snoop credit)。

被監(jiān)聽的芯片返回SnpResp,監(jiān)聽響應(yīng),包

95a40158-0d48-11ed-ba43-dac502259ad0.png

有數(shù)據(jù)響應(yīng)的監(jiān)聽事務(wù)流程如下

主芯片發(fā)出監(jiān)聽請求(除去SnpMakeI),占用一個監(jiān)聽信用。

被監(jiān)聽的芯片返回數(shù)據(jù)和響應(yīng)的響應(yīng)(SnpRespData或SnpRespDataPtl )

95db4e10-0d48-11ed-ba43-dac502259ad0.png

3.5 地址,控制和數(shù)據(jù)

3.5.1 地址和數(shù)據(jù)分配

對于讀、無數(shù)據(jù)、寫和原子事務(wù),使用Addr字段和NonSec比特位訪問內(nèi)存位置。對于訪問小于一個緩存行大小的ReadNoSnp、WriteNoSNPTL、WriteUniquePtl和原子事務(wù),如果Addr[5:0]不全為零,則需要包含低階地址位的擴展字段。如果Addr[5:0]全部為零,則允許(但不要求)使用擴展字段。原子事務(wù)中的地址必須與操作數(shù)大小對齊。 對于監(jiān)聽請求,Addr字段和NonSec指向可以被監(jiān)聽的地址。這兩個字段足以唯一標識監(jiān)聽要訪問的緩存行。

3.5.2 請求屬性

請求屬性表示請求數(shù)據(jù)的大小、內(nèi)存類型及其屬性。內(nèi)存類型可以是設(shè)備(device)或普通(normal)。關(guān)于這兩種類型可以參考以前的文章。

3.5.3 請求允許的內(nèi)存類型

請求允許的內(nèi)存類型包括:

ReadNoSnp/WriteNoSnp可以是Normal Non-cacheable或Device

除ReadNoSnp外的所有讀事務(wù)只能寫回。

所有無數(shù)據(jù)事務(wù)都可以寫回

CleanShared、CleanSharedPersist、CleanInvalid和MakeInvalid的無數(shù)據(jù)事務(wù)也可以是Normal Non-cacheable或Device。

除WriteNonP外的所有寫事務(wù)只能進行寫回。

原子事務(wù)可以寫回,Normal Non-cacheable或Device

3.5.4數(shù)據(jù)和字節(jié)使能

在讀請求或?qū)懻埱笾校琑eqAttr字段的Size子字段決定了事務(wù)相關(guān)聯(lián)的數(shù)據(jù)字節(jié)數(shù)。Size子字段的允許值為1B、2B、4B、5 8B、16B、32B、64B、128B。讀響應(yīng)或?qū)懻埱笾邪臄?shù)據(jù)字節(jié)可以是8B、16B、32B、64B或128B。僅當(dāng)緩存行的大小配置為128B時,才允許使用128B。

當(dāng)ReqAttr字段中的Size子字段為1B、2B或4B時,讀響應(yīng)消息或?qū)懻埱笙⒅邪臄?shù)據(jù)字節(jié)數(shù)為8B。在所有其它情況下,請求的ReqAttr字段中的Size子字段與讀響應(yīng)消息或?qū)懻埱笙⒅邪臄?shù)據(jù)字節(jié)數(shù)相同。當(dāng)ReqAttr字段中的Size子字段為1B、2B或4B時,請求數(shù)據(jù)在消息中的位置由請求中的Address字段(Addr)確定。 對于以下的寫請求,可以使用字節(jié)使能:

WriteNoSnpPtl

WriteUniquePtl

WriteBackPtl

3.6 排序

3.6.1 多拷貝原子性(multi-copy atomicity)

CCIX要求多拷貝原子性。所有組件都必須確保寫請求是多拷貝原子的。如果滿足以下兩個條件,則寫請求為多拷貝原子:

對同一位置的所有寫入都是序列化的,也就是說,所有請求者都會以相同的順序觀察到所有寫操作,盡管有些請求者可能不會觀察到所有寫入。

在所有請求者觀察到寫操作之前,對此位置的讀操作不會得到寫操作的值。

其實以上的要求,就是要確保存儲一致性。 在CCIX規(guī)范中,如果兩個緩存行地址和非安全屬性相同,則認為這兩個地址是相同的。

3.6.2 請求響應(yīng)和排序

為了確保事務(wù)的先后順序,無論是來自相同代理還是不同代理的Comp和CompData響應(yīng)要遵循如下的規(guī)則:

對于Normal non-cacheable或Device的讀事務(wù)和原子事務(wù),CompData響應(yīng)可確保該事務(wù)可被任何代理在相同端點地址范圍內(nèi)的后續(xù)事務(wù)觀察到。端點地址范圍的大小由實現(xiàn)定義。

對于WriteBack位置的讀取和原子事務(wù),CompData響應(yīng)保證該事務(wù)可被任何代理到同一位置的后續(xù)事務(wù)觀察到。

對于Device-nRnE或Device-nRE位置的寫事務(wù)、無數(shù)據(jù)事務(wù)和原子事務(wù),Comp響應(yīng)保證該事務(wù)可被任何代理在同一端點地址范圍內(nèi)的后續(xù)事務(wù)觀察到。端點地址范圍的大小取決于具體實現(xiàn)。

對于WriteBack位置的寫事務(wù)、無數(shù)據(jù)事務(wù)和原子事務(wù)。Comp響應(yīng)可確保事務(wù)可被任何代理到同一位置的后續(xù)事務(wù)觀察到。

3.7流量控制和協(xié)議信用

此處穿插一些關(guān)于“信用”的數(shù)據(jù)傳輸機理。如果發(fā)送方和接收方之間沒有什么握手協(xié)議的話,發(fā)送方就不知道接收方的具體情況。此時,如果接收方?jīng)]有足夠的能力接收新的數(shù)據(jù),而發(fā)送方依然源源不斷的發(fā)送數(shù)據(jù),那么就很可能造成數(shù)據(jù)的丟失。因此,接收方需要一定的機制來控制數(shù)據(jù)流量。最直觀的辦法,就是當(dāng)接收方不能接收新的數(shù)據(jù)時,要及時告知發(fā)送方,發(fā)送方應(yīng)根據(jù)接收方的狀態(tài)調(diào)整發(fā)送數(shù)據(jù),這就是常說“反壓(Back Pressure)”機制。 在簡單的SoC設(shè)計中,可以通過總線實現(xiàn)接收方的“反壓”,比如在APB總線中,從機(Slave)可以通過驅(qū)動ready信號來與主機(Master)共同控制數(shù)據(jù)傳輸。對于復(fù)雜的SoC設(shè)計,通過總線方式“反壓”可能就不適合了,需要其它新的機制?;谛庞玫膫鬏斄髁靠刂凭褪瞧渲兄?。其基本原理是,在發(fā)送方和接收方事先協(xié)調(diào)好一組“信用”值,發(fā)送方每發(fā)一次數(shù)據(jù)需要占用一個或幾個“信用”,如果發(fā)送方的“信用”耗盡,就不能再發(fā)送新的數(shù)據(jù),必須等待足夠的“信用”;接收方每處理完一筆發(fā)送方的數(shù)據(jù),返回一個或者幾個“信用”給發(fā)送方,發(fā)送方得到新的“信用”以后就可以繼續(xù)發(fā)送數(shù)據(jù)了。 關(guān)于基于信用的流量控制,有很多文章,具體實現(xiàn)也不盡相同,這里就不再展開了。

3.7.1 協(xié)議信用

定義了四種信用類型來管理消息流:

Request

Data

Snoop

Misc

消息的接收者必須授予信用,也就是說,向它有鏈接的每個發(fā)送者芯片發(fā)送信用。對于請求、數(shù)據(jù)和Snoop消息信用,信用的授予是通過其它消息或明確的信用交換機制進行的。對于雜項消息信用,信用的授予僅通過明確的信用交換機制,或通過使用credited雜項消息中的MiscCredit字段。

95fd8c96-0d48-11ed-ba43-dac502259ad0.png

只有當(dāng)發(fā)送方收到目標芯片的請求信用時,才能發(fā)送non-write或non-atomic請求。 只有當(dāng)發(fā)送方從接收方收到請求信用和數(shù)據(jù)信用時,才能發(fā)送寫請求或原子請求。 只有當(dāng)發(fā)送方從接收方收到snoop信用時,才能發(fā)送snoop請求。 響應(yīng)不需要任何明確的信用交換,所有響應(yīng)都必須被接受。 只有當(dāng)適當(dāng)數(shù)量的雜項信息信用可用時,才能發(fā)送credited雜項信息。

3.7.2 信用交換

兩種信用交換方式:

用于信用交換的獨立消息,信用授予和信用返還消息。這種方式使用專用消息交換信用。消息格式允許信用授予和信用返還。在單個消息中的信用交換,必須是所有信用授予或所有信用返還,不允許混合使用這兩種類型。

包頭內(nèi)信用授權(quán)。數(shù)據(jù)包頭信用授權(quán)使用數(shù)據(jù)包頭中6-bit的MsgCredit字段。

信用交換的規(guī)則:

對于每種信用類型,每個獨立信用交換報文中可發(fā)送的最大信用數(shù)為255。

發(fā)送超過255個信用需要使用額外的信息。

獨立的信用交換信息不需要發(fā)送任何形式的信用。

信用交換信息的發(fā)送速率沒有上限。

允許單個數(shù)據(jù)包同時包含“數(shù)據(jù)包頭信用授權(quán)”,和一條或多條“獨立信用交換消息”。

每個信用類型最多可授予1023個信用

【待續(xù)】

審核編輯 :李倩

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

    關(guān)注

    456

    文章

    51016

    瀏覽量

    425317
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7102

    瀏覽量

    89271

原文標題:技術(shù)分享 | CCIX(五)

文章出處:【微信號:Ithingedu,微信公眾號:安芯教育科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    MultiGABSE-AU物理PMA子及PMD子的相關(guān)機制

    在之前的文章中,我們介紹了IEEE 802.3cz[1]協(xié)議,MultiGABSE-AU物理中XMII、PCS子以及兩個可選功能的相關(guān)內(nèi)容,本篇將介紹MultiGABSE-AU物理
    的頭像 發(fā)表于 12-23 10:20 ?226次閱讀
    MultiGABSE-AU物理<b class='flag-5'>層</b>PMA子<b class='flag-5'>層</b>及PMD子<b class='flag-5'>層</b>的相關(guān)機制

    講解什么是取電協(xié)議芯片及快充協(xié)議的種類

    隨著快充技術(shù)的不斷發(fā)展,很多便攜電子設(shè)備也都紛紛應(yīng)用上了快充協(xié)議,市面上常用的協(xié)議分為兩種,一種 是公用協(xié)議,一款是私有協(xié)議,公用協(xié)議有?P
    的頭像 發(fā)表于 11-27 11:18 ?324次閱讀
    <b class='flag-5'>講解</b>什么是取電<b class='flag-5'>協(xié)議</b>芯片及快充<b class='flag-5'>協(xié)議</b>的種類

    OSI七模型中各層的協(xié)議 OSI七模型的優(yōu)勢與不足

    OSI七模型中各層的協(xié)議 OSI(Open Systems Interconnection)七模型是一個用于描述網(wǎng)絡(luò)通信功能的分層模型。每一都負責(zé)不同的功能和任務(wù),并定義了相應(yīng)的
    的頭像 發(fā)表于 11-24 10:54 ?418次閱讀

    OSI七模型的每一功能

    開放系統(tǒng)互聯(lián)(OSI)模型是一個概念性框架,用于標準化網(wǎng)絡(luò)通信過程,以便不同的計算機系統(tǒng)和網(wǎng)絡(luò)能夠相互通信。OSI模型分為七,每一都有其特定的功能和協(xié)議。以下是OSI七模型的每一
    的頭像 發(fā)表于 11-24 10:46 ?427次閱讀

    SATA主機協(xié)議的物理的實現(xiàn)過程

    這里講解SATA主機協(xié)議的物理的實現(xiàn)過程。
    的頭像 發(fā)表于 10-22 15:17 ?377次閱讀
    SATA主機<b class='flag-5'>協(xié)議</b>的物理<b class='flag-5'>層</b>的實現(xiàn)過程

    TCP協(xié)議是什么

    在網(wǎng)絡(luò)通信的廣闊領(lǐng)域中,TCP(Transmission Control Protocol,傳輸控制協(xié)議)扮演著舉足輕重的角色。作為TCP/IP協(xié)議族中的核心協(xié)議之一,TCP位于網(wǎng)絡(luò)
    的頭像 發(fā)表于 10-09 13:54 ?765次閱讀

    LIN協(xié)議和物理要求

    電子發(fā)燒友網(wǎng)站提供《LIN協(xié)議和物理要求.pdf》資料免費下載
    發(fā)表于 08-30 09:36 ?1次下載
    LIN<b class='flag-5'>協(xié)議</b>和物理<b class='flag-5'>層</b>要求

    請問如何將esp32-idf內(nèi)部的應(yīng)用網(wǎng)絡(luò)協(xié)議關(guān)聯(lián)到自己寫的網(wǎng)絡(luò)設(shè)備上?

    使用ESP32-IDF里面的應(yīng)用協(xié)議如MQTT、HTTP。但網(wǎng)絡(luò)設(shè)備是自己添加的4G模塊,請問有沒有類似的應(yīng)用例程,如何將4G網(wǎng)絡(luò)模塊關(guān)聯(lián)到MQTT應(yīng)用協(xié)議里面。
    發(fā)表于 06-21 13:47

    協(xié)議有哪些?TCP/ IP的七協(xié)議介紹

    協(xié)議,也稱為OSI參考模型,是指開放式系統(tǒng)互聯(lián)通信參考模型,由國際標準化組織設(shè)置。該模型分為以下七: 1.物理:主要負責(zé)數(shù)據(jù)傳輸?shù)奈锢斫橘|(zhì)傳輸,如電信號。 物理
    的頭像 發(fā)表于 04-22 14:17 ?2264次閱讀

    osi七模型各層功能及協(xié)議簡述

    OSI七模型是一種將計算機網(wǎng)絡(luò)通信分為七個層次,并定制了每個層次的功能和協(xié)議的標準模型。這個模型的設(shè)計是為了使不同的計算機網(wǎng)絡(luò)設(shè)備和系統(tǒng)能夠進行互操作。以下是對每個層次的功能和協(xié)議的詳細描述,以及
    的頭像 發(fā)表于 02-04 18:06 ?2342次閱讀

    通信網(wǎng)絡(luò)協(xié)議棧之UDP協(xié)議技術(shù)解析

    在通常的網(wǎng)絡(luò)協(xié)議棧中,TCP/IP協(xié)議棧是一個常見的示例,其中UDP和TCP都是傳輸協(xié)議。傳輸負責(zé)提供端到端的數(shù)據(jù)傳輸服務(wù),它在網(wǎng)絡(luò)
    發(fā)表于 02-01 11:00 ?1039次閱讀
    通信網(wǎng)絡(luò)<b class='flag-5'>協(xié)議</b>棧之UDP<b class='flag-5'>協(xié)議</b>技術(shù)解析

    netconf協(xié)議是什么?netconf協(xié)議的優(yōu)點

    網(wǎng)絡(luò)設(shè)備的配置和狀態(tài)信息。 NETCONF協(xié)議的架構(gòu)包括四個層次,分別是: 1. 傳輸:負責(zé)NETCONF協(xié)議的傳輸。 2. 消息:負責(zé)NETCONF
    的頭像 發(fā)表于 01-30 14:27 ?1947次閱讀

    osi七模型各層功能及協(xié)議 osi七模型有哪些

    OSI七模型,是開放式系統(tǒng)互聯(lián)(Open System Interconnection,簡稱OSI)參考模型,是國際標準化組織(ISO)在1984年定義的一種網(wǎng)絡(luò)協(xié)議架構(gòu),用于劃分和組織計算機網(wǎng)絡(luò)
    的頭像 發(fā)表于 01-25 11:03 ?1.3w次閱讀

    tcpip協(xié)議作用 TCP/IP協(xié)議分為哪幾層

    TCP/IP協(xié)議是互聯(lián)網(wǎng)的基本協(xié)議,它定義了數(shù)據(jù)在網(wǎng)絡(luò)中的傳輸方式和規(guī)則。它的作用是將數(shù)據(jù)從源主機傳輸?shù)侥繕酥鳈C,確保數(shù)據(jù)的可靠性和順序性。 TCP/IP協(xié)議分為四個層次,分別是物理
    的頭像 發(fā)表于 01-25 10:34 ?2449次閱讀

    snmp協(xié)議的主要功能 snmp協(xié)議在哪一

    SNMP(Simple Network Management Protocol)是一種用于網(wǎng)絡(luò)管理的應(yīng)用協(xié)議。它主要用于監(jiān)控和管理網(wǎng)絡(luò)上的設(shè)備以及收集設(shè)備狀態(tài)和性能信息。SNMP協(xié)議提供了一種標準
    的頭像 發(fā)表于 01-22 15:00 ?1966次閱讀