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)返回一個組合的數據和響應CompData(讀取數據+響應)。通常,當Home可以同時返回數據和響應時,就會使用此選項。例如,數據在本地緩存。

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

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

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

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

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

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

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

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

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

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向請求者返回一個組合響應和讀取數據,CompData。
2.Separate data and response from Home
——Home向請求者返回一個單獨的響應,RespSepData;以及一個單獨的讀數據,DataSepResp。如果請求有order要求,且不需要完成確認,則不能使用此替代方案。
3.Combined response from Subordinate
——(可選的)當原始請求有order保序要求時,HNF向請求者返回一個ReadReceipt。
——HNF向SN發(fā)送讀請求ReadNoSnp。
——(可選的)當HNF請求讀接收響應時,SN將返回ReadReceip給HNF。當不需要完成確認時,HNF必須這樣做。
——SN向請求者返回一個組合響應和讀取數據,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將讀取數據DataSepResp返回給請求者。
5.Forwarding snoop
又有4個可選處理方式: (同allocating-read)
Alt 5a. With response to Home
——Snoopee向請求者返回一個組合的響應和讀取數據,CompData。
——Snoopee向HNF返回一個snoop響應,SnpRespFwded。
Alt 5b. With data to Home
——Snoopee向請求者返回一個組合的響應和讀取數據,CompData。
——Snoopee向HNF返回一個帶數據的snoop響應,SnpRespDataFwded。
Alt 5c. Failed, must use alternative
——snoopee返回了一個SnpResp給HNF。
——HNF必須使用前面描述的其他替代方案來完成對請求者的事務。
Alt 5d. Failed, must use alternative
——Snoopee返回了一個帶數據的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會向請求者返回一個數據請求,即DBIDResp。
——請求者向下級發(fā)送寫入數據,NCBWrData或取消寫入數據,WriteDataCancel。請求者必須僅在收到DBIDResp后才發(fā)送。
——SNF返回完成響應Comp給到HNF。
——HNF向請求者返回一個完成響應,Comp。允許(但不要求),HNF等待SNF返回的Comp,再給請求者發(fā)Comp。
——可選地,當請求需要TagMatch響應時,SNF將向請求者返回TagMatch響應。在返回TagMatch之前可以等待寫數據,但不是必需的。

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

    關注

    8

    文章

    1182

    瀏覽量

    53508
  • CMO
    CMO
    +關注

    關注

    0

    文章

    12

    瀏覽量

    8695
  • DCT
    DCT
    +關注

    關注

    1

    文章

    56

    瀏覽量

    19884
  • SNF
    SNF
    +關注

    關注

    0

    文章

    2

    瀏覽量

    3749
收藏 人收藏

    評論

    相關推薦

    CHI架構的基礎知識

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

    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 會產生 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)。什么是獨占訪問呢?就是處理器對某個內存地址的數據,在某個時間段內享有獨有的訪問
    發(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架構允許根據性能、電源和區(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參數

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

    高速信號設計-Via structure

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

    SystemVerilog中的Packed Structure

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

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

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

    UVM Transaction-Level驗證組件

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