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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/724508.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Hadoop3:MapReduce中的Shuffle机制

一、流程图 Shuffle是Map方法之后,Reduce方法之前的数据处理过程称。 二、图解说明 1、数据流向 map方法中context.write(outK, outV);开始,写入环形缓冲区,再进行分区排序,写到磁盘 reduce方法拉取磁盘上的数据,…

swift使用swift-protobuf协议通讯,使用指北

什么是Protobuf Protobuf(Protocol Buffers)协议😉 Protobuf 是一种由 Google 开发的二进制序列化格式和相关的技术,它用于高效地序列化和反序列化结构化数据,通常用于网络通信、数据存储等场景。 为什么要使用Proto…

【QT5】<重点> QT多线程

文章目录 前言 一、QThread创建多线程 二、QMutex基于互斥量的同步 三、QReadWriteLock线程同步 四、QWaitCondition线程同步 五、QSemaphore基于信号量的同步 前言 本篇记录学习QT多线程的知识,参考视频13.1QThread创建多线程程序_哔哩哔哩。若涉及版权问题…

Linux - 进程

一、什么是进程 首先,Linux是一个多用户多进程的操作系统,系统上可以同时运行多个进程。 进程的产生:①是在执行程序或者命令时产生的;②定时任务进程 进程的类型:前台进程/后台进程 前台进程:一个终端…

迭代器模式观察者模式

文章目录 1.引出迭代器模式1.展示院系结构2.传统方式 2.迭代器模式解决院系结构展示问题1.基本介绍2.原理类图3.类图4.代码实现1.Department.java 存储信息的对象2.College.java 被迭代的类型接口3.ComputerCollege.java 被迭代的具体实现类,存储数据并将其在创建迭…

契约锁电子签章平台 add 远程命令执行漏洞复现(XVE-2023-23720)

0x01 产品简介 契约锁电子签章平台是上海亘岩网络科技有限公司推出的一套数字签章解决方案。契约锁为中大型组织提供“数字身份、电子签章、印章管控以及数据存证服务”于一体的数字可信基础解决方案,可无缝集成各类系统,让其具有电子化签署的能力,实现组织全程数字化办公。通…

【LeetCode刷题】面试题 17.19. 消失的两个数字

1. 题目链接2. 题目描述3. 解题方法4. 代码 1. 题目链接 面试题 17.19. 消失的两个数字 2. 题目描述 3. 解题方法 例子假设: 数组A元素为 :1 ,4,5 缺少的元素为:2, 3 那么所有整数就为1 ~ 5&#xff…

什么是无限铸币攻击?它是如何运作的?

一、无限铸币攻击解释 无限铸币攻击是指攻击者操纵合约代码不断铸造超出授权供应限制的新代币。 这种黑客行为在去中心化金融 (DeFi) 协议中最为常见。这种攻击通过创建无限数量的代币来损害加密货币或代币的完整性和价值。 例如,一名黑客利用了 Paid 网络的智能…

shadertoy-安装和使用

一、安装vscode 安装vscode流程 二、安装插件 1.安装glsl编辑插件 2.安装shader toy插件 三、创建glsl文件 test.glsl文件 float Grid(float size, vec2 fragCoord) {vec2 r fragCoord / size;vec2 grid abs(fract(r - 0.5) - 0.5) / fwidth(r);float line min(grid…

网络安全从入门到精通(特别篇I):应急响应案例

蓝队应急响应实战 1. 应急响应1. 应急响应 获取当前WEB环境的组成架构(语言,数据库,中间件,系统等) 分析思路: 1、利用时间节点筛选日志行为 2、利用已知对漏洞进行特征筛选 3、利用后门查杀进行筛选日志行为 #内容点: 应急响应: 1、抗拒绝服务攻击防范应对指南 2、勒…

【云原生】Kubernetes----证书过期处理办法

目录 引言 一、证书过期的问题与影响 二、解决方案 (一)查看证书剩余时间 (二)备份重要数据 (三)更新证书 (四)重启相关组件的pod 引言 随着云计算技术的飞速发展&#xff0…

IPFoxy代理IP:IPv4与IPv6性能与安全性对比

在使用IPFoxy静态代理IP的过程中,经常有小白朋友疑惑,IPv4与IPv6有何区别?他们在性能与安全上的差别如何,又该如何选择?在这篇博文中,我们将从各个方面为您科普这一区别,帮助您更好的选择。 一、…

[Linux] vi编辑器

命令模式&文本模式 命令模式就输入命令然后执行,文本模式就是系统把你的输入都当成写进文件里的字符 切换模式: 刚进入默认是命令模式,按: i I a A o O 进入文本模式, 通过他们进入文本模式有什么不同? 然后按esc进…

一个新的剪辑拼接图片和视频类APP在测试阶段需要测试内容,以iPhone APP为例:

1.UI参照原型图和设计稿 如有改动,需及时沟通 2.iPad转屏、不同iPhone和iPad机型测试 3.黑夜白天模式 2.各功能模块流程需要测试跑通 3.订阅支付模块 a. UI设计是否和设计稿一致 b.涉及订阅的位置都要测试 c.免费试用是否显示;试用结束后&#xff0c…

【论文阅读】-- MIRIA:用于时空交互数据原位可视化和分析的混合现实工具包

MIRIA: A Mixed Reality Toolkit for the In-Situ Visualization and Analysis of Spatio-Temporal Interaction Data 摘要1 引言2 背景及相关工作2.1 用户交互和运动数据分析2.2 沉浸式分析 3 时空用户交互分析3.1 现有系统的用例和分析3.2 要求 4 MIRIA 工具包4.1 一般概念4.…

人工智能—美国加利福尼亚州房价预测实战

引言 在当今快速发展的房地产市场中,房价预测已成为一个至关重要的领域。它不仅关系到投资者的决策,也直接影响到普通购房者的生活质量。特别是在美国加利福尼亚州,这个以其高房价和房地产市场的波动性而闻名的地方,准确的房价预…

React@16.x(34)动画(中)

目录 3,SwitchTransition3.1,原理3.1.2,key3.1.2,mode 3.2,举例3.3,结合 animate.css 4,TransitionGroup4.1,其他属性4.1.2,appear4.1.2,component4.1.3&…

JWT整合Gateway实现鉴权(RSA与公私密钥工具类)

一.业务流程 1.使用RSA生成公钥和私钥。私钥保存在授权中心,公钥保存在网关(gateway)和各个信任微服务中。 2.用户请求登录。 3.授权中心进行校验,通过后使用私钥对JWT进行签名加密。并将JWT返回给用户 4.用户携带JWT访问 5.gateway直接通过公钥解密JWT进…

深圳中小企业融资攻略,贷款方法大盘点!

中小企业融资这事,可不是一个简单的事情。资金对中小企业来说,就像血液对人体一样重要。企业发展离不开资金支持,特别是在今年这个环境下,政策对中小企业还挺友好的。今天讲解一下中小微企业常用的几种贷款方法。希望能让大家更明…

MySQL之复制(五)

复制 复制的原理 复制文件 3.master.info 这个文件用于保存备库连接到主库所需要的信息,格式为纯文本(每行一个值),不同的MySQL版本,其记录的信息也可能不同。此文件不能删除,否则备库在重启后无法连接到主库。这个文件以文本的…