老秦带你探索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资深验证专家,主持验证架构规划和方法学研究,担任过亿门级通信芯片的验证经理角色。在工程领域之外,他在西安电子科技大学和西安交通大学客座讲授芯片验证课程。著有书籍《芯片验证漫游指南》。
评论
  • 在不断发展的电子元件领域,继电器——作为切换电路的关键设备,正在经历前所未有的技术变革。固态继电器(SSR)和机械继电器之间的争论由来已久。然而,从未来发展的角度来看,固态继电器正逐渐占据上风。本文将从耐用性、速度和能效三个方面,全面剖析固态继电器为何更具优势,并探讨其在行业中的应用与发展趋势。1. 耐用性:经久耐用的设计机械继电器:机械继电器依靠物理触点完成电路切换。然而,随着时间的推移,这些触点因电弧、氧化和材料老化而逐渐磨损,导致其使用寿命有限。因此,它们更适合低频或对切换耐久性要求不高的
    腾恩科技-彭工 2025-01-10 16:15 97浏览
  • 随着全球向绿色能源转型的加速,对高效、可靠和环保元件的需求从未如此强烈。在这种背景下,国产固态继电器(SSR)在实现太阳能逆变器、风力涡轮机和储能系统等关键技术方面发挥着关键作用。本文探讨了绿色能源系统背景下中国固态继电器行业的前景,并强调了2025年的前景。 1.对绿色能源解决方案日益增长的需求绿色能源系统依靠先进的电源管理技术来最大限度地提高效率并最大限度地减少损失。固态继电器以其耐用性、快速开关速度和抗机械磨损而闻名,正日益成为传统机电继电器的首选。可再生能源(尤其是太阳能和风能
    克里雅半导体科技 2025-01-10 16:18 319浏览
  • 电动汽车(EV)正在改变交通运输,为传统内燃机提供更清洁、更高效的替代方案。这种转变的核心是电力电子和能源管理方面的创新,而光耦合器在其中发挥着关键作用。这些不起眼的组件可实现可靠的通信、增强安全性并优化电动汽车系统的性能,使其成为正在进行的革命中不可或缺的一部分。光耦合器,也称为光隔离器,是一种使用光传输电信号的设备。通过隔离高压和低压电路,光耦合器可确保安全性、减少干扰并保持信号完整性。这些特性对于电动汽车至关重要,因为精确控制和安全性至关重要。 光耦合器在电动汽车中的作用1.电池
    腾恩科技-彭工 2025-01-10 16:14 71浏览
  • 根据Global Info Research(环洋市场咨询)项目团队最新调研,预计2030年全球无人机电池和电源产值达到2834百万美元,2024-2030年期间年复合增长率CAGR为10.1%。 无人机电池是为无人机提供动力并使其飞行的关键。无人机使用的电池类型因无人机的大小和型号而异。一些常见的无人机电池类型包括锂聚合物(LiPo)电池、锂离子电池和镍氢(NiMH)电池。锂聚合物电池是最常用的无人机电池类型,因为其能量密度高、设计轻巧。这些电池以输出功率大、飞行时间长而著称。不过,它们需要
    GIRtina 2025-01-13 10:49 164浏览
  • ARMv8-A是ARM公司为满足新需求而重新设计的一个架构,是近20年来ARM架构变动最大的一次。以下是对ARMv8-A的详细介绍: 1. 背景介绍    ARM公司最初并未涉足PC市场,其产品主要针对功耗敏感的移动设备。     随着技术的发展和市场需求的变化,ARM开始扩展到企业设备、服务器等领域,这要求其架构能够支持更大的内存和更复杂的计算任务。 2. 架构特点    ARMv8-A引入了Execution State(执行状
    丙丁先生 2025-01-12 10:30 450浏览
  • 随着数字化的不断推进,LED显示屏行业对4K、8K等超高清画质的需求日益提升。与此同时,Mini及Micro LED技术的日益成熟,推动了间距小于1.2 Pitch的Mini、Micro LED显示屏的快速发展。这类显示屏不仅画质卓越,而且尺寸适中,通常在110至1000英寸之间,非常适合应用于电影院、监控中心、大型会议、以及电影拍摄等多种室内场景。鉴于室内LED显示屏与用户距离较近,因此对于噪音控制、体积小型化、冗余备份能力及电气安全性的要求尤为严格。为满足这一市场需求,开关电源技术推出了专为
    晶台光耦 2025-01-13 10:42 485浏览
  • Snyk 是一家为开发人员提供安全平台的公司,致力于协助他们构建安全的应用程序,并为安全团队提供应对数字世界挑战的工具。以下为 Snyk 如何通过 CircleCI 实现其“交付”使命的案例分析。一、Snyk 的挑战随着客户对安全工具需求的不断增长,Snyk 的开发团队面临多重挑战:加速交付的需求:Snyk 的核心目标是为开发者提供更快、更可靠的安全解决方案,但他们的现有 CI/CD 工具(TravisCI)运行缓慢,无法满足快速开发和部署的要求。扩展能力不足:随着团队规模和代码库的不断扩大,S
    艾体宝IT 2025-01-10 15:52 160浏览
  • 01. 什么是过程能力分析?过程能力研究利用生产过程中初始一批产品的数据,预测制造过程是否能够稳定地生产符合规格的产品。可以把它想象成一种预测。通过历史数据的分析,推断未来是否可以依赖该工艺持续生产高质量产品。客户可能会要求将过程能力研究作为生产件批准程序 (PPAP) 的一部分。这是为了确保制造过程能够持续稳定地生产合格的产品。02. 基本概念在定义制造过程时,目标是确保生产的零件符合上下规格限 (USL 和 LSL)。过程能力衡量制造过程能多大程度上稳定地生产符合规格的产品。核心概念很简单:
    优思学院 2025-01-12 15:43 492浏览
  • PNT、GNSS、GPS均是卫星定位和导航相关领域中的常见缩写词,他们经常会被用到,且在很多情况下会被等同使用或替换使用。我们会把定位导航功能测试叫做PNT性能测试,也会叫做GNSS性能测试。我们会把定位导航终端叫做GNSS模块,也会叫做GPS模块。但是实际上他们之间是有一些重要的区别。伴随着技术发展与越发深入,我们有必要对这三个词汇做以清晰的区分。一、什么是GPS?GPS是Global Positioning System(全球定位系统)的缩写,它是美国建立的全球卫星定位导航系统,是GNSS概
    德思特测试测量 2025-01-13 15:42 463浏览
  • 新年伊始,又到了对去年做总结,对今年做展望的时刻 不知道你在2024年初立的Flag都实现了吗? 2025年对自己又有什么新的期待呢? 2024年注定是不平凡的一年, 一年里我测评了50余块开发板, 写出了很多科普文章, 从一个小小的工作室成长为科工公司。 展望2025年, 中国香河英茂科工, 会继续深耕于,具身机器人、飞行器、物联网等方面的研发, 我觉得,要向未来学习未来, 未来是什么? 是掌握在孩子们生活中的发现,和精历, 把最好的技术带给孩子,
    丙丁先生 2025-01-11 11:35 445浏览
  • 随着通信技术的迅速发展,现代通信设备需要更高效、可靠且紧凑的解决方案来应对日益复杂的系统。中国自主研发和制造的国产接口芯片,正逐渐成为通信设备(从5G基站到工业通信模块)中的重要基石。这些芯片凭借卓越性能、成本效益及灵活性,满足了现代通信基础设施的多样化需求。 1. 接口芯片在通信设备中的关键作用接口芯片作为数据交互的桥梁,是通信设备中不可或缺的核心组件。它们在设备内的各种子系统之间实现无缝数据传输,支持高速数据交换、协议转换和信号调节等功能。无论是5G基站中的数据处理,还是物联网网关
    克里雅半导体科技 2025-01-10 16:20 433浏览
  •   在信号处理过程中,由于信号的时域截断会导致频谱扩展泄露现象。那么导致频谱泄露发生的根本原因是什么?又该采取什么样的改善方法。本文以ADC性能指标的测试场景为例,探讨了对ADC的输出结果进行非周期截断所带来的影响及问题总结。 两个点   为了更好的分析或处理信号,实际应用时需要从频域而非时域的角度观察原信号。但物理意义上只能直接获取信号的时域信息,为了得到信号的频域信息需要利用傅里叶变换这个工具计算出原信号的频谱函数。但对于计算机来说实现这种计算需要面对两个问题: 1.
    TIAN301 2025-01-14 14:15 95浏览
  • 流量传感器是实现对燃气、废气、生活用水、污水、冷却液、石油等各种流体流量精准计量的关键手段。但随着工业自动化、数字化、智能化与低碳化进程的不断加速,采用传统机械式检测方式的流量传感器已不能满足当代流体计量行业对于测量精度、测量范围、使用寿命与维护成本等方面的精细需求。流量传感器的应用场景(部分)超声波流量传感器,是一种利用超声波技术测量流体流量的新型传感器,其主要通过发射超声波信号并接收反射回来的信号,根据超声波在流体中传播的时间、幅度或相位变化等参数,间接计算流体的流量,具有非侵入式测量、高精
    华普微HOPERF 2025-01-13 14:18 460浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦