网站建设公司 岗位/成都网站推广经理

网站建设公司 岗位,成都网站推广经理,网络营销策略4p4c,wordpress fourteenAMBA-CHI协议详解(一)- Introduction AMBA-CHI协议详解(二)- Channel fields / Read transactions AMBA-CHI协议详解(三)- Write transactions AMBA-CHI协议详解(四)- Other transac…

在这里插入图片描述

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
AMBA-CHI协议详解(十三)- Read transactions and Cache line states
AMBA-CHI协议详解(十四)- Dataless transactions
AMBA-CHI协议详解(十五)- Write transactions
AMBA-CHI协议详解(十六)- Combined Write/Atomic transactions
AMBA-CHI协议详解(十七)- Snoop request types
AMBA-CHI协议详解(十八)- Response types
AMBA-CHI协议详解(十九)- Cache state transitions at a Requester
AMBA-CHI协议详解(二十)- Cache state transitions at a Snoopee
AMBA-CHI协议详解(二十一)- Hazard conditions
AMBA-CHI协议详解(二十二)- Read transaction flows
AMBA-CHI协议详解(二十三)- Dataless transaction flows
AMBA-CHI协议详解(二十四)- Write transaction flows/Atomic transaction flows
AMBA-CHI协议详解(二十五)- Stash transaction flows/Hazard handling examples

文章目录

    • 5.5 Stash transaction flows
      • 5.5.1 Write with Stash hint
      • 5.5.2 Independent Stash request
    • 5.6 Hazard handling examples
      • 5.6.1 CopyBack-Snoop hazard at RN-F
      • 5.6.2 Request hazard at HN-F
      • 5.6.3 Read - CopyBack or Dataless - CopyBack hazard at HN-F
      • 5.6.4 HN-F race hazard: Request and CompAck


5.5 Stash transaction flows

本节展示了Stash transaction的示例互连协议流程:

5.5.1 Write with Stash hint

图中显示了带Data Pull的WriteUniqueStash事务流程的示例。
在这里插入图片描述

  1. 请求节点向 HN-F 发送一个WriteUniqueFullStash请求,stash目标标识为 RN-F1(由StashNID指示)。
    通常,请求的请求节点是 RN-I。
  2. HN-F 向 RN-F1 发送 SnpMakeInvalidStash,并向 RN-F2 发送 SnpUnique。
  3. RN-F1 和 RN-F2 向 HN-F 发送 SnpResp 响应。RN-F1 的窥探响应还包括一个读取请求,即Data Pull。
  4. HN-F 将 RN-F1 的读取请求视为ReadUnique,并向 RN-F1 发送合并的 CompData。
    CompData 响应包括请求节点写入的数据。
  5. RN-F1 向 HN-F 发送 CompAck 以完成读取事务。

5.5.2 Independent Stash request

下图显示了一个带有Data Pull事务流的 StashOnce 示例。
在这里插入图片描述

  1. 请求节点向 HN-F 发送 StashOnceShared 请求,stash目标标识为 RN-F1。
  2. HN-F在为接收到的请求建立处理顺序后发送Comp响应,以确保在向稍后从任何请求者收到的同一地址请求之前处理该请求。
  3. HN-F 向 RN-F1 发送 SnpStashShared 侦听请求,并向 SN-F 发送ReadNoSnp以获取数据。
  4. RN-F1 向 HN-F 发送 SnpResp_I_Read 响应。
  5. HN-F 将来自 RN-F1 的读取请求视为 ReadNotSharedDirty,并向 RN-F1 发送合并的 CompData。
  6. RN-F1 向 HN-F 发送 CompAck 以完成读取事务。

5.6 Hazard handling examples

本节展示了如何在请求者处处理 CopyBack-Snoop 请求的Hazard条件(冲突),以及如何在 HN-F 处处理各种请求和Snoop请求的Hazard条件。

5.6.1 CopyBack-Snoop hazard at RN-F

下图显示了一个对RN-F的Snoop请求,该请求在时间C处Hazard了一个待处理的CopyBack请求。
在这里插入图片描述

  1. 在时间C:
    • SnpShared事务忽略了该Hazard并读取了缓存行数据。
    • 缓存行状态从UD更改为SC。
  2. 在时间D:
    • CopyBack的CompDBIDResp被发送到RN-F0。
    • RN-F0返回一个CopyBackWrData_SC响应。
    • 缓存行状态从SC更改为I。
    数据在一致性方面是clean的,不需要发送到互连以确保正确的功能。
    然而,协议要求CopyBack流程在snoop hazard的情况下保持一致。
    WriteData响应中的缓存行状态为SC,因为在发送WriteData响应时缓存行的状态就是SC。

注意:
• 对于与未完成的Evict发生冲突的Snoop请求,可以接收到的响应必须是SnpResp_I。
• 在对同一地址的Snoop请求的Snoop响应待处理时,唯一可以接收到的CopyBack请求的响应是RetryAck。这包括数据(如果适用)。

下图展示了一个Snoop请求与未完成的CopyBack请求发生冲突的进一步示例。 在这个示例中,Snoop请求是由于来自RN-F1的ReadOnce请求生成的SnpOnce请求。SnpOnce请求接收到带有Snoop响应的数据副本,但不改变缓存行状态。
在这里插入图片描述

5.6.2 Request hazard at HN-F

如果对同一缓存行的多个请求在 HN-F 处理,则 HN-F 可以以任意顺序选择下一个请求。 例外情况是当两个请求有排序要求并且来自同一来源时,必须要保证顺序。

下图展示了一个示例,其中一个ReadShared和一个ReadUnique针对同一缓存行,几乎同时到达HN-F。
在这里插入图片描述

  1. 在时间A:
    • 来自RN-F0的ReadUnique到达,并对来自RN-F2的ReadShared请求造成hazard,而HN-F已经发送了嗅探请求。
    • ReadUnique的处理在HN-F处被阻塞。
  2. 在时间B:
    • HN-F已完成来自RN-F2的ReadShared事务请求。
    • ReadShared事务被视为完成,HN-F解除对来自RN-F0的ReadUnique事务请求的阻塞。
    除了ReadNoSnp,如果图中显示的两个事务被任何读取请求类型或无数据请求类型替换,则流程类似:
    • 当以下两个条件都为真时,未使用 DMT 或 DCT 或分离的 Comp 和数据响应的读取事务请求在 HN-F 处完成:
    — 所有 CompData 已发送,并且(如适用)已收到 CompAck。 仅对在原始请求消息中断言 ExpCompAck 的事务要求 CompAck。
    — 如果需要,内存更新已完成。

5.6.3 Read - CopyBack or Dataless - CopyBack hazard at HN-F

在 HN-F 处,Read or Dataless请求与 CopyBack 请求之间的hazard 处理方式类似上面描述的Read-Read hazard

下图显示了在大约相同时间到达 HN-F 的ReadShared和WriteBack对同一缓存行的情况。
在这里插入图片描述

  1. 在时间A:
    • WriteBack在HN-F处遇到hazard条件。hazard的原因是一个已经在进行中的ReadShared事务。
    • hazard检测导致WriteBack被阻塞。
    • ReadShared事务接收到带有Snoop响应的数据,并且必须在将数据发送给请求者的同时更新内存。
  2. 在时间B:
    • WriteBack被解除阻塞,因为HN-F已将数据响应发送给请求者,并且为ReadShared事务向内存发送了WriteData响应。
    如果ReadShared请求在HN-F开始处理WriteBack请求后到达HN-F,则ReadShared请求将在WriteBack请求完成之前被阻塞。
    当以下两个条件都为真时,CopyBack请求在HN-F处完成:
    • 收到与CopyBack请求对应的数据消息。
    • 如果必要,内存更新将完成。

5.6.4 HN-F race hazard: Request and CompAck

Completion后,请求可能会静默地将缓存行从缓存中驱逐,并生成另一个对同一地址的请求(即相同的Txnid)。例如:

  1. 重新生成的请求(下图Req2)在与早期Req1请求相关联的 CompAck 响应之前到达 HN-F。
  2. HN-F 检测到地址Hazard,并在收到 CompAck 响应之前阻止新请求的处理。
    在这里插入图片描述

在这种情况下,当 CompAck 响应到达 HN-F 时,它将从 HN-F 中解除分配先前的请求,并解除对新请求处理的阻塞。

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

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

相关文章

Web 小项目: 网页版图书管理系统

目录 最终效果展示 代码 Gitee 地址 1. 引言 2. 留言板 [热身小练习] 2.1 准备工作 - 配置相关 2.2 创建留言表 2.3 创建 Java 类 2.4 定义 Mapper 接口 2.5 controller 2.6 service 3. 图书管理系统 3.1 准备工作 - 配置相关 3.2 创建数据库表 3.2.1 创建用户表…

C语言每日一练——day_7

引言 针对初学者,每日练习几个题,快速上手C语言。第七天。(连续更新中) 采用在线OJ的形式 什么是在线OJ? 在线判题系统(英语:Online Judge,缩写OJ)是一种在编程竞赛中用…

ArcGIS10. 8简介与安装,附下载地址

目录 ArcGIS10.8 1. 概述 2. 组成与功能 3. 10.8 特性 下载链接 安装步骤 1. 安装准备 2. 具体步骤 3.补丁 其他版本安装 ArcGIS10.8 1. 概述 ArcGIS 10.8 是由美国 Esri 公司精心研发的一款功能强大的地理信息系统(GIS)平台。其核心功能在于…

Mac:JMeter 下载+安装+环境配置(图文详细讲解)

📌 下载JMeter 下载地址:https://jmeter.apache.org/download_jmeter.cgi 📌 无需安装 Apache官网下载 JMeter 压缩包,无需安装,下载解压后放到自己指定目录下即可。 按我自己的习惯,我会在用户 jane 目…

【PCB工艺】基础:电子元器件

电子原理图(Schematic Diagram)是电路设计的基础,理解电子元器件和集成电路(IC)的作用,是画好原理图的关键。 本专栏将系统讲解 电子元器件分类、常见 IC、电路设计技巧,帮助你快速掌握电子电路…

nvm 安装某个node.js版本后不能使用或者报错,或不能使用npm的问题

安装了nvm之后发现不能使用某个版本的node.js,报错之后,不能使用npm这个命令。可以这样解决: 1、再node.js官网直接下载node.js 的压缩包。 找到nvm的安装目录 2、直接将文件夹解压到这个安装目录中修改一下名字即可。

【MySQL数据库】多表查询(笛卡尔积现象,联合查询、内连接、左外连接、右外连接、子查询)-通过练习快速掌握法

在DQL的基础查询中,我们已经学过了多表查询的一种:联合查询(union)。本文我们将系统的讲解多表查询。 笛卡尔积现象 首先,我们想要查询emp表和stu表两个表,按照我们之前的知识栈,我们直接使用…

Java:Apache HttpClient中HttpRoute用法的介绍

当使用Apache HttpClient组件时,经常会用到它的连接池组件。典型的代码如下: PoolingHttpClientConnectionManager connectionManager new PoolingHttpClientConnectionManager();connectionManager.setMaxTotal(httpConfig.getMaxPoolTotal());connect…

RHCE(RHCSA复习:npm、dnf、源码安装实验)

七、软件管理 7.1 rpm 安装 7.1.1 挂载 [rootlocalhost ~]# ll /mnt total 0 drwxr-xr-x. 2 root root 6 Oct 27 21:32 hgfs[rootlocalhost ~]# mount /dev/sr0 /mnt #挂载 mount: /mnt: WARNING: source write-protected, mounted read-only. [rootlocalhost ~]# [rootlo…

【css酷炫效果】纯CSS实现故障文字特效

【css酷炫效果】纯CSS实现故障文字特效 缘创作背景html结构css样式完整代码基础版进阶版(3D效果) 效果图 想直接拿走的老板,链接放在这里:https://download.csdn.net/download/u011561335/90492053 缘 创作随缘,不定时更新。 创作背景 刚…

uniapp配置代理解决跨域问题

两种方式: 1、manifest.json中配置 "h5" : {"template" : "static/index.html","devServer" : {"port" : 9090,"https" : false,"proxy":{"/prod-api":{"target":&quo…

物联网为什么用MQTT不用 HTTP 或 UDP?

先来两个代码对比,上传温度数据给服务器。 MQTT代码示例 // MQTT 客户端连接到 MQTT 服务器 mqttClient.connect("mqtt://broker.server.com:8883", clientId) // 订阅特定主题 mqttClient.subscribe("sensor/data", qos1) // …

Flutter:页面滚动,导航栏背景颜色过渡动画

记录:导航默认透明,页面发生滚动后,导航背景色由0-1,过渡到白色背景。 view import package:ducafe_ui_core/ducafe_ui_core.dart; import package:flutter/material.dart; import package:get/get.dart; import package:redo…

批量删除 PPT 空白幻灯片页面

如果我们需要删除 PPT 文档中的空白幻灯片页面,我们可以借助 Office 工具来完成,但是如果是大量的 PPT 文档需要批量删除空白幻灯片页面,那就需要使用专业的批量处理工具来完成,今天就给大家介绍一种批量删除 PPT 空白幻灯片页面的…

【canvas】一键自动布局:如何让流程图节点自动找到最佳位置

一键自动布局:如何让流程图节点自动找到最佳位置 引言 在流程图、拓扑图和系统架构图设计中,节点布局往往是最令人头疼的问题。如果手动调整每个节点位置,不仅耗时费力,还难以保证美观性和一致性。本文将深入解析如何实现自动布…

【平台优化】大数据集群一个客户端参数引起的任务性能差的问题

大数据集群一个客户端参数引起的任务性能差的问题 背景介绍排查过程任务慢的具体原因Executor中数据内存往磁盘溢写结果数据写入分区路径 分析解决方案 结语&思考 背景介绍 随着业务量不断扩大,平台逐步发展成HDFS多联邦的架构,这个过程中&#xff…

uniapp常用组件

写在前面 今天将uniapp中的组件都过了一遍,上手难度不大,但是还是遇到了一些问题: HBuilder实在是太难用,不管是插件生态还是设计之类的,总之就是用的哪哪不顺手虽然打开内置浏览器是挺方便的,但是不知道…

【Linux】应用层自定义协议 + 序列化和反序列化

应用层自定义协议 序列化和反序列化 一.应用层1.再谈 "协议"2.序列化 和 反序列化 二. Jsoncpp1.序列化2.反序列化 三. Tcp全双工 面向字节流四.自定义协议 保证报文的完整性1.Makefile2.Mutex.hpp3.Cond.hpp4.Log.hpp5.Thread.hpp6.ThreadPool.hpp7.Common.hpp8.…

麒麟V10 arm cpu aarch64 下编译 RocketMQ-Client-CPP 2.2.0

国产自主可控服务器需要访问RocketMQ消息队列,最新的CSDK是2020年发布的 rocketmq-client-cpp-2.2.0 这个版本支持TLS模式。 用默认的版本安装遇到一些问题,记录一下。 下载Releases apache/rocketmq-client-cpp GitHubhttps://github.com/apache/roc…

C语言每日一练——day_12(最后一天)

引言 针对初学者,每日练习几个题,快速上手C语言。第十二天。(最后一天,完结散花啦) 采用在线OJ的形式 什么是在线OJ? 在线判题系统(英语:Online Judge,缩写OJ&#xff0…