Hello World.

A Notes about "The God View of GPU"

字数统计: 659阅读时长: 2 min
2025/10/20
loading

图形流水线

显示器成像的原理

显示器的组成-像素

显示器由数百万个像素点(Pixel)组成。每个像素通常包含三个分量-红R绿G蓝B。通过控制这三个子像素的亮度组合,可以显示出各种颜色。

每个分量可以用数字表示,最常见的是用8个进制位来表示,数字越大亮度越高。现在也有每个分量用 10 位、12 位、16 位等更高的位数来表示。

三个分量组合之后能表示256 * 256 * 256=16777216种颜色。

帧缓冲

帧缓冲

帧缓冲frame buffer,内存的一块区域,与显示器上显示的每个像素是一一对应的。

  • 一个字节代表一个颜色分量:8位是一个字节(每个分量可以用数字表示,最常见的是用8个进制位来表示)。帧缓存里每一个字节表示一个像素的一个分量,连续排列
  • 四个字节代表一个像素:在帧缓存里每32位(4个字节)来表示一个像素。RGB(24位,3个字节) +一个表示透明度的Alpha(8位)。输出到显示器的时这个信息会被忽略。

成像的流程

CPU/GPU生成图像数据,存入帧缓存。显卡读取帧缓存,转换为视频信号。显示器接收信号,控制每个像素的亮度与颜色。人眼感知,形成完整画面。 成像的流程

显卡

显卡负责把帧缓存的内容输出到显示器上,或者对帧缓冲上的内容进行处理。 显卡

显卡的基本结构

显示输出端口,连接到显示器。显示电路,负责把帧缓存转成显示输出的信号。 显卡的基本结构

计算处理作用

显卡的计算处理作用 处理器(PU)能在大量数据上执行同样的操作,也就是GPU。对每个像素做计算处理,如把显示的图像亮度翻倍,即RGB每个分量都乘2。处理单元根据是否可编程,分为如下两类:

  • 固定流水线单元:Fixed-pipeline Unit,算法的操作固定,只需要设置不同的参数就能达到目的。
  • 可编程流水线单元:Programmable Pipeline Unit,算法的操作灵活多变,可以挂上一个程序(shader,着色器)。

图形流水线

片元着色器 Pixel Shader

光栅化 Rasterize

深度判断 Output Merger

图元组装单元 Primitive Assembler

硬件变换和光照 T&L/Vertex Shader

输入组装器 Input Assembler

GPU的逻辑模块

GPU的硬件模块

GPU的软件栈

不可编程单元

光线追踪单元

虚拟GPU

CATALOG
  1. 1. 图形流水线
    1. 1.1. 显示器成像的原理
    2. 1.2. 帧缓冲
    3. 1.3. 成像的流程
    4. 1.4. 显卡
      1. 1.4.1. 显卡的基本结构
      2. 1.4.2. 计算处理作用
    5. 1.5. 图形流水线
      1. 1.5.1. 片元着色器 Pixel Shader
      2. 1.5.2. 光栅化 Rasterize
      3. 1.5.3. 深度判断 Output Merger
      4. 1.5.4. 图元组装单元 Primitive Assembler
      5. 1.5.5. 硬件变换和光照 T&L/Vertex Shader
      6. 1.5.6. 输入组装器 Input Assembler
  2. 2. GPU的逻辑模块
  3. 3. GPU的硬件模块
  4. 4. GPU的软件栈
  5. 5. 不可编程单元
  6. 6. 光线追踪单元
  7. 7. 虚拟GPU