CHI协议(2)

文章详细解释了CHI协议的层次结构,特别是协议层的交易分类,包括读、写、维护等操作。讨论了交易在系统节点间的路由过程,涉及NodeID和SystemAddressMap的作用,以及CHI中通道的概念,展示了数据如何在处理器、ICN及设备间通过通道传输。下周将深入探讨其他问题。
摘要由CSDN通过智能技术生成

在前面介绍了一些基本概念,接下来具体看看。我们再来回顾一下CHI的分层,协议层(protocol)、网络层(network)和链路层(link)。在协议层,通信是基于transaction;在网络层,基于packet;链路层,基于flit。

先来看看协议层的transaction,可以分为以下几类(CHI.D):

Read

  • ReadNoSnp, ReadNoSnpSep

  • ReadOnce

  • ReadOnceCleanInvalid

  • ReadOnceMakeInvalid

  • ReadClean

  • ReadNotSharedDirty

  • ReadShared

  • ReadUnique

Dataless

  • CleanUnique

  • MakeUnique

  • Evict

  • StashOnceUnique

  • StashOnceShared

  • CleanShared

  • CleanSharedPersist

  • CleanSharedPersistSep

  • CleanInvalid

  • MakeInvalid

Write

  • WriteNoSnpPtl, WriteNoSnpFull

  • WriteUniquePtl, WriteUniqueFull

  • WriteUniquePtlStash, WriteUniqueFullStash

  • WriteBackPtl, WriteBackFull

  • WriteCleanFull

  • WriteEvictFull

Atomic

  • AtomicStore

  • AtomicLoad

  • AtomicSwap

  • AtomicCompare

Snoop

  • SnpOnceFwd

  • SnpOnce

  • SnpStashUnique

  • SnpStashShared

  • SnpCleanFwd

  • SnpClean

  • SnpNotSharedDirtyFwd

  • SnpNotSharedDirty

  • SnpSharedFwd

  • SnpShared

  • SnpUniqueFwd

  • SnpUnique

  • SnpUniqueStash

  • SnpCleanShared

  • SnpCleanInvalid

  • SnpMakeInvalid

  • SnpMakeInvalidStash

  • SnpDVMOp

Other

  • DVMOp

  • PrefetchTgt

  • PCrdReturn 

看着挺多的,我们现在不需要全都记住,只记住分为几大类就好了。等到讲CHI一致性协议时还会提及。

现在我们知道了,一个RN会产生transaction(read,write,maintenance)给HN;HN接收,并对RN发来的请求进行排序,产生transaction给SN;SN接收这些请求,返回数据或者响应。

问题来了,transaction如何在系统中的节点间路由呢?首先,CHI协议规定,系统中的每个节点必须有一个节点号(Node ID)。系统中的每个RN和HN内部要有一个系统地址映射(System Address Map,以后简称SAM),负责把地址转换成目标节点的ID。也就是说,RN的SAM负责把物理地址转换成HN的ID;而HN的SAM需要把物理地址转换成SN的ID。看下图的一个简单例子:

图片

  • RN0根据内部的SAM知道要把请求发给HN0(TgtID是HN0,SrcID是RN0);

  • HN0在通过内部的SAM知道要继续发给SN0(ReturnNID是RN0);

  • SN0接收请求,返回数据(HomeNID是HN0,TgtID从HN0的ReturnNID而来);

  • RN0接收到SN0的数据响应,返回CompAck给HN以结束此次transaction(TgtID是HN0,从HomeNID而来)。

如果考虑到remap和retry,会复杂一点,感兴趣的去看spec的3.4章节(我只分析简单的情况,哈哈)。

SAM必须可以对系统的全部地址空间进行解码。CHI协议建议,对于没有相应物理组件的地址访问,都发送给一个agent,该agent可以对这些无用地址的访问提供恰当的error响应。SAM的结构和格式是由具体实现决定的,在CHI协议中并没有规定SAM实现方式。每一个连接到ICN端口的组件都会被分配一个node ID,用于标识ICN上packets路由的源节点和目的节点。一个端口可以有多个node ID,但是一个node ID只能分配给一个端口,通俗点讲就是这个ID必须是唯一的,路由的时候不能有歧义。CHI协议支持的NodeID字段宽度在7~11bits之间,由具体实现决定,且一个系统中所有组件的NodeID字段宽度必须一样,至于每个组件的NodeID值也是由具体实现决定的。

解决了节点间路由的问题,那么节点间是怎么传输的呢?我们知道在AXI和ACE协议中,处理器和ICN,或者ICN与从设备之间的数据传输是通过通道(channel)完成的,同样在CHI中也有通道的概念。

图片

CHI的通道,有收/发两个方向,在发送方向上,有三个通道分别是REQ,WDAT和SRSP;在接收方向上也是三个通道,分别是CRSP,RDAT和SNP。对于SN来说,因为不需要支持snoop操作,所以减少了SRSP和SNP。

图片

图片

图片

图片

  • REQ通道上:read/write command,cache maintenance,DVM request

  • SNP通道上:snoop command,DVM operation

  • DAT通道上:read/write data,snoop response,read response

  • RSP通道上:write/maintenance/completion response,dataless snoop response …

现在,transaction通信的基本问题已经解决,下周我们再来看其它的问题吧。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值