老秦带你探索CCIX(六)

路科验证 2022-08-23 12:04

3. CCIX协议层

3.9 错误处理

事务错误可以分为两类:

  • 数据错误。用于当访问了正确的地址位置,但在数据中检测到无法纠正的(uncorrectable)错误。通常,这在ECC或奇偶校验检测到数据损坏时使用。
  • 非数据错误。当检测到与数据损坏无关的错误时使用。
 

3.10 数据包头

3.10.1 数据包头

CCIX支持两种数据包头:
  • PCIe兼容的数据包头,遵循PCIe协议规范
  • 优化的数据包头,仅适用于CCIX协议规范
两种格式如下:
 

每个数据包可以包含多条消息。数据包中的每条消息都包含一个MsgLen字段,该字段指示该消息的长度。

NoMessagePack属性用于控制是否支持在一个数据包中打包多条消息。当NoMessagePack属性为True时,发送方只需为每个数据包发送一条消息。当NoMessagePack属性为False时,根据MaxPacketSize参数的限制,允许发送方在每个数据包中打包多条消息。
MaxPacketSize属性用于控制最大数据包大小。这决定了数据包有效负载中的最大字节数,因此也是数据包头中长度字段指示的最大值。MaxPacketSize的值可以是128B,256B,512B。
每个接收接口必须声明NoMessagePack和MaxPacketSize属性,以便软件在系统配置期间可以获取这些信息。


3.11 消息格式

3.11.1 读请求

读请求消息格式:

3.11.2 写请求

写请求消息格式:

3.11.3 无数据响应

无数据响应消息格式:

3.11.4 有数据响应

有数据响应消息格式:

3.11.5 监听

监听消息格式:

3.11.6 杂项消息

Credited杂项消息格式
信用交换消息格式:
NOP消息格式:
协议错误消息格式:


3.11.7 请求链(Request Chaining)

CCIX支持一种请求链机制。如果一个请求是发送到前一个请求的后续地址,允许为这个请求发送一条优化的消息。

3.11.8 监听链(Snoop Chaining)

同样的,CCIX也支持监听链机制。
 

3.11.9 扩展字段

CCIX允许消息包含使用一个或多个消息扩展的附加字段。

3.12 可选特性和参数



3.13 消息路由和代理ID分配

3.13.1 消息路由

对于一条消息,Address或TgtID值决定下一个要去的端口或链路。对于这种路由,地址路由消息使用系统地址映射(System Address Map,SAM),ID路由消息使用ID映射(ID Map,IDM)。监听响应使用的路由表标记为SR-IDM。SR-IDM可以与树拓扑或完全连接拓扑中的IDM相同,但在其他一些拓扑中,如具有维度序路由的网络,SR-IDM的编程方式必须与IDM不同。
对于地址路由消息,是这样的:
  • 在原始RA中,RSAM表用于确定请求是发送到本地目标还是路由到端口
  • 如果是发到端口,通过使用端口SAM(PSAM)确定所使用的链接
  • 到达下一个芯片前,重复该过程,直到请求到达HA所在的芯片

系统中的每个芯片都包括一个64个条目的ID映射表,该表中的每个条目都提供了路由详细信息,以达到适当的代理ID。ID路由独立于代理类型,具有相同代理ID值的所有代理必须位于同一芯片上,并且对这些代理ID的请求响应和监听使用相同的路由。完全连接和树状拓扑中的监听响应也采用相同的路径。
IDM表仅确定正在使用的每个有效代理ID,也就是代理位于芯片本地或用于到达最终代理路由上的下一个芯片的端口/链路。对于远程代理,在到达下一个芯片时,该芯片的IDM表用于确定下一次跳跃(hop),直到最终到达最终目的地。


3.13.2 广播监听路由

对于Broadcast和Broadcast-1监听请求消息,广播转发控制向量(Broadcast Forward Control Vector)与IDM表结合使用,以确定消息应如何传播。
在Broadcast监听路径上的任何一点上,广播监听都可以分为多个监听。转发到另一个出口端口的拆分侦听必须是广播侦听。在Broadcast-1监听路径上的任何一点上,都可以分为多个监听。转发到出口端口的拆分侦听必须最多包括一个Broadcast-1侦听和任意数量的Broadcast Snoop。分割Broadcast或Broadcast-1侦听的点负责收集和合并与接收到的监听请求相对应的所有监听响应。

 

3.13.3 TxnID分配

将TxnID分配给内存和监听请求必须遵循以下规则:
  • 对于内存请求,TxnID对于从单个源到单个点的所有超发请求必须是唯一的
  • 对于Unicast,Broadcast,Broadcast-1,监听TxnID必须是唯一的
参与端口聚合的CCIX端口允许重新映射TxnID。下图显示了聚合端口示例,芯片1上的端口可以重新映射它们发送的请求的TxnID。芯片2上的代理必须保证其通过聚合端口接收到的芯片1的请求的TxnID是唯一。

3.13.4 代理ID

所有代理都使用6-bit的ID字段,分配给某一种代理的ID必须是唯一的,位于同一芯片上的不同类型的代理可以使用相同的ID值,同一ID不得分配给不同芯片上的不同代理类型。
 

3.13.5 目标ID确定

HA根据需要监听的RA的ID发出监听消息。可以根据监听过滤器(Snoop Filter)机制,或者目录(Directory)机制来确定需要监听的RA。
CCIX规范中的三种监听路由类型:
  • Unicast:仅向TgtID字段中指定的代理发送监听。
  • Broadcast:向所有请求代理发送监听。
  • Broadcast-1:向除TgtID字段中指定的请求代理外的所有请求代理发送监听。
  • 代理ID分配总结

下表总结了不同消息类型中SrcID和TgtID分配的规则。


3.14 内存扩展

CCIX规范支持内存扩展。例如一个场景,主代理在一个芯片上,其负责管理的物理内存在另外一个芯片上。这时,HA充当请求者,发出请求并接受响应;而SA充当HA的角色,接受请求并负责返回响应。

关于内存扩展的限制就不展开了。


3.15 端口聚合

CCIX允许在两个芯片之间使用多个并行CCIX链路进行通信。这种连接方式被称为端口聚合,用于单个端口的可用吞吐量不足以满足两个芯片之间通信需求的情况。CCIX支持的可聚合端口数量是2,4,8,16。

使用端口聚合时,以下规则适用于通过可用端口的事务路由:
  • 请求消息和窥探消息根据地址解码进行路由
  • 所有响应必须使用与相关请求相同的CCIX端口。
  • 只有在确定使用同一CCIX链路的情况下,才允许在单个数据包中组合消息
  • 端口聚合路由

  
总结:
CCIX的协议层首先定义了CCIX一致性协议,包括缓存行的状态,状态间的转移,及对应的各种请求和响应事务;并且,对数据包头和消息格式进行了定义,包括各字段及其含义;然后是对CCIX消息路由的规范,消息可以通过地址或者ID路由,两种路由方式分别有各自的限制;最后是内存扩展和端口聚合的说明。
通过这一层,CCIX规范对系统内存扩展,芯片间一致性和数据共享提供了基础框架。
 
【待续】

往期精彩:
老秦带你探索CCIX(一)
老秦带你探索CCIX(二)
老秦带你探索CCIX(三)
老秦带你探索CCIX(四)
老秦带你探索CCIX(五)


路科验证 专注于数字芯片验证的系统思想和前沿工程领域。路桑是Intel资深验证专家,主持验证架构规划和方法学研究,担任过亿门级通信芯片的验证经理角色。在工程领域之外,他在西安电子科技大学和西安交通大学客座讲授芯片验证课程。著有书籍《芯片验证漫游指南》。
评论
  • 铁氧体芯片是一种基于铁氧体磁性材料制成的芯片,在通信、传感器、储能等领域有着广泛的应用。铁氧体磁性材料能够通过外加磁场调控其导电性质和反射性质,因此在信号处理和传感器技术方面有着独特的优势。以下是对半导体划片机在铁氧体划切领域应用的详细阐述: 一、半导体划片机的工作原理与特点半导体划片机是一种使用刀片或通过激光等方式高精度切割被加工物的装置,是半导体后道封测中晶圆切割和WLP切割环节的关键设备。它结合了水气电、空气静压高速主轴、精密机械传动、传感器及自动化控制等先进技术,具有高精度、高
    博捷芯划片机 2024-12-12 09:16 100浏览
  • 天问Block和Mixly是两个不同的编程工具,分别在单片机开发和教育编程领域有各自的应用。以下是对它们的详细比较: 基本定义 天问Block:天问Block是一个基于区块链技术的数字身份验证和数据交换平台。它的目标是为用户提供一个安全、去中心化、可信任的数字身份验证和数据交换解决方案。 Mixly:Mixly是一款由北京师范大学教育学部创客教育实验室开发的图形化编程软件,旨在为初学者提供一个易于学习和使用的Arduino编程环境。 主要功能 天问Block:支持STC全系列8位单片机,32位
    丙丁先生 2024-12-11 13:15 73浏览
  • 习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-12 10:13 65浏览
  • 应用环境与极具挑战性的测试需求在服务器制造领域里,系统整合测试(System Integration Test;SIT)是确保产品质量和性能的关键步骤。随着服务器系统的复杂性不断提升,包括:多种硬件组件、操作系统、虚拟化平台以及各种应用程序和服务的整合,服务器制造商面临着更有挑战性的测试需求。这些挑战主要体现在以下五个方面:1. 硬件和软件的高度整合:现代服务器通常包括多个处理器、内存模块、储存设备和网络接口。这些硬件组件必须与操作系统及应用软件无缝整合。SIT测试可以帮助制造商确保这些不同组件
    百佳泰测试实验室 2024-12-12 17:45 101浏览
  • 首先在gitee上打个广告:ad5d2f3b647444a88b6f7f9555fd681f.mp4 · 丙丁先生/香河英茂工作室中国 - Gitee.com丙丁先生 (mr-bingding) - Gitee.com2024年对我来说是充满挑战和机遇的一年。在这一年里,我不仅进行了多个开发板的测评,还尝试了多种不同的项目和技术。今天,我想分享一下这一年的故事,希望能给大家带来一些启发和乐趣。 年初的时候,我开始对各种开发板进行测评。从STM32WBA55CG到瑞萨、平头哥和平海的开发板,我都
    丙丁先生 2024-12-11 20:14 89浏览
  • RK3506 是瑞芯微推出的MPU产品,芯片制程为22nm,定位于轻量级、低成本解决方案。该MPU具有低功耗、外设接口丰富、实时性高的特点,适合用多种工商业场景。本文将基于RK3506的设计特点,为大家分析其应用场景。RK3506核心板主要分为三个型号,各型号间的区别如下图:​图 1  RK3506核心板处理器型号场景1:显示HMIRK3506核心板显示接口支持RGB、MIPI、QSPI输出,且支持2D图形加速,轻松运行QT、LVGL等GUI,最快3S内开
    万象奥科 2024-12-11 15:42 104浏览
  • 在智能化技术快速发展当下,图像数据的采集与处理逐渐成为自动驾驶、工业等领域的一项关键技术。高质量的图像数据采集与算法集成测试都是确保系统性能和可靠性的关键。随着技术的不断进步,对于图像数据的采集、处理和分析的需求日益增长,这不仅要求我们拥有高性能的相机硬件,还要求我们能够高效地集成和测试各种算法。我们探索了一种多源相机数据采集与算法集成测试方案,能够满足不同应用场景下对图像采集和算法测试的多样化需求,确保数据的准确性和算法的有效性。一、相机组成相机一般由镜头(Lens),图像传感器(Image
    康谋 2024-12-12 09:45 109浏览
  • 近日,搭载紫光展锐W517芯片平台的INMO GO2由影目科技正式推出。作为全球首款专为商务场景设计的智能翻译眼镜,INMO GO2 以“快、准、稳”三大核心优势,突破传统翻译产品局限,为全球商务人士带来高效、自然、稳定的跨语言交流体验。 INMO GO2内置的W517芯片,是紫光展锐4G旗舰级智能穿戴平台,采用四核处理器,具有高性能、低功耗的优势,内置超微高集成技术,采用先进工艺,计算能力相比同档位竞品提升4倍,强大的性能提供更加多样化的应用场景。【视频见P盘链接】 依托“
    紫光展锐 2024-12-11 11:50 83浏览
  • 全球智能电视时代来临这年头若是消费者想随意地从各个通路中选购电视时,不难发现目前市场上的产品都已是具有智能联网功能的智能电视了,可以宣告智能电视的普及时代已到临!Google从2021年开始大力推广Google TV(即原Android TV的升级版),其他各大品牌商也都跟进推出搭载Google TV操作系统的机种,除了Google TV外,LG、Samsung、Panasonic等大厂牌也开发出自家的智能电视平台,可以看出各家业者都一致地看好这块大饼。智能电视的Wi-Fi连线怎么消失了?智能电
    百佳泰测试实验室 2024-12-12 17:33 101浏览
  • 时源芯微——RE超标整机定位与解决详细流程一、 初步测量与问题确认使用专业的电磁辐射测量设备,对整机的辐射发射进行精确测量。确认是否存在RE超标问题,并记录超标频段和幅度。二、电缆检查与处理若存在信号电缆:步骤一:拔掉所有信号电缆,仅保留电源线,再次测量整机的辐射发射。若测量合格:判定问题出在信号电缆上,可能是电缆的共模电流导致。逐一连接信号电缆,每次连接后测量,定位具体哪根电缆或接口导致超标。对问题电缆进行处理,如加共模扼流圈、滤波器,或优化电缆布局和屏蔽。重新连接所有电缆,再次测量
    时源芯微 2024-12-11 17:11 128浏览
  • 本文介绍瑞芯微RK3588主板/开发板Android12系统下,APK签名文件生成方法。触觉智能EVB3588开发板演示,搭载了瑞芯微RK3588芯片,该开发板是核心板加底板设计,音视频接口、通信接口等各类接口一应俱全,可帮助企业提高产品开发效率,缩短上市时间,降低成本和设计风险。工具准备下载Keytool-ImportKeyPair工具在源码:build/target/product/security/系统初始签名文件目录中,将以下三个文件拷贝出来:platform.pem;platform.
    Industio_触觉智能 2024-12-12 10:27 101浏览
  • 习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-11 17:58 99浏览
  • 一、SAE J1939协议概述SAE J1939协议是由美国汽车工程师协会(SAE,Society of Automotive Engineers)定义的一种用于重型车辆和工业设备中的通信协议,主要应用于车辆和设备之间的实时数据交换。J1939基于CAN(Controller Area Network)总线技术,使用29bit的扩展标识符和扩展数据帧,CAN通信速率为250Kbps,用于车载电子控制单元(ECU)之间的通信和控制。小北同学在之前也对J1939协议做过扫盲科普【科普系列】SAE J
    北汇信息 2024-12-11 15:45 125浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦