這篇開始講述事務(wù)可以完成的方式。它顯示了參與事務(wù)的各種組件可以使用的所有允許的選項(xiàng)。
注: 除了PCrdReturn 和PrefetchTgt之外,其他的事務(wù)在開始的時候都可以包含一個Retry的序列,也就是說可能會發(fā)生Retry。
一、Read transactions
Read事務(wù)分為Allocating Read和Non-allocating Read。
1.1 Allocating Read
Allocating Read事務(wù)的順序是:
一、該事務(wù)從請求者向Home發(fā)出Allocating Read請求開始。初始請求是以下請求之一:
—— ReadClean
—— ReadNotSharedDirty
—— ReadShared
—— ReadUnique
—— ReadPreferUnique
—— MakeReadUnique
二、可選方案(Alt) 1-6顯示了Home處理事務(wù)的不同方式:
1.Combined response from Home
Home向請求者(一般為RNF)返回一個組合的數(shù)據(jù)和響應(yīng)CompData(讀取數(shù)據(jù)+響應(yīng))。通常,當(dāng)Home可以同時返回?cái)?shù)據(jù)和響應(yīng)時,就會使用此選項(xiàng)。例如,數(shù)據(jù)在本地緩存。
2.Separate data and response from Home
Home向請求者返回一個單獨(dú)的響應(yīng)( RespSepData),和讀取的數(shù)據(jù)(DataSepResp)。通常,當(dāng)Home返回的響應(yīng)比提供的數(shù)據(jù)更快時,就會使用此選項(xiàng)。
3.Combined response from Subordinate
——HNF向SNF發(fā)送讀請求ReadNoSnp。
——可選地,當(dāng)HNF請求 ReadReceipt響應(yīng)時(即order !=0),SNF將返回一個ReadReceipt給HNF。
——SNF向RNF返回一個組合的響應(yīng)和數(shù)據(jù),CompData。
通常,HNF會使用此選項(xiàng)來減少消息計(jì)數(shù)或降低設(shè)計(jì)復(fù)雜性。
4.Response from Home, Data from Subordinate
——HNF向RNF返回一個單獨(dú)的響應(yīng),RespSepData。
——HNF向SNF發(fā)送讀數(shù)據(jù)請求ReadNoSnpSep。
——SNF返回一個ReadReceipt;注意HNF并不需要等待ReadReceipt才發(fā)RespSepData。
——SNF將讀取數(shù)據(jù)DataSepResp返回給請求者。
通常,當(dāng)HNF可以快速返回響應(yīng),但它沒有可用的數(shù)據(jù),并且需要下屬返回?cái)?shù)據(jù)時,它將使用此選項(xiàng)。
注:請求者在收到RespSepData即可返回CompAck,而不需要等到DataSepResp數(shù)據(jù)返回之后再發(fā)。
5.Forwarding snoop
Home請求Snoopee將讀取數(shù)據(jù)Snp*Fwd轉(zhuǎn)發(fā)給請求者。
**snoopee:接收snoop請求的RNF。
也就是說,數(shù)據(jù)直接通過snoopee轉(zhuǎn)發(fā)給請求者,而不需要再通過HNF轉(zhuǎn)一道。
此處又有4個可選項(xiàng):
Alt 5a.With response to Home
——Snoopee向請求者返回一個組合的響應(yīng)和讀取數(shù)據(jù),CompData。
——Snoopee向HNF返回一個snoop響應(yīng),SnpRespFwded。
通常,當(dāng)Snoopee可以將數(shù)據(jù)轉(zhuǎn)發(fā)給請求者,并且不需要向HNF提供數(shù)據(jù)副本時,它就會使用此選項(xiàng)。
Alt 5b.With data to Home
——Snoopee向請求者返回一個組合的響應(yīng)和讀取數(shù)據(jù),CompData。
——Snoopee向HNF返回一個帶數(shù)據(jù)的snoop響應(yīng),SnpRespDataFwded。
注意:通常,當(dāng)Snoopee可以將數(shù)據(jù)轉(zhuǎn)發(fā)到請求者,但也必須向主頁提供數(shù)據(jù)副本時,將使用此選項(xiàng)。例如,當(dāng)Snoopee持有緩存行的dirty副本,但返回給請求者的數(shù)據(jù)必須是clean的時,就會發(fā)生這種情況。當(dāng)HNF請求數(shù)據(jù)副本時,也會發(fā)生這種情況。
Alt 5c.Failed, must use alternative
snoopee返回了一個SnpResp給HNF。
HNF必須使用前面描述的其他替代方案來完成對請求者的事務(wù)。
Alt 5d.Failed, must use alternative
Snoopee返回了一個帶數(shù)據(jù)的snoop響應(yīng)給HNF,SnpRespData或 SnpRespDataPtl。
HNF必須使用前面描述的其他替代方案來完成對請求者的事務(wù)。
6.MakeReadUnique only
HNF返回給請求者的完成響應(yīng)Comp。
此選項(xiàng)只適用于不需要讀數(shù)據(jù)消息時的MakeReadUnique。
三、當(dāng)請求者向HNF發(fā)送完成確認(rèn)CompAck時,事務(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的順序序列是:
一、事務(wù)從請求者向HNF發(fā)出讀取請求開始。
Non-allocating Read事務(wù)包括:
—— ReadNoSnp
—— ReadOnce
—— ReadOnceCleanInvalid
—— ReadOnceMakeInvalid
這些請求如果包含了以下字段的話,會影響事務(wù)的傳輸flow:
—— Order(order要求通過ReadReceipt保序)
—— ExpCompAck(必須回復(fù)CompAck)
二、可選的Alt 1-6 顯示了HNF可以處理事務(wù)的不同方式。
1.Combined response from Home
——(可選的)當(dāng)原始請求有order保序要求時,HNF向請求者返回一個ReadReceipt。
——HNF向請求者返回一個組合響應(yīng)和讀取數(shù)據(jù),CompData。
2.Separate data and response from Home
——Home向請求者返回一個單獨(dú)的響應(yīng),RespSepData;以及一個單獨(dú)的讀數(shù)據(jù),DataSepResp。如果請求有order要求,且不需要完成確認(rèn),則不能使用此替代方案。
3.Combined response from Subordinate
——(可選的)當(dāng)原始請求有order保序要求時,HNF向請求者返回一個ReadReceipt。
——HNF向SN發(fā)送讀請求ReadNoSnp。
——(可選的)當(dāng)HNF請求讀接收響應(yīng)時,SN將返回ReadReceip給HNF。當(dāng)不需要完成確認(rèn)時,HNF必須這樣做。
——SN向請求者返回一個組合響應(yīng)和讀取數(shù)據(jù),CompData。
注:如果請求需要order要求,且沒有要求完成確認(rèn)時,不能使用這種處理方式。
4.Response from Home, data from Subordinate
——HNF向請求者返回一個單獨(dú)的響應(yīng)RespSepData,并向SN發(fā)ReadNoSnpSep。
——(可選的)當(dāng)HNF請求讀接收響應(yīng)時,SN將返回ReadReceipt給HNF。HNF必須要求ReadReceipt,除非原始要求表明order要求和(completion acknowledge)完成確認(rèn)響應(yīng)。
允許(但不要求),HNF等待ReadReceipt,然后返回RespSepData給請求者。
——SN將讀取數(shù)據(jù)DataSepResp返回給請求者。
5.Forwarding snoop
又有4個可選處理方式: (同allocating-read)
Alt 5a. With response to Home
——Snoopee向請求者返回一個組合的響應(yīng)和讀取數(shù)據(jù),CompData。
——Snoopee向HNF返回一個snoop響應(yīng),SnpRespFwded。
Alt 5b. With data to Home
——Snoopee向請求者返回一個組合的響應(yīng)和讀取數(shù)據(jù),CompData。
——Snoopee向HNF返回一個帶數(shù)據(jù)的snoop響應(yīng),SnpRespDataFwded。
Alt 5c. Failed, must use alternative
——snoopee返回了一個SnpResp給HNF。
——HNF必須使用前面描述的其他替代方案來完成對請求者的事務(wù)。
Alt 5d. Failed, must use alternative
——Snoopee返回了一個帶數(shù)據(jù)的snoop響應(yīng)給HNF,SnpRespData或 SnpRespDataPtl。
——HNF必須使用前面描述的其他替代方案來完成對請求者的事務(wù)。
三、如果原始請求有ExpCompAck,請求者只能在以下情況之后提供CompAck響應(yīng):
——至少接收到一個CompData的packet。
——如果請求沒有order要求,收到RespSepData即可。在這種情況下,允許但不要求等待DataSepResp。
——如果請求有order要求,收到RespSepData之后,還必須收到DataSepResp的一個packet之后,才能回復(fù)CompAck。
如果原始請求有order要求,則允許(但不要求)請求者在發(fā)送CompAck之前等待ReadReceipt。
下表列出了RN中ReadNoSnp和ReadOnce*允許的DMT和DCT事務(wù):
(Y:允許
N:不允許
:不適用)
二、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
Immediate Write事務(wù)的順序是:
一、Requester發(fā)送一個Immediate Write請求到HNF開始。
Immediate Write包括:
— WriteNoSnpPtl
— WriteNoSnpFull
— WriteNoSnpDef
— WriteUniquePtl
— WriteUniqueFull
— WriteUniquePtlStash
— WriteUniqueFullStash
注:為完成這些事務(wù)而生成的Snoop請求被視為來自Home的獨(dú)立事務(wù),并且不顯示在此flow中。向下游SN而生成的非DWT流程的寫入請求,被視為獨(dú)立事務(wù),不顯示在該流程中。
這些請求如果包含了以下字段的話,會影響事務(wù)的傳輸flow:
—— TagOp(需要返回TagMatch響應(yīng))
—— ExpCompAck(必須回復(fù)CompAck)
三、Home可以選擇使用DWT或無DWT來完成事務(wù)傳輸。事務(wù)流的其余部分還將取決于原始請求是否需要完成確認(rèn)響應(yīng),這將由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返回完成響應(yīng)Comp給到HNF。
——HNF向請求者返回一個完成響應(yīng),Comp。允許(但不要求),HNF等待SNF返回的Comp,再給請求者發(fā)Comp。
——可選地,當(dāng)請求需要TagMatch響應(yīng)時,SNF將向請求者返回TagMatch響應(yīng)。在返回TagMatch之前可以等待寫數(shù)據(jù),但不是必需的。
-
接收機(jī)
+關(guān)注
關(guān)注
9文章
1224瀏覽量
54561 -
CMO
+關(guān)注
關(guān)注
0文章
12瀏覽量
8914 -
DCT
+關(guān)注
關(guān)注
1文章
56瀏覽量
20227 -
SNF
+關(guān)注
關(guān)注
0文章
2瀏覽量
3818
發(fā)布評論請先 登錄
CHI架構(gòu)的基礎(chǔ)知識
chi flat iron bowl is chi hair straightener
ARM系列之CHI協(xié)議介紹(一)
ARM系列之CHI協(xié)議介紹(二)
ARM系列之CHI協(xié)議介紹(三)
AMBA CHI協(xié)議介紹
AMBA 5 CHI架構(gòu)規(guī)范
SoC Designer Plus AMBA CHI協(xié)議包的用戶指南
Structure and Application pf WAV File
高速信號設(shè)計(jì)-Via structure

SystemVerilog中的Packed Structure
全方位的Arm AMBA 協(xié)議層介紹

評論