0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

GPU和CPU有什么区别GPU的详细介绍

Wildesbeast 来源:网络整理 作者:佚名 2020-11-28 11:23 次阅读

对于GPU,大家想必也十分熟悉。但是,大家真的了解GPU吗?譬如,GPU和显卡是同一个东西吗?CPU和GPU有什么区别吗?在本文中,小编将对这两个问题加以介绍。如果GPU是您正在了解的知识,本文将是很好的入门素材哦,不妨和小编共同往下阅读吧。

一、GPU 、显卡关系

总的来说,显卡是显示卡的简称,显卡是由GPU、显存等等组成的。

GPU是图形处理器,一般GPU就是焊接在显卡上的,大部分情况下,我们所说GPU就等于指显卡,但是实际情况是GPU是显示卡的“心脏”,是显卡的一个核心零部件,核心组成部分。它们是“寄生与被寄生”关系。GPU本身并不能单独工作,只有配合上附属电路和接口,才能工作。这时候,它就变成了显卡。

也就相当于CPU在电脑中的作用,它决定了该显卡的档次和大部分性能,现在还没有出现GPU插在主板上的,因为GPU功耗很高,背面电流过大,还是焊接更为可靠。

二、CPU、GPU区别

CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景。CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理。这些都使得CPU的内部结构异常复杂。而GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境。

于是CPU和GPU就呈现出非常不同的架构(示意图):

图片来自nVidia CUDA文档。其中绿色的是计算单元,橙红色的是存储单元,橙黄色的是控制单元。

GPU采用了数量众多的计算单元和超长的流水线,但只有非常简单的控制逻辑并省去了Cache。而CPU不仅被Cache占据了大量空间,而且还有有复杂的控制逻辑和诸多优化电路,相比之下计算能力只是CPU很小的一部分。

从上图可以看出:

Cache, local memory: CPU 》 GPU

Threads(线程数): GPU 》 CPU

Registers: GPU 》 CPU 多寄存器可以支持非常多的Thread,thread需要用到register,thread数目大,register也必须得跟着很大才行。

SIMD Unit(单指令多数据流,以同步方式,在同一时间内执行同一条指令): GPU 》 CPU。

CPU 基于低延时的设计:

CPU有强大的ALU(算术运算单元),它可以在很少的时钟周期内完成算术计算。

当今的CPU可以达到64bit 双精度。执行双精度浮点源算的加法和乘法只需要1~3个时钟周期。

CPU的时钟周期的频率是非常高的,达到1.532~3gigahertz(千兆HZ, 10的9次方)。

大的缓存也可以降低延时。保存很多的数据放在缓存里面,当需要访问的这些数据,只要在之前访问过的,如今直接在缓存里面取即可。

复杂的逻辑控制单元。当程序含有多个分支的时候,它通过提供分支预测的能力来降低延时。

数据转发。 当一些指令依赖前面的指令结果时,数据转发的逻辑控制单元决定这些指令在pipeline中的位置并且尽可能快的转发一个指令的结果给后续的指令。这些动作需要很多的对比电路单元和转发电路单元。

GPU是基于大的吞吐量设计。GPU的特点是有很多的ALU和很少的cache. 缓存的目的不是保存后面需要访问的数据的,这点和CPU不同,而是为thread提高服务的。如果有很多线程需要访问同一个相同的数据,缓存会合并这些访问,然后再去访问dram(因为需要访问的数据保存在dram中而不是cache里面),获取数据后cache会转发这个数据给对应的线程,这个时候是数据转发的角色。但是由于需要访问dram,自然会带来延时的问题。

GPU的控制单元(左边黄色区域块)可以把多个的访问合并成少的访问。

GPU的虽然有dram延时,却有非常多的ALU和非常多的thread. 为啦平衡内存延时的问题,我们可以中充分利用多的ALU的特性达到一个非常大的吞吐量的效果。尽可能多的分配多的Threads.通常来看GPU ALU会有非常重的pipeline就是因为这样。

所以与CPU擅长逻辑控制,串行的运算。和通用类型数据运算不同,GPU擅长的是大规模并发计算,这也正是密码破解等所需要的。所以GPU除了图像处理,也越来越多的参与到计算当中来。

GPU的工作大部分就是这样,计算量大,但没什么技术含量,而且要重复很多很多次。就像你有个工作需要算几亿次一百以内加减乘除一样,最好的办法就是雇上几十个小学生一起算,一人算一部分,反正这些计算也没什么技术含量,纯粹体力活而已。而CPU就像老教授,积分微分都会算,就是工资高,一个老教授资顶二十个小学生,你要是富士康你雇哪个?GPU就是这样,用很多简单的计算单元去完成大量的计算任务,纯粹的人海战术。这种策略基于一个前提,就是小学生A和小学生B的工作没有什么依赖性,是互相独立的。很多涉及到大量计算的问题基本都有这种特性,比如你说的破解密码,挖矿和很多图形学的计算。这些计算可以分解为多个相同的简单小任务,每个任务就可以分给一个小学生去做。但还有一些任务涉及到“流”的问题。比如你去相亲,双方看着顺眼才能继续发展。总不能你这边还没见面呢,那边找人把证都给领了。这种比较复杂的问题都是CPU来做的。

总而言之,CPU和GPU因为最初用来处理的任务就不同,所以设计上有不小的区别。而某些任务和GPU最初用来解决的问题比较相似,所以用GPU来算了。GPU的运算速度取决于雇了多少小学生,CPU的运算速度取决于请了多么厉害的教授。教授处理复杂任务的能力是碾压小学生的,但是对于没那么复杂的任务,还是顶不住人多。当然现在的GPU也能做一些稍微复杂的工作了,相当于升级成初中生高中生的水平。但还需要CPU来把数据喂到嘴边才能开始干活,究竟还是靠CPU来管的。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10411

    浏览量

    206465
  • gpu
    gpu
    +关注

    关注

    27

    文章

    4402

    浏览量

    126562
  • 焊接
    +关注

    关注

    38

    文章

    2734

    浏览量

    58161
收藏 人收藏

    评论

    相关推荐

    FPGA比CPUGPU快的原理是什么

    本文首先阐述了FPGA的原理了,其次分析了FPGA比CPUGPU快的原理,最后阐述了CPUGPU区别
    的头像 发表于 05-31 09:00 1.6w次阅读
    FPGA比<b class='flag-5'>CPU</b>和<b class='flag-5'>GPU</b>快的原理是什么

    266.电脑中CPUGPU区别

    gpu
    小凡
    发布于 :2022年10月04日 15:12:12

    GPU的作用、原理及与CPU、DSP的区别

    的问题,与CPU的速度无太大关系。GPU与DSP区别GPU在几个主要方面有别于DSP(Digital Signal Processing,简称DSP(数字信号处理)架构。其所有计算均使
    发表于 11-04 10:04

    GPU是如何工作的?与CPU、DSP什么区别

    本帖最后由 24不可说 于 2016-8-5 15:15 编辑 GPU是显示卡的“心脏”,也就相当于CPU在电脑中的作用,它决定了该显卡的档次和大部分性能,同时也是2D显示卡和3D显示卡的区别
    发表于 08-05 13:00

    ARM架构的GPU和台式机的GPU什么区别

    1:移动GPU(指的是ARM处理器集成的GPU)和独立的PC的GPU区别?除了架构,就拿视频解码来说,为什么ARM的处理器的GPU可以实现
    发表于 07-18 08:04

    GPUCPU区别是什么

    GPU是如何工作的GPU与DSP区别GPUCPU区别是什么
    发表于 01-05 06:15

    请问GPU与DSP、CPU区别在哪里?

    GPU工作原理是什么?GPU主要作用哪些?GPU与DSP区别在哪里?GPU
    发表于 04-19 09:16

    CPUGPU之间什么区别

    CPUGPU之间什么区别
    发表于 11-05 07:58

    一文知道CPUGPU区别

    对于GPU,大家想必也十分熟悉。但是,大家真的了解GPU吗?譬如,GPU和显卡是同一个东西吗?CPUGPU
    的头像 发表于 11-23 10:14 4795次阅读

    CPUGPU区别有哪些

    CPUGPU区别有哪些呢?接下来简单给大家介绍一下关于GPUCPU
    的头像 发表于 01-06 17:07 2.8w次阅读

    恒讯科技分析:GPU是什么和CPU区别

    GPU是什么和CPU区别?CPU是计算机的中央处理单元,可以以最小的延迟执行算术和逻辑运算。相比之下,GPU是一种嵌入式或外部图形处理单元
    的头像 发表于 05-25 17:23 1889次阅读

    gpucpu什么区别

    gpucpu什么区别GPUCPU是电脑中两个重要的计算器件。如果想要了解这两个设备的区别
    的头像 发表于 08-09 16:15 1w次阅读

    cpu gpu npu的区别 NPU与GPU哪个好?gpu是什么意思?

    cpu gpu npu的区别 NPU与GPU哪个好?gpu是什么意思? 在当今数字化和人工智能的时代,高效的计算能力是现代技术发展的重要基础
    的头像 发表于 08-27 17:03 8001次阅读

    CPUGPU与TPU之间有什么区别

    CPUGPU与TPU之间有什么区别CPU(Central Processing Unit,中央处理器)是一种通用处理器,被用于各种计算任务,如操作系统运行、数据处理、算法运算等。
    的头像 发表于 12-15 10:10 3401次阅读

    gpu是什么和cpu区别

    GPUCPU是两种常见的计算机处理器,它们在结构和功能上有很大的区别。在这篇文章中,我们将探讨GPUCPU
    的头像 发表于 02-20 11:24 895次阅读