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

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

3天内不再提示

CPU 的浮点运算能力比 GPU 差,为什么不提高 CPU 的浮点运算能力呢

Dbwd_Imgtec 来源:未知 作者:李建兵 2018-03-16 15:12 次阅读

问:为什么 CPU 的浮点运算能力比 GPU 差,为什么不提高 CPU 的浮点运算能力?


「速度区别主要是来自于架构上的区别」是一个表面化的解释。对,架构是不同。但是这种不同是目前各个厂家选择的现状,还是由于本质的原因决定的?CPU 能不能增加核?GPU 那张图为什么不需要 cache?

首先,CPU 能不能像 GPU 那样去掉 cache?不行。GPU 能去掉 cache 关键在于两个因素:数据的特殊性(高度对齐,pipeline 处理,不符合局部化假设,很少回写数据)、高速度的总线。对于后一个问题,CPU 受制于落后的数据总线标准,理论上这是可以改观的。对于前一个问题,从理论上就很难解决。因为 CPU 要提供通用性,就不能限制处理数据的种类。这也是 GPGPU 永远无法取代 CPU 的原因。

其次,CPU 能不能增加很多核?不行。首先 cache 占掉了面积。其次,CPU 为了维护 cache 的一致性,要增加每个核的复杂度。还有,为了更好的利用 cache 和处理非对齐以及需要大量回写的数据,CPU 需要复杂的优化(分支预测、out-of-order 执行、以及部分模拟 GPU 的 vectorization 指令和长流水线)。所以一个 CPU 核的复杂度要比 GPU 高的多,进而成本就更高(并不是说蚀刻的成本高,而是复杂度降低了成片率,所以最终成本会高)。所以 CPU 不能像 GPU 那样增加核。

至于控制能力,GPU 的现状是差于 CPU,但是并不是本质问题。而像递归这样的控制,并不适合高度对齐和 pipeline 处理的数据,本质上还是数据问题。

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

    关注

    68

    文章

    10854

    浏览量

    211583
  • gpu
    gpu
    +关注

    关注

    28

    文章

    4729

    浏览量

    128890

原文标题:为什么 CPU 的浮点运算能力比 GPU 差,为什么不提高 CPU 的浮点运算能力?

文章出处:【微信号:Imgtec,微信公众号:Imagination Tech】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA中的浮点四则运算是什么

    由于定点的四则运算比较简单,如加减法只要注意符号扩展,小数点对齐等问题即可。在本文中,运用在前一节中描述的自定义浮点格式FPGA中数的表示方法(下),完成浮点四则运算的实现过程 1.自
    的头像 发表于 11-16 12:51 226次阅读
    FPGA中的<b class='flag-5'>浮点</b>四则<b class='flag-5'>运算</b>是什么

    FPGA中浮点四则运算的实现过程

    由于定点的四则运算比较简单,如加减法只要注意符号扩展,小数点对齐等问题即可。在本文中,运用在前一节中描述的自定义浮点格式FPGA中数的表示方法(下),完成浮点四则运算的实现过程 1.自
    的头像 发表于 11-16 11:19 396次阅读
    FPGA中<b class='flag-5'>浮点</b>四则<b class='flag-5'>运算</b>的实现过程

    【RA-Eco-RA2E1-48PIN-V1.0开发板试用】在M23内核上使用qfplib浮点运算库进行浮点运算

    运算。难道由于硬件不支持FPU, 常用的M0/M0+/M23/M3内核就无缘浮点运算?答案是显然不是的。 我们可以移植使用开源的qfplib库来实现
    发表于 11-05 22:07

    请问AURIX TC3xx tricore架构下浮点运算和将浮点数小数点去掉变成整数来计算哪种方式更加节省算力?

    ? tricore架构下CPU有专门的FPU来处理浮点运算,是否意味着用12.89参与运算,在调用FPU来计算的情况下,计算时间不会比12890参与计算的时间长,甚至可能
    发表于 08-26 06:54

    cpu运算器和控制器的作用是什么

    CPU运算器和控制器是计算机的核心组成部分,它们共同完成计算机的各种运算和控制任务。下面我们将详细介绍运算器和控制器的作用。 运算器的作用
    的头像 发表于 06-30 11:15 2097次阅读

    cpu控制器和运算器组成的部件有哪些

    CPU(中央处理器)是计算机的核心部件,负责执行程序指令和处理数据。CPU主要由控制器和运算器组成,这两个部件共同完成计算机的运算任务。下面详细介绍
    的头像 发表于 06-30 11:01 1834次阅读

    请问esp32 wroom 32u默认开启硬件浮点运算单元了吗?

    请问esp32 wroom 32u 默认开启硬件浮点运算单元了吗?感谢
    发表于 06-21 11:08

    在定时器内使用浮点运算的PID控制算法,程序就会重启,为什么?

    在定时器内使用浮点运算的PID控制算法,程序就会重启,把浮点数换为整形数据就不会。
    发表于 06-05 07:24

    优秀的Verilog/FPGA开源项目-浮点运算器(FPU)介绍

    浮点运算器(英文:floating point unit,简称FPU)是计算机系统的一部分,它是专门用来进行浮点运算的(CPU中也叫ALU
    的头像 发表于 04-26 11:27 3401次阅读
    优秀的Verilog/FPGA开源项目-<b class='flag-5'>浮点</b><b class='flag-5'>运算</b>器(FPU)介绍

    verilog语音实现浮点运算

    Verilog可以通过使用IEEE标准的浮点数表示来实现浮点运算。下面是一个基本的Verilog模块示例,展示了如何进行加法、乘法和除法等常见的浮点
    发表于 03-25 21:49

    STSPIN32F0支持硬件浮点运算吗?

    STSPIN32F0 支不支持硬件浮点运算
    发表于 03-13 06:32

    XMC7100D进行2维浮点fft运算,如何优化?

    使用XMC72_EVK 降频到250MHz,运行一个2维浮点fft运算,这个二维数组大小是64x128。循环运行1000次的时间是22秒 而使用XMC72_EVK 工作在350MHz,循环运行
    发表于 02-02 07:53

    为什么GPUCPU更快?

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

    ADSP-CM419的浮点运算速度大概是多快?

    求问有人知道ADSP-CM419的浮点运算速度大概是多快吗?就是说完成一次加、减、乘、除大概需要多长时间?
    发表于 01-12 07:05

    stm32f407浮点运算速度

    支持硬件浮点运算单元(FPU),可以提供快速和高效的浮点运算性能。本文将详细介绍 STM32F407 的浮点
    的头像 发表于 01-04 10:58 3348次阅读