-
1 # 章彥博
-
2 # 仁觀天下
二者都是晶片,功能和用途有所不同。
CPU,英文全稱是Central Processing Unit,的縮寫,中文名為中央處理器。
中央,就是核心,是計算機整個系統的“大腦”,沒有CPU,計算機系統就失去指揮,沒法工作了。
CPU主要包括運算器、控制單元、若干暫存器、快取記憶體器和它們之間通訊的資料、控制及狀態的匯流排。
它的工作邏輯:儲存程式,按順序執行。它最擅長於邏輯控制。由於CPU需要大量的空間去放置儲存單元和控制邏輯,計算能力就受限制,當遇到大量簡單重新性質的運算時,就需要GPU出場。
GPU,英文全稱是Graphics Processing Unit, 中文名是影象處理器;
GPU主要解決並行運算問題。舉個生活中的例子。火車站售票口前,顧客有1000人排隊。如果只有一個售票員,那麼即使他買票再熟練,手再快,也要人們排隊,費時費力。如果有100個售票員同時售票,很快就解決問題。GPU解決的就是這個問題。這個問題在圖形圖處理時問題最突出,故改變演算法規則,由GPU晶片來解決。
GPU不能獨立工作,必須由CPU進行指揮,在CPU指揮下才能工作。
現在是大資料時代,GPU的地位越來越重要了。
-
3 # 超能網
PC在剛誕生的時候,其實是沒有GPU的,所有的圖形計算都由CPU來計算。後來人們意識到CPU做圖形計算太慢了,於是他們設計了專門的圖形加速卡用來幫忙處理圖形計算,再後來,NVIDIA提出了GPU的概念,將GPU提升到了一個單獨的計算單元的地位。
圖片來自於NVIDIA
由於兩者面向的計算不同,CPU面對的是人們各種各樣的需求,比如你開啟一個網頁的時候,CPU要負責網路互動,要解析HTML檔案和JS指令碼,要構建DOM樹,要載入各種各樣的資源,而最後才輪到GPU的事情:渲染畫面並輸出。
再舉個例子,玩遊戲的時候,CPU負責完成遊戲程式的邏輯、從硬盤裡面載入遊戲資料,然後才開始把圖形相關的東西挑出來交給GPU做,而遊戲中的各種運算還是離不開CPU的幫助,比如常見的NPC,他們怎麼運動,還是需要CPU來運算。
從上述兩個例子中就可以看出,CPU負責的是各種各樣的計算,為了應對這麼多種類的計算,它的通用性要求非常高,而這就必定會造成設計上的複雜,比如要支援if-else這類條件語句就要針對性加入一些控制單元。而GPU從誕生開始,面對的就是單一種類的計算,早期的GPU為了更好的應對單一的圖形計算任務,採用的是流水管線形式的設計,透過在晶片規模上的大量堆疊,就可以獲得在圖形處理速度上的提升,從而提供更好的畫質,簡單粗暴。
所以問題的答案很明顯了,在計算上,CPU的通用性更強,什麼活都能接,但是速度都不咋地;GPU只能接圖形計算這類活,速度非常快,或者也可以接特別寫給它來計算的任務,這也就是GPGPU(在圖形計算單元上進行的通用計算)的由來。
-
4 # 程式小腿腿
cpu和GPU的不同之處在於CPU是負責高階邏輯計算,就是類似於我們程式當中的各種迴圈判斷帶有邏輯性的計算方式,但是GPU也是負責計算的,但是GPU的計算方式是屬於並行的大規模的簡單運算就類似於簡單的加減乘除一樣,這是他們最大的區別。
CPU主要用來處理不同的資料型別,比如各種整型、浮點型、字元型等等的資料處理,同時還要引入各種複雜的邏輯判斷跳轉等,比方說遊戲裡面的各種座標計算,各種動作的處理這都是需要CPU來完成的,這就使得CPU內部設計是十分複雜的,而GPU基本上處理的資料都是重複單一的型別相同,但是需要大量的重複計算,計算不復雜,尤其是類似於各種密碼解密一樣,比方說前段時間的的挖礦計算,這種計算本身不需要很複雜的計算就是需要大量的平行計算而已。GPU採用了超級多的計算單元和超長的流水線,因為其計算的資料都很簡單並且沒有複雜的邏輯控制,因此省去了各種的CACHE,由於CPU需要複雜的邏輯運算因此CPU內部被各種快取設計佔據了一定的空間,這就決定了CPU內部的電路複雜性,相比較GPU而言,CPU的運算力只是其中一部分的能力。
可以有這樣的一個列子作為很好的說明,GPU的計算都是重複的工作計算量很大,這個就相當於有幾萬個算術題,都是簡單的加減乘除,這些簡單的計算小學生就可以解決了,因此你要瞬間完成這些算數量可以僱傭幾百個小學生來計算這些題目,而CPU的運算由於比較複雜還要各種邏輯判斷,因此讓大學生來解答的,因此你讓大學生去解答小學生的這些算術題,雖然單個速度快但是對於大學生來說沒有任何挑戰性,還佔用了大學生的資源,因為計算這些用大批次的小學生即可完成的事情,為啥非要用大學生來搞定呢?GPU的計算題目之間並沒有什麼相關新,也就是說GPU的各個算數單元和流水線之間都是獨立運算的只要把運算結果算出來即可,但是CPU不一樣,CPU算的每個步驟之間都是有聯絡內部之間都是有關聯的,並不能單獨進行計算。
以上各種說明,其實都是解釋了GPU和CPU的不同之處,GPU就是計算簡單的問題流水線較長,其中的運算單元很多,而CPU就是內複雜有各種快取設計,有各種的暫存器等等,因為其需要進行各種複雜的邏輯運算,其算力只是其中的一個功能,並不能代表其最終的效能。
-
5 # 看點訊息
這個問題問的非常好,cpu和gpu看著是隻是相差一個字母,其實意思大不相同,主要處理的方面也是大不相同的。那區分出這兩者,有什麼原因嗎?
CPUcpu可以籠統的說是晶片,他也叫中心處理單元或者是中央處理器,總之,他又有很多的叫法,叫法不同,但是,他的作用都是一樣的。
cpu主要處理的是一些運算問題,我們的大腦無時無刻的在進行運算,作為電腦端的大腦的cpu也是一樣的。電腦上的一切有關的計算。比如說,你現在看到的這個網頁,為什麼標題的字的大小和正文的大小不一樣,這就是cpu根據css網頁的函式進行了大量的計算,最終的結果就是一個數字,這個數字規定了標題和正文只能是這麼大。
如果你要跑一個很大很大的應用,裡面有很多的向量的計算的時候,這時,其中的計算量絕對不是計算一個網頁這麼小的了。可能運算一個網頁和渲染一個網頁,一個cpu就可以搞定了,但是,涉及大量的向量運算和三角的運算的時候,cpu就絕對不夠使用了,壓力太大,他自己連計算本身的資料資源都不夠用了,怎麼去運算向量呢?這就扔出來了gpu
Gpu隨著顯示卡的發展,大家對gpu也越來越瞭解了。gpu主要是用來計算向量和三角的,我現在看到的圖片,其實都是向量和三角組成的。向量在空間中,不僅僅可以表示方向,也能夠表示大小,這就是他能夠是用來表示圖片的地方了。
gpu其實本身也有能夠計算資料的能力,在沒有gpu的年代裡,這個任務是交給cpu來完成的。要是涉及渲染和大量的圖片的情況下,cpu就就會很吃力。會嚴重的拖累工作和效率
所以,把有關渲染和處理向量三角的任務,單獨的拿出來,做出一個新的核心,就叫gpu了。事實證明,他們的結合,可以大大的最佳化效率,所以現在都是用這個了
你的鼓勵是我最大的動力
-
6 # 農民兄弟雜貨鋪
就樓主提出的問題,是一個錯誤的提法,可能樓主本身不是很懂計算機,計算機是沒有GPU與CPU之分,只能說計算機為什麼有GPU和CPU或者說計算機裡的CPU與GPU是什麼意思,就樓主的”提法“我來簡單說下。計算機硬體組成部分中的GPU與CPU分別是指什麼?
1.CPU
中央處理器(CPU,Central Processing Unit)是一塊超大規模的積體電路,中央處理器主要包括運算器(算術邏輯運算單元,ALU,Arithmetic Logic Unit)、控制器和高速緩衝儲存器(Cache)及實現它們之間聯絡的資料(Data)、控制及狀態的匯流排(Bus),是一臺電腦的核心部件,就像人的大腦一樣。一般是安裝在電腦主機板上的,可以隨時取下或安裝上,現在全球民用市場做CPU的只有兩家,intel與amd。別的目前沒有公司能做出來的。CPU是下面這樣的,
CPU在網上或實體電腦店都可以買的到,如果你稍懂點電腦組裝的知識,就可以自已把自已的電腦升級,更換一顆更好點的CPU。
2.GPU
圖形處理器(英語:Graphics Processing Unit,縮寫:GPU),又稱顯示核心、視覺處理器、顯示晶片,通俗的講是一個顆BGA,晶片,是用專處理器,只能用來處理跟圖形有關的。通常是安裝在顯示卡上面的,不能更換。如果是並口資料,他處理不了,如果是網路資料他也處理不了,如果是調高顯示器的重新整理率他可以處理,他的樣子是如下圖這樣的
GPU在一般的電腦的店,買不到,要到專門維修電腦的地方才有,而且就算你有這顆料,也是無法用的,GPU通用性基本為0,而且安裝在顯示卡上要用到專門的機器才行的。
-
7 # 七色慧
GPU和CPU十分類似於社會的分工。
我來做一個比喻,GPU是一群採茶女,CPU是最棒的男性登山者。
這個社會大部分時間大部分事情都是需要普通人聯合起來一起完成,簡單重複而又非常繁重,但是極個別時候需要衝擊一些只有天才才能完成的任務就需要CPU來做,此時採茶女就會顯得無能為力。
這些人正在採摘茶葉:
我們不知道它們中的任何一個是否都非常出色,但這並不重要。即使您在採茶方面獲得了諾貝爾獎,這名工作人員完成定量比賽的速度也比您快上幾倍,僅僅是因為他們的人數比您多十比一。
這個傢伙正在爬山:
他為此進行了單獨的訓練,由十個人組成的隨機採茶團隊無法在他之前到達峰頂,甚至可能無人可以到達,因為他們無法將任務疊加。
GPU比CPU處理更多的普通任務,因為GPU具有更多數量的相對非凡的處理核心。我們不會將它們用於所有方面,因為它們需要集體工作的型別,在這種工作中,數量上的壓倒優勢轉化為績效的提高,而CPU是計算機中的愛因斯坦。
其實它們在本質上都是一個東西,都是一堆沙子的精雕細刻再加上一點點其它元素。
回覆列表
之所以有GPU與CPU之分,是因為計算可以大致分成兩種型別:一種是按部就班的順序式過程;另一種,是並行的過程,也就是同時做很多事情。
GPU的是英文Graphics Processing Unit的縮寫,指的是圖形處理器;CPU是Central Processing Unit的縮寫,意思是中央處理器。我舉個例子,如果我們要去買東西,比如說買一瓶飲料。那麼,我們寫下的流程可能就是:出門、走到A點、看看A附近有沒有開著的超市。如果有則進去,否則去B。進入超市之後,看看有沒有需要的飲料、有的話,付款、然後回家。
這是一個線性的、順序的過程,一步只做一件事、只判斷一件事。但是有的事情就不一樣的。比如說軍訓時,教官讓學員站好、排隊排整齊,他的方法是什麼?難道是甲站到某個位置,然後乙站到他的右邊,丙再站到甲的右邊,以此類推嗎?不是的。
真實的站隊過程比這樣的效率要高很多:大家先聚到一起,各自找到自己身邊的人,然後組成小組,再去組合。一個幾百人的隊伍,可能十幾秒鐘就基本組好了。之所以這麼快,是因為他們的行為是並行的。所謂並行,就是指他們各自同時在做某件事。
並行處理在影象處理上非常重要,因為,很多圖片本身儲存量上百萬個畫素點,一個個的處理起來,時間會非常漫長。而若是用上百個處理器,並行處理,就會快很多。很多影象操作,比如調節曝光、顏色,其實是與畫素在哪裡無關的,這就可以使用GPU來處理。而且,由於GPU的並行處理特性,它現在不光用在圖形處理上,還被廣泛用於機器學習領域,可以大大加速處理速度。