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.mzph.cn/bicheng/30420.shtml

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

相关文章

Netgen/NGSolve安装

1、安装 1.1、准备 Visual Studio 2022、Python 3、Cmake、Git 1.2、目录 在netgen下有三个文件夹分别是 src、build、install 1.3、安装编译 git clone --recurse-submodules https://github.com/NGSolve/ngsolve.git srccd src git submodule update --init --recursiv…

数据结构-二叉搜索树

二叉搜索树:BST(Binary Search Tree) 二叉搜索树是二叉树,可以为空,如果不为空,满足以下性质: 非空左子树的所有键值小于其根节点的键值非空右子树的所有键值大于其根节点的键值左、右字数本身也都是二叉搜索树 二叉…

使用SSL协议后为什么还要对数据加密后再传输?

使用SSL协议后服务器还是需要对数据 进行对应的加密的。根证书:SSL协议最重要的CA机构在电脑预装的根证书,这个根证书是用于检验网站的数字证书是否正常是否是经过官网备案的防止盗版网站情况。 网站的数字证书数据:网站的基本信息(CA信息、网…

java函数式编程优雅的写if else

前言 我们在写业务代码的时候或多或少会写比较多的if else 进行判断抛出异常、分支处理等操作。这些if...else...充斥在代码中严重影响了代码代码的美观,这时我们可以利用java8的新特性来优雅的写if...else...。 if if if 这种结构 原来的写法 String a= "aaa";i…

MySql进阶:深入理解MySQL语句执行逻辑

深入理解MySQL语句执行逻辑 一、前言 本文源自微博客(www.microblog.store),且以获得授权 一直是想知道一条SQL语句是怎么被执行的,它执行的顺序是怎样的,然后查看总结各方资料,就有了下面这一篇博文了。   本文将从MySQL总体架构—&…

plc如何接线

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「plc的资料从专业入门到高级教程」, 点个关注在评论区回复“666”之后私信回复“666”,全部无偿共享给大家!!!PLC自动化控制在电气自动化和…

少儿编程Python大纲:趣味编程,探索未来

一、启航编程之旅,开启智慧之门 1. 点燃编程梦想 引导孩子发现编程的乐趣,培养未来的科技小达人 2. 掌握基础技能 学习编程基础知识,为未来的学习和创新奠定坚实基础 二、遇见Python,发现编程的魅力 1. 探秘Python的神奇世界…

Adobe Premiere 视频编辑软件下载安装,pr 全系列资源分享!

Adobe Premiere以其强大的功能、灵活的操作和卓越的性能,成为视频编辑领域的佼佼者。 在剪辑方面,Adobe Premiere提供了强大而灵活的工具集。用户可以在直观的时间线上对视频进行精细的裁剪、剪辑和合并操作。无论是快速剪辑短片,还是精心打造…

springboot心理健康线上咨询系统APP-计算机毕业设计源码031539

摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对心理健康咨询等问题,对其进行研…

钡铼BL102应用智能电网配电柜PLC转MQTT无线接云服务

在当今智能电网的发展浪潮中,配电系统的智能化升级是提升电网效率与稳定性的重要环节。随着物联网技术的飞速发展,实现配电柜的远程监控与管理成为了可能,而这一转变的关键在于如何有效地将传统配电柜中的PLC数据接入到云端进行分析与处理。 …

大数据关联规则算法

关联性(Association) 定义:指一个变量能够提供有关另一个变量的信息。特点:关联性是一个广泛的概念,它可以包括直接的、间接的、强的或弱的联系。 相关性(Correlation) 定义:指两个…

AI视频智能监管赋能城市管理:打造安全有序的城市环境

一、方案背景 随着城市化进程的加速和科技的飞速发展,街道治安问题日益凸显,治安监控成为维护社会稳定和保障人民安全的重要手段。当前,许多城市已经建立了较为完善的治安监控体系,但仍存在一些问题。例如,监控设备分…

window 卸载应用商店程序

# 使用Get-AppxPackage获取所有应用程序 # 使用Remove-AppxPackage PythonSoftwareFoundation.Python.3.12_3.12.1264.0_x64__qbz5n2kfra8p0

【Linux 基础】目录结构

Linux 的目录结构(也称为文件系统结构)是组织文件和目录的一种逻辑方式。每个文件和目录在文件系统中都有一个唯一的位置或路径。 Linux文件系统是整个操作系统的基础架构,对于系统的稳定运行、数据安全以及用户操作便捷性至关重要&#xff0…

webhook-k8s API和apimachinery版本高于Client-go

1. 问题 使用go mod tidy 存在丢弃的版本 go: downloading github.com/josharian/intern v1.0.0 go: finding module for package k8s.io/api/flowcontrol/v1alpha1 go: simple-webhook/types importsk8s.io/client-go/rest tested byk8s.io/client-go/rest.test importsk8s.…

场外个股期权通道业务是什么意思?

今天带你了解场外个股期权通道业务是什么意思?场外个股期权业务是指在沪深交易所之外进行的个股期权交易。它是一种非标准化的合约,不在交易所内进行交割。 场外个股期权通道业务,是指投资者通过与场外个股期权机构通道签订合约,购…

uni-app中使用富文本rich-text个人经验

rich-text是在uni-app一个内置组件,用于高性能地渲染富文本内容。先贴一下官方的属性列表: 先说一下“selectable” 长按选择区域复制,这个我在APP项目中 不起作用,可能像文档说的,只支持“百度小程序”吧。在APP端起作…

CUDA系列-Mem-9

这里写目录标题 Static Architecture.Abstractions provided by CUSW_UNIT_MEM_MANAGERMemory Object (CUmemobj) Memory Descriptor(CUmemdesc)Memory Block(CUmemblock)Memory BinsSuballocations in Memory BlockFunctional description Memory Manager 你可能觉得奇怪&…

使用SQLite

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 与许多其他数据库管理系统不同,SQLite不是一个客户端/服务器结构的数据库引擎,而是一种嵌入式数据库,它的数据库就…

Centos 配置安装Mysql

linux安装配置mysql的方法主要有yum安装和配置安装两种,由于yum安装比较简单,但是会将文件分散到不同的目录结构下面,配置起来比较麻烦,这里主要研究一下配置安装mysql的方法 1、环境说明 centos 7.9 mysql 5.7.372、环境检查 …