老秦带你探索CCIX(七)

路科验证 2022-09-09 12:04

4. CCIX传输层

开篇中提过,CCIX可以看作两个主要规范,分别是CCIX协议规范和CCIX传输规范。

CCIX 协议规范包含CCIX 协议层和CCIX链接层。这些层规定缓存一致性协议、报文发送、流控和CCIX 传输部分的协议。这正是第三章中的内容。

CCIX 传输规范包含CCIX 和PCIe事务层,PCIe 数据链路层,和CCIX 物理层。这些层负责器件间的物理连接,包括速率和带宽协商,传输包错误检测和重试,和初始包编码协议。这是第四章的主要内容。

开始学习这章之前,再来复习一下CCIX的分层架构。

从图中可以看出,在CCIX传输规范中,除了添加了CCIX事务层,作为对PCIe事务层的扩展或者替换,而其它各层均遵循复用PCIe标准。按惯例,我们重点看看CCIX事务层,其它部分略过。

4.1 介绍

CCIX规范中使用数据包在CCIX链路层(CCIX Link Layer)和CCIX事务层(CCIX Transaction Layer)之间传递信息。

CCIX传输层(Transport Layer)分为两个部分:一个处理出站(Outbound)信息,另一个处理入站(Inbound)信息。

CCIX使用数据包在CCIX链路层和CCIX事务层之间传递信息。在发送端,当传输的数据包在事务层(Transaction Layer)、数据链路层(Link Layer)和物理层(Physical Layer)中向下游流动时,它们被扩展,需要加上在这些层处理数据包所需的附加信息。在接收端,发生相反的过程,包从其物理层传输到数据链路层,最后转换为可由接收设备的事务层处理的形式。

这也是分层架构的基本理念,每一层各司其职,只负责处理本层的任务。在传输端,各层把上一层的数据做为本层的负载,加上本层所需的信息,传输给下一层;在接收端,各层把本层所需要的信息剥离出来,并进行处理,然后把其余的数据传输给上一层。通过分层架构,可以很好的对规范进行划分,从而简化设计。

4.1.1 CCIX事务层

CCIX规范定义了自己的事务层,替换了PCIe的事务层,或者说CCIX事务层是一个简化的PCIe事务层,其中仅支持以下的事务层数据包(Transaction Layer Packets,后面简称TLPs):

  • 优化的TLP

  • PCIe兼容的TLP

CCIX事务层的主要职责是组装和拆分TLP。

  • 在接收路径上,CCIX事务层在将TLP转发到CCIX链路层之前,检查TLP的完整性。

  • 对于PCIe兼容的TLP,PCIe基本规范中规定的PCIe事务层检查适用。

  • 对于优化的TLP,指定了一组新的CCIX事务层检查。

CCIX事务层还负责用基于信用的流量控制方式去管理CCIX TLP。在接收路径上,为通过数据完整性检查,并转发到协议层的CCIX TLP返回已发布的流控制信用。在发送路径上,实现了一个信用门(credit gate),以基于可用的发布信用控制CCIX TLP的流量。

4.1.2 PCIe事务层

CCIX规范不修改PCIe事务层。

4.1.3 PCIe数据链路层

CCIX规范不修改PCIe数据链路层,而是按原样使用它。PCIe数据链路层充当PCIe和CCIX事务以及CCIX物理层之间的中间层。数据链路层的主要职责包括链路管理和数据完整性,包括错误检测和错误纠正。

4.1.4 CCIX物理层

CCIX物理层以特定于实现的格式与PCIe数据链路层交换数据包信息。该层负责将从PCIe数据链路层接收的数据包信息转换为适当的序列化格式,并以与连接到链路另一侧的设备兼容的数据速率和PCIe宽度在CCIX链路上传输。

CCIX物理层定义了两种物理层类型。CCIX组件只需要支持其中一种:

  • PCIe PHY:这种PHY类型符合PCIe基本规范

  • 扩展数据速率(Extended Data Rate,EDR):这种PHY类型支持PCIe基本规范的所有要求,具有16.0 GT/s的能力,并将支持的数据速率扩展到20.0 GT/s和25.0 GT/s。

 

4.2 事务层

4.2.1 CCIX事务层架构

CCIX事务层中至少要有一个PCIe虚拟通道(Virtual Channel,VC),也就是VC0,用来交换PCIe TLP。

CCIX事务层还应该有一个CCIX虚拟通道(CCIX VC),用来交换CCIX TLP,但不能是VC0。

4.2.2 事务层协议 – 数据包定义

CCIX事务层必须支持PCIe兼容的TLP,可以选择支持优化的TLP。

PCIe兼容TLP的格式如下:

  • 消息路由字段必须设置为010b–按ID路由。

  • 所有CCIX TLP的供应商ID字段等于CCID。

  • PCIe兼容TLP的总长度大于4 DW。因此,TLP Fmt字段为011b。Length[9:0]是供应商定义消息的负载中DW总数

  • 上图TLP头中DW3和数据负载格式在第三章中定义

优化的TLP格式,且须遵循的规则:

  • 优化的TLP要求是4-byte对齐,且4-byte增量

  • 优化的TLP由1 DW TLP头部分和最多可包含127 DW的TLP有效载荷部分组成。

  • 字节0的第7位始终为0b

  • Type[0]字段指示CCIX硬件规范版本,目前只有1.0版本

  • TC [2:0]字段,Traffic Class,流量分类

  • Length[6:0]是负载包含的DW数目

CCIX允许在一个TLP中打包两个或多个协议消息,从而使协议消息传输的开销最小化。只有当所有协议消息都具有公共CCIX链路时,才支持打包协议消息。对于CCIX事务层来说,打包的消息看起来仍然像一个带负载的TLP。多协议消息的信息在CCIX链路层内编码/解码,对事务层透明。

 所有CCIX设备都需要支持CCIXVC的PCIe兼容TLP格式。只有当链路两端都支持优化TLP格式功能时,才可以在CCIX VC上交换优化的TLP。

在PCIe设备发现(discovery)过程中,可以通过读取DVSEC寄存器来判断是否支持CCIX。

4.2.3 CCIX虚拟通道

在正常工作条件下,CCIX VC将仅发送和接收CCIX TLP。CCIX VC为CCIXTLP实现了一个先进先出(FIFO)队列。CCIX VC应当规定一个posted流量控制信用值。这样,设计时FIFO队列的大小就可以确定了。

CCIX VC还应当规定一个non-posted流量控制信用值。CCIX VC上一般预计不会有non-posted TLPs,但是一旦接收到这些TLP,就需要一些资源处理他们。

插播一段,Non-posted(非转发)事务和Posted(转发)事务都是PCIe TLP(事务层包)类型。Non-posted事务分为两个部分,首先是发送端向接收端发送TLP请求,接收端接收到请求完成后向发送端发送完成TLPNon-posted事务必须等待接收到完成TLPPCIe总线才能结束当前的TLPPostedTLP不需要完成TLP返回,此种方式中,TLP还没达到最终目的地之前,PCIe总线就可以结束当前的事务。

4.2.4 接收到的TLP的处理

CCIX事务层接收到的TLP处理流程如下图:

从数据链路层接收到TLP后,先通过TC[2:0]判断是分发给PCIe虚拟通道还是CCIX虚拟通道。

补充一点,TC 是数据包的头内的一个3-bit的字段。用来将流量分成8种(TC0-TC7)不同的类别,本地应用软件和系统软件根据性能要求确定某个TLP使用什么样的TC标志。虚拟通道是物理缓冲区,它通过使用发送和接收虚拟信道缓冲区,提供一种在链路上实现多个独立数据流的方法。PCIe设备可以实现最多8个VC缓冲区(VC0-VC7)。并且必须要实现 VC0,即最通用的服务类别。设备或交换器需要实现TC/VC映射逻辑,通过该逻辑形成对应关系,把给定的TC号的TLP使用特定的VC号的缓冲区通过链路发送出去。多个TC可以对应一个VC,因而可以使用有限数目的VC缓冲区来降低设备成本。系统软件通过配置寄存器设置 TC/VC 的映射。应用软件确定TLP的TC标志以及设置满足性能要求的TC/VC的映射关系。最简单的情况可以将 TC/VC 映射寄存器设置为TC到VC的一对一关系。

CCIX事务层的行为由寄存器TransactionLayerControl(这个寄存器在第六章DVSEC中描述)的比特位OptimizedTLPGenerationReceptionRoutingEnable来控制。如果这个比特位被设定(set),发送方以优化的TLP格式生成CCIXTLP,传输路径中的交换机和接收方接受优化的TLP,所有接收方都将拒绝PCIe兼容的TLP。如果这个比特位被清除(clear),发送方以PCIe兼容TLP格式生成CCIX TLP,传输路径中的交换机和接收方接受PCIe兼容TLP,所有接收方都将拒绝优化的TLP。

4.2.5 事务排序规则

CCIX事务层应遵循PCIe基本规范中对事务排序的所有要求。在正常工作条件下,CCIX VC将仅发送和接收PCIe兼容的TLP或优化的TLP。

4.2.6 虚拟通道机制

CCIX事务层应遵循PCIe基本规范中对虚拟通道机制的所有要求。VC机制不区分PCIe VC和CCIXVC。后面有时间再分析PCIe的VC机制。

4.2.7 事务层流量控制

CCIX事务层应遵循PCIe基本规范中对流量控制的所有要求,除去那些仅适用于CCIX VC行为的异常。

4.2.8 数据完整性

CCIX事务层应遵循PCIe基本规范中对数据中毒(Data Poisoning)机制的所有要求。优化的TLP格式不支持PCIe数据中毒机制。

CCIX事务层应遵循PCIe基本规范中关于基于端到端CRC(End-to-End CRC)的数据完整性机制的所有要求。优化的TLP格式不支持ECRC机制。

4.2.9 完成超时机制

CCIX事务层应遵循PCIe基本规范中对完成超时(Completion Timeout)机制的所有要求。

4.2.10 链接状态依赖

CCIX事务层应遵循PCIe基本规范中对链接状态依赖(Link Status Dependencies)机制的所有要求。


4.3 CCIX数据链路层

是不是叫PCIe数据链路层更为合适?


4.4 CCIX物理层逻辑块

4.4.1 介绍

物理层分为逻辑子块和电气子块。CCIX传输规范扩展了PCIe基本规范中规定的逻辑和电气子块。

4.4.2 CCIX逻辑子模块

CCIX物理层支持16.0 GT/s,20.0 GT/s和25.0 GT/s的传输速率。

支持扩展数据速率的CCIX设备可以通过控制ESMControl.ESMEnable比特位(从0变成1),来进入扩展速率模式(Extended Speed Mode,ESM)。

 4.4.3 重定时器

关于PCIe Retimer,随着PCIe协议的不断升级,频率越来越高,对数据在线路中的传输长度提出了强烈挑战。为了解决这一问题,PCIe协议在4.0版本种提出了Retimer。Retimer实际上是一种协议感知设备,能更好地将信号传输到更远。

 

总结:CCIX 传输规范包含CCIX事务层和PCIe 事务层,PCIe 数据链路层,和CCIX 物理层。这些层负责器件间的物理连接,包括速率和带宽协商,传输包错误检测和重试,和初始包编码协议。除去CCIX事务层,其它层均遵循PCIe标准。


【待续】



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


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