CXL 2.0 Device配置空间寄存器组成

2023-10-27

目录

1 配置空间

1.1 PCI Power Management Capability Structure

1.2 PCI Express Capability Structure

2 扩展配置空间

2.1 Virtual Channel Extended Capability

2.2 PCIe DVSEC for CXL Device

2.3 GPF DVSEC for CXL Devices

2.4 PCIe DVSEC for Flex Bus Port

2.5 Register Locator DVSEC


由于CXL协议基于PCIe协议,因此CXL配置空间大小、布局与PCIe相同。

CXL 2.0 Device配置空间一共4KB,由配置空间(0x000~0x0FF)和扩展配置空间(0x100~0xFFF)组成,如下所示。

  • 配置空间,通常由Header和若干个Capability组成;
  • 扩展配置空间,通常由若干个扩展Capability组成。

1 配置空间

CXL 2.0 Device属于EndPoint,因此Header类型为Type0,Header长度固定为64B。

在Offset:0x00~0x3F,表示Type0 Header,如下所示:

在Offset:0x40~0xFF,表示Device具备的Capabilities。这里仅列出对于所有Device来说,必须具备的Capability,如下所示:

  • PCI Power Management Capability Structure
  • PCI Express Capability Structure

1.1 PCI Power Management Capability Structure

PCI Power Management Capability寄存器对于PCI总线来说是可选的,但是对于PCIe总线来说则是强制的。此Capability占用8B,如下所示:

1.2 PCI Express Capability Structure

PCI Express Capability Structure占用60B,如下所示:

 但是以上这些寄存器, 仅有红框标注的寄存器才是每个设备必须具备的,它们主要包括:Device Capabilities、Device Status、Device Control等。

对于Devices with Links,还需要具备Link系列寄存器,这些寄存器,对于每个Device来说并不是必须的,属于可选。

2 扩展配置空间

 扩展配置空间中的Extended Capability总是从偏移量0x100开始,并且每个Extended Capability带有一个 PCI Express Extended Capability header。如果没有任何Extended Capability,则其Next Capability为0。

PCI Express Extended Capability header,占用4B,如下所示:

 在Offset:0x100~0xFFF,表示Device具备的Extended Capabilities。这里仅列出对于所有Device来说,必须具备的Extended Capabilities,如下所示:

  • Virtual Channel Extended Capability

好了,以上介绍的只是PCIe协议中,在这4KB空间中定义的Capability与Extended Capability。而CXL协议还定义了一些Extended Capability,它们是基于PCIe的Designated Vendor-Specific Extended Capability (DVSEC Capability)来实现的。

DVSEC Capability的基本结构,如下所示:

 DVSEC Capability定义了必须以PCI Express Extended Capability Header、Designated Vendor-Specific Header 1、Designated Vendor-Specific Header 2开始,之后的才是厂商专用寄存器。

CXL 2.0协议中,定义的DVSEC Capabilities,如下所示:

 CXL 2.0 Device必须实现的DVSEC Capability有:

  • PCIe DVSEC for CXL Device
  • GPF DVSEC for CXL Devices
  • PCIe DVSEC for Flex Bus Port
  • Register Locator DVSEC

2.1 Virtual Channel Extended Capability

Virtual Channel Extended Capability,如下所示:

 

但是以上这些寄存器, 仅有红框标注的寄存器才是每个设备必须具备的。

2.2 PCIe DVSEC for CXL Device

PCIe DVSEC for CXL Device,如下所示:

2.3 GPF DVSEC for CXL Devices

GPF DVSEC for CXL Devices,如下所示:

2.4 PCIe DVSEC for Flex Bus Port

PCIe DVSEC for Flex Bus Port,如下所示:

2.5 Register Locator DVSEC

 Register Locator DVSEC,如下所示:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CXL 2.0 Device配置空间寄存器组成 的相关文章

  • NGFF、M.2、PCIe、NVMe概念区分以及PCIEx1 x4 x8 x16区别

    对于NGFF M 2 PCIe NVMe等概念的说明 解决方案 NGFF Next Generation Form Factor xff0c 顾名思义 xff0c 是物理外形 Form Factor 的标准 与 NGFF 并列的是 2 5
  • 老男孩读PCIe之五:TLP结构

    来源 xff1a http www ssdfans com p 61 3683 无论Request TLP xff0c 还是作为回应的Completion TLP xff0c 它们模样都差不多 xff1a 图5 1 TLP主要由三部分组成
  • PCIe扫盲——PCIe简介

    转载地址 xff1a http blog chinaaet com justlxy p 5100053066 PCI Express是继ISA和PCI总线之后的第三代I O总线 xff0c 即3GIO 由Intel在2001年的IDF上提出
  • Zynq实现SDI视频解码PCIE传输 提供工程源码和QT上位机源码加技术支持

    目录 1 前言2 我已有的SDI编解码方案3 我已有的PCIE方案4 基于zynq架构的PCIE5 总体设计思路和方案SDI摄像头Gv8601a单端转差GTX解串SDI解码VGA时序恢复YUV转RGB图像缓存PCIE发送通路SDI同步输出通
  • PCIe中断之MSI和MSI-X的区别(详细)总结附图文快速掌握

    目录 一 整体介绍 二 MSI和MSI X对比 2 1 中断向量连续 2 2 映射区域区别 2 3 MSI X配置空间 2 3 1 MSI X Capbility介绍 2 3 2 Capbility ID介绍 2 3 3 Message C
  • 海思芯片pcie启动——pcie_mcc驱动框架的booter程序分析

    1 booter程序介绍 1 源码目录 pcie mcc multi boot example boot test c 2 调用命令 booter start device 3 booter程序的作用 在主片将pcie启动相关的驱动加载完成
  • 存储器实验:存储扩展实验、MIPS寄存器文件设计

    一 实验要求 项目1 存储扩展实验 现有如下 ROM 组件 4片4K32位 ROM 7片16K32位 ROM 请在 Logisim 平台构建 GB2312 汉字编码的16K 16点阵汉字字库 电路输入为汉字区号和位号 电路输出为8 32位
  • [PCIe]LTSSM与电源管理

    1 LTSSM LTSSM全称是Link Training and Status State Machine 有以下11个状态 Detect Polling Configuration Recovery L0 L0s L1 L2 Hot R
  • PCIe专题学习——4.0(物理层结构解析)

    之前我们讲了对PCIe的一些基础概念作了一个宏观的介绍 了解了PCIe是一种封装分层协议 packet based layered protocol 主要包括事务层 Transaction layer 数据链路层 Data link lay
  • 通过CPUID指令读取处理器信息

    一 CPUID简介 CPUID操作码是一个面向x86架构的处理器补充指令 它的名称派生自CPU识别 作用是允许软件通过CPUID指令读取处理器的详细信息 二 CPUID基本原理 CPUID有很多function号 每个号代表一个功能 CPU
  • 【PCIe 5.0 - 8】PCIe 事务层详解4 - First/Last DW Byte Enables规则

    First Last DW Byte Enables规则 Byte Enables包含在Memory I O 和Configuration Requests中 本节定义了相应的规则 Byte Enables出现在Request header
  • DDR5内存条容量计算

    DDR5内存条容量计算 一 理解DDR5通道的变化 二 理解芯片package 三 DDR5 symmetric module容量计算 之前对DDR的一些基础知识进行了总结 最近需要了解DDR5的知识 在之前文章基础上又有一些认识 所以重新
  • 计算机组成原理期末考试题

    计算机组成原理期末考试试题及答案 一 选择题 1 完整的计算机系统应包括 D A 运算器 存储器和控制器 B 外部设备和主机 C 主机和实用程序 D 配套的硬件设备和软件系统 2 计算机系统中的存储器系统是指 D A RAM存储器 B RO
  • 玻纤效应对skew的影响(三)

    玻纤效应对skew的影响 一 玻纤效应对skew的影响 二 对内skew对32Gbps NRZ和64Gbps PAM 4的影响 这一篇中 玻纤效应造成的对内skew将会加入到32Gbps NRZ和64Gbps PAM 4 SerDes全链路
  • PCIe专题学习——3.2(数据链路层Ack/Nak机制解析)

    之前我们讲了对PCIe的一些基础概念作了一个宏观的介绍 了解了PCIe是一种封装分层协议 packet based layered protocol 主要包括事务层 Transaction layer 数据链路层 Data link lay
  • 如何为可缓存 PCIe BAR 进行 mmap

    我正在尝试编写一个自定义驱动程序mmap PCIe BAR 的函数 目标是使该 BAR 可缓存在处理器缓存中 我知道这不是实现最高带宽的最佳方法 并且写入顺序是不可预测的 本例中也不是问题 这类似于中所描述的如何阻止 MMAP 缓存值 处理
  • macOS DriverKit:制作 PCI dext 来替换内置驱动程序

    我正在尝试在 DriverKit 中编写一个用户空间 PCI 驱动程序 用于教育 研究目的 我找到了一个来自 WorthDoingBadly 的示例其中包含 PCI 设备 dext 的样板代码 我已删除了漏洞利用代码 我已将其修改为通过以下
  • 从 x86 CPU 生成 64 字节读取 PCIe TLP

    将数据写入 PCIe 设备时 可以使用写入组合映射来提示 CPU 应生成针对该设备的 64 字节 TLP 是否可以对读取做类似的事情 以某种方式提示 CPU 读取整个缓存行或更大的缓冲区 而不是一次读取一个字 英特尔有关于从视频 RAM 复
  • 使用 pci_enable_msi_block

    我正在尝试在内核模块中启用多个 MSI irq 线 我正在 RC 模式下操作 问题是当我打电话时pci enable msi block 它不会分配超过 1 个 MSI 如果我打电话pci enable msi block dev 32 它
  • 我是否需要在 Linux 3.12 驱动程序中“启用”PCIe 内存区域?

    我有从 PCIe 驱动程序的probe 函数调用的代码 大致基于此post https stackoverflow com a 5195061 32836 EDIT 基于安德烈亚斯 邦贝 https stackoverflow com a

随机推荐

  • 使用Vue手动封装树形控件组件

    提示 如果当下认为一件事很难做 那么不用犹豫直接做就OK 巨大的提升往往出现在反复的挣扎过后 跳出舒适圈 不断挑战自我 毕竟还年轻 因为已经完成了 索性就用上帝视角一次性把需要注意的东西都列出来 不怎么会循序渐进 原谅俺 1 需求整理 如上
  • 什么是过拟合和欠拟合

    今天突然被以前同学人问到什么是机器学习中的 过拟合 过拟合就是训练的时候效果很好损失函数值可以降得很低 但是到测试数据集的时候表现就不那么好了 就是过分依赖于现有训练数据集的特征造成的 可以加大数据集来进行训练 比如在图像领域可以通过拉伸旋
  • Fabric核心模块

    Fabric由五个核心模块组成的程序组 1 peer 主节点模块 负责存储区块链数据 运行维护链码 2 orderer 交易打包 排序模块 3 cryptogen 组织和证书生成模块 4 configtxgen 区块和交易生成模块 生成创始
  • Linux Clock

    http www wowotech net pm subsystem clk overview html Linux common clock framework 1 概述 http www wowotech net pm subsyste
  • 500 Request processing failed; nested exception is java.lang.NullPointerException

    类型 异常报告 消息 Request processing failed nested exception is java lang NullPointerException 描述 服务器遇到一个意外的情况 阻止它完成请求 报错原因 这种报
  • TensorFlow2 Fashion-MNIST图像分类(二)

    1 图像分类数据的标准化 本篇内容是 TensorFlow2 Fashion MNIST图像分类 一 的第二部分 请先阅读第一部分中的内容 上一部分内容最后提到 模型训练结果出现不拟合现象 主要原因就在于特征数据没有进行标准化处理 因此本部
  • Unity3d Animation动画详解。。。

    动画脚本 Animation Scripting Unity s 动画系统允许你创建一个漂亮的动画蒙皮角色 动画系统支持动画融合 混合 添加动画 步调周期时间同步 动画层 控制动画回放的所有方面 时间 速度 混合权重 每个顶点有1 2 4个
  • 机器学习之下游任务

    下游任务是该领域称为那些利用预训练模型或组件的监督学习任务
  • EtherCat--主站开源的C语言库SOEM-环境搭建

    一 SOEM主站环境搭建 一 安装VS 二 下载SOEM 1 3 1 源代码 链接地址 http openethercatsociety github io 三 安装WinPcap 4 1 3 exe 链接地址 https www winp
  • 3DsMAX一渲染就卡解决方法

    目前比较常见的3DMAX卡死原因有三个 一是win10输入法不兼容 二是内存和CPU运行过载 三是场景模型问题 1 兼容问题 win10的微软拼音不兼容 常见但很难让人相信的问题 C4D渲染卡死也可以这样解决 解决方法 打开 windows
  • 二维坐标系的转换

    二维坐标系的变换分为旋转变换和平移变换 一 旋转变换 假设已知基坐标系XOY中的一点P x y 坐标原点为O 绕点O旋转 可以求得点P在新坐标系X OY 中坐标值 x y 如下图所示 求解x 和y 的关键是坚持用已知的边做斜边来求解 结合上
  • 华为OD机试 - 求字符串中所有整数的最小和(Java)

    题目描述 输入字符串s 输出s中包含所有整数的最小和 说明 字符串s 只包含 a z A Z 合法的整数包括 1 正整数 一个或者多个0 9组成 如 0 2 3 002 102 2 负整数 负号 开头 数字部分由一个或者多个0 9组成 如
  • power相关:(一)低功耗设计目的与功耗的类型

    一 低功耗设计的目的 1 便携性设备等需求 电子产品在我们生活中扮演了极其重要的作用 便携性的电子设备便是其中一种 便携性设备需要电池供电 需要消耗电池的能量 在同等电能提供下 低功耗设计的产品就能够工作更长的时间 时间的就是生命 因此低功
  • 【MySQL】使用Visio绘制数据库关系模型图

    使用Visio绘制数据库关系模型图 1 新建项目 文件 新建 软件和数据库 数据库模型图 点击后 出现如下界面 2 绘制 左侧 实体关系 中将 实体 形状拖放到绘制界面 如下图 3 编辑实体名称 如下图 4 编辑列 点击 列 如下图 完成实
  • 【因果推断与机器学习】Causal_inference: Chapter 4

    Chapter4 Estimation 一旦我们找到了识别因果量的策略 我们就需要选择如何使用统计方法估计这些因果量 我们使用受实际计算应用程序启发的示例来描述最常用的方法 首先 我们介绍因果估计的基础知识 如何从已确定的估计值到估计器 我
  • Oracle入门使用

    表空间的创建 普通用户授权 sys登录 grant create tablespace to 用户名 grant drop tablespace to 用户名 给user01 一个临时用户的角色 grant connect to user0
  • make -j时不知道cpu核数设置多大合适

    make j nproc nproc 就是你可以设置的当前机器的最大值了
  • Python使用Psycopg2访问PostgreSQL

    本文将关注 安装Psycopg2并使用其API访问PostgreSQL数据库 然后带您完成数据插入 数据检索 数据更新和数据删除 接下来 它将介绍事务管理 连接池和错误处理技术 以使用PostgreSQL开发健壮的python程序 使用pi
  • Vue性能优化

    Vue 项目性能优化 现在Vue3 0都快发布了为什么还要优化2 0的项目 因为市场上公司90 的项目全是Vue2 0的项目 迁移的话成本太高 所以只能进行性能的优化调整 废话就不多赘述了 直接开始吧 一 活用异步组件 Vue cli打包的
  • CXL 2.0 Device配置空间寄存器组成

    目录 1 配置空间 1 1 PCI Power Management Capability Structure 1 2 PCI Express Capability Structure 2 扩展配置空间 2 1 Virtual Channe