資料介紹
十年前,微軟創始人比爾 · 蓋茨在其文章《A Robot in Every Home》里提出他對未來的憧憬:機器人將會像個人電腦一樣進入每個家庭,為人類服務。隨著人工智能以及智能硬件在過去幾年的飛速發展,到了2016年的今天,筆者堅信各項技術已臻成熟,智能機器人很快進入商業化時代,蓋茨的愿景也極有可能在5到10年內實現。
要想機器人有智能,必先賦予其感知能力。感知計算,特別是視覺以及深度學習,通常計算量比較大,對性能要求高。但是機器人受電池容量限制,可分配給計算的能源比較低。除此之外,由于感知算法不斷發展,我們還需要不斷更新機器人的感知處理器。與其它處理器相比,FPGA具有低能耗、高性能以及可編程等特性,十分適合感知計算。本文首先解析FPGA的特性,然后介紹FPGA對感知算法的加速以及節能,最后談一談機器人操作系統對FPGA的支持。
FPGA:高性能、低能耗、可編程
與其它計算載體如CPU與GPU相比,FPGA具有高性能、低能耗以及可硬件編程的特點。圖1介紹了FPGA的硬件架構,每個FPGA主要由三個部分組成:輸入輸出邏輯,主要用于FPGA與外部其他部件,比如傳感器的通信;計算邏輯部件,主要用于建造計算模塊;以及可編程連接網絡,主要用于連接不同的計算邏輯部件去組成一個計算器。在編程時,我們可以把計算邏輯映射到硬件上,通過調整網絡連接把不同的邏輯部件連通在一起去完成一個計算任務。比如要完成一個圖像特征提取的任務,我們會連接FPGA的輸入邏輯與照相機的輸出邏輯,讓圖片可以進入FPGA。然后,連接FPGA的輸入邏輯與多個計算邏輯部件,讓這些計算邏輯部件并行提取每個圖片區域的特征點。最后,我們可以連接計算邏輯部件與FPGA的輸出邏輯,把特征點匯總后輸出。由此可見,FPGA通常把算法的數據流以及執行指令寫死在硬件邏輯中,從而避免了CPU的Instruction Fetch與Instruction Decode 工作。

圖1 FPGA硬件架構
高性能
雖然FPGA的頻率一般比CPU低,但是可以用FPGA實現并行度很大的硬件計算器。比如一般CPU每次只能處理4到8個指令,在FPGA上使用數據并行的方法可以每次處理256個或者更多的指令,讓FPGA可以處理比CPU多很多的數據量。另外,如上所述,在FPGA中一般不需要Instruction Fetch與Instruction Decode, 減少了這些流水線工序后也節省了不少計算時間。
為了讓讀者對FPGA加速有更好的了解,我們總結了微軟研究院2010年對BLAS算法的FPGA加速研究。BLAS是矩陣運算的底層庫,被廣泛運用到高性能計算、機器學習等領域。在這個研究中,微軟的研究人員分析了CPU、GPU以及FPGA對BLAS的加速以及能耗。圖2對比了FPGA以及CPU、GPU執行GaxPy算法每次迭代的時間,相對于CPU,GPU與FPGA都達到了60%的加速。圖中顯示的是小矩陣運算,隨著矩陣的增大,GPU與FPGA相對與CPU的加速比會越來越明顯。

圖2 GaxPy 算法性能對比 (單位:微秒)
低能耗
FPGA相對于CPU與GPU有明顯的能耗優勢,主要有兩個原因。首先,在FPGA中沒有Instruction Fetch與Instruction Decode,在Intel的CPU里面,由于使用的是CISC架構,僅僅Decoder就占整個芯片能耗的50%;在GPU里面,Fetch與Decode也消耗了10%~20%的能源。其次,FPGA的主頻比CPU與GPU低很多,通常CPU與GPU都在1GHz到3GHz之間,而FPGA的主頻一般在500MHz以下。如此大的頻率差使得FPGA消耗的能源遠低于CPU與GPU。
圖3對比了FPGA以及CPU、GPU執行GaxPy算法每次迭代的能源消耗。可以發現CPU與GPU的能耗是相仿的,而FPGA的能耗只是CPU與GPU的8%左右。由此可見,FPGA計算比CPU快60%,而能耗只是CPU的1/12,有相當大的優勢,特別在能源受限的情況下,使用FPGA會使電池壽命延長不少。
要想機器人有智能,必先賦予其感知能力。感知計算,特別是視覺以及深度學習,通常計算量比較大,對性能要求高。但是機器人受電池容量限制,可分配給計算的能源比較低。除此之外,由于感知算法不斷發展,我們還需要不斷更新機器人的感知處理器。與其它處理器相比,FPGA具有低能耗、高性能以及可編程等特性,十分適合感知計算。本文首先解析FPGA的特性,然后介紹FPGA對感知算法的加速以及節能,最后談一談機器人操作系統對FPGA的支持。
FPGA:高性能、低能耗、可編程
與其它計算載體如CPU與GPU相比,FPGA具有高性能、低能耗以及可硬件編程的特點。圖1介紹了FPGA的硬件架構,每個FPGA主要由三個部分組成:輸入輸出邏輯,主要用于FPGA與外部其他部件,比如傳感器的通信;計算邏輯部件,主要用于建造計算模塊;以及可編程連接網絡,主要用于連接不同的計算邏輯部件去組成一個計算器。在編程時,我們可以把計算邏輯映射到硬件上,通過調整網絡連接把不同的邏輯部件連通在一起去完成一個計算任務。比如要完成一個圖像特征提取的任務,我們會連接FPGA的輸入邏輯與照相機的輸出邏輯,讓圖片可以進入FPGA。然后,連接FPGA的輸入邏輯與多個計算邏輯部件,讓這些計算邏輯部件并行提取每個圖片區域的特征點。最后,我們可以連接計算邏輯部件與FPGA的輸出邏輯,把特征點匯總后輸出。由此可見,FPGA通常把算法的數據流以及執行指令寫死在硬件邏輯中,從而避免了CPU的Instruction Fetch與Instruction Decode 工作。

圖1 FPGA硬件架構
高性能
雖然FPGA的頻率一般比CPU低,但是可以用FPGA實現并行度很大的硬件計算器。比如一般CPU每次只能處理4到8個指令,在FPGA上使用數據并行的方法可以每次處理256個或者更多的指令,讓FPGA可以處理比CPU多很多的數據量。另外,如上所述,在FPGA中一般不需要Instruction Fetch與Instruction Decode, 減少了這些流水線工序后也節省了不少計算時間。
為了讓讀者對FPGA加速有更好的了解,我們總結了微軟研究院2010年對BLAS算法的FPGA加速研究。BLAS是矩陣運算的底層庫,被廣泛運用到高性能計算、機器學習等領域。在這個研究中,微軟的研究人員分析了CPU、GPU以及FPGA對BLAS的加速以及能耗。圖2對比了FPGA以及CPU、GPU執行GaxPy算法每次迭代的時間,相對于CPU,GPU與FPGA都達到了60%的加速。圖中顯示的是小矩陣運算,隨著矩陣的增大,GPU與FPGA相對與CPU的加速比會越來越明顯。

圖2 GaxPy 算法性能對比 (單位:微秒)
低能耗
FPGA相對于CPU與GPU有明顯的能耗優勢,主要有兩個原因。首先,在FPGA中沒有Instruction Fetch與Instruction Decode,在Intel的CPU里面,由于使用的是CISC架構,僅僅Decoder就占整個芯片能耗的50%;在GPU里面,Fetch與Decode也消耗了10%~20%的能源。其次,FPGA的主頻比CPU與GPU低很多,通常CPU與GPU都在1GHz到3GHz之間,而FPGA的主頻一般在500MHz以下。如此大的頻率差使得FPGA消耗的能源遠低于CPU與GPU。
圖3對比了FPGA以及CPU、GPU執行GaxPy算法每次迭代的能源消耗。可以發現CPU與GPU的能耗是相仿的,而FPGA的能耗只是CPU與GPU的8%左右。由此可見,FPGA計算比CPU快60%,而能耗只是CPU的1/12,有相當大的優勢,特別在能源受限的情況下,使用FPGA會使電池壽命延長不少。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 仿貓腿機器人跳躍能力評估分析 5次下載
- 基于TI處理器的外骨骼輔助康復機器人 15次下載
- 智能農業除草機器人研究分析綜述 17次下載
- 上肢康復機器人現狀及研究分析 8次下載
- 機器人無線充電電路設計 49次下載
- 基于Matlab的機構與機器人分析資料下載 13次下載
- 基于DSP和PC的農業機器人控制系統 18次下載
- 基于DSP的高壓訓線機器人數字化控制器 11次下載
- 基于DSP芯片的足球機器人實現與設計 27次下載
- 如何分析新型二自由度平動并聯機器人的結構和運動學 7次下載
- 機器人設計教程之機器人控制和決策子系統 25次下載
- 基于ARM處理器的吸塵機器人與硬件設計 8次下載
- 基于FPGA的機器人圖像監視系統 9次下載
- 多感知機器人夾持器設計 18次下載
- 仿人機器人足部姿態實時感知系統
- 基于智能制造的工業機器人應用實踐 1486次閱讀
- 北京航空航天大學發布軟體機器人智能感知系統最新進展 945次閱讀
- 基于嵌入式處理器S698-T芯片實現機器人移動平臺電控系統的設計 4117次閱讀
- 基于LPC2114處理器實現人形機器人控制系統的設計 3719次閱讀
- 視覺處理器讓自適應機器人成為現實 2033次閱讀
- 面對疫情 醫療機器人能幫上什么忙? 2236次閱讀
- 服務機器人市場需求及前景分析 8646次閱讀
- 機器人控制器有哪些類型_機器人控制器發展 1.2w次閱讀
- 協作機器人的起源_為什么需要協作機器人 8322次閱讀
- 工業機器人最常見的15種應用 1.4w次閱讀
- 機器視覺的機器人取代四臺傳統的火焰處理機器人 3370次閱讀
- 新寵七軸工業機器人有哪些優勢 4326次閱讀
- 如何設計機器人處理器? 8177次閱讀
- 基于FPGA的NoC多核處理器的設計 4727次閱讀
- 基于FPGA處理器的C編譯指令 2703次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1491次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 95次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 11次下載 | 免費
- 6100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 7基于單片機和 SG3525的程控開關電源設計
- 0.23 MB | 4次下載 | 免費
- 8基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537793次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論