0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CPU 的浮點運算能力比 GPU 差,為什么不提高 CPU 的浮點運算能力呢

Dbwd_Imgtec ? 來源:未知 ? 作者:李建兵 ? 2018-03-16 15:12 ? 次閱讀

問:為什么 CPU 的浮點運算能力比 GPU 差,為什么不提高 CPU 的浮點運算能力?


「速度區(qū)別主要是來自于架構(gòu)上的區(qū)別」是一個表面化的解釋。對,架構(gòu)是不同。但是這種不同是目前各個廠家選擇的現(xiàn)狀,還是由于本質(zhì)的原因決定的?CPU 能不能增加核?GPU 那張圖為什么不需要 cache?

首先,CPU 能不能像 GPU 那樣去掉 cache?不行。GPU 能去掉 cache 關(guān)鍵在于兩個因素:數(shù)據(jù)的特殊性(高度對齊,pipeline 處理,不符合局部化假設(shè),很少回寫數(shù)據(jù))、高速度的總線。對于后一個問題,CPU 受制于落后的數(shù)據(jù)總線標準,理論上這是可以改觀的。對于前一個問題,從理論上就很難解決。因為 CPU 要提供通用性,就不能限制處理數(shù)據(jù)的種類。這也是 GPGPU 永遠無法取代 CPU 的原因。

其次,CPU 能不能增加很多核?不行。首先 cache 占掉了面積。其次,CPU 為了維護 cache 的一致性,要增加每個核的復(fù)雜度。還有,為了更好的利用 cache 和處理非對齊以及需要大量回寫的數(shù)據(jù),CPU 需要復(fù)雜的優(yōu)化(分支預(yù)測、out-of-order 執(zhí)行、以及部分模擬 GPU 的 vectorization 指令和長流水線)。所以一個 CPU 核的復(fù)雜度要比 GPU 高的多,進而成本就更高(并不是說蝕刻的成本高,而是復(fù)雜度降低了成片率,所以最終成本會高)。所以 CPU 不能像 GPU 那樣增加核。

至于控制能力,GPU 的現(xiàn)狀是差于 CPU,但是并不是本質(zhì)問題。而像遞歸這樣的控制,并不適合高度對齊和 pipeline 處理的數(shù)據(jù),本質(zhì)上還是數(shù)據(jù)問題。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10804

    瀏覽量

    210828
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    4673

    瀏覽量

    128592

原文標題:為什么 CPU 的浮點運算能力比 GPU 差,為什么不提高 CPU 的浮點運算能力?

文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    【RA-Eco-RA2E1-48PIN-V1.0開發(fā)板試用】在M23內(nèi)核上使用qfplib浮點運算庫進行浮點運算

    運算。難道由于硬件不支持FPU, 常用的M0/M0+/M23/M3內(nèi)核就無緣浮點運算?答案是顯然不是的。 我們可以移植使用開源的qfplib庫來實現(xiàn)
    發(fā)表于 11-05 22:07

    請問AURIX TC3xx tricore架構(gòu)下浮點運算和將浮點數(shù)小數(shù)點去掉變成整數(shù)來計算哪種方式更加節(jié)省算力?

    ? tricore架構(gòu)下CPU有專門的FPU來處理浮點數(shù)運算,是否意味著用12.89參與運算,在調(diào)用FPU來計算的情況下,計算時間不會比12890參與計算的時間長,甚至可能
    發(fā)表于 08-26 06:54

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

    CPU運算器和控制器是計算機的核心組成部分,它們共同完成計算機的各種運算和控制任務(wù)。下面我們將詳細介紹運算器和控制器的作用。 運算器的作用
    的頭像 發(fā)表于 06-30 11:15 ?1710次閱讀

    cpu控制器和運算器組成的部件有哪些

    CPU(中央處理器)是計算機的核心部件,負責(zé)執(zhí)行程序指令和處理數(shù)據(jù)。CPU主要由控制器和運算器組成,這兩個部件共同完成計算機的運算任務(wù)。下面詳細介紹
    的頭像 發(fā)表于 06-30 11:01 ?1432次閱讀

    請問esp32 wroom 32u默認開啟硬件浮點運算單元了嗎?

    請問esp32 wroom 32u 默認開啟硬件浮點運算單元了嗎?感謝
    發(fā)表于 06-21 11:08

    在定時器內(nèi)使用浮點運算的PID控制算法,程序就會重啟,為什么?

    在定時器內(nèi)使用浮點運算的PID控制算法,程序就會重啟,把浮點數(shù)換為整形數(shù)據(jù)就不會。
    發(fā)表于 06-05 07:24

    優(yōu)秀的Verilog/FPGA開源項目-浮點運算器(FPU)介紹

    浮點運算器(英文:floating point unit,簡稱FPU)是計算機系統(tǒng)的一部分,它是專門用來進行浮點數(shù)運算的(CPU中也叫ALU
    的頭像 發(fā)表于 04-26 11:27 ?2773次閱讀
    優(yōu)秀的Verilog/FPGA開源項目-<b class='flag-5'>浮點</b><b class='flag-5'>運算</b>器(FPU)介紹

    verilog語音實現(xiàn)浮點運算

    Verilog可以通過使用IEEE標準的浮點數(shù)表示來實現(xiàn)浮點運算。下面是一個基本的Verilog模塊示例,展示了如何進行加法、乘法和除法等常見的浮點
    發(fā)表于 03-25 21:49

    STSPIN32F0支持硬件浮點運算嗎?

    STSPIN32F0 支不支持硬件浮點運算
    發(fā)表于 03-13 06:32

    XMC7100D進行2維浮點fft運算,如何優(yōu)化?

    使用XMC72_EVK 降頻到250MHz,運行一個2維浮點fft運算,這個二維數(shù)組大小是64x128。循環(huán)運行1000次的時間是22秒 而使用XMC72_EVK 工作在350MHz,循環(huán)運行
    發(fā)表于 02-02 07:53

    為什么GPUCPU更快?

    GPUCPU更快的原因并行處理能力GPU可以同時處理多個任務(wù)和數(shù)據(jù),而CPU通常只能一次處理
    的頭像 發(fā)表于 01-26 08:30 ?2157次閱讀
    為什么<b class='flag-5'>GPU</b><b class='flag-5'>比</b><b class='flag-5'>CPU</b>更快?

    ADSP-CM419的浮點運算速度大概是多快?

    求問有人知道ADSP-CM419的浮點運算速度大概是多快嗎?就是說完成一次加、減、乘、除大概需要多長時間?
    發(fā)表于 01-12 07:05

    stm32f407浮點運算速度

    支持硬件浮點運算單元(FPU),可以提供快速和高效的浮點運算性能。本文將詳細介紹 STM32F407 的浮點
    的頭像 發(fā)表于 01-04 10:58 ?3195次閱讀

    浮點LMS算法的FPGA實現(xiàn)

    引言 LMS(最小均方)算法因其收斂速度快及算法實現(xiàn)簡單等特點在自適應(yīng)濾波器、自適應(yīng)天線陣技術(shù)等領(lǐng)域得到了十分廣泛的應(yīng)用。為了發(fā)揮算法的最佳性能,必須采用具有大動態(tài)范圍及運算精度的浮點運算,而
    的頭像 發(fā)表于 12-21 16:40 ?699次閱讀

    請問adau1452支持浮點運算嗎?

    你好, 我想在dsp里做一個音頻降噪處理的算法,剛查看了一下adau1452的性能是極好的,我想進一步了解一下這款芯片。 請問adau1452支持浮點運算嗎?你們提供的例程有沒有關(guān)于降噪的?我自己寫的算法代碼是c語言的就可以了吧? 或者說只做降噪處理的(算法有點復(fù)雜)有沒
    發(fā)表于 11-29 07:58