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

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

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

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

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





創(chuàng)作
發(fā)文章
發(fā)帖
提問(wèn)
發(fā)資料
發(fā)視頻
上傳資料賺積分
評(píng)論