RM新时代网站-首页

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

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

3天內不再提示

【CHI】Transaction structure

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

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

一、Read transactions

Read事務分為Allocating Read和Non-allocating Read。
1.1 Allocating Read

1.png

Allocating Read事務的順序是:

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

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

1.Combined response from Home
Home向請求者(一般為RNF)返回一個組合的數(shù)據(jù)和響應CompData(讀取數(shù)據(jù)+響應)。通常,當Home可以同時返回數(shù)據(jù)和響應時,就會使用此選項。例如,數(shù)據(jù)在本地緩存。

2.Separate data and response from Home
Home向請求者返回一個單獨的響應( RespSepData),和讀取的數(shù)據(jù)(DataSepResp)。通常,當Home返回的響應比提供的數(shù)據(jù)更快時,就會使用此選項。

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

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

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

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

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

三、當請求者向HNF發(fā)送完成確認CompAck時,事務就結束了。

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

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

1.2 Non-allocating Read transactions

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

2.png

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

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

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

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

三、如果原始請求有ExpCompAck,請求者只能在以下情況之后提供CompAck響應:

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

:不適用)

3.png

二、Write Transactions

寫事務分為以下幾種類型:
?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事務的順序是:

一、Requester發(fā)送一個Immediate Write請求到HNF開始。

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

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

    關注

    8

    文章

    1180

    瀏覽量

    53453
  • CMO
    CMO
    +關注

    關注

    0

    文章

    12

    瀏覽量

    8673
  • DCT
    DCT
    +關注

    關注

    1

    文章

    56

    瀏覽量

    19869
  • SNF
    SNF
    +關注

    關注

    0

    文章

    2

    瀏覽量

    3740
收藏 人收藏

    評論

    相關推薦

    CHI架構的基礎知識

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

    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é)議介紹(一)

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

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

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

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

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

    AMBA CHI協(xié)議介紹

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

    AMBA 5 CHI架構規(guī)范

    CHI架構是一種可擴展、連貫的集線器接口和片上互連,可供多個組件使用。CHI架構允許根據(jù)性能、電源和區(qū)域系統(tǒng)要求靈活地進行組件連接拓撲。
    發(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事務端口接口。 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次下載

    高速信號設計-Via structure

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

    SystemVerilog中的Packed Structure

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

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

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

    UVM Transaction-Level驗證組件

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