首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CCIX(三)

3. CCIX协议层

3.1 介绍

每个CCIX代理都有一个ID,通过ID进行消息路由。

每个CCIX端口可以与一个或多个其他CCIX端口通信。CCIX交换机(Switch)包括CCIX端口并支持CCIX链路。CCIX链路定义为两个CCIX端口之间的(逻辑)连接,具有专用的通信资源。

一个CCIX系统在正常工作前,需要主机通过发现(discovery)和枚举(enumeration)机制去初始化,CCIX规范并没有额外规定这个机制,完全遵守PCIe规范。

发现过程需要完成以下动作:

发现系统中存在的每个芯片。

发现系统中存在的所有传输交换机(transport switches),包括支持协议的嵌入式和独立式交换机。

发现在系统中每个芯片上的所有代理。

对于每个主代理,发现在系统地址映射中其所需的地址范围的大小。

对于每个从代理,发现从属代理可以提供给另一个芯片上的主代理的地址范围的大小。

枚举过程需要完成以下动作:

确定系统的拓扑结构和适当的路由算法。

将从代理分配给主代理。

确定主代理和从代理的全局系统地址映射(G-RSAM和G-HSAM)。

确定整个系统的代理ID分配。

3.2 消息字段

前面讲过,在CCIX链路层和CCIX事务层之间,是通过CCIX消息来进行通信的。CCIX消息可以分为几类,请求消息,监听消息和响应消息。下图是请求消息的所有字段(Field)。如果是128B的缓存行,“注释列”标明了所需的额外要求。另外,表的底部列出了请求消息中包含数据时所需的其它字段。

下图是监听消息的所有字段。

下图是响应消息的所有字段。

接下来,我们看看这些CCIX消息中每个字段的具体含义是什么。

TgtID: 目标标识(Target Identifier),6-bit宽度。

SrcID: 源标识(Source Identifier),6-bit宽度。

MsgLen:消息长度,6-bit宽度,以4字节增量的方式标识消息的长度,例如下表显示,消息最长116字节,最短4字节。

MsgCredit:用于标识消息信用是否传递给CCIX链路的发送方。后面会解释什么是信用。

Ext:如果设置为1,表示包含4B扩展。

MsgType:标识有效负载中的消息类型,4-bit宽度,编码含义如下表。

QoS:Quality of Service,服务质量优先级别。QoS主要用于主控制器和内存控制器事务调度;只有请求具有QoS字段;QoS设置不应影响功能正确性;QoS字段没有必要的行为要求,然而预期的默认行为是QoS的上升值表示更高的优先级。

TxnID: 事务标识(Transaction Identifier),12-bit宽度(对于128B的缓存行,只需11-bit)。

ReqOp,SnpOp, RespOp:指定要执行的操作,Opcode编码对于每种消息类型是不同的。

Addr:指定与消息相关的地址,允许的地址大小由AddrWidth属性定义。

NonSec:标识是对非安全区域的访问。

ReqAttr:请求属性,包括有关请求数据大小、内存属性、监听属性以及事务排序要求信息。ReqAttr[6:4]指明数据大小,合法的数据长度可以是1B,2B,4B,8B,16B,32B,128B;ReqAttr[2:0]指明了存储类型,编码如下。

User:用户定义的字段。

Data:写数据或者读响应数据。

BE:Byte Enable,字节使能。

Posion:指示对应的8-byte块是否有未更正的错误。

SnpCast:标识单独监听的代理,其编码如下表。

RespAttr:响应属性。在Comp响应中,此字段不用,必须设置为0;在CompData响应中,此字段指示响应接收器可以设置的缓存状态;在监听响应中,此字段指明在被监听端(snoopee)的一致性缓存状态。

DataRet:指示是否要将数据返回到主代理。当DataRet被置无效时,对于除SnpMakeI之外的所有监听:

要求返回“脏”缓存行的数据。

建议(但不是必需的)不为唯一的干净缓存行返回数据。

要求不为共享“干净”缓存行返回数据。

当DataRet有效时:

要求返回“脏”缓存行的数据。

建议为唯一的“干净”缓存行返回数据,但不是必需的。

要求不为共享“干净”缓存行返回数据。

今天先到这里吧,内容不多,但是有点杂乱。接下来会讲到CCIX的一致性协议,内容会比较多

【待续】

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230222A001R700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券