地址相关术语表
英文 | 英文全称 | 中文解释 | 详细说明 |
---|---|---|---|
VM | Virtual Memory | 虚拟内存 | 通过地址映射将物理内存抽象化,为进程提供独立的地址空间,实现内存隔离与保护 |
PT | Page Tables | 页表 | 操作系统用于实现虚拟地到物理地址映射的数据结构,通常分层存储。 |
PD | Page Directory | 页目录 | 多级页表中的顶级结构,指向二级页表(如 PTE 或 PTB) |
PTE | Page Table Entry | 页表项 | 页表中的最小单位,存储虚拟页与物理页帧的映射关系及访问权限 |
PTB | Page Table Block | 页表块 | 一组连续的页表项,用于提高大内存区域的地址转换效率。 |
PDE0 | Page Directory Entry Level 0 | 一级页目录项 | 指向 PTB 的页目录项,用于 4KB 小页映射 |
PDE1 | Page Directory Entry Level 1 | 二级页目录项 | 指向 PDE0 的页目录项,用于 2MB 或 4MB 大页映射 |
PDE2 | Page Directory Entry Level 2 | 三级页目录项 | 指向 PDE1 的页目录项,用于 1GB 超大页映射(仅 64 位系统支持) |
PGD | Page Global Directory | 页全局目录 | 页全局目录包含若干页上级目录的地址 |
PUD | Page Upper Directory | 页上级目录 | 页上级目录包含若干页中间目录的地址 |
PMD | Page Middle Directory | 页中间目录 | 页中间目录又包含若干页表的地址 |
SVM | Shared Virtual Memory | 共享虚拟内存 |
GPU 与 CPU 通过 IOMMU 共享进程虚拟地址空间,简化内存管理并提高数据传输效率 |
ATS | Address Translation Service | 地址转换服务 | PCI-SIG 规范,允许 PCI 设备通过 IOMMU 请求虚拟地址到物理地址的转换,结果存入 IOTLB |
ATC | Address Translation Cache | 地址转换缓存 | 存储地址转换结果的高速缓存,减少重复查询 |
UTC | Unified Translation Cache | 统一转换缓存 | 整合 GPU 虚拟内存管理(GPUVM)和地址转换缓存(ATC)的机制 |
IOTLB | I/O Translation Look-aside Buffer | I/O 转换旁路缓冲 | 外设(如 GPU)中的缓存,存储预转换的地址映射,加速数据访问 |
PRI | Page Request Interface | 页面请求接口 | 用于处理页错误(page fault)并请求缺失页面的机制 |
IOMMU | input/output memory namanger unit | io mmu | 外设访问主存时使用的地址转换单元,将外设请求使用的虚拟地址转换为主存的物理地址 |
active_cu_number | Active Compute Unit Number | 活跃计算单元数量 | 系统上处于活跃状态的计算单元数量。根据板卡配置,活跃计算单元的数量可能少于 SE * SH * CU 的理论值。 |
BACO | Bus Alive, Chip Off | 总线活跃、芯片关闭 | 一种硬件状态,表示总线保持活跃但芯片处于关闭状态,用于低功耗管理。 |
BOCO | Bus Off, Chip Off | 总线关闭、芯片关闭 | 硬件状态,总线和芯片均处于关闭状态,是更低功耗的工作模式。 |
CE | Constant Engine | 常数引擎 | GPU 中的一种引擎,用于处理恒定数据或特定计算任务。 |
CIK | Sea Islands | 海岛架构 | AMD 的一种 GPU 架构代号,属于 Southern Islands 系列的后续演进。 |
CB | Color Buffer | 颜色缓冲区 | 用于存储图像颜色信息的内存区域,是图形渲染的关键组件。 |
CP | Command Processor | 命令处理器 | 负责解析和执行 GPU 命令的硬件单元,管理任务调度。 |
CPLIB | Content Protection Library | 内容保护库 | 用于实现数字内容版权保护的软件组件,确保视频等内容的安全传输和播放。 |
CS | Command Submission | 命令提交 | 向 GPU 提交渲染或计算命令的过程,触发硬件执行任务。 |
CSB | Clear State Indirect Buffer | 清除状态间接缓冲区 | 用于存储状态清除指令的缓冲区,帮助重置 GPU 硬件状态。 |
CU | Compute Unit | 计算单元 | GPU 的基本计算单元,包含多个流处理器,负责执行并行计算任务。 |
DB | Depth Buffer | 深度缓冲区 | 存储像素深度信息的缓冲区,用于 3D 渲染中的可见性判断。 |
DFS | Digital Frequency Synthesizer | 数字频率合成器 | 生成特定频率时钟信号的硬件模块,用于控制 GPU 工作频率。 |
ECP | Enhanced Content Protection | 增强型内容保护 | 升级的内容保护机制,提供更高安全级别的数字版权管理。 |
EOP | End Of Pipe/Pipeline | 管线末端 | GPU 渲染管线的最后阶段,负责完成像素处理和输出。 |
FLR | Function Level Reset | 功能级重置 | 仅重置 GPU 特定功能模块的状态,而不影响整体系统运行。 |
GART | Graphics Address Remapping Table | 图形地址重映射表 | GPU 使用的虚拟内存页表,将系统资源(内存或 MMIO 空间)重映射到 GPU 地址空间,便于硬件访问。该名称源自 AGP 时代,沿用至今。 |
GC | Graphics and Compute | 图形与计算 | 同时支持图形渲染和通用计算的 GPU 架构设计。 |
GDS | Global Data Share | 全局数据共享 | GPU 中多个计算单元可访问的共享内存区域,用于数据交换。 |
GE | Geometry Engine | 几何引擎 | 负责处理 3D 图形中的几何变换、顶点计算等任务的硬件单元。 |
GMC | Graphic Memory Controller | 图形内存控制器 | 管理 GPU 与系统内存数据交互的控制器,控制数据读写操作。 |
GPUVM | GPU Virtual Memory | GPU 虚拟内存 | GPU 的内存管理单元(MMU),支持多个虚拟地址空间,实现内存保护和资源重映射,供驱动和应用使用。 |
GTT | Graphics Translation Tables | 图形转换表 | 通过 TTM 管理的内存池,为 GPU 提供系统资源(内存或 MMIO 空间)的访问能力,可映射到 GART 或进程级页表。 |
IH | Interrupt Handler | 中断处理程序 | 处理 GPU 硬件中断的软件模块,响应设备状态变化。 |
HQD | Hardware Queue Descriptor | 硬件队列描述符 | 描述 GPU 硬件队列属性和任务信息的数据结构,用于任务调度。 |
IB | Indirect Buffer | 间接缓冲区 | 存储命令或数据指针的缓冲区,GPU 通过读取间接缓冲区获取实际任务内容。 |
IMU | Integrated Management Unit | 集成管理单元 | 提供电源管理支持的硬件模块,负责 GPU 的功耗控制和状态监控。 |
IP | Intellectual Property blocks | 知识产权模块 | GPU 中具有特定功能的独立硬件模块,如计算单元、内存控制器等。 |
KCQ | Kernel Compute Queue | 内核计算队列 | 操作系统内核管理的 GPU 计算任务队列,处理通用计算请求。 |
KFD | Kernel Fusion Driver | 内核融合驱动 | AMD 开发的驱动组件,实现 CPU 与 GPU 的协同工作,管理异构计算资源。 |
KGQ | Kernel Graphics Queue | 内核图形队列 | 内核管理的图形任务队列,处理图形渲染命令。 |
KIQ | Kernel Interface Queue | 内核接口队列 | 用于内核与 GPU 硬件交互的接口队列,传输控制指令。 |
MC | Memory Controller | 内存控制器 | 管理系统内存与 GPU 数据交换的硬件组件,控制数据读写操作。 |
MCBP | Mid Command Buffer Preemption | 命令缓冲区中段抢占 | 在命令缓冲区执行过程中进行抢占的机制,用于任务优先级管理。 |
ME | MicroEngine (Graphics) | 微引擎(图形) | GPU 中用于特定图形处理任务的小型引擎,辅助主渲染管线。 |
MEC | MicroEngine Compute | 微引擎计算 | 专用于通用计算任务的微引擎,优化计算密集型工作负载。 |
MES | MicroEngine Scheduler | 微引擎调度器 | 管理微引擎任务分配和执行顺序的调度组件。 |
MMHUB | Multi-Media HUB | 多媒体中心 | 整合多种多媒体处理功能的硬件模块,支持视频编解码等操作。 |
MQD | Memory Queue Descriptor | 内存队列描述符 | 描述内存访问队列属性的数据结构,用于管理 GPU 内存操作。 |
PA | Primitive Assembler / Physical Address | 图元汇编器 / 物理地址 | 前者用于生成图形图元,后者指内存实际物理地址。 |
PFP | Pre-Fetch Parser (Graphics) | 预取解析器(图形) | 提前获取并解析图形命令的硬件单元,优化指令执行效率。 |
PPLib | PowerPlay Library | PowerPlay 库 | AMD 的电源管理组件,负责 GPU 的功耗调节和性能优化。 |
PSP | Platform Security Processor | 平台安全处理器 | 独立的安全处理单元,负责系统安全验证和加密操作。 |
RB | Render Backends | 渲染后端 | 又称 ROPs(光栅操作处理器),负责像素着色、混合等最终渲染步骤。 |
RLC | RunList Controller | 运行列表控制器 | GPU 中的辅助引擎,参与电源管理和 SR-IOV 等功能,名称源自历史设计。 |
SC | Scan Converter | 扫描转换器 | 将图形数据转换为像素格式的硬件模块,用于 2D/3D 渲染。 |
SDMA | System DMA | 系统直接内存访问 | 允许外设直接访问系统内存的技术,减少 CPU 干预。 |
SE | Shader Engine | 着色器引擎 | 负责执行着色器程序的硬件单元,处理顶点、像素等渲染计算。 |
SGPR | Scalar General-Purpose Registers | 标量通用寄存器 | 存储标量数据的通用寄存器,用于标量计算任务。 |
SH | SHader array | 着色器阵列 | 多个着色器单元的集合,组成 GPU 的核心计算资源。 |
SI | Southern Islands | 南岛架构 | AMD 早期的 GPU 架构代号,广泛应用于 Radeon 系列显卡。 |
SMU/SMC | System Management Unit / System Management Controller | 系统管理单元 / 系统管理控制器 | 负责系统级电源管理和硬件监控的组件,控制 GPU 工作状态。 |
SPI (AMDGPU) | Shader Processor Input | 着色器处理器输入 | 向着色器核心提供数据输入的接口模块,处理指令和数据加载。 |
SRLC | Save/Restore List Control | 保存 / 恢复列表控制 | 管理硬件状态保存和恢复列表的控制单元,用于上下文切换。 |
SRLG | Save/Restore List GPM_MEM | 保存 / 恢复列表(GPM 内存) | 存储 GPM 内存相关状态的列表,用于状态恢复。 |
SRLS | Save/Restore List SRM_MEM | 保存 / 恢复列表(SRM 内存) | 存储 SRM 内存相关状态的列表,用于状态恢复。 |
SS | Spread Spectrum | 扩频技术 | 通过扩展信号频率范围减少电磁干扰的技术,用于硬件设计。 |
SX | Shader Export | 着色器导出 | 将着色器计算结果输出到后续处理阶段的接口模块。 |
TA | Trusted Application | 可信应用 | 在安全环境中运行的应用程序,基于硬件信任根实现安全功能。 |
TC | Texture Cache | 纹理缓存 | 存储纹理数据的高速缓存,减少内存访问延迟,提升渲染性能。 |
TOC | Table of Contents | 目录 | 存储数据结构或命令索引的表格,便于快速查找和访问。 |
UMSCH | User Mode Scheduler | 用户模式调度器 | 在用户空间运行的任务调度组件,管理 GPU 应用任务。 |
UVD | Unified Video Decoder | 统一视频解码器 | 支持多种视频格式解码的硬件模块,优化视频播放体验。 |
VCE | Video Compression Engine | 视频压缩引擎 | 用于视频编码压缩的硬件单元,减少数据传输和存储开销。 |
VCN | Video Codec Next | 下一代视频编解码器 | 支持最新视频编码标准的硬件模块,如 H.265、AV1 等。 |
VGPR | Vector General-Purpose Registers | 向量通用寄存器 | 存储向量数据的通用寄存器,用于并行计算和图形处理。 |
VMID | Virtual Memory ID | 虚拟内存 ID | 标识 GPU 虚拟地址空间的唯一标识符,用于内存隔离和保护。 |
VPE | Video Processing Engine | 视频处理引擎 | 对视频数据进行后处理的硬件模块,如缩放、降噪等操作。 |
XCC | Accelerator Core Complex | 加速器核心复合体 | 整合多个计算核心的硬件单元,优化异构计算性能。 |
XCP | Accelerator Core Partition | 加速器核心分区 | 将 GPU 计算核心划分为独立分区的机制,支持多任务并行处理。 |
.... | |||
.... |
- 多级页表结构:PDE0 → PDE1 → PDE2 构成三级页表层级,适用于不同大小的内存页(4KB/2MB/1GB),减少页表占用空间。
- SVM 技术:通过 IOMMU(输入 / 输出内存管理单元)实现异构计算设备(如 GPU)与 CPU 的内存统一寻址,避免数据拷贝开销。
- 应用场景:现代操作系统(如 Linux、Windows)普遍采用多级页表和 SVM 技术优化内存管理,提升系统性能。
- ATS 与 IOTLB 的关系:ATS 是规范,定义了设备如何请求地址转换;IOTLB 是实现该规范的硬件缓存,类似 CPU 中的 TLB。
- UTC 的作用:通过统一管理 GPU 和 CPU 的地址转换缓存,减少数据传输延迟,提升异构计算性能。
- PRI 的应用:当 GPU 访问未映射的虚拟地址时,通过 PRI 向操作系统请求加载对应物理页,避免程序崩溃。
虚拟化相关术语表
术语 | 英文全称 | 中文解释 | 详细说明 |
---|---|---|---|
GPU | Graphics Processing Unit | 图形处理器(显卡) | 专门用于图形渲染和并行计算的处理器,具备强大的浮点运算能力 |
CUDA | Compute Unified Device Architecture | 统一计算设备架构 | 英伟达 2006 年推出的并行计算平台和 API 模型,支持 GPU 通用计算 |
VT/VT-x | Intel Virtualization Technology | 英特尔虚拟化技术 | -x 表示 x86 架构 CPU 的虚拟化扩展,提供硬件级虚拟化支持(如 VMX 指令) |
VT-d | Intel Virtualization Technology for Devices | 英特尔设备虚拟化技术 | 支持 I/O 设备直接分配给虚拟机,减少 I/O 虚拟化开销(如 PCI 设备直通) |
SVM | AMD Secure Virtual Machine | AMD 安全虚拟机技术 | AMD 等效于 Intel VT-x 的虚拟化技术,提供硬件辅助的虚拟机隔离和安全特性 |
EPT | Extended Page Tables | 扩展页表 | Intel VT-x 的页表虚拟化技术,支持二级地址转换(Guest→Host 物理地址) |
NPT | Nested Page Tables | 嵌套页表 | AMD SVM 的页表虚拟化技术,功能类似于 Intel EPT,优化虚拟机内存访问效率 |
SR-IOV | Single Root I/O Virtualization | 单根 I/O 虚拟化 | PCI-SIG 2007 年标准,允许单个 PCIe 设备创建多个虚拟功能(VF),提高设备利用率 |
PF | Physical Function | 物理功能 | SR-IOV 中的物理 PCIe 设备,负责管理虚拟功能(VF)的创建和配置 |
VF | Virtual Function | 虚拟功能 | SR-IOV 中轻量级虚拟 PCIe 设备,共享 PF 的硬件资源,无需完全虚拟化 |
MMIO | Memory-Mapped I/O | 内存映射 I/O | 通过将设备寄存器映射到内存地址空间,CPU 使用内存指令直接访问设备 |
CSR | Control & Status Register | 控制与状态寄存器 | 设备上用于配置操作(控制)和报告状态的寄存器,通常通过 MMIO 访问 |
UMD | User Mode Driver | 用户态驱动程序 | 运行在用户空间的驱动,如 CUDA 的 libcuda.so,通过系统调用与内核驱动通信 |
KMD | Kernel Mode Driver | 内核态驱动程序 | 运行在内核空间的底层驱动,如 nvidia.ko,负责设备初始化和硬件交互 |
GVA | Guest Virtual Address | 来宾虚拟地址 | 虚拟机内部的虚拟地址,由虚拟机操作系统管理 |
GPA | Guest Physical Address | 来宾物理地址 | 虚拟机内部的物理地址,实际对应宿主机的一部分物理内存或内存映射 |
HPA | Host Physical Address | 宿主机物理地址 | 宿主机操作系统可见的物理内存地址 |
IOVA | I/O Virtual Address | I/O 虚拟地址 | 设备(如 GPU)发出的 DMA 操作使用的地址,通过 IOMMU 转换为物理地址 |
PCIe TLP | PCIe Transaction Layer Packet | PCIe 事务层数据包 | PCIe 总线传输的基本单位,包含地址、数据和控制信息 |
BDF | Bus/Device/Function | 总线 / 设备 / 功能 ID | PCIe 设备的唯一标识符,格式为 "总线号:设备号。功能号"(如 00:01.0) |
MPT | Mediated Pass-Through | 中介直通 | 一种设备虚拟化方式,允许虚拟机通过中间层共享物理设备资源 |
MDEV | Mediated Device | 中介设备 | Linux 内核中 MPT 的实现,通过 mdev 框架创建和管理虚拟设备实例 |
PRM | Programming Reference Manual | 编程参考手册 | 硬件厂商提供的详细技术文档,包含寄存器定义、指令集和编程接口规范。 |
MIG | Multi-Instance GPU | 多实例 GPU | NVIDIA Ampere 架构高端 GPU(如 A100)支持的硬件分区技术,允许将 GPU 划分为多个独立实例 |
-
虚拟化技术对比:
- Intel VT-x(EPT)与 AMD SVM(NPT)提供类似的 CPU 虚拟化功能
- VT-d 与 SR-IOV 共同优化 I/O 设备虚拟化性能
-
内存地址转换路径:
GVA → GPA → HPA(通过 EPT/NPT 实现)
IOVA → HPA(通过 IOMMU 实现,如 VT-d 支持) -
GPU 驱动架构:
UMD(用户态) → KMD(内核态) → 硬件(PCIe 设备)
例如:CUDA 应用 → libcuda.so → nvidia.ko → GPU