欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > AMBA-CHI协议详解(四)

AMBA-CHI协议详解(四)

2025/9/11 18:13:20 来源:https://blog.csdn.net/qq_40147893/article/details/139812862  浏览:    关键词:AMBA-CHI协议详解(四)

《AMBA 5 CHI Architecture Specification》
在这里插入图片描述
AMBA-CHI协议详解(一)
AMBA-CHI协议详解(二)
AMBA-CHI协议详解(三)
AMBA-CHI协议详解(四)

文章目录

    • 2.3.3 Atomic transactions
    • 2.3.4 Stash transactions
    • 2.3.5 Atomic transactions
    • 2.3.6 Prefetch transactions
    • 2.3.7 DVM transactions
    • 2.3.8 Retry
    • 2.3.9 Home Initiated transactions
      • 2.3.9.1 Home to Subordinate Read transactions
      • 2.3.9.2 Home to Subordinate Write transactions
      • 2.3.9.3 Home to Subordinate Write Zero transactions
      • 2.3.9.4 Home to Subordinate Combined Write and CMO transactions
      • 2.3.9.5 Home to Subordinate Dataless transactions
      • 2.3.9.6 Home to Subordinate Atomic transactions
      • 2.3.9.7 Home to Snoopee transactions
      • 2.3.9.8 Home to Snoopee DVM transactions


2.3.3 Atomic transactions

在这里插入图片描述

原子事务有两种可能的序列。

1. AtomicStore
   ● RN向Home发送一个AtomicStore请求。
   ● Home有两种选择,可以将完成响应和数据请求响应发送给RN。

     Alt 1a. Separate responses
     ● 向RN返回一个数据请求,DBIDResp或DBIDRespOrd。
     ● 向RN返回一个完成响应Comp。
      允许(但不是必须)在返回Comp之前等待写数据。

     Alt 1b. Combined response
      Home向RN返回一个合并的数据请求和完成响应(CompDBIDResp)

   ● RN将写数据NCBWrData发送到Home。
    RN必须在接收到DBIDResp、DBIDRespOrd或CompDBIDResp后才发送此消息。
  ● 可选地,当请求需要TagMatch响应时,Home将TagMatch响应TagMatch返回给RN。
  在返回TagMatch之前等待写数据是允许的,但不是必需的。

2. Other Atomic transactions
   对于AtomicLoad, AtomicSwap或AtomicCompare事务:
  ● RN向Home发送一个AtomicLoad、AtomicSwap或AtomicCompare请求。
  ● Home向RN发送一个数据请求响应(DBIDResp或DBIDRespOrd)。
  ● RN将写数据NCBWrData发送到Home。
   RN必须在接收到DBIDResp或DBIDRespOrd后才发送此消息。在发送写数据之前,RN不能等待接收CompData。
  ● Home向RN返回一个组合的数据和完成响应CompData。
   在返回CompData之前等待写数据是允许的,但不是必需的。
  ● 可选地,当请求需要TagMatch响应时,Home将TagMatch响应TagMatch返回给RN。
   在返回TagMatch之前等待写数据是允许的,但不是必需的。

2.3.4 Stash transactions

在这里插入图片描述
以下因素会影响事务流:
● 允许Home忽略Stash请求并且不执行任何Stash窥探。
● 允许Stashee忽略Stash请求,而不请求 data pull来完成事务。
● StashOnceSepUnique和StashOnceSepShared可以有单独的StashDone响应或组合的CompStashDone响应。


1. Write with Stash Hint.
在这里插入图片描述
带有Stash提示的写请求 :
  ● WriteUniquePtlStash
  ● WriteUniqueFullStash

WriteUnique的事务流程与Immediate Write相同,

Home可以选择性地发送Stash Snp请求。

   Alt 1a. SnpUniqueStash
  ● Home发送SnpUniqueStash给Stashee。
   通常,Home发送SnpUniqueStash用于partial line write.。其他的snoops,包括其他stash的snoops,是允许的。
  ● Stashee有两种选择响应Stash Snoop请求。

    Alt 1a1. No DataPull
      Not request a data pull
    Alt 1a2 DataPull
      Request a data pull
      data pull请求的完成与Allocating Read事务的完成相同。

   Alt 1b. Other stashing snoops
  ● 发送SnpMakeInvalidStash, SnpStashShared,或SnpStashUnique到Stashee。
   通常,Home发送SnpMakeInvalidStash进行full line write。其他的snoops,包括其他stash 的snoops,是允许的。

  ● Stashee有两种选择响应Stash Snoop请求。

    Alt 2a. No DataPull
      Not request a data pull
    Alt 2b DataPull
      Request a data pull
      data pull请求的完成与Allocating Read事务的完成相同。


2. Independent Stash without StashDone response
在这里插入图片描述在这里插入图片描述


3. Independent Stash with StashDone response
在这里插入图片描述
在这里插入图片描述
带有StashDone响应的独立Stash事务:
  ● StashOnceSepUnique
  ● StashOnceSepShared

  Home可以选择发送一个隐藏 stash snoop请求,SnpStashUnique或SnpStashShared,到Stashee。
  通常,当原始请求是StashOnceSepUnique时,Home发送SnpStashUnique;当原始请求是StashOnceSepShared时,发送SnpStashShared。

  ● Stashee有两种选择响应Stash Snoop请求。
    Alt 3a1. No DataPull
      Not request a data pull
    Alt 3a2 DataPull
      Request a data pull
      data pull请求的完成与Allocating Read事务的完成相同。

   Home有两种选择来完成事务:

   Alt 3b1. Separate response from Home
    ● 向RN返回一个完成响应Comp。
    ● 将StashDone响应返回给RN。

   Alt 3b2. Combined response from Home
    Home向RN返回一个合并响应CompStashDone。

2.3.5 Atomic transactions

在这里插入图片描述
1. Transactions without CompAck or Persist

没有CompAck或Persist的Dataless事务是:
  ● CleanInvalid
  ● CleanInvalidPoPA
  ● MakeInvalid
  ● CleanShared
  ● CleanSharedPersist
  ● Evict

RN将请求发送到Home。
Home向RN返回一个完成响应Comp。


2. Transactions with CompAck
Dataless transactions with有:
  ● CleanUnique
  ● MakeUnique

RN将请求发送到Home。
Home向RN返回一个完成响应Comp。
RN向Home发送一个完成确认(CompAck)。(RN必须在收到Comp后才发送此消息)


3. Transactions with Persist
Dataless transaction with Persist有:
  ● CleanSharedPersistSep

RN将请求发送到Home。
Home有三种选择来完成事务。

   Alt 3a. Separate responses from the Home
   ● 向RN返回一个完成响应Comp。
   ● 向RN返回persist响应。

   Alt 3b. Combined response from Home
    Home向RN返回一个合并的响应CompPersist。

   Alt 3b. Combined response from Home

    对于来自下级的Persist响应,会发生以下情况:
    ● Home向SN发送一个下游请求,CleanSharedPersistSep。
    ● SN向Home返回一个完成响应Comp。
    ● Home向RN返回一个完成响应Comp。
如果Home的下游有观察者,那么Home必须等待SN的Comp响应,然后再将Comp响应返回给RN。
    ● SN向RN返回persist响应。

2.3.6 Prefetch transactions

在这里插入图片描述
RN直接向下级发送PrefetchTgt请求。

2.3.7 DVM transactions

在这里插入图片描述

  ● 事务从RN向Home发出DVMOp请求开始。
  ● Home有三种备选方案,可以将完成响应和数据请求响应发送给Requester

1.Non-sync DVMOp with separate response

  如果DVMOp是Non-sync DVMOp,Home可以返回分离的响应。
    ● Home向RN返回一个数据请求(DBIDResp)。
    ● RN将写数据NCBWrData发送到Home。
     RN必须在接收到DBIDResp后才发送此消息。
    ● Home向请求者返回一个完成响应Comp。
     允许(但不是必须)在返回Comp之前等待写数据。

2.Non-sync DVMOp with combined response

  如果DVMOp是Non-sync DVMOp,Home可以返回组合的响应。
    ● Home向请求者返回一个合并的数据请求和完成响应(CompDBIDResp)
    ● RN将写数据NCBWrData发送到Home。
     RN只有在接收到CompDBIDResp后才能发送此消息。

3.Sync DVMOp

  如果DVMOp是sync DVMOp,Home可以返回组合的响应。

    ● Home向 RN返回一个数据请求(DBIDResp)。
    ● RN将写数据NCBWrData发送到Home。
     RN必须在接收到DBIDResp后才发送此消息。
    ● Home向RN返回一个完成响应Comp。
     Home必须在接收到写数据后才返回这个值。

2.3.8 Retry

在这里插入图片描述
请求事务第一次发送时没有协议信用(P-Credit)。如果事务不能在Completer上被接受,则给出一个RetryAck响应,表明该事务未被接受,并在提供适当的凭证时可以再次发送。当事务带着信用第二次发送时,它被保证被接受。

  ● RN发出一个没有信用的请求。
  ● Completer向RN返回retry响应RetryAck。
  ● Completer向RN返回一个协议信用授予PCrdGrant。
通常,在Retry响应之后很长一段时间才返回协议信用授予。但是,在非典型情况下,可以在RetryAck响应之前返回PCrdGrant响应。
  ● RN有两种选择来结束Retry序列。此步骤必须仅在RN同时接收到RetryAck和PCrdGrant之后执行。

1. Resend the original request
RN发出带有信用的请求。
3. Cancel the request and return the credit(取消请求并退还信用证)
RN向Completer发送一个协议信用返回(PCrdReturn)

2.3.9 Home Initiated transactions

(Home发起的事务,只展示时空图)

2.3.9.1 Home to Subordinate Read transactions

在这里插入图片描述

2.3.9.2 Home to Subordinate Write transactions

在这里插入图片描述

2.3.9.3 Home to Subordinate Write Zero transactions

在这里插入图片描述

2.3.9.4 Home to Subordinate Combined Write and CMO transactions

在这里插入图片描述

2.3.9.5 Home to Subordinate Dataless transactions

在这里插入图片描述

2.3.9.6 Home to Subordinate Atomic transactions

在这里插入图片描述

2.3.9.7 Home to Snoopee transactions

在这里插入图片描述

2.3.9.8 Home to Snoopee DVM transactions

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词