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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【IPython的使用技巧】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

Java 读取Excel导入数据库,形成树状结构

最近开发过程中遇到一个Excel的导入的功能,因为导入的数据结构具有层次结构,经过一番研究,最终得以实现,所有写下该文章,记录过程,供以后参考。 下图是导入Excel的数据结构: 使用POI解析Excel&…

被拷打已老实!面试官问我 #{} 和 ${} 的区别是什么?

引言:在使用 MyBatis 进行数据库操作时,#{} 和 ${} 的区别是面试中常见的问题,对理解如何在 MyBatis 中安全有效地处理 SQL 语句至关重要。正确使用这两种占位符不仅影响应用的安全性,还涉及到性能优化。 题目 被拷打已老实&…

浅谈RC4

一、什么叫RC4?优点和缺点 RC4是对称密码(加密解密使用同一个密钥)算法中的流密码(一个字节一个字节的进行加密)加密算法。 优点:简单、灵活、作用范围广,速度快 缺点:安全性能较差&…

操作系统真象还原:输入输出系统

第10章-输入输出系统 这是一个网站有所有小节的代码实现,同时也包含了Bochs等文件 10.1 同步机制–锁 10.1.1 排查GP异常,理解原子操作 线程调度工作的核心内容就是线程的上下文保护+上下文恢复 。 根本原因是访问公共资源需要多个操作&…

超级数据查看器 教程pdf 1-31集 百度网盘

百度网盘链接 提取码1234https://pan.baidu.com/s/1s_2lbwZ2_Su83vDElv76ag?pwd1234 通过百度网盘分享的文件:超级数据查看器 … 链接:https://pan.baidu.com/s/1s_2lbwZ2_Su83vDElv76ag?pwd1234 提取码:1234 复制这段内容打开「百度网盘APP 即可获取」

Python接口测试实战之搭建自动化测试框架

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一.数据分离:从Excel中读取数据 之前的用例中,数据直接写在代码文件里,不…

Day28:回溯法 491.递增子序列 46.全排列 47.全排列 II 332.重新安排行程 51. N皇后 37. 解数独 蓝桥杯 与或异或

491. 非递减子序列 给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情…

13.1.资源清单的管理工具-helm

目录 一、helm的介绍 1.helm的价值概述 2.helm的关键名词 二、安装部署helm 1.解压安装包并设置全局命令 2.添加命令补全 三、使用helm部署服务管理 1.使用helm创建chart 1.1创建工作目录 1.2.helm创建chart 2.响应式创建名称空间 3.安装chart到名称空间 4.使用hel…

PHP转Go系列 | 字符串的使用姿势

大家好&#xff0c;我是码农先森。 输出 在 PHP 语言中的输出比较简单&#xff0c;直接使用 echo 就可以。此外&#xff0c;在 PHP 中还有一个格式化输出函数 sprintf 可以用占位符替换字符串。 <?phpecho 码农先森; echo sprintf(码农:%s, 先森);在 Go 语言中调用它的输…

科研——BIBM论文修改和提交

文章目录 引言投递流程Latex翻译流程latex模板使用bib文件正文修改 反馈时间线等待审稿结果 引言 第一轮投递快结束了&#xff0c;这里得加快进度&#xff0c;二十号截至&#xff0c;这里得在截至之前投一下&#xff0c;这里翻译整理一下投递的流程 投递流程 投递链接论文是…

js文件导出功能

效果图&#xff1a; 代码示例&#xff1a; <!DOCTYPE html> <html> <head lang"en"><meta charset"UTF-8"><title>html 表格导出道</title><script src"js/jquery-3.6.3.js"></script><st…

LoRA用于高效微调的基本原理

Using LoRA for efficient fine-tuning: Fundamental principles — ROCm Blogs (amd.com) 大型语言模型的低秩适配&#xff08;LoRA&#xff09;用于解决微调大型语言模型&#xff08;LLMs&#xff09;的挑战。GPT和Llama等拥有数十亿参数的模型&#xff0c;特定任务或领域的微…

【因果推断python】44_评估因果模型2

目录 累积弹性曲线 累积增益曲线 考虑差异 关键思想 累积弹性曲线 再次考虑将价格转换为二元处理的说明性示例。我们会从我们离开的地方拿走它&#xff0c;所以我们有弹性处理带。我们接下来可以做的是根据乐队的敏感程度对乐队进行排序。也就是说&#xff0c;我们把最敏感…

韩顺平0基础学java——第26天

p523-547 HashSet扩容时&#xff0c;只要节点到达了阈值就会扩&#xff0c;而不是数组长度到了才扩。 比如长16的数组&#xff0c;索引1放了8个&#xff0c;索引3放了4个&#xff0c;我再加一个他就会扩容。 另外谁能告诉我老师的debug界面是怎么设置的吗忘光了 HashSet存放…

基于Spring+Vue的前后端分离的计算器

麻雀虽小&#xff0c;五脏俱全 该项目已部署上线&#xff1a;http://calculator.wushf.top/ 并通过Gitee Go流水线实现持续部署。 需求分析 表达式求值 支持加减乘除四则运算、支持高精度 获取日志 Api文档定义 前后端分离&#xff0c;人不分离 通过Apifox定义接口细节&#…

(el-Transfer)操作(不使用 ts):Element-plus 中 Select 组件动态设置 options 值需求的解决过程

Ⅰ、Element-plus 提供的Select选择器组件与想要目标情况的对比&#xff1a; 1、Element-plus 提供Select组件情况&#xff1a; 其一、Element-ui 自提供的Select代码情况为(示例的代码)&#xff1a; // Element-plus 提供的组件代码: <template><div class"f…

闹大了!高考作文“人工智能与AI”引发争议,专家喊话,部分考生家长无奈,直呼:“太不公平了!这哪里是考作文,分明是在考城乡差距啊!”

闹大了&#xff01;高考作文“人工智能与AI”引发争议&#xff0c;专家喊话&#xff0c;部分考生家长无奈&#xff0c;直呼&#xff1a;“太不公平了&#xff01;这哪里是考作文&#xff0c;分明是在考城乡差距啊&#xff01;” ​高考&#xff0c;本该是最公平的战场&#xff…

IO流2.

字符流-->字符流的底层其实就是字节流 public class Stream {public static void main(String[] args) throws IOException {//1.创建对象并关联本地文件FileReader frnew FileReader("abc\\a.txt");//2.读取资源read()int ch;while((chfr.read())!-1){System.out…

MySQL系列-语法说明以及基本操作(一)

1、前言 主要讲解MySQL的基本语法 官网文档 https://docs.oracle.com/en-us/iaas/mysql-database/doc/getting-started.html 关于MySQL的基本语法&#xff0c;关于数据类型、表的操作、数据操作、事务、备份等&#xff0c;可参考 http://www.voidme.com/mysql 2、数据类型 数…