显卡GPU(图形处理单元)是专为并行计算和图形处理设计的芯片,广泛应用于游戏、科学计算、人工智能和数据中心等领域。以下详细介绍GPU的架构和工作原理,涵盖核心组件、计算流程和关键技术,尽量简洁清晰。
一、GPU架构概述
GPU架构与CPU不同,专注于高并行计算,适合处理大量简单、重复的任务。其核心设计目标是最大化吞吐量,而非单任务的低延迟。主流GPU厂商(如NVIDIA、AMD、Intel)架构虽有差异,但基本原理一致,以下以通用架构说明。
1. 核心组件
- 计算单元(Compute Units / Streaming Multiprocessors):
- GPU的基本计算模块,NVIDIA称为SM(Streaming Multiprocessor),AMD称为CU(Compute Unit)。
- 每个计算单元包含多个处理核心(如NVIDIA的CUDA核心、AMD的Stream Processor),负责执行浮点运算、整数运算等。
- 例如,NVIDIA Ada Lovelace架构的SM包含128个CUDA核心,AMD RDNA 3架构的CU包含64个流处理器。
- 寄存器和缓存:
- 寄存器:每个计算单元有大量寄存器(如NVIDIA SM约256KB),用于快速存储线程数据。
- L1/L2缓存:用于减少内存访问延迟。L1缓存靠近计算单元,L2缓存共享于多个单元。
- 内存层次结构:
- 显存(VRAM):高带宽显存(如GDDR6、HBM3),容量从4GB到数百GB,存储纹理、帧缓冲区等数据。
- 全局内存:显存的整体地址空间,带宽高但延迟较高。
- 共享内存:计算单元内部的快速内存,供线程组共享数据。
- 调度单元:
- 负责线程分配和任务调度。GPU采用SIMD(单指令多数据)或SIMT(单指令多线程)模型,同一计算单元内的核心执行相同指令,处理不同数据。
- 光栅化单元:
- 处理几何数据,将3D模型转化为2D像素(光栅化),包括顶点着色、图元组装等。
- 纹理单元:
- 负责纹理映射和过滤,优化图像质量(如各向异性过滤)。
- 光线追踪单元(NVIDIA RT Core、AMD Ray Accelerator):
- 专为实时光线追踪设计,处理光线与场景的交点计算,模拟真实光影效果。
- AI加速单元(NVIDIA Tensor Core):
- 专为矩阵运算优化,加速深度学习和AI推理任务。
2. 典型架构示例
- NVIDIA Ada Lovelace(2022):
- 每个SM包含128个CUDA核心、4个Tensor Core(第4代)、1个RT Core(第3代)。
- 支持FP8精度,优化AI性能;DLSS 3技术通过AI提升帧率。
- 高带宽GDDR6X显存,L2缓存增至96MB(RTX 4090)。
- AMD RDNA 3(2022):
- 每个CU包含64个流处理器,双指令流SIMD单元。
- 引入芯片let设计(分片式架构),降低成本;Infinity Cache作为高带宽缓存,减少显存依赖。
- 支持光线追踪和AI加速,但性能稍逊于NVIDIA。
- Intel Arc Alchemist(2022):
- 基于Xe-HPG架构,包含Xe核心(类似CU),每个核心有16个矢量引擎。
- 支持光线追踪和XeSS(类似DLSS的超采样技术)。
- 性能在入门至中端市场竞争力较强。
二、GPU工作原理
GPU通过并行计算处理图形渲染和通用计算任务,其工作流程分为以下阶段:
1. 输入数据
- 来源:GPU接收来自CPU的任务,包括3D模型(顶点数据)、纹理、着色器程序等。
- API接口:通过DirectX、Vulkan或OpenGL等图形API与应用程序通信。
2. 渲染管线(Graphics Pipeline)
GPU的图形渲染遵循固定功能管线或可编程管线,现代GPU以可编程为主,流程如下:
- 顶点处理(Vertex Shader):
- 处理3D模型的顶点数据,计算位置、变换(如旋转、缩放)、光照等。
- 输出:变换后的顶点数据。
- 图元组装(Primitive Assembly):
- 将顶点连接成图元(如三角形、线段)。
- 光栅化(Rasterization):
- 将图元投影到2D屏幕空间,生成像素片段(Fragment)。
- 片段处理(Fragment Shader):
- 为每个像素片段计算颜色、纹理、阴影等。
- 涉及纹理采样、颜色混合等操作。
- 测试与混合:
- 执行深度测试、模板测试,剔除不可见像素。
- 混合颜色,生成最终像素值,写入帧缓冲区。
- 输出:最终图像显示在屏幕上。
3. 并行计算(GPGPU)
GPU不仅限于图形渲染,还通过CUDA(NVIDIA)、ROCm(AMD)等框架执行通用计算:
- 任务划分:将计算任务拆分为大量线程(如数千到数百万),分配到计算单元。
- SIMT执行:同一计算单元内的线程执行相同指令,处理不同数据。
- 应用场景:深度学习(矩阵运算)、科学模拟、加密货币挖矿等。
4. 光线追踪(Ray Tracing)
- 原理:模拟光线与场景物体的交互,计算反射、折射、阴影等,生成逼真图像。
- 流程:
- 光线生成:从相机发射光线。
- 交点计算:使用BVH(边界体层次结构)加速光线与物体交点检测。
- 着色:根据材质和光源计算颜色。
- 硬件加速:RT Core或Ray Accelerator专用单元大幅提升性能。
5. 内存管理
- 显存访问:GPU通过高带宽显存(如GDDR6,带宽可达1TB/s)存储数据,优化吞吐量。
- 缓存优化:L1/L2缓存和共享内存减少全局内存访问,降低延迟。
- 统一内存(UMA):部分架构(如AMD APU)支持CPU与GPU共享内存,提升数据传输效率。
三、关键技术与优化
- 多线程并行:GPU支持数千个线程同时运行,适合数据并行任务。线程束(NVIDIA Warp,32线程)或波前(AMD Wavefront,64线程)是调度单位。
- 流水线优化:GPU通过深流水线设计隐藏延迟,保持计算单元高占用率。
- AI加速:Tensor Core(NVIDIA)或矩阵核心(AMD)优化矩阵运算,加速AI训练和推理。
- 超采样技术:DLSS(NVIDIA)、FSR(AMD)、XeSS(Intel)通过AI或算法提升分辨率,降低性能开销。
- 芯片let设计:AMD RDNA 3引入分片式架构,降低制造成本,类似CPU的chiplet趋势。
四、GPU与CPU的对比
特性 | GPU | CPU |
---|---|---|
设计目标 | 高吞吐量,并行处理 | 低延迟,通用计算 |
核心数量 | 数百至数千个简单核心 | 几个至几十个复杂核心 |
线程管理 | 大量线程,SIMT模型 | 少量线程,复杂调度 |
缓存 | 小容量高带宽缓存 | 大容量多级缓存 |
应用场景 | 图形渲染、AI、科学计算 | 通用计算、操作系统管理 |
五、未来趋势
- AI驱动:GPU将进一步优化AI工作负载,如NVIDIA H200 Tensor Core GPU针对大模型推理。
- 工艺进步:3nm、2nm制程提升性能和能效,台积电和三星为主力代工厂。
- 生态竞争:NVIDIA CUDA生态领先,AMD ROCm和Intel oneAPI迎头赶上。
- 国产GPU:中国厂商(如摩尔线程、景嘉微)基于自研架构(如MUSA)进入市场,但性能和生态仍落后。
六、总结
GPU通过高度并行的计算单元、高带宽显存和专用加速单元(如RT Core、Tensor Core),高效处理图形渲染和通用计算任务。其架构围绕SIMT模型和渲染管线设计,优化吞吐量和数据并行。NVIDIA、AMD和Intel在技术上各有侧重,NVIDIA在AI和高性能计算领先,AMD注重性价比,Intel在入门市场发力。未来,AI应用、先进制程和生态竞争将推动GPU持续演进。