老秦带你探索CCIX(二)

路科验证 2022-08-01 11:51

正文开始前,闲扯几句。在接下来分析CCIX规范的过程中,大家会发现CCIX里面有太多ARM的影子,尤其是协议层的一致性协议部分,你会看到有很多跟CHI相似的东西。另外,在CCIX规范的底层,基本全是复用和遵循PCIe规范。

说到PCIe,就必须先提一提PCI。PCI是Peripheral Component Interconnect的缩写,它是一种由英特尔公司1991年推出的局部总线标准。最早提出的PCI总线工作在33MHz频率之下,传输带宽达到132MB/s,基本上满足了当时处理器的发展需要。后来,随着对更高性能的要求,不断把PCI 总线的频率提升。 PCI使用共享并行总线架构,其中PCI主机和所有设备共享一组通用的地址,数据和控制线。 这种并行架构天然决定了PCI的时钟频率不可能一直提升。因为随着时钟频率的不断提升,并行总线间的信号干扰(EMI)会越来越严重。所以PCI后期已经不能适应高速发展的数据传输需求。

PCI-Express(Peripheral Component Interconnect express,简称PCIe)应运而生。PCIe是一种高速串行计算机扩展总线标准,它原来的名称为“3GIO”,是由英特尔在2001年提出的,旨在替代旧的PCI,PCI-X和AGP总线标准。PCIe属于高速串行点对点双通道高带宽传输,所连接的设备分配独享通道带宽,不共享总线带宽。它的主要优势就是数据传输速率高。目前,PCIe交由PCI-SIG组织负责维护和发布。市场已经有支持PCIe 5.0标准的控制器和设备,相信不久之后,PCIe 6.0将会大规模商用。

由于PCIe标准极其复杂,本人能力有限,对PCIe标准还处于学习阶段。所以后面跟PCIe相关的部分一带而过,主要介绍一下CCIX独有的部分,重点是规范中的第三章。

如果有小伙伴精通PCIe,还望不吝赐教。

接下来,我们按照CCIX规范的章节过一遍,主要是对规范内容的理解和归纳。CCIX规范本身比较晦涩难懂,而且通篇看下来感觉有一些段落前后顺序有些颠倒。比如我发现有一些概念是先用后解释,造成的后果就是初看前面的时候一头雾水,看到后面的章节才明白前面大概在说啥。如果大家也有类似的感觉,不妨多看几遍。本系列文章中尽量避免这些问题,但是由于本人水平有限,难免会漏掉一些细节或者有理解不准确的地方,请见谅,一切以spec为准。


1.  文档概述

CCIX规范定义了一些术语:

  • Port:端口与物理引脚关联,并有两个子层,CCIX Port和Transport Port。CCIX端口充当来自CCIX设备的CCIX协议层消息的入口(Ingress)和出口(Egress)。传输端口是充当传输层数据包进出网关的控制器。

  • CCIX Link:CCIX链路是一对CCIX端口之间的逻辑连接。

  • PCIe Link:PCIe链路是PCIe端口的物理连接。

  • Transport Link:传输链路是指传输层规范中用于覆盖CCIX协议层的物理链路。

  • CCIX Components:CCIX组件是定义CCIX一致性协议所需的模块。

  • Acceleration Function:加速功能(简称AF)是针对一致性协议的内存访问请求的特定实现源,该协议由CCIX请求代理表示,用于通过CCIX一致性层进行通信,后文中会经常提到AF。

  • CCIX Device:CCIX设备是由一个或多个符合CCIX协议的CCIX组件组成的物理实体。

  • CCIX Agent:CCIX代理,在规范中分为四类,Request Agent(RA),RA是读写事物的源端;Home Agent(HA)负责管理给定地址范围内的一致性和内存访问;Slave Agent(SA),处理HA的事务,扩展系统内存,包括连接到外围设备的存储;Error Agent(EA),接受和处理协议错误消息。

  • CCIX Function Blocks:定义CCIX组件功能所需的构建模块。

  • CCIX Switch:一种CCIX设备,由两个或多个CCIX ports组成,支持端口到端口的转发。

  • Packet:独立路由的数据传输单元。

  • SAM:System Address Map,系统地址映射。

  • G-SAM:Global System Address Map。

  • G-RSAM:Global Request Agent System Address Map。

  • G-HSAM:Global Home Agent System Address Map。

  • RSAM:请求代理视角的SAM。

  • HSAM:主代理视角的SAM。

  • PSAM:端口相关的SAM。

  • EDR:Extended Data Rate,除了PCI Express基本规范定义的标准PHY速度之外的PHY的数据速率。

  • ESM:Extended Speed Mode,ESM是一种允许PCIe链路速度在标准PCIe速度和EDR速度之间转换的机制。

  • CCIX Consortium Identifier(CCID) :CCIX DVSEC结构和CCIX PCIe兼容头协议消息中的16位公共标识符。

  • CCIX Consortium Unique Value(CCUV) :CCIX DVSEC结构和CCIX PCIe兼容头协议消息中的硬件默认16位值。


2. CCIX概述

CCIX规范扩展了处理器-处理器,处理器-内存,处理器-加速器,加速器-加速器之间的数据共享。CCIX允许所有处理实体之间的一组公共虚拟地址(VA)引用所有数据结构。为了实现这些功能,CCIX扩展了共享虚拟内存(Shared Virtual Memory,SVM)模型。

  • 扩展系统内存:CCIX允许将系统内存域扩展到主机连接内存之外。作为系统内存的一部分,主机内存管理器可以选择以与主机内存分配和管理相同的方式,去分配和管理外围连接的内存。因此,通过CCIX内存扩展,主机可以扩展其内存容量和/或支持新的内存技术。主机的外围连接内存视图与多节点主机系统中现有的内存视图一致,即非统一内存访问(NUMA)内存模型。

  • 基于处理器或加速器的应用程序访问模式的软件透明数据移动:CCIX在加速器中支持硬件一致性缓存,并为处理器和加速器访问维护共享数据的一致视图,而无需软件干预。在CCIX系统中,缓存允许根据处理器或加速器的访问模式隐式移动共享数据,以便进一步重复使用或修改,而无需在它们之间迁移或维护多个或修改后的副本。

  • 应用程序管理的数据从主机移动到加速器连接的内存:CCIX使应用程序能够协调从一个内存节点到另一个内存节点的数据移动,而无需任何操作系统协助。这允许数据生产者将数据放在作为数据消费者的计算实体(处理器或加速功能)旁边。

以上所说的这几点构成了主机内存和处理器、外设连接内存和加速器之间无缝数据共享的基础。扩展系统内存没什么好解释的了;CCIX规范支持在多芯片的处理器内核之间共享缓存数据,这种共享是通过一致性协议来完成的,对软件来说是完全透明的;至于应用程序管理数据,我的理解是类似于CHI中的cache stashing。

CCIX标准支持多种拓扑结构:tree,mesh,ring等等。比如下图中的直接连接拓扑:

全连接拓扑:

上一篇中介绍过了CCIX规范的分层架构模型,这里就不再重复了。放张图帮助大家回忆。

每个CCIX端口都与一个传输端口(Transport Port)相关联。传输端口仅限于PCIe端口。CCIX端口负责创建与PCIe兼容的供应商定义消息(VDM)事务层数据包(TLP),或具有优化报头的CCIX数据包。CCIX协议消息在PCIe兼容或优化TLP的有效负载中承载。每个CCIX端口可以与一个或多个CCIX端口通信。

CCIX可以通过选择性地聚合多个CCIX端口,在两个CCIX设备之间实现更高的带宽连接。CCIX体系结构定义了一种跨多个CCIX端口分配内存访问请求和监听的方法,当PCIe用作传输时,每个CCIX端口映射到一个PCIe控制器,以有效地在CCIX代理之间实现更高的带宽。端口聚合(Port Aggregation)通常用于单个端口的可用吞吐量不足以满足两个芯片之间的通信需求的情况。如下图所示,右侧芯片的RA的请求可以通过两个CCIX端口(图中的Port 0和Port 1)发给左侧芯片的HA,达到增加两个芯片数据共享的带宽。

CCIX设备可以作为PCIe设备被主机发现和管理。组件及其功能通过PCIe配置空间中指定的特定供应商的扩展功能(DVSEC)部分被主机识别。CCIX  DVSEC在PCIe配置头的DVSEC供应商ID字段中携带通用CCIX ID(CCID)。CCIX DVSEC定义了功能,还提供了控制和状态字段。

CCIX一致性互连通过标准CCIX驱动程序进行管理。AFs通过供应商提供的驱动程序作为PCIe功能进行管理。CCIX允许加速器连接的内存成为整个系统内存的一部分。然后,内核内存管理器将其作为可分配系统内存进行管理。

CCIX定义了服务器级可靠性、可用性和可维护性(Reliability  Availability Serviceability,RAS)功能集。CCIX的RAS体系结构通过PCI Express基本规范中定义的高级错误报告(Advanced Error Reporting,AER)机制维护PCIe传输错误的报告。与CCIX一致性互连相关的错误通过一个单独的并行机制报告给AER。这个记录和报告协议错误的新机制称为协议错误报告(Protocol ErrorReporting,PER)机制。CCIX设备中的PER错误记录在协议DVSEC中。

CCIX利用PCIe的地址转换服务(Address Translation Service,ATS)标准,允许CCIX设备将虚拟地址(VA)映射到其相关的物理地址(PA),并提供每页的访问控制。CCIX规范要求,所有CCIX设备需要提供以下保证:

  • CCIX设备通过地址转换服务确保来自AFs的所有请求受访问权限控制

  • CCIX设备确保在设备上的固件受信任

CCIX可以使用PCIe标准的消息信令中断(MSI/MSI-X)将事件从加速器发送到主机处理器。在前面讲ARM中断控制器的时候介绍过一些MSI的知识,想了解更多的话,往前翻一翻,或者去看看PCIe的规范。

通过这两次的学习,我们对CCIX的大体轮廓有了一个认识。CCIX是在PCIe规范的基础上发展出来的,在复用了大量PCIe规范的同时添加了CCIX协议层,CCIX链路层和CCIX事务层,并通过这三层定义了缓存一致性协议和所需的CCIX消息,以及消息传递机制。这三层往下就是复用PCIe的分层结构了。另外,CCIX规范扩展了PCIe的物理层数据传输速率。

【待续】


往期精彩:
老秦带你探索CCIX(一)

路科验证 专注于数字芯片验证的系统思想和前沿工程领域。路桑是Intel资深验证专家,主持验证架构规划和方法学研究,担任过亿门级通信芯片的验证经理角色。在工程领域之外,他在西安电子科技大学和西安交通大学客座讲授芯片验证课程。著有书籍《芯片验证漫游指南》。
评论 (0)
  • 文/Leon编辑/cc孙聪颖‍蛇年春晚最有意思的节目,一定非机器人跳舞莫属。就算是遥控或预编程,机器人能够做出如此复杂的动作,在五年前都是不敢想象的事情,其制造商宇树科技也因此火爆全网。就在春节过后不到一个月,会骑自行车的人形机器人诞生了。这背后,是近年来“具身智能”概念的迅猛发展。“我们造了一个跟人一样灵动的机器人!”3月11日,智元机器人联合创始人兼首席技术官彭志辉在微博上说道。在视频中,灵犀X2会骑自行车、能跳《科目三》,还可以与人促膝长谈,甚至拿起葡萄“穿针引线”。在全球人形机器人领域,
    华尔街科技眼 2025-03-17 12:38 113浏览
  • 晨穹电子一家专业从事研发、生产、销售各类传感器为一体的高新科技企业。1 人赞同了该文章在工业4.0、智能家居、新能源汽车等场景中,传感器作为数据采集的核心器件,其抗电磁干扰(EMC)能力直接影响系统可靠性。尤其在5G通信、高功率电机、无线充电等复杂电磁环境下,传感器的信号失真问题愈发突出。本文结合MEMS传感器、物联网(IoT)设备、边缘计算等热度技术,解析提升传感器抗干扰能力的6大策略。 一、电磁干扰对传感器的威胁; 1、电磁干扰(EMI)会导致传感器出现 。2、信号跳变(
    传感器晨穹 2025-03-18 09:28 87浏览
  • 在招聘合适的人才时,清晰度至关重要。想要找到合适的人选,并确保他们在岗位上取得成功,第一步就是明确职位的关键绩效指标(KPI)和预期成果。但光有这些还不够,如何判断候选人是否具备必要的特质?这时,KSA模型就派上用场了。它是一个简单但强大的方法,能帮助你聚焦于真正影响岗位表现的关键要素。今天,我想和你聊聊这个模型,帮你更轻松地为合适的候选人设定合适的KPI。了解KSA模型KSA代表知识(Knowledge)、技能(Skills)和态度(Attitude),是评估候选人是否适合岗位的三个关键维度。
    优思学院 2025-03-18 15:03 78浏览
  • 在制药行业中,生产工艺的精准控制与产品质量安全密切相关。随着制药工业4.0的发展,传感器作为生产流程的"感知器官",在确保合规性、提升效率、降低风险方面发挥着不可替代的作用。本文将以晨穹电子科技(以下简称"晨穹")的压力、温度、流量及液位传感器为例,解析制药厂关键工艺流程中的传感器应用场景及技术要求。一、制药核心工艺流程中的传感器需求1. 原料处理与配液系统液位监测:储罐内原料液位实时监控需使用卫生型液位计。晨穹磁翻板液位计采用316L不锈钢材质,具备CIP/SIP(在线清洗/灭菌)耐受性,符合
    传感器晨穹 2025-03-18 15:51 89浏览
  • 一、问题现象:语音播放异常的典型表现在使用WT588F(E)系列语音芯片的开发过程中,工程师常会遇到以下两类典型异常现象:播放不全:语音仅播放前段内容后突然中断,或特定段落无法触发播放断续:音频输出存在明显卡顿、爆音或波形畸变某智能门锁项目实测数据显示,在首批样机中有2%的设备出现语音提示突然中断的情况,经排查发现电源电压在播放瞬间跌落至2.0V(低于芯片工作阈值)。这类问题的根源往往隐藏于硬件设计与系统协同的细节之中。二、核心机理:电压稳定性对语音芯片的影响2.1 电源系统的动态响应特性WT5
    广州唯创电子 2025-03-17 09:18 130浏览
  • 失效模式与影响分析(FMEA)失效模式与影响分析(FMEA)是一种系统方法,用于识别和分析系统或过程中的潜在失效,广泛应用于工程和制造领域,以提高产品可靠性和安全性。最新标准由 2019 年发布的 AIAG-VDA FMEA 手册(第一版) 定义,该手册结合了美国和欧洲汽车行业的最佳实践,并引入了 七步法,确保分析全面且结构化。图:优思学院六西格玛新版 FMEA 失效分析的七个步骤1. 规划与准备确定 FMEA 研究的 范围、边界和目标。组建跨职能团队(设
    优思学院 2025-03-17 14:43 117浏览
  • 近期,据全球物联网市场调研机构IoT Analytics公布数据显示,2025年全球物联网设备连接数预计将突破200亿,同比增长约14%,物联网技术正以稳定上升态势向工业自动化、智慧城市、智慧农业与智慧家居等领域纵深推进。在多样化的应用场景和复杂环境需求的驱动下,物联网无线通信技术的运行功耗、传输距离和频段兼容性正受到前所未有的关注。为增加物联网通信模块的配置灵活度,消除物联网设备的“连接焦虑”,华普微重磅推出了一款自主研发的超低功耗、可兼容Sub-GHz与2.4GHz 双频段的高性能LoRa
    华普微HOPERF 2025-03-18 15:43 73浏览
  •        在工业视觉检测线上,一台搭载传统图像传感器的机器人因高温导致图像噪点激增,误将合格零件判定为瑕疵品,每小时损失超10万元;在深夜的安防监控画面中,模糊的噪点让犯罪分子身影难以识别,导致案件侦破延迟—— 噪声,已成为图像传感器行业的“无声杀手”。据Yole统计,全球约35%的工业检测误差源于传感器噪声干扰,而安防场景下60%的有效信息因低照度噪点丢失。传统方案试图通过单一优化像素或电路来降噪,却陷入“按下葫芦浮起瓢”的困境。  &nb
    中科领创 2025-03-18 10:24 52浏览
  • 在工业4.0与智能制造深度融合的今天,设备实时性、稳定性和成本效益成为企业核心竞争力的关键。触觉智能将基于RK3506平台,分享工业应用方案,本期为大家带来DSMC串行接口在数控行业的应用。DSMC技术解析底层架构突破双倍数据速率:通过上升沿与下降沿双重触发机制,实现单周期内2倍数据吞吐量,较传统SPI接口效率提升300%。多通道并行:支持8线/16线位宽可配置模式,满足多轴协同场景下的同步通信需求。性能实测标杆超低延迟:FPGA互联场景下,写延时小于75ns,读延时小于260ns,相比PCIe
    Industio_触觉智能 2025-03-18 11:46 58浏览
  • 随着汽车行业逐步迈向电气化和电池动力,位置传感器以及其他长期在车辆中被忽视但却至关重要的小型元器件正逐渐成为关注的焦点。某些电子元器件常常吸引大量关注,例如如今用于训练AI模型的强大GPU几乎每天都出现在新闻中。而其他元器件则默默地执行着重要但鲜为人知的功能。艾迈斯欧司朗一些历史悠久的产品线便隶属于后者,其中包括磁性和电感式位置传感器、电容式传感器和电池监控芯片。工业泵和风扇等产品的制造商利用位置传感器实现电动机高效平稳运行。在车辆的方向盘中安装电容传感器可以保障安全,它可以用于在辅助驾驶模式下
    艾迈斯欧司朗 2025-03-17 22:22 76浏览
  • 新兴的个人健康监测技术为何在医疗场景和日常生活中越来越受到青睐?为了准确回答这个关键问题,我们首先需要理解三个全球性趋势:如今,几乎人手一部智能手机,这等于随身携带了一台高性能计算机、一个全天候运行的智能医疗传感器中心,还有一块显示屏。发达工业国家的人口正在迅速老龄化,而老年群体的疾病发病率较高。与此同时,年轻人也比过去更加关注如何延长健康寿命。这些人群以及服务他们的医务人员可以利用新技术来优化生活方式,合理调控运动、饮食、睡眠和压力等关键因素,帮助他们作出更健康的生活选择。如摩尔定律所预言,半
    艾迈斯欧司朗 2025-03-17 21:50 82浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦