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

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

3天内不再提示

GPU与CPU的由来及区别

jf_78858299 来源:小牛呼噜噜 作者:小牛呼噜噜 2023-02-09 14:44 次阅读

CPU是什么?

CPU,中央处理器(Central Processing Unit)是一台计算机的运算核心和控制核心。CPU、内部存储器和输入/输出设备是电子计算机三大核心部件。其功能主要是解释计算机指令以及处理计算机软件中的数据。

GPU是什么?

GPU,图形处理器(Graphic Processing Unit)。一个专门的图形核心处理器。GPU是显示卡的“大脑”,决定了该显卡的档次和大部分性能,同时也是2D显示卡和3D显示卡的区别依据。2D显示芯片在处理3D图像和特效时主要依赖CPU的处理能力,称为“软加速”。3D显示芯片是将三维图像和特效处理功能集中在显示芯片内,也即所谓的“硬件加速”功能。

GPU与CPU的区别

GPU的由来

计算机对图像进行实时渲染, 一般需要经过图形流水线的过程:顶点处理->图元处理->栅格化->片段处理->像素操作, 期间需要大量的计算,比如 640×480的分辨率的屏幕,为了显示游戏画面,大概有30万个像素需要渲染 ,为了让人眼看到画面动起来,其不像电影一样只需要24帧,至少需要60帧, 即每秒我们需要完成1800 万次单个像素的渲染,每个像素都需要经过 图形流水线过程 ,需要耗费大量资源

随着图像处理对于计算机来说越来越重要,CPU越来越不从心了。CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理。这些都使得CPU的内部结构异常复杂。

另一方面,当芯片的集成度增加后,漏电流也随之增大,但时钟频率的提高有限,而且晶体管的线宽很快就会到达物理极限,因此芯片的性能很难靠减小晶体管线宽来提高。所以工程师们开始想办法在设计上做文章:由于图像渲染的流程是固定的,通过硬件来解决这个问题,那就设计一个不需要考虑CPU的流水线停顿、乱序执行、 分支预测、内存管理、IO等等的各类问题的芯片 ,这其实就是GPU。

并行计算

我们重点再介绍一下CPU并行,即并行计算

并行计算(Parallel Computing)是指同时使用多种计算资源解决计算问题的过程,是提高计算机系统计算速度和处理能力的一种有效手段。它的基本思想是用多个处理器来共同求解同一问题,即将被求解的问题分解成若干个部分,各部分均由一个独立的处理机来并行计算。

并行计算可分为时间上的并行空间上的并行

  1. 时间上的并行是指流水线技术,采用流水线,可以在同一时间启动两个或两个以上的操作,大大提高计算性能。
  2. 空间上的并行是指多个处理机并发的执行计算,即通过网络将两个以上的处理机连接起来,达到同时计算同一个任务的不同部分,或者单个处理机无法解决的大型问题。

GPU架构优化

我们来看看,现代的 GPU 为了图形渲染、深度学习上有相较于CPU更强大的性能,做出来哪些设计上的优化:

  1. 由于GPU不需要考虑CPU的流水线停顿、乱序执行、 分支预测等等的各类问题,只需要流式计算的功能,所以内部许多CPU的电路是不需要的,这样就节约了大量空间
  2. 由于GPU相比CPU电路就简单多了,这样就可以塞入更多的电路,即更多的"核",他们都是并行的,能够极大提升性能
  3. 除了塞更多的核,为了更大程度提升GPU的性能,还采用 SIMT技术, 可以把多条数据,交给不同的线程去处理。类似于CPU中,SIMD技术,但是其只能一次性取出了固定 长度的多个数据,放到寄存器里面,用一个指令去执行
  4. GPU同样采用超线程技术, 当任务计算遇到停顿的时候,调度一些别的计算任务给当前的 ALU,这样就需要保证核心中提供更多的执行上下文给ALU算数计算单元使用

我们再看看下面的CPU和GPU的架构图,想必会有所得

  1. CPU架构图

图片

CPU架构

  1. GPU架构图

图片

GPU架构图

从架构图我们就能很明显的看出,GPU的构成相对简单,GPU采用 流式并行计算模式 ,每一个计算单元可以单独负责一个像素点,每个像素点不依赖旁边像素点的数据,所以每个计算单元都是独立并行的,不需要控制器额外干涉。CPU的核数一般2,4,8核;但是GPU可以达到上千核拥有数量非常多的计算单元和超长的流水线,计算能力非常强悍,特别适合处理大规模并发计算

我们需要知道GPU无法单独工作,必须由CPU进行控制调用才能工作。CPU可单独作用,处理复杂的逻辑运算和不同的数据类型,但当需要大量的处理类型统一的数据时,则可调用GPU进行并行计算。

GPU和CPU的应用场景

小结一下

  1. CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理。这些都使得CPU的内部结构异常复杂,采用的是精兵战术,能力强,但数量少,擅长逻辑控制,串行运算。
  2. GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境,采用的是人海战术,单个能力弱,但数量众多,擅长的是大规模并发计算。

虽然GPU是为了图像处理而生的,随着时代的发展,现在GPU不仅可以在图像处理领域大显身手,它还被用来深度学习、科学计算、密码破解、数值分析,海量数据处理,金融分析等需要大规模并行计算的领域。

参考资料:《深入浅出计算机组成原理》 https://blog.csdn.net/shuiyixin/article/details/82915378

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

    关注

    68

    文章

    10824

    浏览量

    211100
  • 存储
    +关注

    关注

    13

    文章

    4259

    浏览量

    85652
  • gpu
    gpu
    +关注

    关注

    28

    文章

    4700

    浏览量

    128677
收藏 人收藏

    评论

    相关推荐

    FPGA比CPUGPU快的原理是什么

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

    GPUCPU区别是什么

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

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

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

    CPUGPU之间有什么区别

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

    什么是GPUGPU的主要作用和工作原理以及GPUCPU区别

    GPU的作用、原理及与CPU、DSP的区别 GPU是显示卡的心脏,也就相当于CPU在电脑中的作用,它决定了该显卡的档次和大部分性能,同时也
    发表于 09-13 09:43 13次下载

    一文了解CPUGPU和TPU的区别

    很多读者可能分不清楚 CPUGPU 和 TPU 之间的区别,因此 Google Cloud 将在这篇博客中简要介绍它们之间的区别,并讨论为什么 TPU 能加速深度学习。
    的头像 发表于 09-06 16:53 2.8w次阅读

    一文知道CPUGPU区别

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

    GPUCPU有什么区别GPU的详细介绍

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

    CPUGPU区别有哪些

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

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

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

    CPUGPU之间的主要区别

    以下是以表格形式提供的 CPUGPU 之间的一些区别
    发表于 06-06 15:51 827次阅读

    gpucpu有什么区别

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

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

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

    CPUGPU之间的主要区别

    以下是以表格形式提供的CPUGPU之间的一些区别:中央处理器图形处理器CPU代表中央处理器。GPU代表图形处理单元。
    的头像 发表于 12-14 08:28 757次阅读
    <b class='flag-5'>CPU</b>和<b class='flag-5'>GPU</b>之间的主要<b class='flag-5'>区别</b>

    gpu是什么和cpu区别

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