FPGA與CPU的關(guān)系
#FormatImgID_0#說起CPU,我覺得大家都已經(jīng)很熟悉了。是“中央處理器”的英文縮寫,它是用來“運(yùn)算”的。大部分我們所熟悉的電子設(shè)備,像手機(jī)、電腦,它們所實(shí)現(xiàn)的各種功能,都是通過CPU的“運(yùn)算”來實(shí)現(xiàn)的。它幾乎是所有電子數(shù)碼設(shè)備的大腦。
本文引用地址:http://www.ex-cimer.com/article/201808/385095.htm計(jì)算機(jī)之所以被計(jì)算機(jī),因?yàn)樗拇竽X,CPU,就是用來計(jì)算的。
FPGA是什么?它跟CPU一樣,也是用來計(jì)算的。但是,它的計(jì)算方式,跟CPU很不一樣。
計(jì)算機(jī)是用來計(jì)算的
首先我們都知道,CPU它是通過“計(jì)算”能力,為計(jì)算機(jī)提供各種的功能。
程序員,把程序代碼噼里啪啦地輸入到了計(jì)算機(jī)里面,啪一聲按下確認(rèn)鍵,CPU把程序代碼進(jìn)行計(jì)算,達(dá)成各種各樣的目的。
運(yùn)算的結(jié)果是什么呢?程序輸入CPU,運(yùn)算成了操作系統(tǒng),運(yùn)算成了軟件、app、網(wǎng)頁等等。所有的這一切,都是經(jīng)過CPU“計(jì)算”產(chǎn)生的。
嗯,CPU,他很像我們?nèi)祟惖拇竽X。
串行計(jì)算
我們?nèi)祟惖拇竽X有什么樣的特點(diǎn)?它就像人類的大腦那樣,他只能同時做一件事情。CPU是串行的,一樣也是只能同時進(jìn)行一次計(jì)算。
我們比方說,現(xiàn)在要進(jìn)行兩場考試,一場是英語,一場是數(shù)學(xué),我們會把這兩場考試給分開進(jìn)行,絕對不會說,讓你左手做英語試卷,右手做數(shù)學(xué)數(shù)卷,那是不可能的,人的腦袋,同時只能專注一件事情。
后來,CPU發(fā)展出了多核,你在那些電腦還有手機(jī),老是標(biāo)榜著自己是雙核四核八核,甚至十六核。
但是很多時候,核多是沒有意義的。因?yàn)槌绦騿T在編寫程序的時候,程序本身,是針對單核設(shè)計(jì)。最常見的例子莫過于我們的一些手機(jī)游戲,游戲邏輯和圖形渲染,是跑在一個核里的。所以說,是否夠快,很多時候還得取決于單核性能。
并行計(jì)算
FPGA是什么呢?
我們都聽過三個臭皮匠,勝過知一個諸葛亮的諺語。他的寓意就是說,三個很普通的人,合起來的智慧也是可以超過諸葛亮的。
FPGA就像是一群臭皮匠,CPU就像是一個諸葛亮。
就像我們前面所說的,我們?nèi)四X就像CPU,不能同時做多份作業(yè)。只能專注于一件事情。而這群“臭皮匠”則不同,F(xiàn)PGA十分擅長同時做多件事情,我們叫作“并行計(jì)算”,也常被稱為“異步計(jì)算”。
而技術(shù)上來說,F(xiàn)PGA也由非常多的核組成的。但跟CPU不同的是,工程師們可以根據(jù)他們的需要,把這么一群“臭皮匠”,重新進(jìn)行自定義的排列組合,來滿足他們想要的計(jì)算。FPGA號稱“萬能芯片”。
FPGA并不是要替代CPU。這就像大部分的工作重要事務(wù),都掌權(quán)在諸葛亮手上,那可是重要人物,可不能隨意說換就換;臭皮匠們則可以憑借他們?nèi)硕嗟膬?yōu)勢,處理很多的一些重復(fù)的單純的事情。
FPGA的這個特點(diǎn),非常適合我們今年大熱的人工智能。人工智能里面就有非常大量的一些重復(fù)性、需要并行計(jì)算的工作,像圖像識別、圖像處理、深度學(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è)端(微軟、云計(jì)算),還是消費(fèi)端(iPhone 7、大疆無人機(jī)),都能看到FPGA芯片的身影,在未來,它還有很大的發(fā)展空間。
評論