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

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

3天内不再提示

CPU和GPU大不相同,究竟原因在哪?

5RJg_mcuworld 来源:互联网 作者:佚名 2017-10-26 06:42 次阅读

在北京举办的NVIDIA GTC China会议中,无论是AI智能运算,还是服务器数据中心、智能城市,甚至还有去年很火热但是已经很多人已经支撑不下去的虚拟现实,看起来在很多内心中依然是属于图形行业代表的NVIDIA已经变得越来越丰满,不过在这些新闻的背后,似乎还有更大胆的预言:摩尔定律已死,GPU最终会取代CPU

摩尔定律是由英特尔Intel)创始人之一戈登·摩尔(Gordon Moore)提出来的。其内容为:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。换言之,每一美元所能买到的电脑性能,将每隔18-24个月翻一倍以上。这一定律揭示了信息技术进步的速度。

概要:CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景。

尽管这种趋势已经持续了超过半个世纪,摩尔定律仍应该被认为是观测或推测,而不是一个物理或自然法。然而,2010年国际半导体技术发展路线图的更新增长已经放缓在2013年年底,之后的时间里晶体管数量密度预计只会每三年翻一番。

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

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

从上图可以看出:Cache, local memory: CPU > GPU Threads(线程数): GPU > CPURegisters: 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上运行?

(1)计算密集型的程序。所谓计算密集型(Compute-intensive)的程序,就是其大部分运行时间花在了寄存器运算上,寄存器的速度和处理器的速度相当,从寄存器读写数据几乎没有延时。可以做一下对比,读内存的延迟大概是几百个时钟周期;读硬盘的速度就不说了,即便是SSD, 也实在是太慢了。

(2)易于并行的程序。GPU其实是一种SIMD(Single Instruction Multiple Data)架构, 他有成百上千个核,每一个核在同一时间最好能做同样的事情。

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

    关注

    68

    文章

    10873

    浏览量

    212056
  • 摩尔定律
    +关注

    关注

    4

    文章

    634

    浏览量

    79077
  • gpu
    gpu
    +关注

    关注

    28

    文章

    4743

    浏览量

    129007

原文标题:GPU会取代CPU的位置吗?

文章出处:【微信号:mcuworld,微信公众号:嵌入式资讯精选】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ADS1251从TEST+输入相同固定的电压,为何每次读取到的数据都不相同?

    从TEST+输入相同固定的电压,,为何每次读取到的数据都不相同?? 简易电路图: 以每一秒中段读取一次~~不知为什数据会乱跳~~
    发表于 01-03 07:53

    ADS1256设置不同的数据输出速率的时候,得到的24bit的输出数据不相同,为什么?

    在使用ADS1256采集数据时出现问题描述如下:当设置不同的数据输出速率的时候,得到的24bit的输出数据不相同。 采集系统硬件描述如下,下位机MCU采用的主频为456MHZ,通过GPIO口跟
    发表于 12-13 06:34

    如何选择适合的GPU

    在现代计算领域,GPU(图形处理单元)的作用已经远远超出了传统的图形渲染。从深度学习到科学计算,再到视频编辑,GPU都在发挥着越来越重要的作用。然而,市场上的GPU型号繁多,性能和价格也各不相
    的头像 发表于 10-27 11:07 337次阅读

    TLC4502实际设计、使用中应该特别注意些什么?

    TLC4502初看就是个性能优越的运放,实际上的内部结构与普通的运放大不相同,实际设计、使用中应该特别注意些什么?
    发表于 09-26 07:43

    请问正向输入VF3与反向输入VF2的波形为什么不相同呢?虚短怎么就不成立了呢?

    请问正向输入VF3与反向输入VF2的波形为什么不相同呢?虚短怎么就不成立了呢?
    发表于 08-16 12:07

    算力服务器为什么选择GPU

    服务器会选择GPU而不是传统的CPU呢?GPUCPU的区别GPUCPU二者都由寄存器、控制器
    的头像 发表于 07-25 08:28 661次阅读
    算力服务器为什么选择<b class='flag-5'>GPU</b>

    5G赋能智慧海洋,网络怎么建?舟山移动探索出新路子

    纷纷扬帆出海,开启了海域5G网络建设和业务发展新征程。海域无线环境、业务分布与陆地大不相同,运营商多年积累并已轻车熟路的整套网络规划、建设、优化和维护模式均面临全新
    的头像 发表于 06-06 08:05 348次阅读
    5G赋能智慧海洋,网络怎么建?舟山移动探索出新路子

    CPU渲染和GPU渲染优劣分析

    使用计算机进行渲染时,有两种流行的系统:基于中央处理单元(CPU)或基于图形处理单元(GPU)。CPU渲染利用计算机的CPU来执行场景并将其渲染到接近完美。这也是执行渲染的更传统方式。
    的头像 发表于 05-23 08:27 609次阅读
    <b class='flag-5'>CPU</b>渲染和<b class='flag-5'>GPU</b>渲染优劣分析

    深度剖析AI网络中GPU与光模块配比及需求

    市场上存在多种计算光模块与GPU比例的方法,导致结果不相同。造成这些差异的主要原因是不同网络结构中光模块数量的波动。所需的光模块的准确数量主要取决于几个关键因素。
    发表于 04-23 17:36 2080次阅读
    深度剖析AI网络中<b class='flag-5'>GPU</b>与光模块配比及需求

    STM32WB55RGV6使用QSPI官方例程读写外部FLASH,读出的数据跟写入的数据不相同是为什么?

    STM32WB55RGV6 使用 QSPI 官方例程擦除、读、写 FLASH,每一步都返回OK,但是读出的数据跟写入的数据不相同,读出的数据是 0X99 0X99 0X99 0XFF 0XFF 后面
    发表于 03-27 08:29

    PCF8563(RTC)读取时间有误是什么原因导致的?

    使用I2C硬件驱动模块对EEPROM芯片进行读写,是正常的。但对于PCF8563芯片通信时,读取到的时间是有误的,小时和分的数值也在经常变化,【PCF8563与EEPROM的读时序是相同的,且二者的从机地址也不相同】,请问这种情况是什么
    发表于 03-14 08:33

    gpu是什么和cpu的区别

    GPUCPU是两种常见的计算机处理器,它们在结构和功能上有很大的区别。在这篇文章中,我们将探讨GPUCPU的区别,并详细介绍它们的原理、应用领域和性能特点。 一、概述 1.1
    的头像 发表于 02-20 11:24 1.9w次阅读

    为什么GPUCPU更快?

    GPUCPU更快的原因并行处理能力:GPU可以同时处理多个任务和数据,而CPU通常只能一次处理一项任务。这是因为
    的头像 发表于 01-26 08:30 2431次阅读
    为什么<b class='flag-5'>GPU</b>比<b class='flag-5'>CPU</b>更快?

    FET晶体管电路设计参数

    与作为电流控制器件的双极晶体管不同,场效应晶体管是电压控制的。这使得FET电路的设计方式与双极晶体管电路的设计方式大不相同
    的头像 发表于 01-09 15:38 924次阅读

    CPUGPU散热器设计的异同及其重要性

    CPUGPU散热器的设计异同及其重要性 在计算机的发展过程中,中央处理单元(CPU)和图形处理单元(GPU)在性能和热量产生方面的不断提升和增加,使得其在长时间工作时产生了大量的热量
    的头像 发表于 01-09 14:00 1354次阅读