【CHI】(三)网络层

news2024/11/23 6:22:57

网络层负责确定目标节点的NodeID。本章包含以下部分:

  • 系统地址映射,SAM
  • 节点ID
  • 目标ID确定
  • 网络层flow示例

1. System address map

        系统中每个Requester(包括RN和HN)必须有一个System Address Map(SAM)来决定一个request的target ID。SAM的范围可能只是简单的为所有发送的requests提供一个固定的node ID。SAM具体的结构和格式是由具体实现决定的。

        SAM必须可以对全地址空间进行解码,CHI协议建议所有没有对应物理组件的地址都应该分配个一个agent代理,该agent可以对这些无用地址的访问提供恰当的error响应。

2. Node ID

        每一个连接到总线Port的组件都会被分配一个node ID,用于标识ICN上packets包路由的源节点和目的节点。一个Port可以有多个node IDs,但是一个node ID只能分配给一个Port,即ID唯一。 CHI协议支持的NodeID位宽为7~11bits,由具体实现决定,但是一个系统中所有组件的NodeID位宽必须一致,至于每个组件的NodeID值也是由具体实现决定的。

3. Target ID determination

本节描述对于不同的message types,如何决定target ID。包含以下部分:

  • Request messages的Target ID的确定
  • Response messages的Target ID的确定
  • Snoop request messages的Target ID的确定

3.1 Request messages的Target ID的确定

        为了对RN的request的TgtID进行映射,CHI协议要求SAM逻辑应该在RN或ICN中实现。如果在ICN中,ICN可能会对RN发送的Request packet的TgtID进行重新映射。

Request message的TgtID使用SAM由以下行为决定:

1.非PCrdRetrun:

  • 如果请求没有使用预分配的信用证credit,,那么TgtID的决定方式是:

——DVMOp操作用单独方式决定;

——除了DVM操作的其它request是由address来决定。但是PrefetchTgt相对于其它请求有不同的地址映射方式,对于RN发出同地址的两笔请求,PrefetchTgt总是指向SN,其它request总是指向HN;

  • 如果请求使用预分配的信用证credit,那么请求的TgtID是由RetryAck的SrcID决定的,即原始请求的TgtID。

2.对于PCrdRetrun:

  • RN发送该命令的TgtID必须等于PCrdGrant中提供的SrcID。

        从RN发送的transactions,除了PrefetchTgt是发往SN-F,CHI协议期望Snoopable transaction发往HN-F,Non-snoopable transaction发往HN-I或HN-F。当然Snoopable transaction也可以发往HN-I,但这样可能会导致error,比如软件编程错误。在这种情况下,HN-I仍需要对符合协议的行为返回响应,但这样会导致一致性无法保证。

        HN上也可能使用SAM逻辑来对每一笔request进行映射决定发往哪个SN。

3.2 Response messages的Target ID的确定

     组件在收到message后需要回Response packets,Response packets的TgtID是由收到message的SrcID、HomeNID、ReturnNID、FwdNID中的一个决定的。下表为对于Response message中每个Response packet的TgtID和接收到的message的决定TgtID的域之间的关系:

  

3.3 Snoop Request messages的Target ID的确定

     Snoop request没有包含TgtID,协议没有定义snoop request的TgtID,是由实现具体实现确定。

4. Network layer flow examples

本小结举几个简单的网络层传输transaction flow例子。包含以下内容:

  • Simple flow
  • Flow with interconnect based SAM
  • Flow with interconnect based SAM and Retry request

4.1 Simple flow

图3-1为一个简单的transaction flow,描述了requests和responses的TgtID是如何决定的。

 

在图3-1中,不需要重新映射的TgtID分配的步骤是:

  1. RN0使用内部SAM向HN0发送一个TgtID的RN0请求。——ICN不会重新映射节点ID。
  2. HN0查找内部SAM以确定目标SN节点。
  3. SN0接收该请求并发送一个数据响应。——数据响应包具有来自请求ReturnNID的TgtID。
  4. RN0接收来自SN0的数据响应。
  5. 如果需要,RN0发送一个CompAck响应,其TgtID来自数据响应包中的HomeNID,以完成事务。

4.2 Flow with interconnect based SAM

        图3-2为在ICN上发生对请求的TgtID进行重映射的传输场景,重映射只发生在请求的TgtID上,transaction flow的其它packet的TgtID和simple flow类似,不需要remap:

 

在图3-2中,使用重映射逻辑进行TgtID分配的步骤如下:

  1. RN0使用内部SAM向RN0发送TgtID为HN0的RN0的请求。
  2. ICN会将请求TgtID从HN0重新映射到HN1。SrcID仍然设置为原始请求程序RN0。
  3. HN1查找内部SAM以确定目标SN节点。ReturnNID被设置为匹配原始请求程序RN0。
  4. SN0接收该请求并发送一个数据响应。——数据响应包具有来自请求ReturnNID的TgtID,并将HomeNID设置为匹配重新映射的主节点。
  5. RN0接收来自SN0的数据响应。
  6. 如有必要,RN0发送来自数据响应包中HN1的HomeNID,以完成事务。

4.3 Flow with interconnect based SAM and Retry request

图3-3为请求被retry的情况:

上图中重新映射TgtID且请求被retry步骤如下:

  1. 互连将RN0提供的TgtID重新映射到HN1。
  2. 请求接收RetryAck响应。——RetryAck和PCrdGrant响应从接收到的请求中的SrcID中获取TgtID信息。
  3. 一旦同时收到RetryAck和PCrdGrant响应,RN0将重新发送该请求。——retry请求中的TgtID与接收到的重新尝试请求中的SrcID或原始请求中的TgtID相同。TgtID必须再次通过重映射逻辑()。
  4. 事务流的其余部分中的数据包以基于互连的SAM的流类似的方式获得TgtID。

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

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

相关文章

【Spring】深入探索 Spring AOP:概念、使用与实现原理解析

文章目录 前言一、初识 Spring AOP1.1 什么是 AOP1.2 什么是 Spring AOP 二、AOP 的核心概念2.1 切面(Aspect)2.2 切点(Pointcut)2.3 通知(Advice)2.4 连接点(Join Point) 三、Sprin…

Android复习(Android基础-四大组件)——Broadcast

1. 广播分类 广播的发送方式:标准广播、有序广播、粘性广播广播的类型:系统广播、本地广播 1.1 标准广播 完全异步,无序的广播发出后,所有的广播接收器几乎都会在同一时间收到消息。(异步)但是消息无法截…

科技云报道:算力之战,英伟达再度释放AI“炸弹”

科技云报道原创。 近日,在计算机图形学顶会SIGGRAPH 2023现场,英伟达再度释放深夜“炸弹”,大模型专用芯片迎来升级版本。 英伟达在会上发布了新一代GH200 Grace Hopper平台,该平台依托于搭载全球首款搭载HBM3e处理器的新型Grac…

Java并发之ReentrantLock

AQS AQS(AbstractQueuedSynchronizer):抽象队列同步器,是一种用来构建锁和同步器的框架。在是JUC下一个重要的并发类,例如:ReentrantLock、Semaphore、CountDownLatch、LimitLatch等并发都是由AQS衍生出来…

ElementUI的MessageBox的按钮置灰且不可点击

// this.$confirmthis.$alert(这是一段内容, 标题名称, {confirmButtonText: 确定,confirmButtonCLass: confirmButton,beforeClose: (action,instance,done) > {if (action confirm) {return false} else {done()}});}.confirmButton {background: #ccc !important;cursor…

淘宝API接口的实时数据和缓存数据区别

电商API接口实时数据是指通过API接口获取到的与电商相关的实时数据。这些数据可以包括商品库存、订单状态、销售额、用户活跃度等信息。 通过电商API接口,可以实时获取到电商平台上的各种数据,这些数据可以帮助企业或开发者做出及时的决策和分析。例如&…

16.3.1 【Linux】程序的观察

既然程序这么重要,那么我们如何查阅系统上面正在运行当中的程序呢?利用静态的 ps 或者是动态的 top,还能以 pstree 来查阅程序树之间的关系。 ps :将某个时间点的程序运行情况撷取下来 仅观察自己的 bash 相关程序: p…

安达发APS|APS排产软件之计划甘特图

在当今全球化和竞争激烈的市场环境下,制造业企业面临着巨大的压力,如何在保证产品质量、降低成本以及满足客户需求的同时,提高生产效率和竞争力成为企业需要迫切解决的问题。在这个背景下,生产计划的制定和执行显得尤为重要。然而…

Spring Boot 集成 XXL-JOB 任务调度平台

一、下载xxl-job并使用。 二、将xxl-job集成到springboot里 一、 下载xxl-job并使用。 这一步没完成的请参考这个博客&#xff1a;http://t.csdn.cn/lsp4r 二、将xxl-job集成到springboot里 1、引入依赖 <dependency><groupId>org.springframework.boot</group…

单模光纤模场强度分布以及高斯近似的MATLAB仿真

已知纤芯半径5um&#xff0c;数值孔径NA 0.1&#xff0c;波长 用波长和数值孔径计算归一化常数V 之前我们在单模光纤特征方程及其MATLAB数值求解中&#xff0c;用线性关系拟合过V和W&#xff0c;这里直接用拟合结果 U用V和W计算 clc clear close alla 5e-6;%纤芯半径 NA …

ssm+vue小型企业办公自动化系统源码和论文PPT

ssmvue小型企业办公自动化系统源码和论文PPT013 开发工具&#xff1a;idea 数据库mysql5.7(mysql5.7最佳) 数据库链接工具&#xff1a;navcat,小海豚等 开发技术&#xff1a;java ssm tomcat8.5 摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xf…

Web服务器项目一

文章目录 是什么HTTP协议——应用层协议服务器基本框架两种高效的处理模式线程池 是什么 Web服务器是一个服务器软件程序&#xff0c;主要功能是通过HTTP协议与客户端&#xff08;通常是浏览器Browser)进行通信&#xff0c;来接收&#xff0c;存储&#xff0c;处理来自客户端的…

npm run xxx 的时候发生了什么?(以npm run dev举例说明)

文章目录 一、去package.json寻找scripts对应的命令二、去node_modules寻找vue-cli-service三、从package-lock.json获取.bin的软链接1. bin目录下的那些软连接存在于项目最外层的package-lock.json文件中。2.vue-cli-service文件的作用3.npm install 的作用 总结 一、去packag…

java springboot驾校管理系统

开发技术&#xff1a; SpringBootspringmvcMybitis-Puls mysql5.x html ajax数据交互 开发工具&#xff1a; idea或eclipse jdk1.8 maven (1) 管理员登陆 (2) 所有学员信息列表查询 &#xff08;3&#xff09;所有学生考试信息 &#xff08;4&#xff09;学员…

Datawhale Django入门组队学习Task01

Task01 一.创建虚拟环境 python -m venv django_learn &#xff08;django_learn那里是自己定的环境名字&#xff09; 之前一直用conda管理虚拟环境&#xff0c;没咋用过virtualenv&#xff0c;然后我的powershell之前也设置了默认启动了base环境&#xff0c;然后输入activat…

目标检测(Object Detection)

文章目录 1. 目标检测1.1 目标检测简要概述及名词解释1.2 IOU1.3 TP TN FP FN1.4 precision&#xff08;精确度&#xff09;和recall&#xff08;召回率&#xff09; 2. 边框回归Bounding-Box regression3. Faster R-CNN3.1 Faster-RCNN&#xff1a;conv layer3.2 Faster-RCNN&…

如何搭建个人邮件服务hmailserver并实现远程发送邮件

文章目录 1. 安装hMailServer2. 设置hMailServer3. 客户端安装添加账号4. 测试发送邮件5. 安装cpolar6. 创建公网地址7. 测试远程发送邮件8. 固定连接公网地址9. 测试固定远程地址发送邮件 hMailServer 是一个邮件服务器,通过它我们可以搭建自己的邮件服务,通过cpolar内网映射工…

Destination Host Unreachable

背景&#xff1a;物理机的IP地址是192.168.31.189&#xff0c;虚拟机的IP地址是192.168.194.130 物理机ping得通虚拟机 虚拟机ping得通外网 可是虚拟机ping不通物理机 1、报错信息 Destination Host Unreachable 2、原因 用route -n命令查看路由表发现192.168.194.0没有走网…

设计HTML5图像和多媒体

在网页中的文本信息直观、明了&#xff0c;而多媒体信息更富内涵和视觉冲击力。恰当使用不同类型的多媒体可以展示个性&#xff0c;突出重点&#xff0c;吸引用户。在HTML5之前&#xff0c;需要借助插件为网页添加多媒体&#xff0c;如Adobe Flash Player、苹果的QuickTime等。…