AMBA-CHI协议详解(十二)

news2024/12/18 14:29:52

在这里插入图片描述

AMBA-CHI协议详解(一)- Introduction
AMBA-CHI协议详解(二)- Channel fields / Read transactions
AMBA-CHI协议详解(三)- Write transactions
AMBA-CHI协议详解(四)- Other transactions
AMBA-CHI协议详解(五)- Transaction identifier fields
AMBA-CHI协议详解(六)- Transaction identifier field flows
AMBA-CHI协议详解(七)- Ordering
AMBA-CHI协议详解(八)- Address, Control, and Data
AMBA-CHI协议详解(九)- Data transfer
AMBA-CHI协议详解(十)- Retry
AMBA-CHI协议详解(十一)- Network Layer
AMBA-CHI协议详解(十二)- Cache line states

文章目录

    • 4.1 Cache line states
      • 4.1.1 Empty cache line ownership
      • 4.1.2 Ownership of cache line with partial Dirty data
    • 4.2 Request types


4.1 Cache line states

  协议节点访问cache line时需要采取的操作取决于cache line的状态。协议定义了以下cache line状态:

I:Invalid
  ● Cache line不存在于cache中。

UC:Unique Clean
  ● Cache line只存在于此cache中。
  ● 相对于内存,cache line没有被修改。
  ● 可以在不通知其他cache的情况下修改cache line。(因为Cache line只存在于此cache中)
  ● 在响应请求的Snoop时,允许(但不要求)cache line行为:
   — 有要求时返回Home
   — 当snoop指示时(fwd),直接转发给Requester。

UCE:Unique Clean Empty
  ● Cache line只存在于此cache中。
  ● Cache line处于Unique状态,但所有数据字节都无效。
  ● 可以在不通知其他cache的情况下修改cache line。
  ● 在响应请求的Snoop时,cache line不能为:
   — 即使被要求,也不能返回Home
   — 即使是在snoop的指示的情况下,也不能直接转发给Requester。

UD:Unique Dirty
  ● Cache line只存在于此cache中。
  ● 相对于内存,cache line已被修改。
  ● 在evict时必须将cache line写回下一级缓存或内存。
  ● 可以在不通知其他cache的情况下修改cache line。
  ● 在响应请求的Snoop时,cache line:
   — 必须在被要求时返还至Home。
   — snoop指示时,期待将数据直接转发给Requester。

UDP:Unique Dirty Partial
  ● Cache line只存在于此cache中。
  ● Cache line是Unique的。cache line可能有部分有效的字节。
  ● 相对于内存,cache line已被修改。
  ● 当cache line被evict时,必须将其与下一级缓存或内存中的数据合并,以形成完整的有效cache line。
  ● 可以在不通知其他cache的情况下修改cache line。
  ● 为了响应请求的Snoop,cache line必须:
   — 返回至Home
   — 即使被指示,不直接转发给Requester。

SC :Shared Clean
  ● 其他缓存可能具有cache line的共享副本。
  ● 相对于内存,cache line可能被修改。(可能,因为不知道副本有无被修改)
  ● 该Cache不负责在evict时将cache line写回内存。
  ● 如果不使任何共享副本无效并获得Cache的唯一所有权,则无法修改cache line。
  ● 在响应请求的Snoop时,Cache line:
   — 如果未设置RetToSrc位,则要求不返回数据。
   — 如果设置了RetToSrc位,则期待返回数据。
   — 当窥探者指示时,期待将数据直接转发给请求者。

SD :Shared Clean
  ● 其他缓存可能具有cache line的共享副本。
  ● 相对于内存,cache line已被修改。
  ● 在evict时必须将cache line写回下一级缓存或内存。
  ● 如果不使任何共享副本无效并获得Cache的唯一所有权,则无法修改cache line。
  ● 在响应请求的Snoop时,Cache line:
   — 必须在被要求时归还。
   — 当窥探者指示时,期待将直接转发给请求者。

4.1.1 Empty cache line ownership

Empty cache line是指处于Unique状态的cache line,以防止存在该cache line的其他副本。
Empty cache line中没有有效的数据字节。cache line状态为UCE或UDP。

以下是Empty cache line所有权可能发生的示例:
  ● Requester可以在开始写操作之前获取空cache line,以节省系统带宽。
   期望写入cache line的Requester可以获得具有存储权限的空cache line,而不是获得cache line的有效副本。

  ● 如果Requester在请求存储权限时拥有cache line的副本,则Requester可以转换为空状态。在Requester获得存储权限之前,该cache line的副本无效。在请求完成时,这将导致Requester拥有一个具有存储权限的空缓存行。

4.1.2 Ownership of cache line with partial Dirty data

  一旦获得了没有数据的cache line的所有权,Requester就被允许(但不是必须)将数据存储到cache line。如果Requester修改了部分cache line,cache line将保持partially Unique Dirty。缓存线状态为UDP

4.2 Request types

协议请求分为以下几类:
  ● 对于读请求事务,向Requester提供一个数据响应。
  ● 对于Dataless请求事务,不向Requester提供任何数据响应。
  ● 对于写请求事务,数据来自Requester。
  ● 对于组合写请求事务,数据来自Requester,并执行缓存维护操作。
  ● 对于原子请求事务,数据来自Requester,并以某些请求类型向Requester提供数据响应。
  ● 对于Stash请求事务,可以在系统内搬移数据以提高性能。
  ● 其他请求事务:
   — 不涉及系统中的任何数据移动。
   — 可用于协助DVM维护。

下一节继续。

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

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

相关文章

【win10+RAGFlow+Ollama】搭建本地大模型助手(教程+源码)

一、RAGFlow简介 RAGFlow是一个基于对文档深入理解的开源RAG(Retrieval-augmented Generation,检索增强生成)引擎。 主要作用: 让用户创建自有知识库,根据设定的参数对知识库中的文件进行切块处理,用户向大…

Android中坐标体系知识超详细讲解

说来说去都不如画图示意简单易懂啊!!!真是的! 来吧先上张图! (一)首先明确一下android 中的坐标系统: 屏幕的左上角是坐标系统原点(0,0) 原点向右延伸是X轴正…

IO的进阶

目录 1. 字符流转向字节流的桥梁1.1 OutputStreamWriter1.2 InputStreamReader1.3 编码与解码1.4 常见编码方式1.5 编码与解码的注意事项 2.Properties2.1概述2.2 Properties 的常用方法2.3 Properties 的应用场景2.4 实例 3.序列化3.1 ObjectOutputStream 4.字符编码4.1 ASCII…

【计算机网络】期末考试预习复习|中

作业讲解 转发器、网桥、路由器和网关(4-6) 作为中间设备,转发器、网桥、路由器和网关有何区别? (1) 物理层使用的中间设备叫做转发器(repeater)。 (2) 数据链路层使用的中间设备叫做网桥或桥接器(bridge)。 (3) 网络层使用的中间设备叫做路…

Edge Scdn用起来怎么样?

Edge Scdn:提升网站安全与性能的最佳选择 在当今互联网高速发展的时代,各种网络攻击层出不穷,特别是针对网站的DDoS攻击威胁,几乎每个行业都可能成为目标。为了确保网站的安全性与稳定性,越来越多的企业开始关注Edge …

UE4_控件蓝图_制作3D生命血条

一:效果图如下: 二、实现步骤: 1、新建敌人 右键蓝图类 选择角色, 重命名为BP_Enemytest。 双击打开,配置敌人网格体 修改位置及朝向 效果如下: 选择合适的动画蓝图类: 人物就有了动作&#x…

厦门凯酷全科技有限公司引领电商营销新风尚

在当今数字化经济快速发展的背景下,抖音作为领先的短视频和直播平台,已成为品牌推广和产品销售的重要渠道。厦门凯酷全科技有限公司(以下简称“凯酷全”)凭借其专业的团队和丰富的经验,专注于为客户提供高质量的抖音电…

高扬程潜水泵:大流量与高效率的完美结合|深圳鼎跃

洪水是由暴雨、风暴潮等等自然因素引起的江河湖海水量迅速增加或水位迅猛上涨的水流现象。一旦发生洪水事件,会侵袭河道沿岸的城市、农田等场景,在低洼地区容易形成积水,不仅影响人们的生活,还存在一定的安全风险。 高扬程潜水泵是…

神经网络基础-神经网络搭建和参数计算

文章目录 1.构建神经网络2. 神经网络的优缺点 1.构建神经网络 在 pytorch 中定义深度神经网络其实就是层堆叠的过程,继承自nn.Module,实现两个方法: __init__方法中定义网络中的层结构,主要是全连接层,并进行初始化。…

web网页前后端交互方式

参考该文&#xff0c; 一、前端通过表单<form>向后端发送数据 前端是通过html中的<form>表单&#xff0c;设置method属性定义发送表单数据的方式是get还是post。 如使用get方式&#xff0c;则提交的数据会在url中显示&#xff1b;如使用post方式&#xff0c;提交…

Mac配置 Node镜像源的时候报错解决办法

在Mac电脑中配置国内镜像源的时候报错,提示权限问题,无法写入配置文件。本文提供解决方法,青测有效。 一、原因分析 遇到的错误是由于 .npm 目录下的文件被 root 用户所拥有,导致当前用户无法写入相关配置文件。 二、解决办法 在终端输入以下命令,输入管理员密码即可。 su…

Linux实操篇-远程登录/Vim/开机重启

目录 传送门前言一、远程登录1、概念2、ifconfig3、实战3.1、SSH&#xff08;Secure Shell&#xff09;3.2、VNC&#xff08;Virtual Network Computing&#xff09;3.3、RDP&#xff08;Remote Desktop Protocol&#xff09;3.4、Telnet&#xff08;不推荐&#xff09;3.5、FT…

【C/C++进阶】CMake学习笔记

本篇文章包含的内容 一、CMake简介二、使用CMake构建工程2.1 一个最简单的CMake脚本2.2 使用变量和宏2.3 文件搜索 三、使用CMake制作和使用库文件3.1 静态库和动态库3.2 字符串操作3.3 CMake制作库文件3.4 CMake使用库文件3.4.1 使用link_libraries链接3.4.2 使用target_link_…

JS 生成防篡改水印

网页中有水印的需求&#xff0c;今天我们实现手写一个防篡改水印&#xff0c;先看下效果图&#xff1a; 一、创建class函数 传递一个dom为水印包裹器&#xff0c;有一些监听防篡改的observer&#xff0c;然后实例化的时候创建水印&#xff0c;执行create()方法 class WaterMa…

概率论得学习和整理26:EXCEL 关于plot 折线图--频度折线图的一些细节

目录 0 折线图有很多 1 频度折线图 1.1 直接用原始数据做的频度折线图 2 将原始数据生成数据透视表 3 这样可以做出了&#xff0c;频度plot 4 做按某字段汇总&#xff0c;成为累计plot分布 5 修改上面显示效果&#xff0c;做成百分比累计plot频度分布 0 折线图有很多 这…

实现echart大屏动画效果及全屏布局错乱解决方式

如何实现echarts动画效果?如何实现表格或多个垂直布局的柱状图自动滚动效果?如何解决tooltip位置超出屏幕问题,如何解决legend文字过长,布局错乱问题?如何处理饼图的中心图片永远居中? 本文将主要解决以上问题,如有错漏,请指正. 一、大屏动画效果 这里的动画效果主要指&…

pytest入门九:feature

fixture是pytest特有的功能&#xff0c;用以在测试执行前和执行后进行必要的准备和清理工作。使用pytest.fixture标识&#xff0c;定义在函数前面。在你编写测试函数的时候&#xff0c;你可以将此函数名称做为传入参数&#xff0c;pytest将会以依赖注入方式&#xff0c;将该函数…

C# 中的闭包

文章目录 前言一、闭包的基本概念二、匿名函数中的闭包1、定义和使用匿名函数2、匿名函数捕获外部变量3、闭包的生命周期 三、Lambda 表达式中的闭包1、定义和使用 Lambda 表达式2、Lambda 表达式捕获外部变量3、闭包的作用域 四、闭包的应用场景1、事件处理2、异步编程3、迭代…

ChatGPT客户端安装教程(附下载链接)

用惯了各类AI的我们发现每天打开网页还挺不习惯和麻烦&#xff0c;突然发现客户端上架了&#xff0c;懂摸鱼的人都知道这里面的道行有多深&#xff0c;话不多说&#xff0c;开整&#xff01; 以下是ChatGPT客户端的详细安装教程&#xff0c;适用于Windows和Mac系统&#xff1a…

GRE over IPSec 如何应用?如何在ensp上配置GRE over IPSec 实验?

GRE over IPSec应用场景 IPSec VPN本端设备无法感知对端有几个设备 &#xff0c;本端共用一个IPSec SA 。报文封装中没有对端设备的下一跳 &#xff0c;所以无法传输组播、广播和非IP报文 &#xff0c;比如OSPF协议 &#xff0c;导致分支与总部的内部网络之间无法使用OSPF路由…