显卡(Graphics Processing Unit,GPU)架构详细解读

news2025/1/22 11:04:42

显卡架构主要分为两大类:GPU 核心架构(也称为图形处理单元架构)和显卡的其他组件(如内存、控制器、输出接口等)。本篇文章将对显卡架构进行详细分析,重点介绍 GPU 核心架构、显卡计算单元、显存结构、显卡管线、以及显卡与主机系统的协同工作等。

1. 显卡架构的基本组成

显卡架构可以分为以下几个主要部分:

1.1 GPU 核心(计算单元)

GPU 核心是显卡的核心部分,负责执行图形渲染和计算任务。GPU 核心通常由多个 流处理器(Shader Processor)多处理单元(SM,Streaming Multiprocessors) 组成。

  • 流处理器(Shader Processor):流处理器是 GPU 中最基本的计算单元,负责执行各种图形运算和并行计算。每个流处理器处理多个数据流,并独立进行计算。
  • 多处理单元(SM):SM 是由多个流处理器组成的单元,通常用于处理一个工作组的任务。每个 SM 拥有多个线程执行单元,这些线程能够同时进行计算,充分利用 GPU 的并行计算能力。

GPU 的计算能力不仅体现在流处理器的数量上,还体现在 指令集并行性 的设计上。例如,NVIDIA 的 CUDA 架构与 AMD 的 GCN(Graphics Core Next)架构,在指令集和线程调度方面有所不同,但都极力优化并行计算。

1.2 显存(VRAM)

显存是专为显卡设计的内存,用于存储图形渲染数据、纹理、着色器代码、帧缓冲等。显存的带宽和容量对显卡性能至关重要。

显存的种类有:

  • GDDR(Graphics Double Data Rate):是目前最常见的显存类型,用于高性能显卡。GDDR 的带宽较高,可以快速传输大数据量的图形和计算信息。
  • HBM(High Bandwidth Memory):是新一代显存,采用堆叠技术,可以在更小的体积下提供更高的带宽和更低的功耗。HBM 广泛用于高端显卡和计算密集型任务中。

显存的带宽直接影响着显卡在图形渲染和计算任务中的速度,尤其是在高分辨率、复杂场景下,显存的容量与带宽决定了显卡的处理能力。

1.3 显卡控制器(调度器)

显卡控制器负责调度和协调不同硬件组件之间的工作,保证计算任务的顺利进行。GPU 控制器可以执行以下任务:

  • 任务调度:控制各个流处理器、SM 单元执行的任务,并合理分配计算负载。
  • 数据管理:管理显存中的数据流动,将需要的图形数据从显存加载到计算单元中,处理后再存回显存。
  • 任务同步:确保并行计算过程中,多个线程的执行顺序和同步,避免冲突。
1.4 显卡管线

显卡管线是指 GPU 执行图形渲染任务的流程。显卡管线通常可以分为多个阶段,每个阶段都负责特定的计算任务。以下是常见的显卡渲染管线的几个主要阶段:

  • 顶点处理:顶点处理阶段负责对输入的顶点数据进行变换和裁剪,计算顶点的最终位置。常见的操作包括坐标变换、透视变换等。
  • 光栅化:将顶点处理后得到的几何数据转换为像素数据。此时,图形的三维数据被转换为二维图像。
  • 纹理映射:将图像纹理应用到每个像素上,为每个像素增加细节信息。
  • 光照计算:根据场景中的光源和材质信息计算每个像素的颜色和亮度。常见的算法包括 Phong 着色模型、Blinn-Phong 模型等。
  • 像素着色(片段着色):最后通过像素着色器决定每个像素的最终颜色,可能还包括抗锯齿、阴影、反射等高级效果。

显卡管线的每个阶段都由专门的硬件单元执行,例如 顶点着色器(Vertex Shader)片段着色器(Fragment Shader)几何着色器(Geometry Shader) 等。现代 GPU 允许高度可编程的管线,使得开发者能够通过编写自定义着色器代码,控制图形渲染的每个细节。

1.5 显卡接口与输出

显卡通过 PCIe(Peripheral Component Interconnect Express) 接口与主板进行连接。PCIe 提供了高速数据传输通道,显卡通过该通道从系统内存中获取数据,传输图像信息到显示器。

显卡的输出端口可以包括 HDMI、DisplayPort、DVI 等,用于连接显示器或其他输出设备。现代显卡通常支持多显示器输出,可以驱动多个高分辨率显示器。

1.6 显卡的电源管理(VRM)

显卡的 VRM(电压调节模块)负责管理显卡各个部分的电压。显卡需要稳定的电力供应来保证性能,尤其在高负载情况下,VRM 会根据负载情况调整电压,保证显卡的稳定运行。

高端显卡通常配备更强大的 VRM,能够提供更高的电压和更大的功率,支持超频操作和长时间高负载运行。

2. 显卡架构实例
2.1 NVIDIA CUDA 架构

NVIDIA 的 CUDA(Compute Unified Device Architecture)架构是其 GPU 的核心架构,特别适用于并行计算。CUDA 架构将 GPU 分为多个 多处理单元(SM),每个 SM 包含多个流处理器。CUDA 架构使得开发者可以利用 GPU 进行通用计算(GPGPU,General-Purpose GPU Computing),如科学计算、深度学习等。

CUDA 架构的核心特点包括:

  • 并行计算:每个流处理器可以同时处理多个数据流,使得 GPU 能够高效地执行大规模并行任务。
  • 计算能力的提升:CUDA 支持高精度计算,适用于浮点运算和矩阵运算等计算密集型任务。
  • 可编程性:通过 CUDA 编程模型,开发者可以编写自定义的核函数,并在 GPU 上高效执行。
2.2 AMD RDNA 架构

AMD 的 RDNA(Radeon DNA) 架构是其最新的显卡架构,旨在提高图形性能和计算能力。RDNA 架构继承了 AMD 早期的 GCN(Graphics Core Next)架构,但在性能、能效和可编程性上进行了优化。

RDNA 架构的主要特点包括:

  • 改进的计算单元(CU):RDNA 将计算单元(CU)与早期的 GCN 架构相比进行了优化,减少了每个 CU 的资源占用,提高了性能。
  • 更高的时钟频率:RDNA 架构支持更高的时钟频率,从而提升显卡的图形渲染能力。
  • 增强的能效:RDNA 在图形性能提升的同时,显著改善了功耗效率,适用于高性能计算任务和长时间负载运行。
2.3 Intel Xe 架构

Intel 的 Xe 架构是其进军显卡市场的重要战略。Xe 架构旨在提供多用途的图形解决方案,不仅适用于游戏和娱乐,还包括深度学习和高性能计算。

Xe 架构的特点包括:

  • 多核设计:Xe 架构采用多核设计,支持高效的并行计算。
  • 集成显卡:Xe 架构的低功耗版本被集成到 Intel 的处理器中,提供优异的图形性能。
  • 面向未来的可扩展性:Xe 架构支持大规模并行计算,并能够适应未来对显卡性能的更高需求。
3. 总结

显卡架构的设计直接影响着显卡的性能和应用范围。GPU 核心架构通过高度的并行性和灵活的计算能力,提供了强大的图形渲染和计算加速能力。随着显卡应用的多样化,显卡架构不断发展,从图形渲染到深度学习、科学计算等领域,显卡正在扮演越来越重要的角色。未来显卡的架构将继续朝着更高效、更强大、更灵活的方向发展,满足日益增长的计算需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2280324.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

51c~SLAM~合集1

我自己的原文哦~ https://blog.51cto.com/whaosoft/12327374 #GSLAM 自动驾驶相关~~~ 一个通用的SLAM架构和基准 GSLAM:A General SLAM Framework and Benchmark 开源代码:https://github.com/zdzhaoyong/GSLAM SLAM技术最近取得了许多成功&am…

QT调用OpenSceneGraph

OSG和osgQt编译教程,实测通过 一、下载OpenSceneGraph OpenSceneGraphhttps://github.com/openscenegraph/OpenSceneGraph 二、使用CMAKE编译OpenSceneGraph 1.打开cmake,配置源代码目录 2. CMAKE_INSTALL_PREFIX设置为install文件夹,生…

Git 详细安装教程以及gitlab添加SSH密钥

目录 一、下载安装 二、gitlab添加SSH密钥 一、下载安装 (1)去官网下载 找到下载的安装包双击进行安装。 (2)使用许可声明 双击下载后的 Git-2.47.1.2-64-bit.exe,开始安装,这个界面主要展示了 GPL 第…

【优选算法】4----盛最多水的容器

开始有点上强度了铁子们,这道算法题也是可以说很难理解的~ 想了好久才想明白~ ---------------------------------------begin--------------------------------------- 题目解析: 这一道题刚看题目,根本不知道在讲啥,但看到体积…

今天也是记录小程序进展的一天(破晓时8)

嗨嗨嗨朋友们,今天又来记录一下小程序的进展啦!真是太激动了,项目又迈出了重要的一步,231啦!感觉每一步的努力都在积累,功能逐渐完善,离最终上线的目标越来越近了。大家一直支持着这个项目&…

Python保留字与标识符及常变量

1、保留字 保留字;严格区分大小写 不可以把保留字作为变量、函数、类、模块和其他对象的名称来使用 import keyword print(keyword.kwlist) # 输出所有的保留字 print(len(keyword.kwlist)) # 获取保留字的个数 true 真 # True 真 #属于保留字,会…

若依报错:无法访问com.ruoyi.common.annotation

无法访问com.ruoyi.common.annotation 若依的父工程的pom文件中设置了jdk为1.8,将idea的jdk也改为1.8即可。

2008-2020年各省城镇登记失业率数据

2008-2020年各省城镇登记失业率数据 1、时间:2008-2020年 2、来源:国家统计局、统计年鉴 3、指标:行政区划代码、地区名称、年份、城镇登记失业率 4、范围:31省 5、指标说明:城镇登记失业率是指在一定时期内&…

Linux——入门基本指令汇总

目录 1. ls指令2. pwd3. whoami指令4. cd指令5. clear指令6. touch指令7. mkdir指令8. rm指令9. man指令10. cp指令11. mv指令12. cat指令13. tac指令14. more指令15. less指令16. head指令17. tail指令18. date指令19. cal指令20. find指令21. which指令22. alias指令23. grep…

【知识分享】PCIe5.0 TxRx 电气设计参数汇总

目录 0 引言 1 参考时钟--Refclk 2 发射端通道设计 3 发送均衡技术 4 接收端通道设计 5 接收均衡技术 6 结语 7 参考文献 8 扩展阅读 0 引言 PCI Express Base Specification 5.0的电气规范中,关键技术要点如下: 1. 支持2.5、5.0、8.0、16.0和3…

npm install安装缓慢或卡住不动

起因 今天执行npm install eslint-plugin-cypresslatest --save-dev命令时进度条一直卡着不动,于是想着安装yarn来操作。 方案1 全局安装yarn(Mac在npm前加sudo): npm install -g yarn yarn安装好之后安装依赖用: y…

SparkSQL函数综合实践

文章目录 1. 实战概述2. 实战步骤2.1 创建项目2.2 添加依赖2.3 设置源目录2.4 创建日志属性文件2.5 创建hive配置文件2.6 创建数据分析对象2.6.1 导入相关类2.6.2 创建获取Spark会话方法2.6.3 创建表方法2.6.4 准备数据文件2.6.5 创建加载数据方法2.6.6 创建薪水排行榜方法2.6.…

Linux第103步_了解I2C总线框架

了解Linux中的I2C总线框架为后面做I2C实验做准备,学驱动,就是学习框架,了解是必须的。 1、了解Linux下的I2C子系统中的相关数据结构 struct i2c_adapter { struct module *owner; unsigned int class; /* classes to allow probing for …

开关电源基础

文章目录 线性电源与开关电源选用 开关稳压器脉宽调制简化的降压开关电源 开关电源类型输出电压分拓扑分 控制器与稳压器效率与 V o u t V_{out} Vout​ 同步与非同步隔离与非隔离非隔离式拓扑结构隔离式拓扑结构 线性电源与开关电源 线性稳压器就是我们通常说的LDO: 传输元件…

1. 基于图像的三维重建

1. 基于图像的三维重建 核心概念三维重建中深度图、点云的区别?深度图点云总结 深度图到点云还需要什么步骤?1. **获取相机内参**2. **生成相应的像素坐标**3. **计算三维坐标**4. **构建点云**5. **处理颜色信息(可选)**6. **去除…

智慧脚下生根,智能井盖监测终端引领城市安全新革命

在繁忙的都市生活中,我们往往只关注地面的繁华与喧嚣,却忽略了隐藏在地面之下的基础设施——井盖。这些看似不起眼的井盖,实则承担着排水、通讯、电力等重要功能,是城市安全运转的重要一环。然而,传统的井盖管理面临着…

62,【2】 BUUCTF WEB [强网杯 2019]Upload1

进入靶场 此处考点不是SQL,就正常注册并登录进去 先随便传一个 进行目录扫描,我先用爆破代替 先随便后面写个文件名 为了提供payload位置 www.tar.gz真的存在 返回浏览器修改url就自动下载了 看到tp5,应该是ThinkPHP5框架 参考此博客的思路方法c[强网杯…

IDEA导入Maven工程不识别pom.xml

0 现象 把阿里 sentinel 项目下载本地后,IDEA 中却没显示 maven 工具栏。 1 右键Maven Projects 点击IDEA右侧边栏的Maven Projects,再点击: 在出现的选择框中选择指定的未被识别的pom.xml即可: 2 Add as maven project 右键p…

LDD3学习9--数据类型和定时器

这部分对应的是第七章和第十一章,因为内容也不是很多,就一起写了。里面的内容基本上就是一个个的点,所以也就一个个点简单总结一下。 1 数据类型 1.1 数据长度 不同操作系统类型长度可能不一样,看图的话最好用u8,u16&…

latex去掉bibliography自带的reference

latex要去掉bibliography自带的reference其实很简单, 只需要加以下命令: \begingroup % 去掉thebibliography环境自带的“参考文献”标题 \renewcommand{\section}[2]{} 即可。 效果如图