《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 其他 > FPGA教學——為什么FPGA主頻比CPU慢,但卻可以用來幫CPU加速?

FPGA教學——為什么FPGA主頻比CPU慢,但卻可以用來幫CPU加速?

2022-08-23
來源:FPGA之家
關鍵詞: FPGA CPU

  我們知道,FPGA的頻率一般只有幾百MHz,而CPU的頻率卻高達數GHz。那么,有不少網友心中就有一個疑問:“為什么FPGA主頻比CPU慢,但卻可以用來幫CPU做加速?”。

  今天,EDN就和大家系統性地討論下這個問題。

  將FPGA主頻與CPU相比不妥

  在開始之前,首先要明確一點,將FPGA的主頻與CPU比較,實際是風馬牛不相及的問題。FPGA和CPU是兩種完全不同的器件,前者是專用,是硬件編程,而后者是通用,是軟件編程。

  微信圖片_20220823164532.png

  不同體系結構性能和靈活性的比較。(圖片來源:《如何評價微軟在數據中心使用 FPGA 代替傳統 CPU 的做法?》)

  表面上看,FPGA的時鐘頻率要低;對于通用計算任務,FPGA設計貌似不如CPU設計。但是實際上,單個FPGA的并行度卻比CPU要高得多。FPGA的行為是確定性的,用作硬件加速器沒有時間片、線程或資源沖突的問題。它始終以完全相同的速度執行一件事。因此,如果需要低延遲,那么FPGA就可能是最佳選擇。

  微信圖片_20220823164615.png

  計算密集型任務,CPU、GPU、FPGA、ASIC 的數量級比較(以16位整數乘法為例,數字僅為數量級的估計)(圖片來源:《如何評價微軟在數據中心使用 FPGA 代替傳統 CPU 的做法?》)

  FPGA并行計算機制

  如知乎網友young cc所言,雖然CPU主頻很高,但其是通用處理器,做某個特定運算(如信號處理,圖像處理)可能需要很多個時鐘周期。而FPGA可以通過編程重組電路,直接生成專用電路。加上電路并行性,可能做這個特定運算只需要一個時鐘周期。

  舉例來說,CPU主頻為3GHz,FPGA主頻為200MHz。若做某個特定運算,CPU需要30個時鐘周期,而FPGA只需一個,那么耗時情況是:

  CPU:30/3GHz =10ns;

  FPGA:1/200MHz =5ns。

  可以看到,FPGA做這個特定運算速度比CPU塊,能幫助加速。

  另外,CPU的主頻是加過流水線之后的。比如是15級流水線,則第一條指令執行了15個時鐘周期后才能出結果。

  但是,使用FPGA也不一定總能做加速。

  例如,知乎網友Evan172就表示,使用FPGA做加速,只是在某些強計算和數據處理的方面,因為其硬件電路并行運行和有很多DSP硬核資源供調用的特點,可以工作得更出色。

  FPGA本身也只是輔助角色,起控制的還是CPU本身,所以FPGA并不能代替CPU,只是在完成一件大任務的過程中將某部分任務分解給FPGA可以更好地一起完成任務。在這過程中也會有額外的開銷產生,在某些場合,可能用了FPGA而效果更差也是有的。

  另外,通常說的使用FPGA加速比CPU和GPU省電,是指在完成同樣的任務下,FPGA耗費的電力比起CPU和GPU更少一些。這是相對而言的,并不是說FPGA本身就一定省電。

  一個有趣的例子:數組加法計算

  知乎用戶doing舉了一個很有趣的例子。他指出,假設用FPGA完整實現了CPU,然后再跑軟件的話,的確比CPU慢。問題是FPGA不會那么干,它會直指問題本質,解決問題。

  例如,有兩個數組,其中有256個32位數。現在要把它們對應相加變成一個數組,用CPU寫最快大概是這個樣子:

  r[0] = a[0] + b[0];

  r[1] = a[1] + b[1];

  ...

  r[255] = a[255] + b[255];

  當然也可能會這么寫(在分支預測準確,指令緩存不大的情況下可能更快):

  for (int i = 0; i < 255; i++)

  r[i] = a[i] + b[i];

  對FPGA來說,也可以用上面相同的寫法,不同在于:

  CPU是一個一個加法計算,而FPGA排好邏輯電路,在一個時鐘周期內計算完畢。就算CPU主頻比FPGA快100倍也趕不上啊。話說后來CPU大量的增加SIMD指令,就有點這個意思,不過這相當于提供庫函數,沒那么靈活。

  FPGA的并行是真并行,CPU完全沒得比。CPU如果想并行最多也就是讓多個核并行,但是對于大部分算法實現來說,如上例,多個核之間的同步調度開銷遠遠大于計算開銷,就算多個核之間的調用開銷可以做的很小,一般CPU也就那幾個核,而FPGA只要門足夠,想并行幾路就可以并行幾路。

  所以在做可并行的計算密集型任務時,比如信號處理,網絡傳輸等等FPGA可以幫上忙;但是如果做常見的以串行為主的任務,FPGA的確遠遠比不上CPU。如果要類比的話,有點像似GPU和CPU之間的關系。

  “當年寫Verilog的時候,我就想如果CPU里面自帶一塊FPGA,應用程序程序可以在初始化期間直接燒一段代碼下去,那豈不是很爽。后來,有了能寫shader的3D顯卡...”

  為什么FPGA成為數據中心尖端技術?

  最后再討論一個話題,就是為什么FPGA一直是數據中心領域最尖端的技術?

  有人可能認為,再大的問題(算力)都可以通過堆CPU核心來解決。那么,假設有一臺強大的48核服務器,即使使用非常高端的FPGA,也很難達到相同的吞吐量。而且,FPGA硬件設計還需要由強大的團隊來完成,非常燒錢。

  這時,如果把機會成本和能源效率兩者考慮進去,好處就開始顯現出來了。

  首先來看能源效率。假設這臺48核服務器的功耗為400W并且發熱嚴重,那么就會對數據中心運營不利——能耗和散熱是數據中心運營的兩項最大支出。而將FPGA連接起來只執行一項任務,就可以實現很高的能效而開銷極低。通過正確的設計,可以在實現低功耗的同時獲得高吞吐量。

  其次,機會成本(這個問題不太明顯)。系統中的CPU內核數量就那么多。購買新的內核并且安裝需要花很長時間,而且最好是將通用CPU內核保留用于通用任務(例如虛擬機訂閱)。每個CPU核賣不出去就會燒錢。

  當有任務大量占用CPU時間(例如AI推理)時,FPGA就成為了不錯的選擇。

  一個有關微軟Project Catapult項目當中FPGA的趣事

  當年,微軟必應團隊在其Project Catapult項目中發現,在啟用FPGA時,CPU的總體利用率實際上略有上升。所有的人都感到困惑,因為從直覺來看FPGA應該要減少CPU負載。但是后來他們發現,數據中心的業務流量達到了原來的2倍!由于效率提高,流量實現了兩倍的負載均衡。由此可見FPGA的強大之處。

  總結

  維基百科的相關詞條提到兩點:FPGA的優勢在于其并行特性,有時對于某些應用而言可以使速度明顯變快;可以使用FPGA來對算法中的某些部分加速,也可以在FPGA和通用處理器之間共享部分計算。

  綜上,FPGA有兩個優點:FPGA并行度遠超CPU;CPU是通用電路,FPGA是定制電路。但是也有兩個缺點:開發周期長;并不是所有東西都適合FPGA。

更多信息可以來這里獲取==>>電子技術應用-AET<<

微信圖片_20210517164139.jpg

  作者:趙明燦

   本文來源于EDN電子技術設計



本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
一区二区精品| 久久久精品国产免费观看同学 | 亚洲第一精品福利| 国产日韩在线一区| 国产免费成人| 国产欧美日韩精品专区| 国产精品一区二区在线观看不卡| 欧美日韩综合不卡| 欧美三区美女| 欧美性色视频在线| 国产精品video| 国产精品高潮粉嫩av| 国产精品九九久久久久久久| 欧美日韩一区在线视频| 欧美日韩国产在线播放网站| 欧美激情精品久久久久久变态 | 欧美国产亚洲视频| 欧美激情综合五月色丁香| 免费在线成人| 欧美大片91| 欧美日本二区| 欧美日韩中国免费专区在线看| 欧美精品一区在线播放| 欧美日韩爆操| 欧美日韩在线三级| 国产精品伦理| 国产日韩高清一区二区三区在线| 国产乱理伦片在线观看夜一区| 国产日产欧产精品推荐色| 国产一区再线| 狠狠综合久久av一区二区小说| 在线观看欧美| 99国内精品久久| 亚洲免费在线视频一区 二区| 亚洲欧美激情一区二区| 久久狠狠久久综合桃花| 亚洲三级性片| 亚洲视频在线一区观看| 欧美一区二区三区视频在线| 久久美女性网| 欧美高清在线一区| 欧美亚一区二区| 国产日韩欧美黄色| 在线视频成人| 99精品国产福利在线观看免费| 亚洲午夜未删减在线观看| 午夜精品成人在线| 亚洲人成网在线播放| 亚洲一区在线免费观看| 久久久久**毛片大全| 欧美高清你懂得| 国产精品夫妻自拍| 精品51国产黑色丝袜高跟鞋| 亚洲人久久久| 亚洲综合视频网| 亚洲区免费影片| 亚洲欧美在线x视频| 裸体女人亚洲精品一区| 欧美午夜精品理论片a级按摩| 国产亚洲精品久久飘花 | 欧美在线播放一区二区| 99视频精品在线| 欧美一区二区三区视频| 欧美国产三级| 国产亚洲欧美日韩美女| 亚洲激情小视频| 亚洲综合视频网| 日韩午夜免费| 久久久久久久激情视频| 欧美日韩日本网| 狠狠爱综合网| 亚洲影院在线观看| 亚洲日本视频| 欧美自拍偷拍| 欧美日韩伊人| 亚洲高清久久网| 午夜日韩在线| 亚洲一区在线免费| 欧美黄色aaaa| 国模私拍视频一区| 亚洲小说欧美另类婷婷| 99人久久精品视频最新地址| 久久久久久久尹人综合网亚洲| 欧美日韩视频在线| 亚洲福利在线看| 欧美在线观看www| 亚洲自啪免费| 欧美日本亚洲视频| 激情成人亚洲| 午夜精品久久久久久久久久久久久 | 亚洲少妇在线| 日韩视频不卡中文| 久久尤物电影视频在线观看| 国产精品乱码| 日韩亚洲欧美在线观看| 亚洲人成久久| 久久亚洲精选| 国产亚洲精品aa| 亚洲伊人色欲综合网| av成人手机在线| 欧美激情第10页| 激情久久五月| 欧美在线电影| 久久久久成人精品| 国产日韩欧美| 亚洲午夜精品视频| 亚洲少妇在线| 欧美日韩国产一中文字不卡| **性色生活片久久毛片| 久久电影一区| 久久精品国产欧美亚洲人人爽| 国产精品美女www爽爽爽| 一区二区成人精品| 国产精品99久久久久久有的能看| 欧美成人一区二区三区片免费| 影音欧美亚洲| 亚洲国产另类久久精品| 久久一区视频| 狠狠久久亚洲欧美| 亚洲福利一区| 狼狼综合久久久久综合网| 激情综合网激情| 久久精品国产久精国产思思| 久久免费精品日本久久中文字幕| 国产伦精品免费视频| 亚洲欧美日韩区| 欧美中在线观看| 国产视频亚洲精品| 欧美一区亚洲二区| 久久一区二区精品| 一区二区三区无毛| 亚洲国产日韩一级| 欧美激情91| 9l国产精品久久久久麻豆| 亚洲一区在线免费| 国产伦精品一区二区三区免费 | 午夜精品婷婷| 国产午夜久久| 亚洲成色777777在线观看影院| 美乳少妇欧美精品| 亚洲人成网站色ww在线| 亚洲网站视频福利| 国产精品每日更新在线播放网址| 亚洲一区二区三区四区视频| 性娇小13――14欧美| 国产日韩精品在线播放| 亚洲高清视频一区| 欧美日韩1区2区3区| 亚洲午夜一区二区三区| 久久国产精彩视频| 亚洲第一二三四五区| 一本色道久久综合亚洲91| 国产精品久久夜| 性高湖久久久久久久久| 免费不卡视频| 日韩视频一区二区三区| 午夜亚洲性色视频| 在线成人中文字幕| 亚洲午夜久久久久久久久电影院 | 亚洲欧美电影院| 老牛影视一区二区三区| 亚洲乱亚洲高清| 欧美一进一出视频| 亚洲国产电影| 亚洲欧美精品suv| 一区二区亚洲欧洲国产日韩| 99re66热这里只有精品4| 国产精品免费看片| 亚洲黄色在线视频| 国产精品福利在线观看网址| 久久超碰97人人做人人爱| 欧美日本韩国一区二区三区| 亚洲影院免费| 欧美ed2k| 亚洲免费在线看| 欧美粗暴jizz性欧美20| 亚洲一区二区在线播放| 免费在线观看一区二区| 亚洲午夜电影网| 免费成人黄色| 亚洲一区二区三区四区五区黄| 免费不卡在线观看av| 亚洲午夜精品17c| 嫩草伊人久久精品少妇av杨幂| 中日韩美女免费视频网址在线观看| 久久久久在线| 亚洲午夜精品久久| 欧美激情成人在线| 校园春色国产精品| 欧美三级欧美一级| 亚洲激精日韩激精欧美精品| 国产精品久久一级| 日韩视频在线观看免费| 国产伦精品一区二区三区免费| 999在线观看精品免费不卡网站| 国产亚洲欧美色| 亚洲免费一区二区| 亚洲精品自在久久| 麻豆视频一区二区| 午夜精品网站|