GPU(Graphics processing unit),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。
随着图像处理对于计算机来说越来越重要,计算机对图像进行实时渲染,一般需要经过图形流水线的过程:顶点处理→图元处理→栅格化→片段处理→像素操作。每个像素都需要经过图形流水线过程,需要耗费大量计算运行资源。大家都知道GPU在图形渲染和并行计算方面具有出色的性能,但是否想过GPU内部是如何实现这一切的呢?在这篇文章中,我们将简单介绍GPU的核心部件。
GPU的微观结构因不同厂商、架构都会有所差异,但核心部件以及运行机制大同小异。
下面是核心部件和运行机制介绍:
核心部件
1. GPC(Graphics Processing Cluster,图形处理器簇):
GPU中的一个重要部件,通常包含多个SM(Streaming Multiprocessor,流处理器)或SMX(Next-Gen Streaming Multiprocessor,流多处理器)等。每个GPC负责处理图形数据的一部分,并协调各个SM之间的工作。
2. TPC(Texture Processing Cluster,纹处理簇):
主要用于处理纹理数据的相关计算任务。它通常由纹理单元、纹理缓存和采样器等组成,负责高效地处理纹理贴图的采样和滤波。
3. Thread(线程):
GPU中最小的执行单元。GPU架构可以同时处理大量的线程,通过并行执行,加快计算速度。线程一般组织成线程块(Thread Block),多个线程块构成线程网格(Thread Grid)。
4. SM、SMX、SMM(Streaming Multiprocessor):
SM是GPU中的流处理器,是图形核心的基本单元。SM执行着色器程序、调度线程和处理内存访问等任务。不同的GPU架构可能有不同的名称,如SMX和SMM,但它们都承担着相似的功能。
5. Warp(线程束):
GPU中的一组线程,通常包含32个线程。Warp是GPU并行执行的基本单位,它可以在一个时钟周期内执行相同的指令,从而实现高效的并行计算。
6. SP(Scalar Processor,标量处理器):
负责执行通用计算任务。可以执行整数和浮点运算,是GPU计算的关键部分。
7. Core(核心):
GPU中的计算单元,由多个SP组成。每个核心可以同时处理多个线程的指令,以实现并行计算。
8. ALU(Arithmetic Logic Unit,算术逻辑单元):
用于执行基本的算术和逻辑运算。可以执行加法、减法、乘法、逻辑运算等操作。
9. FPU(Floating Point Unit,浮点运算单元):
专门用于执行浮点运算。支持单精度和双精度浮点运算,对于图形渲染和科学计算等任务至关重要。
10. SFU(Special Function Unit,特殊函数单元):
用于高速计算三角函数、指数函数等特殊数学函数。能够加速图形渲染和科学计算中的复杂数学运算。
11. ROP(Raster Operations Pipeline,光栅操作管线):
主要用于最终图像的输出和显示。处理像素混合、抗锯齿、颜色压缩等操作,确保生成高质量的最终图像。
12. Load/Store Unit(加载/存储单元):
加载/存储单元负责处理GPU中的数据加载和存储操作。负责从内存中加载数据到寄存器文件,并将计算结果存储回内存。
13. L1 Cache(一级缓存)和 L2 Cache(二级缓存):
L1 Cache位于核心和内存之间,用于加快数据访问速度。L2 Cache用于进一步提高数据访问效率。
14. Memory(内存):
GPU中用于存储数据和指令的关键部分。包括全局内存、共享内存、常量内存和纹理内存等。这些内存层次结构具有不同的访问特性,以满足不同计算任务的需求。
15. Register File(寄存器文件):
用于存储临时数据的高速存储器。每个线程都有一组寄存器,用于存储计算中间结果和临时变量。
运行机制
GPU为了实现高性能的图形处理和并行计算能力,所以采用多层级存储体系结构和雷同部件。
以下是采用多层级存储体系结构和雷同部件的原因:
1. 多层级存储体系结构
全局内存(Global Memory)是GPU的主要存储区域,用于存储大规模数据。为了解决全局内存访问速度相对较慢的问题,GPU引入了更快速的存储层次,包括共享内存(Shared Memory)和常量内存(Constant Memory),它们位于GPU的芯片内部,可以提供更快的数据访问速度。此外,纹理内存(Texture Memory)专门用于图像和纹理数据的存储和访问。因此GPU需要处理大量的图形数据、纹理数据和计算。
通过多层级存储体系结构,GPU能够根据数据的访问模式和访问频率,以及数据的临时性或重复性,灵活地管理数据的存储和访问,从而提高整体性能。
2. 雷同部件
高度并行计算能力是GPU的强大性能的关键。为了实现高度并行计算,GPU采用了大量的雷同部件。
例如,GPU中的SM或SMX都是雷同的部件,每个SM包含多个SP(Streaming Processor,流处理器)。这些流处理器具有相同的结构和功能,可以同时执行不同的线程和计算任务。通过并行执行多个线程和计算任务,GPU能够快速处理大规模的计算任务,从而实现高效的图形处理和并行计算。
雷同部件有助于提高GPU的可扩展性、灵活性。通过增加SM的数量,GPU的并行计算能力可以线性扩展,适应更大规模的计算任务。
因此,GPU采用多层级存储体系结构和雷同部件,旨在提供高性能的图形处理和并行计算能力,加速图形渲染和计算密集型任务,这成为了GPU处理复杂图形和大规模计算的强大内核。
本文转自:深流微,转载此文目的在于传递更多信息,版权归原作者所有。如不支持转载,请联系小编demi@eetrend.com删除。