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

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

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

【CHI】Transaction structure

冬至子 ? 來源:子墨祭 ? 作者:子墨祭 ? 2023-11-06 15:08 ? 次閱讀

這篇開始講述事務(wù)可以完成的方式。它顯示了參與事務(wù)的各種組件可以使用的所有允許的選項(xiàng)。
注: 除了PCrdReturn 和PrefetchTgt之外,其他的事務(wù)在開始的時(shí)候都可以包含一個(gè)Retry的序列,也就是說可能會(huì)發(fā)生Retry。

一、Read transactions

Read事務(wù)分為Allocating Read和Non-allocating Read。
1.1 Allocating Read

1.png

Allocating Read事務(wù)的順序是:

一、該事務(wù)從請(qǐng)求者向Home發(fā)出Allocating Read請(qǐng)求開始。初始請(qǐng)求是以下請(qǐng)求之一:
—— ReadClean
—— ReadNotSharedDirty
—— ReadShared
—— ReadUnique
—— ReadPreferUnique
—— MakeReadUnique

二、可選方案(Alt) 1-6顯示了Home處理事務(wù)的不同方式:

1.Combined response from Home
Home向請(qǐng)求者(一般為RNF)返回一個(gè)組合的數(shù)據(jù)和響應(yīng)CompData(讀取數(shù)據(jù)+響應(yīng))。通常,當(dāng)Home可以同時(shí)返回?cái)?shù)據(jù)和響應(yīng)時(shí),就會(huì)使用此選項(xiàng)。例如,數(shù)據(jù)在本地緩存。

2.Separate data and response from Home
Home向請(qǐng)求者返回一個(gè)單獨(dú)的響應(yīng)( RespSepData),和讀取的數(shù)據(jù)(DataSepResp)。通常,當(dāng)Home返回的響應(yīng)比提供的數(shù)據(jù)更快時(shí),就會(huì)使用此選項(xiàng)。

3.Combined response from Subordinate
——HNF向SNF發(fā)送讀請(qǐng)求ReadNoSnp。
——可選地,當(dāng)HNF請(qǐng)求 ReadReceipt響應(yīng)時(shí)(即order !=0),SNF將返回一個(gè)ReadReceipt給HNF。
——SNF向RNF返回一個(gè)組合的響應(yīng)和數(shù)據(jù),CompData。
通常,HNF會(huì)使用此選項(xiàng)來減少消息計(jì)數(shù)或降低設(shè)計(jì)復(fù)雜性。

4.Response from Home, Data from Subordinate
——HNF向RNF返回一個(gè)單獨(dú)的響應(yīng),RespSepData。
——HNF向SNF發(fā)送讀數(shù)據(jù)請(qǐng)求ReadNoSnpSep。
——SNF返回一個(gè)ReadReceipt;注意HNF并不需要等待ReadReceipt才發(fā)RespSepData。
——SNF將讀取數(shù)據(jù)DataSepResp返回給請(qǐng)求者。
通常,當(dāng)HNF可以快速返回響應(yīng),但它沒有可用的數(shù)據(jù),并且需要下屬返回?cái)?shù)據(jù)時(shí),它將使用此選項(xiàng)。

注:請(qǐng)求者在收到RespSepData即可返回CompAck,而不需要等到DataSepResp數(shù)據(jù)返回之后再發(fā)。

5.Forwarding snoop
Home請(qǐng)求Snoopee將讀取數(shù)據(jù)Snp*Fwd轉(zhuǎn)發(fā)給請(qǐng)求者。
**snoopee:接收snoop請(qǐng)求的RNF。
也就是說,數(shù)據(jù)直接通過snoopee轉(zhuǎn)發(fā)給請(qǐng)求者,而不需要再通過HNF轉(zhuǎn)一道。

此處又有4個(gè)可選項(xiàng):
Alt 5a.With response to Home
——Snoopee向請(qǐng)求者返回一個(gè)組合的響應(yīng)和讀取數(shù)據(jù),CompData。
——Snoopee向HNF返回一個(gè)snoop響應(yīng),SnpRespFwded。
通常,當(dāng)Snoopee可以將數(shù)據(jù)轉(zhuǎn)發(fā)給請(qǐng)求者,并且不需要向HNF提供數(shù)據(jù)副本時(shí),它就會(huì)使用此選項(xiàng)。
Alt 5b.With data to Home
——Snoopee向請(qǐng)求者返回一個(gè)組合的響應(yīng)和讀取數(shù)據(jù),CompData。
——Snoopee向HNF返回一個(gè)帶數(shù)據(jù)的snoop響應(yīng),SnpRespDataFwded。
注意:通常,當(dāng)Snoopee可以將數(shù)據(jù)轉(zhuǎn)發(fā)到請(qǐng)求者,但也必須向主頁提供數(shù)據(jù)副本時(shí),將使用此選項(xiàng)。例如,當(dāng)Snoopee持有緩存行的dirty副本,但返回給請(qǐng)求者的數(shù)據(jù)必須是clean的時(shí),就會(huì)發(fā)生這種情況。當(dāng)HNF請(qǐng)求數(shù)據(jù)副本時(shí),也會(huì)發(fā)生這種情況。
Alt 5c.Failed, must use alternative
snoopee返回了一個(gè)SnpResp給HNF。
HNF必須使用前面描述的其他替代方案來完成對(duì)請(qǐng)求者的事務(wù)。
Alt 5d.Failed, must use alternative
Snoopee返回了一個(gè)帶數(shù)據(jù)的snoop響應(yīng)給HNF,SnpRespData或 SnpRespDataPtl。
HNF必須使用前面描述的其他替代方案來完成對(duì)請(qǐng)求者的事務(wù)。
6.MakeReadUnique only
HNF返回給請(qǐng)求者的完成響應(yīng)Comp。
此選項(xiàng)只適用于不需要讀數(shù)據(jù)消息時(shí)的MakeReadUnique。

三、當(dāng)請(qǐng)求者向HNF發(fā)送完成確認(rèn)CompAck時(shí),事務(wù)就結(jié)束了。

只能在接收到 CompData或者 RespSepData后發(fā)送。

允許在發(fā)送CompAck之前等待DataSepResp,但不是必需的。
(也就是說RNF必須在收到響應(yīng)之后才能給HNF發(fā)送完成確認(rèn)CompAck,而不需要等到收到數(shù)據(jù))**

1.2 Non-allocating Read transactions

Non-allocating Read transactions的順序序列是:

2.png

一、事務(wù)從請(qǐng)求者向HNF發(fā)出讀取請(qǐng)求開始。

Non-allocating Read事務(wù)包括:
—— ReadNoSnp
—— ReadOnce
—— ReadOnceCleanInvalid
—— ReadOnceMakeInvalid
這些請(qǐng)求如果包含了以下字段的話,會(huì)影響事務(wù)的傳輸flow:
—— Order(order要求通過ReadReceipt保序)
—— ExpCompAck(必須回復(fù)CompAck)

二、可選的Alt 1-6 顯示了HNF可以處理事務(wù)的不同方式。

1.Combined response from Home
——(可選的)當(dāng)原始請(qǐng)求有order保序要求時(shí),HNF向請(qǐng)求者返回一個(gè)ReadReceipt。
——HNF向請(qǐng)求者返回一個(gè)組合響應(yīng)和讀取數(shù)據(jù),CompData。
2.Separate data and response from Home
——Home向請(qǐng)求者返回一個(gè)單獨(dú)的響應(yīng),RespSepData;以及一個(gè)單獨(dú)的讀數(shù)據(jù),DataSepResp。如果請(qǐng)求有order要求,且不需要完成確認(rèn),則不能使用此替代方案。
3.Combined response from Subordinate
——(可選的)當(dāng)原始請(qǐng)求有order保序要求時(shí),HNF向請(qǐng)求者返回一個(gè)ReadReceipt。
——HNF向SN發(fā)送讀請(qǐng)求ReadNoSnp。
——(可選的)當(dāng)HNF請(qǐng)求讀接收響應(yīng)時(shí),SN將返回ReadReceip給HNF。當(dāng)不需要完成確認(rèn)時(shí),HNF必須這樣做。
——SN向請(qǐng)求者返回一個(gè)組合響應(yīng)和讀取數(shù)據(jù),CompData。
注:如果請(qǐng)求需要order要求,且沒有要求完成確認(rèn)時(shí),不能使用這種處理方式。
4.Response from Home, data from Subordinate
——HNF向請(qǐng)求者返回一個(gè)單獨(dú)的響應(yīng)RespSepData,并向SN發(fā)ReadNoSnpSep。
——(可選的)當(dāng)HNF請(qǐng)求讀接收響應(yīng)時(shí),SN將返回ReadReceipt給HNF。HNF必須要求ReadReceipt,除非原始要求表明order要求和(completion acknowledge)完成確認(rèn)響應(yīng)。
允許(但不要求),HNF等待ReadReceipt,然后返回RespSepData給請(qǐng)求者。
——SN將讀取數(shù)據(jù)DataSepResp返回給請(qǐng)求者。
5.Forwarding snoop
又有4個(gè)可選處理方式: (同allocating-read)
Alt 5a. With response to Home
——Snoopee向請(qǐng)求者返回一個(gè)組合的響應(yīng)和讀取數(shù)據(jù),CompData。
——Snoopee向HNF返回一個(gè)snoop響應(yīng),SnpRespFwded。
Alt 5b. With data to Home
——Snoopee向請(qǐng)求者返回一個(gè)組合的響應(yīng)和讀取數(shù)據(jù),CompData。
——Snoopee向HNF返回一個(gè)帶數(shù)據(jù)的snoop響應(yīng),SnpRespDataFwded。
Alt 5c. Failed, must use alternative
——snoopee返回了一個(gè)SnpResp給HNF。
——HNF必須使用前面描述的其他替代方案來完成對(duì)請(qǐng)求者的事務(wù)。
Alt 5d. Failed, must use alternative
——Snoopee返回了一個(gè)帶數(shù)據(jù)的snoop響應(yīng)給HNF,SnpRespData或 SnpRespDataPtl。
——HNF必須使用前面描述的其他替代方案來完成對(duì)請(qǐng)求者的事務(wù)。

三、如果原始請(qǐng)求有ExpCompAck,請(qǐng)求者只能在以下情況之后提供CompAck響應(yīng):

——至少接收到一個(gè)CompData的packet。
——如果請(qǐng)求沒有order要求,收到RespSepData即可。在這種情況下,允許但不要求等待DataSepResp。
——如果請(qǐng)求有order要求,收到RespSepData之后,還必須收到DataSepResp的一個(gè)packet之后,才能回復(fù)CompAck。
如果原始請(qǐng)求有order要求,則允許(但不要求)請(qǐng)求者在發(fā)送CompAck之前等待ReadReceipt。
下表列出了RN中ReadNoSnp和ReadOnce*允許的DMT和DCT事務(wù):
(Y:允許
N:不允許

:不適用)

3.png

二、Write Transactions

寫事務(wù)分為以下幾種類型:
?Immediate Write
?Write Zero
?CopyBack Write
?Combined Immediate Write and CMO
? Combined Immediate Write and Persist CMO
?Combined CopyBack Write and CMO
2.1 Immediate Write

4-1.png

4-2.png

Immediate Write事務(wù)的順序是:

一、Requester發(fā)送一個(gè)Immediate Write請(qǐng)求到HNF開始。

Immediate Write包括:
— WriteNoSnpPtl
— WriteNoSnpFull
— WriteNoSnpDef
— WriteUniquePtl
— WriteUniqueFull
— WriteUniquePtlStash
— WriteUniqueFullStash
注:為完成這些事務(wù)而生成的Snoop請(qǐng)求被視為來自Home的獨(dú)立事務(wù),并且不顯示在此flow中。向下游SN而生成的非DWT流程的寫入請(qǐng)求,被視為獨(dú)立事務(wù),不顯示在該流程中。
這些請(qǐng)求如果包含了以下字段的話,會(huì)影響事務(wù)的傳輸flow:
—— TagOp(需要返回TagMatch響應(yīng))
—— ExpCompAck(必須回復(fù)CompAck)
三、Home可以選擇使用DWT或無DWT來完成事務(wù)傳輸。事務(wù)流的其余部分還將取決于原始請(qǐng)求是否需要完成確認(rèn)響應(yīng),這將由ExpCompAck字段來確定。在備選方案1-3中描述了這些組合:
1.HNF使用DWT。
——Home向SN發(fā)送下游寫入請(qǐng)求,WriteNoSnpPtl, WriteNoSnpFull,
WriteNoSnpDef,使用DoDWT = 1。
——SN會(huì)向請(qǐng)求者返回一個(gè)數(shù)據(jù)請(qǐng)求,即DBIDResp。
——請(qǐng)求者向下級(jí)發(fā)送寫入數(shù)據(jù),NCBWrData或取消寫入數(shù)據(jù),WriteDataCancel。請(qǐng)求者必須僅在收到DBIDResp后才發(fā)送。
——SNF返回完成響應(yīng)Comp給到HNF。
——HNF向請(qǐng)求者返回一個(gè)完成響應(yīng),Comp。允許(但不要求),HNF等待SNF返回的Comp,再給請(qǐng)求者發(fā)Comp。
——可選地,當(dāng)請(qǐng)求需要TagMatch響應(yīng)時(shí),SNF將向請(qǐng)求者返回TagMatch響應(yīng)。在返回TagMatch之前可以等待寫數(shù)據(jù),但不是必需的。

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

    關(guān)注

    8

    文章

    1158

    瀏覽量

    53175
  • CMO
    CMO
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    8603
  • DCT
    DCT
    +關(guān)注

    關(guān)注

    1

    文章

    55

    瀏覽量

    19818
  • SNF
    SNF
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    3723
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    chi flat iron bowl is chi hair straightener

    if it is account the price. Obviously, the amount of a Chi Flat Iron , like any added product, differs
    發(fā)表于 10-21 22:28

    ARM系列之CHI協(xié)議介紹(一)

    的學(xué)習(xí)要換一種思路。接下來不會(huì)完全按照 spec 的順序來分析 CHI,想到哪就寫到哪了。 2、transaction 如何在系統(tǒng)中的節(jié)點(diǎn)間路由呢一個(gè) RN 會(huì)產(chǎn)生 transaction(read
    發(fā)表于 04-02 14:41

    ARM系列之CHI協(xié)議介紹(二)

    1、基于CHI系統(tǒng)處理器的讀請(qǐng)求開始之前,先回顧一下。一個(gè) message 可以是 transaction request,data response,snoop request,由一個(gè)或多個(gè)
    發(fā)表于 04-06 11:17

    ARM系列之CHI協(xié)議介紹(三)

    transaction 通知其它主機(jī)。2、CHI支持兩種形式的獨(dú)占訪問今天來看一下獨(dú)占訪問(Exclusive Accesses)。什么是獨(dú)占訪問呢?就是處理器對(duì)某個(gè)內(nèi)存地址的數(shù)據(jù),在某個(gè)時(shí)間段內(nèi)享有獨(dú)有的訪問
    發(fā)表于 04-06 11:33

    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é)議包的用戶指南

    這是SoC Designer Plus AMBA CHI協(xié)議包的用戶指南。 該協(xié)議包包含用于ARM AMBA CHI協(xié)議的SoC Designer Plus事務(wù)端口接口。 ARM AMBA CHI
    發(fā)表于 08-17 07:08

    Structure and Application pf WAV File

    of audio information, and then, presented application patterns based on WAV file after analyzing thoroughly the structure of the
    發(fā)表于 08-19 09:35 ?27次下載

    Nokia_PC_Suite_67_rel_22_chi_s

    Nokia_PC_Suite_67_rel_22_chi_sc1.rar.td
    發(fā)表于 01-19 14:15 ?7次下載

    SUPER_ROBO-EYE_Chi參數(shù)

    SUPER_ROBO-EYE_Chi參數(shù)
    發(fā)表于 01-04 13:57 ?0次下載

    高速信號(hào)設(shè)計(jì)-Via structure

    設(shè)計(jì)者可以根據(jù)需求,創(chuàng)建不同的Via structure,Via structure可以包含您所需要的設(shè)計(jì)對(duì)象,例如Via、Shape(包括RKO)、Cline等。Via structure的創(chuàng)建
    的頭像 發(fā)表于 03-21 10:05 ?7584次閱讀
    高速信號(hào)設(shè)計(jì)-Via <b class='flag-5'>structure</b>

    SystemVerilog中的Packed Structure

    一個(gè)packed structure有很多的bits組成,這些bit在物理上連續(xù)存儲(chǔ)。packed structure只允許包含packed數(shù)據(jù)類型。
    的頭像 發(fā)表于 11-07 10:17 ?1983次閱讀

    全方位的Arm AMBA 協(xié)議層介紹

    根據(jù)transactions的不同可以分類為:Read、Dataless、Write、Atomic、Other、Snoop。這些類型在《CHI基本概念介紹》中有講解,本節(jié)將按如下方式闡述Transaction structure
    的頭像 發(fā)表于 04-24 10:39 ?2827次閱讀
    全方位的Arm AMBA 協(xié)議層介紹

    UVM Transaction-Level驗(yàn)證組件

    如下圖所示,UVM中的TLM接口為組件之間Transaction的發(fā)送和接收提供了一套統(tǒng)一的通信方法。
    的頭像 發(fā)表于 05-29 09:31 ?537次閱讀
    UVM <b class='flag-5'>Transaction</b>-Level驗(yàn)證組件