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,一经查实,立即删除!

相关文章

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

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

plc如何接线

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

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、环境检查 …

反激式开关电源是如何工作的

反激的变压器可以看作一个带变压功能的电感,是一个buck-boost电路。 反击式开关变压器 反激式开关电源是指使用反激高频变压器隔离输入输出回路的开关电源。“反激”指的是在开关管接通的情况下,当输入为高电平时输出线路中串联的电感为放电状态&#x…

ABAP-03基础数据类型

基本数据类型 数据类型默认大小(byte)有效大小初始值说明示例C11-65535SPACE文本字符(串)‘Name’N11-65535‘00…0’数字文本‘0123’T66‘000000’时间(HHMMSS)‘123010’D88‘00000000’日期(yyyymmdd)‘20090901’I4-231~232…

算法基础精选题单 动态规划(dp)(递推+线性dp)(个人题解)

前言&#xff1a; 一些简单的dp问题。 正文&#xff1a; 题单&#xff1a;237题】算法基础精选题单_ACM竞赛_ACM/CSP/ICPC/CCPC/比赛经验/题解/资讯_牛客竞赛OJ_牛客网 (nowcoder.com) 递推&#xff1a; NC235911 走楼梯&#xff1a; #include<bits/stdc.h> using na…

在k8s上部署一个简单的应用

部署一个简单的应用 实验目标&#xff1a; 部署一个简单的 web 应用&#xff0c;比如 Nginx 或者一个自定义的 Node.js 应用。 实验步骤&#xff1a; 创建一个 Deployment。创建一个 Service 来暴露应用。验证应用是否可以通过 Service 访问。 今天我们来做一下昨天分享的可…

Debian12的#!bash #!/bin/bash #!/bin/env bash #!/usr/bin/bash #!/usr/bin/env bash

bash脚本开头可写成 #!/bin/bash , #!/bin/env bash , #!/usr/bin/bash , #!/usr/bin/env bash #!/bin/bash , #!/usr/bin/bash#!/bin/env bash , #!/usr/bin/env bash Debian12的 /bin 是 /usr/bin 的软链接, /sbin 是 /usr/sbin 的软链接, (Debian12默认没有ll命令,用的ls …