0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CCIX协议层详解

路科验证 来源:老秦谈芯 作者:老秦谈芯 2022-08-03 14:12 次阅读

3. CCIX协议层

3.1 介绍

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

186e462c-12e2-11ed-ba43-dac502259ad0.png

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

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

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

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

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

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

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

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

将从代理分配给主代理。

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

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

3.2 消息字段

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

18a77be0-12e2-11ed-ba43-dac502259ad0.png

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

18bff6fc-12e2-11ed-ba43-dac502259ad0.png

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

18d20b62-12e2-11ed-ba43-dac502259ad0.png

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

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

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

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

18f63d34-12e2-11ed-ba43-dac502259ad0.png

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

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

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

1908cd14-12e2-11ed-ba43-dac502259ad0.png

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]指明了存储类型,编码如下。

191d2cf0-12e2-11ed-ba43-dac502259ad0.png

19363e48-12e2-11ed-ba43-dac502259ad0.png

User:用户定义的字段。

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

BE:Byte Enable,字节使能。

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

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

195c80d0-12e2-11ed-ba43-dac502259ad0.png

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

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

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

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

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

当DataRet有效时:

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

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

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

今天先到这里吧,内容不多,但是有点杂乱。接下来会讲到CCIX的一致性协议,内容会比较多 最后附上两篇旧文,帮助大家理解ReqAttr[2:0]中的存储类型。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 通信
    +关注

    关注

    18

    文章

    5703

    浏览量

    134373
  • 交换机
    +关注

    关注

    19

    文章

    2435

    浏览量

    95634

原文标题:老秦带你探索CCIX(三)

文章出处:【微信号:Rocker-IC,微信公众号:路科验证】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    LwIP协议栈源码详解

    LwIP协议栈源码详解
    发表于 08-20 23:17

    CANOPEN协议详解

    CANOPEN协议详解
    发表于 09-20 16:00

    一文弄懂CCIX协议

    3. CCIX协议3.1 介绍每个CCIX代理都有一个ID,通过ID进行消息路由。每个CCIX端口可以与一个或多个其他
    发表于 06-08 17:23

    CCIX 1.1设备必须支持PCIe 5.0 PHY或CCIX EDR PHY这两种物理

    必须符合下面表中的定义。传输DVSEC包含CCIX物理、数据链路层和事务的控制和状态寄存器(Control and Status Register,CSR)。协议DVSEC包含
    发表于 08-16 15:45

    tcp ip协议详解卷一

    tcp ip协议详解卷一:《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个
    发表于 05-19 12:02 711次下载

    Modbus_通讯协议详解

    Modbus_通讯协议详解,Modbus_通讯协议详解
    发表于 12-08 14:13 0次下载

    CCIX协议对于一些高性能应用详解

    用于加速器的缓存一致互联协议CCIX)是指由一家新的行业标准机构 – CCIX联盟 -- 开发的一组规范。CCIX的驱动因素是需要比当前可用技术更快的互连,并且需要缓存一致性,以便在
    发表于 11-15 11:14 1.3w次阅读
    <b class='flag-5'>CCIX</b><b class='flag-5'>协议</b>对于一些高性能应用<b class='flag-5'>详解</b>

    FreeSwitch的sip协议协议详解.pdf

    FreeSwitch的sip协议协议详解.pdf
    发表于 12-30 11:28 3次下载

    一文详细了解CCIX规范

    正文开始前,闲扯几句。在接下来分析CCIX规范的过程中,大家会发现CCIX里面有太多ARM的影子,尤其是协议层的一致性协议部分,你会看到有很多跟CHI相似的东西。另外,在
    的头像 发表于 06-23 09:20 1487次阅读

    CCIX协议层消息字段的含义

    每个CCIX代理都有一个ID,通过ID进行消息路由。
    的头像 发表于 06-28 17:22 1065次阅读

    一文详解CCIX规范

    正文开始前,闲扯几句。在接下来分析CCIX规范的过程中,大家会发现CCIX里面有太多ARM的影子,尤其是协议层的一致性协议部分,你会看到有很多跟CHI相似的东西。另外,在
    的头像 发表于 08-01 14:01 1533次阅读

    CCIX传输层详解

    开篇中提过,CCIX可以看作两个主要规范,分别是CCIX协议规范和CCIX传输规范。
    的头像 发表于 08-09 11:39 1211次阅读

    CCIX物理层详解

    CCIX 1.1设备必须支持两种物理层中的一种:PCIe 5.0 PHY,或者是CCIX EDR PHY。
    的头像 发表于 08-15 11:12 1719次阅读

    CCIX协议详解

    全一致性读事务,包括:ReadUnique,ReadClean, ReadNotSharedDirty,ReadShared。其事务流程如下图。
    的头像 发表于 08-17 09:39 1019次阅读

    CCIX传输层详解

    开篇中提过,CCIX可以看作两个主要规范,分别是CCIX协议规范和CCIX传输规范。
    的头像 发表于 09-09 13:01 1043次阅读