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

    文章

    10934

    浏览量

    213611
  • gpu
    gpu
    +关注

    关注

    28

    文章

    4818

    浏览量

    129639

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

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

收藏 人收藏

    相关推荐

    【RA-Eco-RA4E2-64PIN-V1.0开发板试用】RA4E2的DSP浮点性能的软件浮点测试和硬件浮点测试对比

    , atan,等等基本操作。 当然为了测试出硬件浮点运算性能,这里很有必要在测试一下软件浮点运算能力,方便做个测试对比,怎么做软件
    发表于 12-30 17:55

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

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

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

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

    【AG32开发板免费试用】+数据采集存储系统(2)-串口输出+浮点运算验证

    本次学习下串口配置和输出。 并验证芯片的浮点运算能力。 下面直接上干货哦。 VE 配置 SYSCLK 100 HSECLK 8 GPIO4_1 PIN_31 # LED4 GPIO4_2
    发表于 10-31 21:22

    双核cpu和单核cpu的区别

    双核CPU与单核CPU在多个方面存在显著差异,这些差异主要体现在处理能力、性能、运行效率、功耗以及适用场景等方面。 一、概念与结构 双核CPU :指在一个处理器上集成两个
    的头像 发表于 09-24 16:17 4665次阅读

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

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

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

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

    cpu控制器负责什么运算

    、设计和实现等方面的内容。 CPU控制器的功能 CPU控制器是计算机系统中最重要的组件之一。它的主要功能包括: 1.1 指令执行:CPU控制器负责执行程序中的指令。这些指令包括算术运算
    的头像 发表于 06-30 11:14 1162次阅读

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

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

    请问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 4157次阅读
    优秀的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