CPU會被FPGA替代嗎?FPGA與CPU之間的區(qū)別與聯(lián)系
說起CPU,我覺得大家都已經(jīng)很熟悉了。是“中央處理器”的英文縮寫,它是用來“運(yùn)算”的。大部分我們所熟悉的電子設(shè)備,像手機(jī)、電腦,它們所實現(xiàn)的各種功能,都是通過CPU的“運(yùn)算”來實現(xiàn)的。它幾乎是所有電子數(shù)碼設(shè)備的大腦。
計算機(jī)之所以被計算機(jī),因為它的大腦,CPU,就是用來計算的。
FPGA是什么?它跟CPU一樣,也是用來計算的。但是,它的計算方式,跟CPU很不一樣。
CPU與FPGA的根本區(qū)別在于軟件與硬件的差異。CPU為馮諾依曼結(jié)構(gòu),串行地執(zhí)行一系列指令;而FPGA可以實現(xiàn)并行操作,就象在一個芯片中嵌入多個CPU,其性能會是單個CPU的十倍、百倍。一般來說,CPU可以實現(xiàn)的功能,都可以用硬件設(shè)計的方法由FPGA來實現(xiàn)。當(dāng)然,極其復(fù)雜的算法用硬件實現(xiàn)會比較困難,資源消耗也很大,如果沒有高性能要求,那用硬件實現(xiàn)就有點得不償失了。對于一個復(fù)雜系統(tǒng)而言,進(jìn)行合理的軟、硬件劃分,由CPU(或DSP)和硬件電路(如FPGA)合作完成系統(tǒng)功能是非常必要的,也是高效的。
計算機(jī)是用來計算的
首先我們都知道,CPU它是通過“計算”能力,為計算機(jī)提供各種的功能。
程序員,把程序代碼噼里啪啦地輸入到了計算機(jī)里面,啪一聲按下確認(rèn)鍵,CPU把程序代碼進(jìn)行計算,達(dá)成各種各樣的目的。
運(yùn)算的結(jié)果是什么呢?程序輸入CPU,運(yùn)算成了操作系統(tǒng),運(yùn)算成了軟件、app、網(wǎng)頁等等。所有的這一切,都是經(jīng)過CPU“計算”產(chǎn)生的。
嗯,CPU,他很像我們?nèi)祟惖拇竽X。
串行計算
我們?nèi)祟惖拇竽X有什么樣的特點?它就像人類的大腦那樣,他只能同時做一件事情。CPU是串行的,一樣也是只能同時進(jìn)行一次計算。
我們比方說,現(xiàn)在要進(jìn)行兩場考試,一場是英語,一場是數(shù)學(xué),我們會把這兩場考試給分開進(jìn)行,絕對不會說,讓你左手做英語試卷,右手做數(shù)學(xué)數(shù)卷,那是不可能的,人的腦袋,同時只能專注一件事情。
后來,CPU發(fā)展出了多核,你在那些電腦還有手機(jī),老是標(biāo)榜著自己是雙核四核八核,甚至十六核。
但是很多時候,核多是沒有意義的。因為程序員在編寫程序的時候,程序本身,是針對單核設(shè)計。最常見的例子莫過于我們的一些手機(jī)游戲,游戲邏輯和圖形渲染,是跑在一個核里的。所以說,是否夠快,很多時候還得取決于單核性能。
并行計算
FPGA是什么呢?
我們都聽過三個臭皮匠,勝過知一個諸葛亮的諺語。他的寓意就是說,三個很普通的人,合起來的智慧也是可以超過諸葛亮的。
FPGA就像是一群臭皮匠,CPU就像是一個諸葛亮。
就像我們前面所說的,我們?nèi)四X就像CPU,不能同時做多份作業(yè)。只能專注于一件事情。而這群“臭皮匠”則不同,F(xiàn)PGA十分擅長同時做多件事情,我們叫作“并行計算”,也常被稱為“異步計算”。
而技術(shù)上來說,F(xiàn)PGA也由非常多的核組成的。但跟CPU不同的是,工程師們可以根據(jù)他們的需要,把這么一群“臭皮匠”,重新進(jìn)行自定義的排列組合,來滿足他們想要的計算。FPGA號稱“萬能芯片”。
FPGA并不是要替代CPU。這就像大部分的工作重要事務(wù),都掌權(quán)在諸葛亮手上,那可是重要人物,可不能隨意說換就換;臭皮匠們則可以憑借他們?nèi)硕嗟膬?yōu)勢,處理很多的一些重復(fù)的單純的事情。
FPGA的這個特點,非常適合我們今年大熱的人工智能。人工智能里面就有非常大量的一些重復(fù)性、需要并行計算的工作,像圖像識別、圖像處理、深度學(xué)習(xí)等等。
哪些領(lǐng)域正在應(yīng)用FPGA?
微軟在數(shù)據(jù)中心使用FPGA代替?zhèn)鹘y(tǒng)CPU的做法;騰訊云則直接提供了FPGA云服務(wù)器,降低開發(fā)者自購設(shè)備的高昂成本;iPhone 7里有使用Lattice這家上市公司的FPGA芯片;大疆無人機(jī)中也采用了FPGA芯片。。。。。。
可以看到的,不論上企業(yè)端(微軟、云計算),還是消費(fèi)端(iPhone 7、大疆無人機(jī)),都能看到FPGA芯片的身影,在未來,它還有很大的發(fā)展空間。
非常好我支持^.^
(547) 96.8%
不好我反對
(18) 3.2%
相關(guān)閱讀:
- [電子說] fpga的開發(fā)流程有哪些步驟?fpga和嵌入式系統(tǒng)的區(qū)別在哪里? 2023-10-24
- [電子說] 如何創(chuàng)建FPGA控制的機(jī)器人手臂? 2023-10-24
- [電子說] 如何創(chuàng)建FPGA控制的機(jī)器人手臂 2023-10-24
- [電子說] 用VHDL語言創(chuàng)建一個8位算術(shù)邏輯單元(ALU) 2023-10-24
- [電子說] 您的存儲器堆疊了嗎?—賽靈思推出16GB HBM FPGA 2023-10-24
- [電子說] 射頻識別技術(shù)漫談(27)——CPU卡概述 2023-10-24
- [電子說] 淺析FPGA設(shè)計的安全性 2023-10-24
- [電子說] 講一講Apple Macintosh處理器過渡的故事 2023-10-24
( 發(fā)表人:王增濤 )