也看到有人在說:現(xiàn)在隨便一個顯卡都是幾百幾千核,CPU才四核八核,頂級CPU都才18核,為什么CPU的核心就只有那么點。
也有人在討論:GPU在將來有沒有可能會取代CPU。
雖然博主不是搞芯片研發(fā)的,但至少還是個數(shù)碼愛好者,雖不是科班出身但這些問題博主還是能解釋得清楚的,畢竟也還是學(xué)了點計算機(jī)組成原理。
在我看來,GPU是替代不了CPU的,反過來,CPU也替代不了GPU。
為什么這樣說?如果形象點的比喻,就是:把整臺機(jī)箱比喻成一個工廠,顯卡GPU就像是工廠里的流水線工人,這些工人都在同一時刻做著同一件的事情,而CPU就像是這個工廠里的研發(fā)中心和高管們,他們在同一時刻都在做著各種復(fù)雜而不同的研發(fā)工作,把復(fù)雜的工作做完了,剩下簡單的工作就甩給下面的工人去做吧。
當(dāng)然也看到網(wǎng)上有更幽默的比喻:GPU是一群小學(xué)生,扎堆算加減法;CPU是一個老教授,能解微積分。
從根本上說CPU和GPU它們的目的不同,且有不同側(cè)重點,也有著不同的性能特性,在某些工作中CPU執(zhí)行得更快,另一工作中或許GPU能更好。
當(dāng)你需要對大量數(shù)據(jù)做同樣的事情時,GPU更合適,當(dāng)你需要對同一數(shù)據(jù)做很多事情時,CPU正好。
然而在實際應(yīng)用中,后一種情形更多,也就是CPU更為靈活能勝任更多的任務(wù)。GPU能做什么?關(guān)于圖形方面的以及大型矩陣運算,如機(jī)器學(xué)習(xí)算法、挖礦、暴力破解密碼等,GPU會有所幫助。
簡單地說,CPU擅長分支預(yù)測等復(fù)雜操作,GPU擅長對大量數(shù)據(jù)進(jìn)行簡單操作。一個是復(fù)雜的勞動,一個是大量并行的工作。
其實GPU可以看作是一種專用的CPU,專為單指令在大塊數(shù)據(jù)上工作而設(shè)計,這些數(shù)據(jù)都是進(jìn)行相同的操作。
要知道處理一大塊數(shù)據(jù)比處理一個一個數(shù)據(jù)更有效,執(zhí)行指令開銷也會大大降低,因為要處理大塊數(shù)據(jù),意味著需要更多的晶體管來并行工作,現(xiàn)在旗艦級顯卡都是百億以上的晶體管。
CPU呢,它的目的是盡可能快地在單個數(shù)據(jù)上執(zhí)行單個指令。由于它只需要使用單個數(shù)據(jù)單條指令,因此所需的晶體管數(shù)量要少得多。
目前主流桌面CPU晶體管都是十億以下,和頂級GPU相差十倍以上,但它需要更大的指令集,更復(fù)雜的ALU(算術(shù)邏輯單元),更好的分支預(yù)測,更好的虛擬化架構(gòu)、更低的延遲等等。
另外,像我們的操作系統(tǒng)Windows,它是為x86處理器編寫的,它需要做的任務(wù)執(zhí)行的進(jìn)程,在CPU上肯定更為高效,你想每個線程的任務(wù)并不相同,基本上難以并行化,完全發(fā)揮不了GPU的長處。
那么,可以預(yù)見在未來,隨著CPU進(jìn)一步強化處理數(shù)據(jù)塊的能力,我們將看到CPU和GPU架構(gòu)之間的融合,而且隨著制造技術(shù)的進(jìn)步和芯片的縮小,GPU也可以承擔(dān)更復(fù)雜的指令。
CPU與GPU間的分工雖然還是大有不同,但彼此間的交集無疑會更多。
責(zé)任編輯 LK
-
處理器
+關(guān)注
關(guān)注
68文章
19286瀏覽量
229873 -
cpu
+關(guān)注
關(guān)注
68文章
10863瀏覽量
211799 -
gpu
+關(guān)注
關(guān)注
28文章
4740瀏覽量
128955
發(fā)布評論請先 登錄
相關(guān)推薦
評論