www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式動態(tài)
[導讀]最近我們看到一篇文章,說FPGA可能會取代CPU和GPU成為將來機器人研發(fā)領域的主要芯片。文章列舉了很多表格和實驗數(shù)據(jù),證明了在很多領域 FPGA的性能會極大優(yōu)于CPU。并且預言

最近我們看到一篇文章,說FPGA可能會取代CPU和GPU成為將來機器人研發(fā)領域的主要芯片。文章列舉了很多表格和實驗數(shù)據(jù),證明了在很多領域 FPGA的性能會極大優(yōu)于CPU。并且預言FPGA將來可能會取代CPU和GPU現(xiàn)在的地位。但事實真的是這樣嗎?要搞清楚這個問題,我們首先得對CPU 和FPGA都有足夠的了解。

FPGA這個詞可能很多人都有所耳聞,尤其是理工科的同學們大多數(shù)應該都自愿或被迫被這個詞刷屏過。但要真追究起來FPGA到底是個什么東西。很多非相關專業(yè)的人都會陷入一臉迷茫。不過說起開發(fā)板,可能知道的人就很多了,有些人會以為FPGA就是開發(fā)板。但實際上FPGA指的只是開發(fā)板上面的那一小塊芯片而已(下圖黃圈處),整個開發(fā)板的其余部件都是為了協(xié)同它工作,讓它發(fā)揮出它的性能而存在的。

 

FPGA開發(fā)板,via google.com/youtube

可即使有心的同學曾經(jīng)查到了這里,或許也搞不懂它和CPU到底有什么區(qū)別,畢竟把它的位置換成CPU,整個開發(fā)板看起來就變成一塊普通的電腦主板了嘛,感覺簡直分分鐘接上硬盤和顯示器就可以開始LOL了。確實,不管從外形上來看還是實際的功能上來看,F(xiàn)PGA和CPU都表現(xiàn)得太像了,但在這兩者相似的外表之下,其內部構造其實有著根本性的差別,而這種差別也正是FPGA會被很多人認為適合機器人開發(fā)的原因,因為它的構造決定了它在處理機器人需要的很多運算,尤其是在機器感知這方面的處理時的速度會比CPU快很多,同時還能將功耗控制在很低的水平。

CPU的構造

在講FPGA之前,我們先從大家比較熟悉的CPU的數(shù)據(jù)處理方式講起。首先需要強調的一點是,處理我們指令的計算機元件本身是無法理解我們的指令的,它們只能理解作為組成CPU最基本的元件——晶體管能實現(xiàn)的兩種狀態(tài):“開”和“關”的含義,對應的就是1和0這兩個機器碼數(shù)字,這也是計算機的整個體系都基于二進制建立的原因。而為了讓我們下達的各種各樣的指令變成CPU能理解的0和1,CPU需要一個專門的譯碼器來翻譯我們的指令。這個過程分為兩步: “取指”(從一個專門存放指令的存儲器中將需要執(zhí)行的指令提取出來)和“譯碼”(根據(jù)特定的規(guī)則將指令翻譯成計算單元能夠理解的數(shù)據(jù))。CPU的結構大概是這樣的

 

via wikipedia

其中的Control部分就是控制取指、譯碼等整個流程的部分,Cache是在高速的CPU與相對低速的內存間為了提高從內存獲得指令的效率而設置的一個臨時指令存儲器,DRAM則是速度比較慢的那一部分指令存儲器??梢钥吹剑嬲挠嬎銌卧狝LU只占了CPU結構中不大的一部分。這樣的設計是有原因的。CPU存在的目的是作為通用計算機的處理核心,注意“通用”二字,這意味著塊核心必須具備處理各式各樣千奇百怪的指令要求的能力,并且因為要處理來自多個設備的請求,它必須擁有隨時中止目前的運算轉而進行其他運算,完成后再從中斷點繼續(xù)當前運算的能力。把這些話看完你可能都快睡著了,但在CPU內這些都要求在一瞬間完成。所以CPU需要有非常復雜的邏輯控制單元和這套獨特的指令翻譯結構。這都是保證CPU能順利完成它的使命的必須的東西??梢哉f,在計算效率和通用性上CPU犧牲前者選擇了后者。

FPGA的結構

而FPGA最早是從專用集成電路發(fā)展而來的半定制化的可編程電路。從誕生的那一天起它的身世就決定了它不像CPU那樣可以靈活的處理各種沒有見過的指令,而只能根據(jù)一個固定的模式來處理輸入的數(shù)據(jù)然后輸出,F(xiàn)PGA的結構是這樣的。

 

via CSDN

很簡單,絕大部分都是計算單元(上圖中黃色部分其實就相當于CPU結構圖中綠色的部分),但沒有控制單元并不代表FPGA就不會執(zhí)行指令了,事實上 FPGA里控制單元的角色就是由圖中的每個控制單元和單元之間可編程的邏輯連接線來完成的,通過FPGA編程,開發(fā)者可以更改FPGA的每個單元的運算邏輯和單元之間的連接方式,從而使其達到和一般的運行程序差不多的效果。它與CPU的不同,在于它無法應對沒有被編程過的指令。編程方式一旦確定,F(xiàn)PGA 就只能根據(jù)被編程的處理邏輯和方式來處理特定的數(shù)據(jù)輸入。但這樣的架構換來的是FPGA內部幾乎全是計算單元,因此FPGA的實際運算能力會比看起來強得多,尤其是在運行簡單但重復性高的任務的時候,由于簡單,因此很少的幾個邏輯單元,甚至一個就能獨立輸出這個運算的結果。而由于省去了CPU的取指和譯碼兩個步驟,F(xiàn)PGA重復運行相同代碼的效率得到了極大的提高。

有一個比喻打得很恰當,CPU就像大學里一位德高望重的老教授,積分微分啥都會算,但畢竟它只有一個人,當計算任務太重的時候也會被累趴下,而FPGA這樣的結構,就像是整個小學里所有小學生組成的隊列,每個人都只會算簡單的加減乘除,但有些量大但不復雜的運算任務交給他們就是會比較快。

具體表現(xiàn)在性能上,很明顯的一點就是一般的CPU只能同時處理4到8個指令,而不算太差的只要FPGA優(yōu)化得當,可以同時處理256個甚至更多的指令。其實GPU的設計思路同F(xiàn)PGA類似,都是為了處理大量簡單重復的運算而出現(xiàn)的設備。但GPU的性能強悍的同時耗能也很高,而FPGA因為編程和優(yōu)化都是直接在硬件層面進行的,能耗會低很多。

機器開發(fā)中的計算

現(xiàn)在我們可以敘述正題了。前文提到,F(xiàn)PGA在處理機器人需要的某些數(shù)據(jù)的時候的優(yōu)勢會比CPU大很多。沒錯,就是感知計算。我們不需要懂得太多專業(yè)知識,只需要想象一下就可以明白其中原理。就像文章中提到的那套主流的位置追蹤算法SIFT的例子:SIFT的主要工作步驟有三步:1:通過特定的算法找出圖片中的關鍵點,2:對關鍵點附加一個詳細的標識,3:通過不斷的對比新舊兩幅圖片上每個關鍵點的位置求出兩幅圖之間對應位置的差別。[!--empirenews.page--]

不難發(fā)現(xiàn),整個過程重復性極高,并且其中并沒有過于復雜的運算。因此使用FPGA進行該算法的計算會比使用CPU快很多。事實上,文章中表示根據(jù)加州大學洛杉磯分校的一項相關的實驗結果,F(xiàn)PGA在運行SIFT指令時的執(zhí)行效率是CPU的足足30倍。處理速度快這么多,耗能又如此小。也難怪有些人會認為 FPGA擁有取代CPU和GPU的能力了。

但FPGA真的能取代CPU和GPU嗎?

FPGA相對于CPU和GPU,在進行感知處理等簡單重復的任務的時候的優(yōu)勢很明顯,按照現(xiàn)在的趨勢發(fā)展下去,F(xiàn)PGA或許會在未來取代機器人開發(fā)中 GPU的工作。因為FPGA和GPU雖然都精于大量的重復運算,但FPGA的能耗會遠低于GPU??墒荈PGA或許永遠沒有辦法取代CPU的地位,而事實上目前的各類應用中,F(xiàn)PGA也多作為CPU的協(xié)處理器而出現(xiàn),而不是真正的核心運算單元。而個中原因其實也很簡單,正是我們之前提到過數(shù)次的一個詞:設計目的。

人類設計機器人的最終目的是希望它們能變得像我們一樣,用跟我們類似的方式思考,擁有獨立判斷形勢、處理任務的能力。我們目前還不是很了解大腦工作的具體原理,但無論從經(jīng)驗還是直覺來看,類似人類的思維都不是由無數(shù)邏輯簡單的堆積起來的。因為思維這件事物的復雜程度已經(jīng)遠遠超出了運算的范疇。比如說,如果你想計算213 x 312而你想將它簡化,你只需要很簡單的將它分解成213個312相加,甚至是重復213次312個1相加。但如果你想算2的64次方呢?如果你想算 sin(27°)呢?甚至如果你想算log230呢?如果你一定要將其分拆成簡單的運算,你就會發(fā)現(xiàn)你需要的資源會以難以想象的速度增長,直到就連把全市的小學生都叫來也做不完的程度。

就目前的表現(xiàn)來看,人腦顯然不適合大規(guī)模并行計算。而更像是CPU那樣精于單一且深度的思考(運算)。并且人腦的功能也與CPU的設計定位更吻合。因此無論如何,在腦科學有突破性進展之前,人們還是會傾向于使用看起來更有潛力的CPU來作為機器人的核心運算部件?;蛟S隨著FPGA的發(fā)展,機器人的越來越多感知部件的數(shù)據(jù)運算會由FPGA來承擔(就像人類的小腦),但很明顯,一個部件的地位主要、核心與否,不是靠數(shù)量來判斷的。

不能否認FPGA確實能在機器人開發(fā)中發(fā)揮很大的作用。但綜合來看,它和CPU,甚至GPU更像是一種各司其職的地位,動不動就談替代,或許有失嚴謹。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉