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

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

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

為何CPU主頻比FPGA快還要說可以幫助CPU加速?

FPGA開源工作室 ? 來源:OpenIC ? 作者:溫戈 ? 2021-06-30 10:57 ? 次閱讀

主頻只是影響計(jì)算速度的一個(gè)因素,并不是全部。在執(zhí)行一些計(jì)算密集型的任務(wù)場(chǎng)景中,FPGA的計(jì)算速度是更快的,目前FPGA作為CPU的協(xié)處理器已經(jīng)廣泛應(yīng)用在Intel、AMD公司產(chǎn)品中。

CPU、GPU、和FPGA的比較

桌面端的CPU為馮諾依曼結(jié)構(gòu),從上圖可以看出,其基本組成為控制器,Cache,和ALU。而計(jì)算單元ALU在CPU中的占比不大,所以它的并行計(jì)算能力有限。

中間的為GPU,綠色的計(jì)算單元占了絕大部分,所以并行計(jì)算能力很強(qiáng)。

弱點(diǎn)是控制能力很弱,Cache小,為了保證計(jì)算能力,就需要大量的高速DDR保證數(shù)據(jù)吞吐率。

右側(cè)為FPGA,包含可編程的I/O、DSP、memory、PCIE等,因?yàn)榇罅看鎯?chǔ)單元的存在,F(xiàn)PGA在做計(jì)算的時(shí)候可以直接從內(nèi)部存儲(chǔ)單元讀取數(shù)據(jù)。

推薦一個(gè)國(guó)外的FPGA學(xué)習(xí)網(wǎng)站 -- fpga4fun,里邊有FPGA的介紹及26個(gè)實(shí)戰(zhàn)項(xiàng)目及實(shí)現(xiàn)代碼,非常適合入門學(xué)習(xí)!

https://www.fpga4fun.com/

正因?yàn)镃PU、GPU、和FPGA在結(jié)構(gòu)上的不同,也讓他們?cè)趯?shí)際應(yīng)用層面有所側(cè)重。

目前主流的方案是把CPU、GPU和FPGA都集成在一個(gè)SoC中,通過片內(nèi)總線互聯(lián)。在執(zhí)行并行計(jì)算的時(shí)候,比如進(jìn)行圖像處理,F(xiàn)PGA的優(yōu)勢(shì)就體現(xiàn)出來了,通過協(xié)作分工,使芯片的工作效率最大化。

目前的3D封裝以及chiplet等技術(shù)為這樣的組合提供了可實(shí)現(xiàn)性。

為什么FPGA計(jì)算速度會(huì)比CPU更快?

在執(zhí)行大量的運(yùn)算場(chǎng)景中,F(xiàn)PGA相比GPU的核心優(yōu)勢(shì)在于低延遲。FPGA比CPU延遲低,在本質(zhì)上是體系結(jié)構(gòu)的區(qū)別。FPGA同時(shí)擁有流水線并行和數(shù)據(jù)并行,而CPU幾乎只有數(shù)據(jù)并行,雖然也會(huì)才有流水線設(shè)計(jì),但深度受限。因此,F(xiàn)PGA 更適合做需要低延遲的流式處理,GPU 更適合做大批量同構(gòu)數(shù)據(jù)的處理。

舉個(gè)例子:

我們有四個(gè)全加器,每一個(gè)的進(jìn)為輸出連接到下一個(gè)的進(jìn)位輸入,這樣實(shí)現(xiàn)的加法器被稱作行波進(jìn)位加法器(Ripple-Carry Adder, RCA)。其特點(diǎn)為:

結(jié)構(gòu)特點(diǎn):低位全加器的Cout連接到高一位全加器Cin

優(yōu)點(diǎn):電路布局簡(jiǎn)單,設(shè)計(jì)方便

缺點(diǎn):高位的運(yùn)算必須等待低位的運(yùn)算完成

我們來看一下其關(guān)鍵路徑的延遲:

總延遲時(shí)間:(T + T)*4 + T = 9T,推廣到n位,總時(shí)間為(2n + 1)*T。

每一個(gè)全加器計(jì)算的時(shí)候必須等待它的進(jìn)位輸入產(chǎn)生后才能計(jì)算,所以四個(gè)全加器并不是同時(shí)進(jìn)行計(jì)算的,而是一個(gè)一個(gè)的串行計(jì)算。這樣會(huì)造成較大的延遲。

我們把這個(gè)電路改進(jìn)一下:提前計(jì)算出“進(jìn)位信號(hào)”,對(duì)進(jìn)位信號(hào)進(jìn)行分析。

這樣我們就得到了一個(gè):超前進(jìn)位加法器(Carry-Lookahead Adder, CLA)

其中,C1、C2、C3、C4都由下面的電路計(jì)算好,需要3級(jí)門延遲,然后在全加器中關(guān)鍵路徑上還有1級(jí)延遲

所以,總共有4級(jí)門延遲。

如果采用這種完全的超前進(jìn)位,理論上的門延遲都是4級(jí)門延遲。

實(shí)際電路過于復(fù)雜,難以實(shí)現(xiàn)(C31需要32位的與門和或門?。?/p>

通常的方法:采用多個(gè)小規(guī)模的超前進(jìn)位加法器拼接而成,例如,用4個(gè)8-bit的超前進(jìn)位加法器連接成32-bit加法器。

所以我們需要更多的計(jì)算位寬或者更大的數(shù)組,或者矩陣的運(yùn)算的時(shí)候,我們使用FPGA的優(yōu)勢(shì)就體現(xiàn)出來。再多的計(jì)算,也就是放置更多的硬件邏輯資源。

FPGA對(duì)CPU加速場(chǎng)景

在一些特定的應(yīng)用場(chǎng)景下,單獨(dú)使用CPU和CPU+FPGA兩種方案所需處理時(shí)間的對(duì)比,可見FPGA對(duì)CPU的加速效果非常明顯,甚至比單獨(dú)使用CPU高出1~2個(gè)數(shù)量級(jí)!

FPGA的缺點(diǎn)

FPGA也是有缺點(diǎn)的,其中之一便是開發(fā)周期長(zhǎng)。其需要對(duì)特定的應(yīng)用編寫特定的FPGA。只要干的事情稍有不同,一般來說FPGA代碼就要重新寫一遍或者是至少要修改很多東西。如果要做的事情復(fù)雜、重復(fù)性不強(qiáng),就會(huì)占用大量的邏輯資源,其中的大部分處于閑置狀態(tài)。

不過,Chiplet的應(yīng)用對(duì)對(duì)FPGA的開發(fā)周期有一定的優(yōu)化,以下是傳統(tǒng)FPGA開發(fā)的周期和應(yīng)用chiplet的開發(fā)周期對(duì)比:

未來的方向

在現(xiàn)在的SoC設(shè)計(jì)中,要充分考慮不同模塊的特點(diǎn),F(xiàn)PGA 和 CPU 協(xié)同工作,充分發(fā)揮各自的長(zhǎng)處,局部性和重復(fù)性強(qiáng)的歸 FPGA,復(fù)雜的歸 CPU。從而達(dá)到整個(gè)系統(tǒng)算力的最優(yōu)化。

在未來,F(xiàn)PGA會(huì)作為協(xié)處理器和CPU、GPU共存一段時(shí)間,其主要提供以下三方面的能力:

能夠提供專門的硬件加速,實(shí)現(xiàn)各種應(yīng)用中需要的關(guān)鍵處理功能。

FPGA設(shè)計(jì)在性能上非常靈活,使用流水線和并行結(jié)構(gòu),適應(yīng)對(duì)性能的需求變化。

協(xié)處理器能為主處理器和系統(tǒng)存儲(chǔ)器提供寬帶,低延遲接口。

目前,英特爾,AMD,賽靈思等公司都把FPGA作為協(xié)處理器集成在SoC中作為實(shí)際應(yīng)用的硬件加速解決方案,這樣的設(shè)計(jì)也使得CPU和FPGA在未來的一段時(shí)間內(nèi)會(huì)共存,互相配合,賦能各種計(jì)算場(chǎng)景。

編輯:jq

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

    關(guān)注

    1629

    文章

    21738

    瀏覽量

    603463
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10863

    瀏覽量

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

    關(guān)注

    28

    文章

    4740

    瀏覽量

    128955

原文標(biāo)題:為什么CPU主頻一般都比FPGA快,但是卻說FPGA可以幫助CPU加速?

文章出處:【微信號(hào):leezym0317,微信公眾號(hào):FPGA開源工作室】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何限制容器可以使用的CPU資源

    默認(rèn)情況下容器可以使用的主機(jī) CPU 資源是不受限制的。和內(nèi)存資源的使用一樣,如果不對(duì)容器可以使用的 CPU 資源進(jìn)行限制,一旦發(fā)生容器內(nèi)程序異常使用
    的頭像 發(fā)表于 10-24 17:04 ?235次閱讀
    如何限制容器<b class='flag-5'>可以</b>使用的<b class='flag-5'>CPU</b>資源

    服務(wù)器cpu和臺(tái)式機(jī)cpu區(qū)別

    服務(wù)器CPU和臺(tái)式機(jī)CPU的區(qū)別是一個(gè)復(fù)雜的話題,涉及到多個(gè)方面,包括設(shè)計(jì)、性能、功耗、可靠性、成本等。 服務(wù)器CPU和臺(tái)式機(jī)CPU的區(qū)別 1. 設(shè)計(jì)目標(biāo) 服務(wù)器
    的頭像 發(fā)表于 10-10 15:12 ?1203次閱讀

    CPU主頻是什么意思

    CPU主頻,作為計(jì)算機(jī)處理器性能的一個(gè)重要指標(biāo),承載著豐富的技術(shù)內(nèi)涵與實(shí)際應(yīng)用價(jià)值。以下是對(duì)CPU主頻的詳細(xì)解析,包括其定義、用途、技術(shù)原理、影響因素以及在多個(gè)領(lǐng)域的實(shí)際應(yīng)用。
    的頭像 發(fā)表于 09-26 15:50 ?1726次閱讀

    CPU時(shí)鐘周期與主頻的關(guān)系和區(qū)別

    CPU時(shí)鐘周期與主頻是計(jì)算機(jī)體系結(jié)構(gòu)中兩個(gè)緊密相連且至關(guān)重要的概念,它們之間既存在關(guān)系又有所區(qū)別。以下將詳細(xì)闡述CPU時(shí)鐘周期與主頻的關(guān)系和區(qū)別。
    的頭像 發(fā)表于 09-26 15:46 ?1697次閱讀

    雙核cpu和單核cpu的區(qū)別

    雙核CPU與單核CPU在多個(gè)方面存在顯著差異,這些差異主要體現(xiàn)在處理能力、性能、運(yùn)行效率、功耗以及適用場(chǎng)景等方面。 一、概念與結(jié)構(gòu) 雙核CPU :指在一個(gè)處理器上集成兩個(gè)運(yùn)算核心,通過并行總線將各處
    的頭像 發(fā)表于 09-24 16:17 ?2950次閱讀

    什么是CPU緩存?它有哪些作用?

    CPU緩存(Cache Memory)是計(jì)算機(jī)系統(tǒng)中一個(gè)至關(guān)重要的組成部分,它位于CPU與內(nèi)存之間,作為兩者之間的臨時(shí)存儲(chǔ)器。CPU緩存的主要作用是減少CPU訪問內(nèi)存所需的時(shí)間,從而提
    的頭像 發(fā)表于 08-22 14:54 ?3131次閱讀

    多核CPU的優(yōu)勢(shì)是什么

    多核CPU(Central Processing Unit,中央處理器)作為現(xiàn)代計(jì)算機(jī)技術(shù)的重要里程碑,其優(yōu)勢(shì)在于顯著提升了計(jì)算性能、多任務(wù)處理能力、系統(tǒng)穩(wěn)定性以及能效等多個(gè)方面。以下將詳細(xì)闡述多核CPU的幾大優(yōu)勢(shì),并結(jié)合相關(guān)
    的頭像 發(fā)表于 08-22 14:30 ?2743次閱讀

    JAVA應(yīng)用CPU跳點(diǎn)自動(dòng)DUMP工具

    背景 在做系統(tǒng)監(jiān)控時(shí),CPU的使用率是一個(gè)關(guān)鍵的指標(biāo),它反映了系統(tǒng)的性能穩(wěn)定性以及是否存在異常情況,能幫助我們了解系統(tǒng)的負(fù)載情況。通過監(jiān)控CPU使用率,可以判斷系統(tǒng)是否正常運(yùn)行或者是否
    的頭像 發(fā)表于 08-05 17:48 ?533次閱讀

    英特爾助力京東云用CPU加速AI推理,以大模型構(gòu)建數(shù)智化供應(yīng)鏈

    英特爾助力京東云用CPU加速AI推理,以大模型構(gòu)建數(shù)智化供應(yīng)鏈
    的頭像 發(fā)表于 05-27 11:50 ?543次閱讀
    英特爾助力京東云用<b class='flag-5'>CPU</b><b class='flag-5'>加速</b>AI推理,以大模型構(gòu)建數(shù)智化供應(yīng)鏈

    CPU的各種知識(shí)

    1、CPU的位和字長(zhǎng)位:在數(shù)字電路和電腦技術(shù)中采用二進(jìn)制,代碼只有“0”和“1”,其中無論是“0”或是“1”在CPU中都是一“位”。字長(zhǎng):電腦技術(shù)中對(duì)CPU在單位時(shí)間內(nèi)(同一時(shí)間)能一次處理的二進(jìn)制
    的頭像 發(fā)表于 04-19 08:26 ?496次閱讀
    <b class='flag-5'>CPU</b>的各種知識(shí)

    請(qǐng)問DMA控制器可以減輕CPU負(fù)擔(dān)嗎?

    直接存儲(chǔ)器訪問 ( DMA )控制器,可以在內(nèi)存和/或外設(shè)之間傳輸數(shù)據(jù),而不需要 CPU 參與每次傳輸。合理利用 DMA 控制器,可以減輕CPU的負(fù)擔(dān)。
    的頭像 發(fā)表于 03-28 09:41 ?710次閱讀
    請(qǐng)問DMA控制器<b class='flag-5'>可以</b>減輕<b class='flag-5'>CPU</b>負(fù)擔(dān)嗎?

    cpu是什么意思 CPU與PUA的區(qū)別

    CPU是計(jì)算機(jī)中央處理器(Central Processing Unit)的英文縮寫,是計(jì)算機(jī)系統(tǒng)的核心部件之一。它負(fù)責(zé)處理和執(zhí)行計(jì)算機(jī)中的指令,控制和協(xié)調(diào)計(jì)算機(jī)系統(tǒng)中的各個(gè)硬件設(shè)備的工作。 PUA
    的頭像 發(fā)表于 02-05 10:47 ?1.2w次閱讀

    什么是cpu主頻和外頻,它們之間關(guān)系如何

    CPU主頻和外頻是計(jì)算機(jī)中兩個(gè)重要的頻率指標(biāo),它們分別代表了CPU內(nèi)部和與外部組件之間的數(shù)據(jù)傳輸速率。這兩個(gè)頻率指標(biāo)之間有著密切的關(guān)系,對(duì)計(jì)算機(jī)的性能和穩(wěn)定性有著重要的影響。 首先,我們來具體了解
    的頭像 發(fā)表于 02-03 16:50 ?4201次閱讀

    服務(wù)器cpu和普通電腦cpu的區(qū)別

    服務(wù)器CPU和普通電腦CPU之間存在許多區(qū)別。在以下文章中,我們將詳細(xì)介紹服務(wù)器CPU和普通電腦CPU之間的區(qū)別,并探討它們?cè)谛阅?、穩(wěn)定性、擴(kuò)展性、功耗和可靠性方面的差異。 一、性能
    的頭像 發(fā)表于 02-01 11:14 ?6688次閱讀

    為什么GPUCPU更快?

    GPUCPU更快的原因并行處理能力:GPU可以同時(shí)處理多個(gè)任務(wù)和數(shù)據(jù),而CPU通常只能一次處理一項(xiàng)任務(wù)。這是因?yàn)镚PU的架構(gòu)使得它可以同時(shí)
    的頭像 發(fā)表于 01-26 08:30 ?2415次閱讀
    為什么GPU<b class='flag-5'>比</b><b class='flag-5'>CPU</b>更快?