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

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

3天内不再提示

CCIX规范的简单介绍

路科验证 来源:路科验证 作者:路科验证 2022-07-21 14:35 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

简介

CCIX是一种能够将两个或两个以上器件通过缓存一致性的方式来共享数据的芯片间互联技术。CCIX旨在简化异构系统的架构设计,同时基于不同指令集(ISA)的处理器或应用特定的加速器提升系统的带宽、降低时延。为此,多家公司联合成立了一家新的行业标准机构—CCIX联盟,以推动CCIX技术的应用。如今,CCIX联盟逐渐发展壮大。

对于芯片互联网络,有两个指标是至关重要的:带宽和延时。CCIX 采用两种机制来提高性能、降低延时。第一种机制是采用缓存一致性,自动保持处理器和加速器的缓存一致,提升易用性、降低延时。第二种机制是提高CCIX 链路的原始带宽。最高的连接速率升至25GT/s (千兆传输/秒)。同时,CCIX 规范也规定了多个CCIX 端口可以通过端口聚合(Port Aggregation)技术,提供超过单个接口的性能,匹配加速器和内存扩展带宽。

CCIX 架构采用的是基于PCIe基本架构扩展的分层架构。CCIX 协议规范包含CCIX 协议层和CCIX链路层。这些层规定缓存一致性协议、报文发送、流量控制和CCIX 传输部分的协议。CCIX 传输规范包含CCIX 和PCIe事务层,PCIe 数据链路层,和CCIX 物理层。这些层负责器件间的物理连接,包括速率和带宽协商,传输包错误检测和重试,和初始包编码协议。

df72c56a-08a9-11ed-ba43-dac502259ad0.png

CCIX 协议层(CCIX Protocol Layer),负责一致性协议,包括内存的读/写。这一层提供了片上(On Chip)一致性协议(例如AMBA CHI)的简单映射。这一层定义的缓存状态使得硬件能够确定内存的状态。比如硬件可以确定数据是否唯一且未被修改(和内存一致),或是共享且被修改的(和内存不一致)。

CCIX 链路层(CCIX Link Layer),负责CCIX 协议层定义的代理(Agent)之间消息的传输格式。目前CCIX 链路层是构建在PCIe 之上,但是基于分层架构,CCIX 将来可以映射到不同的传输层。此外,这一层负责端口聚合(Port Aggregation),使得多个端口能够聚合在一起提升带宽。

CCIX 和PCIe 事务层(CCIX and PCIe Transaction Layer),负责处理它们各自的数据包。PCIe 协议支持部署虚拟通道,使得不同数据流可以通过一个PCIe 链路。将CCIX 和PCIe 传输流各分到一个虚拟通道,CCIX和PCIe 传输可以共享相同的链路。CCIX 能够传输标准的PCIe 包,或经过优化的CCIX 包(删减了PCIe 包里的几个不必要的字段)。传输标准的PCIe 包时,可以采用现有的PCIe 交换器。传输经过优化的CCIX 包,能降低PCIe的额外开销,使得一致性传输的包更小、更高效。

PCIe数据链路层,执行数据链路层的所有正常功能。这些功能包括CRC错误校验、包确认和超时检查,和信用初始化及交换。

CCIX/PCIe物理层的基础是PCIe 物理层。CCIX 扩展了物理层来支持25GT/S(千兆传输/秒)。这个较快的速率称为扩展速率模式(Extended Speed Mode,ESM)。

简单分析完CCIX分层结构,再来看CCIX的拓朴结构。CCIX 能够支持多种灵活的拓扑结构,如下图。

df9bb8f8-08a9-11ed-ba43-dac502259ad0.png

所有的CCIX器件至少有一个CCIX端口。一个CCIX端口可以关联一组物理管脚,用于和另一个CCIX 端口连接,在两个或多个不同芯片间交互信息。

dfb99404-08a9-11ed-ba43-dac502259ad0.png

CCIX定义的代理类型包括:请求代理(RA)、主代理(HA)、从代理(SA)和错误代理(EA)。这些代理,和系统里的端口及链接统称CCIX 组件。一个代理在协议中用一个代理ID 来标识。

请求代理(Request Agent):一个请求代理对系统内的不同地址进行读、写操作。请求代理可以对它已经访问的地址的数据进行缓存。每个CCIX 请求代理可以有一个或多个处理单元(Processing Element)作为内部请求的发起者,请求由一个CCIX 架构的请求代理执行。根本上说CCIX 请求代理提供了加速器或CCIX 使能的IO 主设备向一致性系统内存的接口。

主代理(Home Agent):主代理负责管理指定的一段地址的数据一致性。当一个缓存行的状态需要改变时,主代理通过向所需的请求代理发出监听操作来保持一致性。

从代理(Slave Agent):CCIX 支持扩展系统内存,来包含外设所附的内存。这种情形出现在主代理在一个芯片上,而这个主代理关联的一些或全部物理内存在另一个芯片上时。这种架构组件(扩展内存)称为从代理。从代理不会被请求代理直接访问。请求代理总是访问一个主代理,然后主代理再访问从代理。

错误代理(Error Agent):一个错误代理接收并处理协议错误信息。协议错误信息由CCIX 组件发出。

CCIX 的一个关键优势,是它能支持主设备和加速器间通过采用无驱动的数据移动方式共享数据。而传统的PCIe 加速器需要驱动对加速器写入和读出数据,这增加了延时和计算开销。采用无驱动的数据移动方式,CCIX 还可以将系统内存扩展至主设备的内存之外。基于CCIX,每个支持CCIX 的设备的行为与现有NUMA操作系统中的节点类似。这种基于内存的方法利用了现有的操作系统功能。在这种模式下,用来共享的所有数据结构都放在处理器和加速器都可访问的共享内存里。这种数据共享模型可以消除加速器特定的控制与管理驱动,允许加速器资源由一个中心调度器安排的长时间运行的任务来调用。这个调度器可以是操作系统调度程序的一部分,或者是和操作系统调度程序协同。

以上是对CCIX规范的简单介绍,后面我们开始逐步分析CCIX规范。

审核编辑 :李倩

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

    关注

    2

    文章

    841

    浏览量

    40244
  • 架构
    +关注

    关注

    1

    文章

    537

    浏览量

    26644

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    简单好用的轮毂气密性检测仪介绍-岳信仪器

    汽车轮毂的气密性直接关系到行车安全,一旦存在微小泄漏,会导致胎压异常、增加爆胎风险,因此气密性检测是轮毂生产和维修中的关键环节。今天为大家介绍一款简单好用的轮毂气密性检测仪,无需专业操作经验,轻松
    的头像 发表于 03-19 15:03 205次阅读
    <b class='flag-5'>简单</b>好用的轮毂气密性检测仪<b class='flag-5'>介绍</b>-岳信仪器

    联合电子引领汽车变速器控制器领域规范发展

    当全球汽车产业迎来电动化、智能化、网联化、共享化的深刻变革,“标准”早已不再是简单的技术规范,而是决定企业竞争力、彰显国家产业实力的核心关键。
    的头像 发表于 03-02 14:21 540次阅读

    Altera FPGA的Avalon MM总线接口规范介绍

    Avalon总线是一种协议较为简单的片内总线,主要用于连接片内处理器与外设,以构成片上可编程系统(SOPC)。使用Avalon接口能够轻松连接Intel FPGA中的各个组件,从而简化了系统
    的头像 发表于 01-29 16:43 9970次阅读
    Altera FPGA的Avalon MM总线接口<b class='flag-5'>规范</b><b class='flag-5'>介绍</b>

    电气接线规范详解

    电气接线是电力系统、工业设备及民用建筑中不可或缺的基础环节,其规范性和安全性直接关系到设备运行稳定性和人身财产安全。以下从基本原则、常见类型、操作规范及安全注意事项四个方面,系统阐述电气接线的核心
    的头像 发表于 01-18 07:41 1041次阅读

    简单的内联汇编介绍

    这次主要学习了使用内联汇编完成一些较为简单的操作。我们思考接下来在程序中插入跳转指令来实现一些想要实现的操作以及对自行设计的硬件进行操作。
    发表于 10-30 08:04

    NICE端口相关信号简单介绍与配置

    以下对自定义指令情况下的NICE各个端口配置进行详细介绍。 由于NICE模块的输入端口由CPU发送相关信号,因此仅对NICE返回给CPU的端口进行介绍。 NICE返回给CPU的端口分为返回给
    发表于 10-30 07:57

    【综述】工作总有规范——测试执行和bug

    关于测试工作的规范,上次讨论了用例部分。本次将继续聊下测试执行期间的规范标准,是主要需要测试执行人员关注的部分。【测试执行】测试执行规范或标准,主要是为了确保测试人员“在正确的环境做正确的验证
    的头像 发表于 10-24 10:04 534次阅读
    【综述】工作总有<b class='flag-5'>规范</b>——测试执行和bug

    Montgomery模乘介绍

    Montgomery模乘介绍 Montgomery 模乘算法是最有效的大整数模乘算法之一它的一个显著特点是消除了mod n 的除法运算。Montgomery 算法的基本思想是计算 ,设n为k比特
    发表于 10-22 07:35

    PCIe 8.0规范开发更新!

    电子发烧友网综合报道,近日,PCI-SIG宣布PCI Express 8.0规范的Version 0.3 版本已获得工作组批准,现已向PCI-SIG 会员开放。这标志着PCIe 8.0 规范完成
    的头像 发表于 09-25 09:21 6276次阅读
    PCIe 8.0<b class='flag-5'>规范</b>开发更新!

    风华电阻器命名规范解析

    在电子制造与维修领域,电阻器作为最基本的电子元器件之一,其命名规范对于元器件的选型、采购、库存管理以及应用都具有重要意义。风华电阻器作为国内知名的电阻器品牌,其命名规范遵循一定的行业标准和内部规则
    的头像 发表于 09-22 15:22 1031次阅读
    风华电阻器命名<b class='flag-5'>规范</b>解析

    睿远研究院丨IO-Link规范解读(一):技术定义与组织规范

      IO-Link 技术定义与组织规范 从今日起,小睿将开始长篇连载IO-Link规范解读系列文章,帮助大家理解和熟悉IO-Link规范,并把IO-Link技术应用到自己的产品中去。这一篇主要
    的头像 发表于 09-18 18:17 1294次阅读
    睿远研究院丨IO-Link<b class='flag-5'>规范</b>解读(一):技术定义与组织<b class='flag-5'>规范</b>

    一个简单的串联电池组充放电实验

    文章介绍了电池充放电中的数据采集并简单阶段了电池容量
    的头像 发表于 07-03 14:41 1854次阅读
    一个<b class='flag-5'>简单</b>的串联电池组充放电实验

    技术资讯 I 面向初级工程师的 PCB 设计规范

    工程师和电路板设计新手而言,掌握PCB设计规范至关重要。本文将深入解析常见的PCB设计规范和制造商要求,并概括介绍PCB设计规范中的关键基础知识。线距和线宽是实现
    的头像 发表于 06-13 16:28 1815次阅读
    技术资讯 I 面向初级工程师的 PCB 设计<b class='flag-5'>规范</b>

    PCB设计中的焊盘命名规范

    1.焊盘命名规范 获取完整文档资料可下载附件哦!!!!如果内容有帮助可以关注、点赞、评论支持一下哦~
    发表于 05-29 16:01

    为什么你拿着《规范》,却不会“设计”?

    硬件规范很多,但是很多朋友拿着《规范》仍然不会进行设计。 1、不知道先后关系,规范之间优先级搞不清。 规范是 “碎片化结论”,设计是 “系统化决策”
    发表于 04-28 16:21