2022新思科技科普類短視頻欄目《了不起的芯片》全新上線,!新思科技一直致力于打造“人人都能懂”的行業(yè)科普視頻,,傳播更多芯片相關(guān)小知識(shí),解答各類科技小問(wèn)題,。每周3分鐘,,多一些“芯”知識(shí)。 第一期,,我們一起聊聊CPU,、GPU、GPGPU的前世今生,。 CPU,、GPU、GPGPU,,這些名詞大家都耳熟能詳,,但大多數(shù)人或許并不知道,這幾個(gè)詞包含著人們對(duì)數(shù)字世界“快,,更快”的追求,。它們關(guān)乎到你會(huì)議是否延遲、游戲是否卡頓,、程序是否順暢……今天我們就從CPU和GPU的不同,,以及自GPU衍生而來(lái)的GPGPU,一起來(lái)看看IC時(shí)代下開發(fā)者們對(duì)“快”的追求是如何演進(jìn)的,。CPU(Central Processing Unit),,中央處理器應(yīng)該是大家最熟悉的一個(gè)。它是我們電腦,、手機(jī)等眾多電子產(chǎn)品的“核心”,,我們就稱它為老大哥吧。不管你在看視頻,、玩游戲,,還是聊天、上網(wǎng)課,,其實(shí)都是靠它來(lái)統(tǒng)一指揮調(diào)度,,發(fā)號(hào)施令。為了滿足很強(qiáng)的通用性能處理各種不同的數(shù)據(jù),CPU的內(nèi)部結(jié)構(gòu)設(shè)計(jì)十分復(fù)雜,,這也奠定了其老大哥的地位,,基本上復(fù)雜一點(diǎn)的電子產(chǎn)品都離不開它。簡(jiǎn)單一點(diǎn)來(lái)說(shuō),,我們可以把CPU,,或者說(shuō)CPU的核心,分成三部分:計(jì)算單元(ALU),、控制單元(CU)和緩存單元(Cache),。例如下圖,我們可以看到存儲(chǔ)和控制單元占據(jù)了相當(dāng)大的比例,,也就是圖中1,、3、5和6的部分,。相較而言,,2和7所代表的計(jì)算區(qū)域就比較有限。這款CPU已經(jīng)是非常老舊的Intel 486了,,現(xiàn)代CPU中緩存單元的面積只多不少,。▲來(lái)源:Wikimedia Commons(cc:https:///licenses/by/3.0/deed.en)迄今為止所有CPU都遵循老祖宗圖靈定下的基本法:讀取指令,進(jìn)行解碼,,發(fā)出操作控制信號(hào),,然后再進(jìn)行下一個(gè)工作。但隨著計(jì)算機(jī)的普及,,我們對(duì)于圖形顯示的要求越來(lái)越高,,比如3D建模,大型游戲等,,更豐富的網(wǎng)絡(luò)生活,,也要求電子產(chǎn)品實(shí)現(xiàn)更大的數(shù)據(jù)規(guī)模和更快的處理速度。如果讓CPU一件一件來(lái)處理呢,,大家可能就沒(méi)辦法這么開心地“網(wǎng)上沖浪”了,。盡管CPU的內(nèi)部有各種各樣的方法加速指令的執(zhí)行,,但越來(lái)越多的任務(wù)早已讓CPU的那些小技倆江郎才盡,。那怎么辦,多堆幾個(gè)CPU呢,?Emmm……首先它太燒錢了(即便是最新款的CPU,,它的物理核心數(shù)量也還是個(gè)位數(shù)哦),其次也有點(diǎn)大材小用,。這時(shí)候聰明的開發(fā)者們就發(fā)現(xiàn),,既然CPU計(jì)算能力不足,我們就把計(jì)算單元都堆在同一塊芯片上,讓他們來(lái)主要負(fù)責(zé)大量重復(fù)運(yùn)算的任務(wù)不就行了嗎,?所以GPU就出現(xiàn)了,。GPU(Graphics Processing Unit),就是圖形處理器,。它只有很少的控制單元和緩存,,但是堆滿了運(yùn)算單元,能夠處理以圖形任務(wù)為代表的大規(guī)模并發(fā)運(yùn)算,。圖形渲染要對(duì)圖像上的每一個(gè)像素點(diǎn)進(jìn)行處理,,而這些像素處理的過(guò)程和方式十分相似。這也是為什么GPU如此擅長(zhǎng)圖像處理,。打個(gè)比方,,CPU這個(gè)老大哥每天處理的指令包羅萬(wàn)象,但是圖形圖像處理屬于單一重復(fù)工種,,讓老大哥費(fèi)時(shí)費(fèi)力來(lái)做這些顯然不合適,。于是GPU就像是老大哥招募來(lái)的一批小弟,能夠同時(shí)處理大量重復(fù)的計(jì)算工作,,這樣老大哥可以高效地處理其他需要費(fèi)腦子的活兒,。也就是說(shuō)CPU+GPU的強(qiáng)強(qiáng)聯(lián)手,才讓大家打游戲的時(shí)候能夠縱享絲滑,。GPGPU(General-purpose computing on Graphics Processing Unit),,從名字就可以看出來(lái),它是GPU衍生出來(lái)的概念,,指的是通用圖形處理器,。隨著GPU的功能和運(yùn)算能力越來(lái)越強(qiáng)大,開發(fā)者就想GPU這個(gè)超強(qiáng)運(yùn)算能力,,除了圖形處理之外還能不能去做一些別的,?于是,他們給GPU引入了通用可編程的功能,。所以GPGPU能夠利用GPU可并行計(jì)算的架構(gòu)以及可編輯的特性來(lái)實(shí)現(xiàn)可編程高算力的能力,。如果我們把GPU看作CPU的小弟,那GPGPU就算是特長(zhǎng)生小弟了,。GPGPU的發(fā)展過(guò)程也伴隨著人工智能產(chǎn)業(yè)大火,,我們對(duì)算力的需求不斷攀升且計(jì)算不斷復(fù)雜化,通過(guò)去掉了圖形顯示部分,,將其余部分全部投入了通用計(jì)算,,GPGPU在醫(yī)療健康、深度學(xué)習(xí),、VR等算力密集領(lǐng)域大放異彩,。好像聽(tīng)明白了,,又好像沒(méi)那么明白?沒(méi)關(guān)系,,我們舉個(gè)通俗的例子,。如果我們將芯片處理的問(wèn)題比作數(shù)學(xué)題,圖形處理這種大量重復(fù)的簡(jiǎn)單任務(wù)就是加減法運(yùn)算,,要分析指令,、調(diào)取數(shù)據(jù)、控制操作等邏輯控制類任務(wù)就是高考數(shù)學(xué)題,,通用計(jì)算密集型任務(wù)就像是IMO國(guó)際奧數(shù)題,。那么相應(yīng)的,GPU就是一群只會(huì)做簡(jiǎn)單運(yùn)算的小學(xué)生,,CPU是擅長(zhǎng)邏輯控制的大學(xué)生,,GPGPU就相當(dāng)于一大群針對(duì)專門任務(wù)進(jìn)行專項(xiàng)強(qiáng)化訓(xùn)練后的優(yōu)秀奧賽選手。很顯然,,如果脫離實(shí)際應(yīng)用場(chǎng)景和成本來(lái)爭(zhēng)論CPU,、GPU、GPGPU哪個(gè)更厲害,,這本身就是個(gè)偽命題,。因?yàn)橐幚淼膱?chǎng)景不同,所以三者設(shè)計(jì)的出發(fā)點(diǎn)也不一樣,。CPU,、GPU和GPGPU在設(shè)計(jì)之初就都有EDA和IP的強(qiáng)大支持。如今市場(chǎng)上的大部分CPU和小型的GPU基本上都已經(jīng)實(shí)現(xiàn)了IP化(同時(shí)有趣的是,,在你筆記本里的x86 CPU里面還會(huì)套娃式的使用一些其他指令集CPU的IP),。大型的GPGPU目前也依然依賴EDA工具,特別是高效的后端數(shù)字工具來(lái)確保設(shè)計(jì)成功,。不同的處理器也許功能不同,,但其終極目標(biāo)是一致的,都是為了助力數(shù)字世界更快運(yùn)作,,三者各司其職又相互補(bǔ)充來(lái)協(xié)同工作,,便就能給終端用戶帶來(lái)最佳的體驗(yàn)。
|