CPU、GPU、显卡
- CPU VS GPU
- CPU(Central Processing Unit),中央处理器
- GPU(Graphics Processing Unit),图形处理单元
- GPU 的技术演变
- CUDA(Compute Unified Device Architecture)
- 显卡(Video Card)
- 显示芯片 VS 显卡
- 显卡结构
- Nvidia 显卡
- RT(Ray Tracing),光线追踪
- 扩展阅读
CPU VS GPU
CPU 和 GPU 之间的主要区别是它们在计算机系统中的用途。通常,
- CPU 可以处理完整的系统控制以及管理和通用任务。
- 相反,GPU 处理计算密集型任务,例如视频编辑或机器学习。
CPU(Central Processing Unit),中央处理器
CPU 是计算机的控制核心,是计算机的“大脑”,功能主要是解释计算机指令以及处理计算机软件中的数据。差不多所有的冯·诺伊曼 CPU 的运作原理可分为四个阶段:取指令、解码、执行和写回。从用户按下电源键开始,无论是简单的操作(如输入文字)还是复杂的任务(如运行大型程序),都需要 CPU 的参与,CPU 的性能对整个系统的响应速度和处理能力有直接影响。
具体来说,CPU 的主要职责包括:
- 运算: CPU 中的算术逻辑单元(ALU) 负责所有算术(如加减乘除)和逻辑运算(如与、或、非等),这是所有计算和决策的基础。
- 控制:控制单元(CU) 负责指挥系统中的各个组件协调工作。它从内存中提取指令、解码指令,并根据解码结果调度其他硬件(如内存、I/O 设备等)执行具体任务。
- 数据处理:CPU 负责处理系统和应用程序中的所有数据,包括数据存取、数据转移、格式转换等操作。它也可以在一定程度上并行处理多个任务(尤其是多核 CPU)。
- 指令执行:每当用户发出指令(例如按下一个键或启动一个程序),CPU 都会接收到相应的指令序列,并执行该序列以响应用户请求。
GPU(Graphics Processing Unit),图形处理单元
GPU 是一种可以高速进行数学计算的电子电路。图形渲染、机器学习(ML)和视频编辑等计算任务需要对大型数据集应用类似的数学运算。GPU 经过设计,可对多个数据值并行执行相同的操作。这可以提高许多计算密集型任务的处理效率。

每个 GPU 的工作方式略有不同,具体取决于其用途、制造商、芯片的细节以及用于协调 GPU 的软件。例如,Nvidia 的 CUDA 并行处理软件可让开发人员在考虑几乎所有通用并行处理应用程序的情况下对 GPU 进行专门编程。
GPU 可以是独立芯片,称为独立 GPU,也可以与其他计算硬件集成,称为集成 GPU(iGPU)。
- 独立 GPU:独立 GPU 以完全专用于手头任务的芯片形式存在。用于处理图形时,GPU 通常位于插入主板的图形卡上。在其他任务中,GPU 可能位于主板本身的另一张卡或槽上。
- 集成 GPU:制造商在称为 iGPU 的芯片上引入 CPU 和 GPU 的组合。这些用于 PC 的首批 iGPU 是 Intel 的 Celeron、Pentium 和 Core 系列。
GPU 的技术演变
- GPU 最初是为一项特定任务而设计的:控制图像显示。
- 三维成像项目涉及使用单个处理器在屏幕上生成单个像素,目标是在短时间内生成合并许多像素的图像。此项目被认为是 GPU 的起源。
- 1999 年,Nvidia 率先推出单芯片 GeForce 256 GPU。21 世纪 00 年代和 10 年代标志着一个成长时代,期间 GPU 融入了光线追踪、网格阴影和硬件曲面细分等功能。
- 2007 年,Nvidia 发布了 CUDA,这是在 GPU 上提供并行处理的软件层。
- 当 Nvidia 发布 CUDA 时,它向更广泛的受众开放 GPU 编程。然后,开发人员可以为各种不同的计算密集型实际应用编程 GPU 技术。GPU 计算开始变得更加主流化。
- GPU 是区块链和其他新兴应用的热门芯片。它们越来越多地用于人工智能和机器学习(AI/ML)。
CUDA(Compute Unified Device Architecture)
CUDA是 NVIDIA 推出的用于 GPU 加速计算的开发平台,广泛应用于 AI 领域。CUDA 架构通过让开发人员能够将 GPU 作为并行计算设备使用,为科学、工程等领域的研究人员提供了强大的计算能力。这一架构的显著特点在于不再依赖传统的图形 API(如 OpenGL 和 Direct3D)进行计算映射,而是提供了一个基于 C 语言的编程接口,使得有 C 语言基础的开发人员能够快速上手并开发 CUDA 应用。
- CUDA 的出现极大地降低了 GPU 计算的开发门槛,其开发环境不仅支持 C 语言,还逐步提供 FORTRAN、C++、Python 等多语言接口支持,适用于图形动画、科学计算、地质勘探、生物医药、物理模拟等需要大规模并行计算的领域。
- 2008 年推出的 CUDA SDK 2.0 进一步扩展了其功能,使得 CUDA 技术更加成熟,逐渐成为 AI 和高性能计算中不可或缺的工具之一。
显卡(Video Card)
显卡,是计算机中一个重要的组成部分,承担输出显示图形的任务。
- 显卡是插在主板上的扩展槽里的(现在一般是 PCI-E 插槽,此前还有 AGP、PCI、ISA 等插槽),主要负责把主机向显示器发出的显示信号转化为一般电器信号,使得显示器能明白电脑在让它做什么。
- 显卡的主要芯片叫“显示芯片”(Video Chipset)也叫 GPU 或 VPU(图形处理器或视觉处理器),是显卡的主要处理单元。显卡上也有和存储器相似的存储器,称为“显示内存 VRAM”,简称显存。
CPU是计算机运行的核心部件,如果计算机缺了 CPU,就无法运行,而显卡则并非必不可少。显卡对于图形显示和图形密集型任务(如游戏、图形设计)至关重要,但在没有图形需求的特定场景下,计算机在没有显卡的情况下仍能运行。
- 特别是在运行没有图形用户界面的命令行界面或远程操作系统时,服务器更多依赖于 CPU 的计算性能和多核架构,因此可以无需显卡正常运行。
- 通过 SSH 或远程桌面,用户可以从其他计算机连接并控制这台无显卡的计算机,执行各种任务。
进入 21 世纪后电脑游戏产业和新媒体对图像处理性能的市场需求是推进显卡技术发展和革新的主要推动力量,其中独立显卡以 Nvidia 和 AMD 之间的双头垄断为主要格局。随着计算性能的提升,显卡也开始被用在其它非图像处理的用途上,比如炒卖加密货币(所谓的“挖矿”)和 AI 强化学习(例如 ChatGPT)。
显示芯片 VS 显卡
-
AMD、Intel 和 Nvidia 是著名的 显示芯片(GPU) 生产商,而不是显卡的品牌。它们专注于生产和研发显示芯片,即显卡的核心组件,但并不直接制造或销售完整的显卡。
-
实际的显卡产品是由第三方厂商基于这些显示芯片来生产和销售的,例如华硕、微星、技嘉、七彩虹、影驰、索泰、蓝宝石等。用户通常看到的 Nvidia 显卡或 AMD 显卡,实际是这些厂商将 Nvidia 或 AMD 的显示芯片搭载到自家显卡上再进行销售的。
这种合作模式类似于汽车行业中的发动机制造商与汽车整车制造商之间的关系,显示芯片制造商(如 Nvidia、AMD)相当于生产发动机的厂家,而显卡品牌(如华硕、微星)则负责设计和生产整张显卡,添加散热、供电设计等元素,以确保最终产品的完整性和适用性。
显卡结构
- GPU 及风扇:GPU 是显卡的核心,负责大部分的图形计算任务,类似于计算机中的 CPU,它决定了显卡的渲染能力和图形处理速度。风扇专为 GPU 散热设计,确保 GPU 在高性能运作时不会过热,防止性能下降或硬件损坏。高端显卡通常会配备多个风扇或使用水冷散热以提高散热效果。
- 显存:显存的容量和性能决定了显卡能够处理的数据量和速度。显存越大,显卡在处理高分辨率或复杂图形时的表现越好。
- 电容:电容的质量会直接影响显卡的稳定性和画质,尤其在高负载或长时间使用的情况下,电容的耐用性和性能显得尤为重要。高质量的电容能够确保显卡在供电波动时仍能维持稳定,避免画面闪烁或显示异常。
- 显卡接口(即“金手指”):显卡接口用于连接显卡和主板,以便数据传输和信号交换。主流接口类型为 PCI Express(PCIe),提供更高的带宽和数据传输速率。PCI 和 AGP 接口已基本淘汰,目前几乎所有新款显卡都采用 PCIe 接口,以适应高速数据传输需求。
- 外设接口(或显示输出接口)用于连接显卡和显示设备,负责将图形信号传输到显示器上。新显卡一般配有一个 VGA(模拟信号)接口和一个或多个数字接口,如 DVI、HDMI 和 DisplayPort(DP)。HDMI 和 DP 接口支持高分辨率和高刷新率显示效果,逐渐成为主流接口。
- 桥接接口:用于实现多显卡并联,以增强图形处理性能,主要在多显卡配置(如 NVIDIA 的 SLI 或 AMD 的 CrossFire)中使用。通过桥接接口,多个显卡可以并行处理图形数据,适用于需要极高图形性能的场景,比如高端游戏、专业图形渲染或科学计算等。不过,随着单显卡性能提升,桥接技术的使用逐渐减少。
Nvidia 显卡
其一大特色是对 AI 生态的适应(CUDA)广泛应用于 AI 领域(beat AMD)。
参考博文:【显卡】AMD和Nvidia显卡系列&相关对比(A100 vs RTX4090)
英伟达(NVIDIA)是美国一家专业的计算机图形芯片制造商,英伟达显卡市场份额占据全球第一的位置,英伟达的显卡产品系列涵盖 GeForce、Quadro、Tesla、NVS、GRID 等,满足不同领域的应用需求。
- GeForce显卡:GeForce 显卡是英伟达公司推出的主流消费级显卡,其型号包括 GTX1050、GTX1050ti、GTX1060、GTX1070、GTX1080、GTX1080ti、RTX2060、RTX2070、RTX2080、RTX2080ti、RTX3080(90)、RTX4080(90)等。GeForce 显卡的主要功能是用于娱乐,比如游戏、影音、图形设计等,支持 VR 技术也是主流 GeForce 显卡的一大特色。
- Quadro 显卡:Quadro 显卡是英伟达公司推出的专业级显卡,其型号包括 Quadro K620、Quadro K1200、Quadro K2200、Quadro K4000、Quadro K4200、Quadro K5000、Quadro K5200、Quadro P400、Quadro P600、Quadro P1000、Quadro P2000、Quadro P4000、Quadro P5000、Quadro P6000 等。Quadro 显卡主要是针对设计、建模、视觉分析等专业领域,其优势在于高计算性能、低功耗、低延迟等,无论是专业的设计师还是专业的游戏玩家都可以通过 Quadro 显卡体验更好的绘图流畅度。
- Tesla 显卡:Tesla 显卡是英伟达公司推出的深度学习用显卡,其型号包括 Tesla K40、Tesla K80、Tesla P4、Tesla P40、Tesla P100、Tesla V100、Tesla T4、Tesla M40、Tesla M60、A40、A100、A800 等。Tesla 显卡的主要功能是用于超级计算机的深度学习,比如图像处理、语音识别、机器学习、物体检测等,相比 GeForce 显卡的性能更加强悍,可以支持更高的计算速度。
- NVS 显卡:NVS 显卡是英伟达公司推出的多屏显示用显卡,其型号包括 NVS 310、NVS 315、NVS 510、NVS 810、NVS 510M、NVS 810M 等。NVS 显卡的主要功能是用于多显示器的驱动,比如工程设计、金融分析、智能展示等,可以支持多达 8 个显示器的显示,而且支持 4K 分辨率,支持三明治拼接等,可以满足多显示器的高端需求。
- GRID 显卡:GRID 显卡是英伟达公司推出的虚拟化用显卡,其型号包括 GRID K1、GRID K2、GRID M60-1Q、GRID M60-2Q 等。GRID 显卡主要是针对虚拟化技术而设计的,可以支持虚拟桌面、虚拟机器学习等,可以支持多个用户同时访问一台服务器,而且支持虚拟桌面可以支持多屏显示,可以满足大规模的虚拟化部署。
RT(Ray Tracing),光线追踪
英伟达 GeForce显卡 20 系显卡之后使用了全新的 RTX 前缀,而其最大的亮点就是采用了光线追踪的技术。
伴随着每年显卡技术的升级,游戏画面也逐年提升。这次的 RTX 到底牛 X 在哪?其实也就是三个字:更真实。
拿两组游戏场景图前后对比,直观感受 RT 光线追踪技术对图像的影响。
参考:英伟达新显卡比电脑整机还贵!看完游戏画面才知道为啥值一万
《战地5》的游戏场景↓↓

觉得挺逼真是吧,有没有觉得哪里不对劲?
再看配上 RTX 20 系列显卡的新技术后的画面↓↓

That’s right. 就是光线的反射!
以前的显卡,做不到对光线的实时追踪。所以熊熊大火边上的汽车,并不能映出火光!这就是让你“总觉得哪儿不对劲,但又说不上来”的原因。
再来看下一张《地铁:离去》的游戏场景↓↓

乍一看是不是也觉得没什么大问题?
那再来看看 RTX 20 系列显卡的效果↓↓

问题还是出在光线上!因为这间屋子只有一扇小窗,光线根本不可能亮到让房间一览无余!
RTX 20 显卡对光线的渲染,就更接近真实世界。英伟达在发布会上还做了个更加直观的对比↓↓

看到球体的光线反射变化了没?没错,这就意味着连极为复杂的“眼神光”,RTX 20 显卡也能轻松模拟出来。
值得一提的是,英伟达的新显卡能做到这些,其实也是得益于人工智能的发展,也就是凭借着新显卡内的 AI 芯片,通过人工智能来“预测”光线效果。
扩展阅读
大模型训练为什么用A100不用4090
相关文章:
CPU、GPU、显卡
CPU VS GPUCPU(Central Processing Unit),中央处理器GPU(Graphics Processing Unit),图形处理单元GPU 的技术演变CUDA(Compute Unified Device Architecture) 显卡(Video…...
深入理解 Django 自定义用户模型
1. 引言 Django 作为一个强大的 Web 框架,内置了用户认证系统。然而,实际项目中我们通常需要扩展用户模型,以满足不同的业务需求。Django 提供了继承 AbstractUser 的方式,让我们能够轻松地定制用户模型。本文将通过一个自定义用…...
顺序表和链表的区别
顺序表和链表的区别 不同点顺序表链表(带头双向循环)存储空间物理上一定连续逻辑上连续物理上不一定连续随机访问(用下标随机访问)支持:O(1)不支持:O(N)任意位置插入或者删除元素可能需要搬移元素…...
系分-数据库总结
历年试题2024年05月试题 BCN范式,模式分解,触发器类型2023年05月试题 NoSQL基本特点,NoSQL对比,混合数据库2022年05月试题4 两段锁,事务并发,数据一致,本地事务发布20…...
new Date()解析
JavaScript 中的 new Date() 构造函数用于创建一个表示日期和时间的对象。Date 对象使得你可以以多种方式获取、设置和格式化日期和时间。让我们深入解析一下 new Date() 及其用法。 创建 Date 对象 可以通过多种方式创建 Date 对象: 不带参数: let no…...
df 的各种用法 以及与du 的区别
df的用法 在 Linux 中,“df”(disk free)是一个用于显示磁盘空间使用情况的命令。 一、主要功能 它可以列出文件系统的磁盘空间使用情况,包括磁盘总容量、已使用空间、可用空间以及使用率等信息。 二、常见用法及参数 基本用法&a…...
2024年下半年软考准考证什么时候打印?
2024年下半年软考准考证打印入口网址如下: https://bm.ruankao.org.cn/sign/welcome 广东的同学特别注意:准考证打印截止时间是11月8号,也就是考试前一天。一定要提前打印准考证,考试当天是无法打印的。 2024年下半年软考准考证…...
企业安全运行与维护(Enterprise Security Operation and Maintenance)
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…...
每日“亿“题 东方博宜OJ 1424-自然数的分解
原题链接:1424 - 自然数的分解-东方博宜OJ 题目描述 给定自然数 n ,将其拆分成若干自然数的和。输出所有解,每组解中数字按从小到大排列。相同数字的不同排列算一组解。 如,读入整数 3 ,分解方案如下: …...
初识Linux · 文件(1)
目录 前言: 回顾语言层面的文件 理解文件的预备知识 文件和磁盘 使用和认识系统调用函数 前言: 本文以及下篇文章,揭露的都是Linux中文件的奥秘,对于文件来说,初学Linux第一节课接触的就是文件,对于C…...
【MYSQL】mysql约束---自增长约束(auto_increment)
1、概念 在Mysql中,当主键为自增长后,这个主键的值就不再需要用户输入数据了,而由数据库系统根据定义自动赋值。每增加一条记录,主键会自动以相同的步长进行增长。 注意:自增长约束通常与主键放在一起使用。 通过给…...
基于STM32设计的智能学习台灯(华为云IOT)(238)
文章目录 一、前言1.1 项目介绍【1】开发背景【2】项目实现的功能【3】项目硬件模块组成【4】ESP8266工作模式配置1.2 设计思路【1】整体设计思路【2】整体构架【3】上位机开发思路1.3 项目开发背景【1】选题的意义【2】可行性分析【3】参考文献【4】摘要1.4 开发工具的选择【1…...
网络层协议 --- IP
序言 在这篇文章中我们将介绍 IP协议,经过这篇文章的学习,我们就会了解运营商到底是如何为我们提供服务的以及平时我们所说的内网,公网到底又是什么,区别是什么? IP 地址的基本概念 1. IP 地址的定义 每一个设备接入…...
Java虚拟机(JVM)介绍
**Java虚拟机(JVM)**是Java平台的核心组件,它提供了一个运行时环境,使得Java程序可以在不同的操作系统和硬件平台上运行而无需修改。 JVM的架构 JVM主要由以下几个部分组成: 类加载器(Class Loader…...
1000题-计算机网络系统概述
术语定义与其他术语的关系SDU(服务数据单元)相邻层间交换的数据单元,是服务原语的表现形式。在OSI模型中,SDU是某一层待传送和处理的数据单元,即该层接口数据的总和。 - SDU是某一层的数据集,准备传递给下一…...
Authentication Lab | IP Based Auth Bypass
关注这个靶场的其它相关笔记:Authentication Lab —— 靶场笔记合集-CSDN博客 0x01:IP Based Auth Bypass 前情提要 有些开发人员为了图方便,会给站点设置一个 IP 白名单,如果访问站点的用户的 IP 在白名单内,则允许访…...
linux中的火墙优化策略
1.火墙介绍 1. netfilter 2. iptables 3. iptables | firewalld 2.火墙管理工具切换 在rocky9 中默认使用的是 firewalld firewalld -----> iptables dnf install iptables - services - y systemctl stop firewalld systemctl disable firewalld systemctl mask fi…...
GO网络编程(三):海量用户通信系统1:登录功能初步
一、准备工作 需求分析 1)用户注册 2)用户登录 3)显示在线用户列表 4)群聊(广播) 5)点对点聊天 6)离线留言 主界面 首先,在项目根目录下初始化mod,然后按照如下结构设计目录: 海量用户通信系统/ ├── go.mod ├── client/ │ ├──…...
Windows安全加固详解
一、补丁管理 使用适当的命令或工具,检查系统中是否有未安装的更新补丁。 Systeminfo 尝试手动安装一个系统更新补丁。 • 下载适当的补丁文件。 • 打开命令提示符或PowerShell,并运行 wusa.exe <patch_file_name>.msu。 二、账号管…...
JavaScript函数基础(通俗易懂篇)
10.函数 10.1 函数的基础知识 为什么会有函数? 在写代码的时候,有一些常用的代码需要书写很多次,如果直接复制粘贴的话,会造成大量的代码冗余; 函数可以封装一段重复的javascript代码,它只需要声明一次&a…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
OD 算法题 B卷【正整数到Excel编号之间的转换】
文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的:a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...
Linux部署私有文件管理系统MinIO
最近需要用到一个文件管理服务,但是又不想花钱,所以就想着自己搭建一个,刚好我们用的一个开源框架已经集成了MinIO,所以就选了这个 我这边对文件服务性能要求不是太高,单机版就可以 安装非常简单,几个命令就…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
解析“道作为序位生成器”的核心原理
解析“道作为序位生成器”的核心原理 以下完整展开道函数的零点调控机制,重点解析"道作为序位生成器"的核心原理与实现框架: 一、道函数的零点调控机制 1. 道作为序位生成器 道在认知坐标系$(x_{\text{物}}, y_{\text{意}}, z_{\text{文}}…...
Mysql故障排插与环境优化
前置知识点 最上层是一些客户端和连接服务,包含本 sock 通信和大多数jiyukehuduan/服务端工具实现的TCP/IP通信。主要完成一些简介处理、授权认证、及相关的安全方案等。在该层上引入了线程池的概念,为通过安全认证接入的客户端提供线程。同样在该层上可…...
