-
1 # 繁星落石
-
2 # 可可西里爾雅
CPU不但要處理大量的資料,還要邏輯判斷又會引入大量的分支跳轉和中斷的處理,CPU擅長邏輯控制,序列的運算。
GPU的工作相對來說就比較專一,擅長大規模併發計算。
所以從晶片設計的複雜程度來說,CPU的技術含量更好些
-
3 # 路佚Joshua
CPU和GPU都是具有運算能力的晶片,CPU更像“通才”——指令運算(執行)為重+數值運算,GPU更像“專才”——圖形類數值計算為核心。在不同型別的運算方面的速度也就決定了它們的能力——“擅長和不擅長”。晶片的速度主要取決於三個方面:微架構,主頻和IPC(每個時鐘週期執行的指令數)。
微架構
CPU微架構的設計是面向指令執行高效率而設計的,因而CPU是計算機中設計最複雜的晶片。和GPU相比,CPU核心的重複設計部分不多,這種複雜性不能僅以電晶體的多寡來衡量,這種複雜性來自於實現:如程式分支預測,推測執行,多重巢狀分支執行,並行執行時候的指令相關性和資料相關性,多核協同處理時候的資料一致性等等複雜邏輯。
GPU其實是由硬體實現的一組圖形函式的集合,這些函式主要用於繪製各種圖形所需要的運算。這些和畫素,光影處理,3D座標變換等相關的運算由GPU硬體加速來實現。圖形運算的特點是大量同類型資料的密集運算——如圖形資料的矩陣運算,GPU的微架構就是面向適合於矩陣型別的數值計算而設計的,大量重複設計的計算單元,這類計算可以分成眾多獨立的數值計算——大量數值運算的執行緒,而且資料之間沒有像程式執行的那種邏輯關聯性。
因此從微架構上看,CPU擅長的是像作業系統、系統軟體和通用應用程式這類擁有複雜指令排程、迴圈、分支、邏輯判斷以及執行等的程式任務。它的並行優勢是程式執行層面的,程式邏輯的複雜度也限定了程式執行的指令並行性,上百個並行程式執行的執行緒基本看不到。GPU擅長的是圖形類的或者是非圖形類的高度並行數值計算,GPU可以容納上千個沒有邏輯關係的數值計算執行緒,它的優勢是無邏輯關係資料的平行計算。
主頻
GPU執行每個數值計算的速度並沒有比CPU快,從目前主流CPU和GPU的主頻就可以看出了,CPU的主頻都超過了2GHz,甚至3GHz,而GPU的主頻最高還不到2GHz,主流的也就1GHz。所以GPU在執行少量執行緒的數值計算時速度並不能超過CPU。
目前GPU數值計算的優勢主要是浮點運算,它執行浮點運算快是靠大量並行,但是這種數值運算的並行性在面對程式的邏輯執行時毫無用處。
IPC(每個時鐘週期執行的指令數)
這個方面,CPU和GPU無法比較,因為GPU大多數指令都是面向數值計算的,少量的控制指令也無法被作業系統和軟體直接使用。如果比較資料指令的IPC,GPU顯然要高過CPU,因為並行的原因。但是,如果比較控制指令的IPC,自然是CPU的要高的多。原因很簡單,CPU著重的是指令執行的並行性。
另外,目前有些GPU也能夠支援比較複雜的控制指令,比如條件轉移、分支、迴圈和子程式呼叫等,但是GPU程式控制這方面的增加,和支援作業系統所需要的能力CPU相比還是天壤之別,而且指令執行的效率也無法和CPU相提並論。
總結一下:
CPU更適合處理邏輯控制密集的計算任務,而GPU適合處理資料密集的計算任務。並且由於現代CPU的發展,使得CPU與計算機主存的交換速度要遠遠大於GPU與計算機主存的交換速度,因此GPU更適合處理SIMD(SingleInstruction MultiData,單資料多指令)的運算,即將資料放到視訊記憶體中進行多次計算的計算任務。
目前比較流行CPU+GPU的協同計算模型,在這個模型中,CPU與CPU協同工作,各司其職。CPU負責進行邏輯性強的事物處理和序列計算,GPU則專注於執行高度執行緒化的並行處理任務。CPU、GPU各自擁有相互獨立的儲存器地址空間:主機端的記憶體和裝置端的視訊記憶體。
-
4 # 魔星碎碎念
從晶片設計的複雜度來說,高效能通用CPU晶片設計肯定超過GPU晶片。
應用範圍不同導致各自的著力點也不同,CPU晶片屬於全能型選手,控制、運算樣樣皆能,所以它所需要的專業知識面也廣,技術團隊成員組成也更多元;GPU晶片更像專項運動員,任務物件相對單一,尤其是核心的演算法單元部分是可以以搭積木的方式堆積,所以導致它除了演算法技術人員外對並行處理技術人員也有需求,至於HBM這種高頻寬技術也是源於加速並行處理能力所需。
所以,雖然CPU設計複雜度高於GPU設計,但並不意味著CPU設計者就一定強過GPU設計者,Intel CPU晶片組的內建顯示卡就沒有N記獨立顯示卡牛掰,當然這裡面不單純是技術深度因素,和各自的策略和相容包袱也有關。
-
5 # 小虎科技
在回答這個問題之前,首先我們要了解一下什麼是CPU什麼是GPU,兩者是幹什麼用的,製作工藝和材料有什麼區別,這樣我們才能明白哪個加工難度比較大,下面我們以計算機應用為例分以下幾點詳細瞭解一下:
什麼是CPU什麼是GPU兩者的區別在哪裡晶片的加工工藝什麼是CPUCPU也就是我們通常說的“中央處理器”,依人類對比而言,也就是人類的大腦,是計算機裝置的重要組成部分,其功能是負責整個計算機的資料流運算,和各個配件指令的下達,目前在電腦桌面端的處理器上AMD領先於Intel,使用的是7nm工藝。在156平方毫米的的面積上,容納了98億多個電晶體,電晶體數量越多,理論上能執行的任務能力越強,功效越低。
什麼是GPUGPU其實是一種影象處理晶片,主要用於提高影片和圖形處理的效能,包括圖形的解碼,圖形的渲染,影片訊號的輸出等。簡單的說就是一種視覺處理單元。只是用作影象處理使用,包括現在的AI識別技術,電腦/電視的顯示器等。
兩者的區別雖然兩者都是晶片,但是因為處理的資料型別不同,CPU處理主要是用來解釋計算機的指令和計算機應用的邏輯資料,並且可以分配指令,是控制整個電腦的核心。而GPU只是用於處理影象資料,用來提升影象顯示效果和圖形計算的,行為比較單一。
晶片的加工工藝晶片的製作流程主要包括,產品圖紙的設計→晶元的製作,光科→封裝→測試,四個步驟。最複雜的工藝要數晶片的製作了,晶片的製作流程分為,矽錠的打磨→切片→光刻→蝕刻→摻加雜質→乾洗→封裝測試。這樣一個晶片才算完成了。
總結--哪個加工比較難其實在晶片的加工和封裝上面兩者基本都差不多,主要是在晶片的架構和圖紙設計上,CPU的設計難度可能更大一點,因為相比於影象處理,CPU的架構更加複雜,需要的電晶體更多。
-
6 # 網際網路亂侃秀
一、理論上來講,CPU更難
就拿電腦CPU來舉例,CPU是什麼,CPU是計算單元,要負責電腦所有計算工作,控制、運算等等都要行,它涉及的到東西會非常廣和全面。
而GPU相當於電腦的顯示卡,整合顯示卡是整合至CPU中的,而獨立顯示卡是單獨的,但不管是整合的還是獨立的,它的工作都是由CPU來分配的。
CPU讀取資料之後, 發現這個是需要圖形影片方面的運算工作,它就會將這個工作分配給GPU,GPU處理完之後,再返回給CPU。
可見,CPU還要調控GPU來工作,所以理論上來講,CPU會比GPU更難一些。
二、但事實上,兩者都難,不好直接對比
但是前面其實也將兩者的工作內容說清楚了,一個是通用型的,什麼都要管的計算單元,而一個是專業負責圖形影片方面的計算工作的,兩者的工作內容其實是不同的。
也正因為兩者的不同,所以嚴格來講,兩者無法對比,你不好說哪種晶片更難,畢竟無法直接對比。但綜合來看,CPU會更難一點。
-
7 # 與自然做鬥爭
一樣難造,但CPU是多功能運算,CPU內部也有GPU,為了達到更加有效果,從CPU裡面搬運出一塊GPU!
GPU內部也有CPU只不過比較小用來計算圖形,說明白點就是計算執行記憶體,主要計算紅綠藍三基色運算,同時計算000-111八進位制就足夠了!
而CPU要運算的進位制碼是無限大,只要核心足夠就可以!
所有晶片都可以做CPU,分為AI,圖形,電機控制,感應器,音譜等等都可以模擬,主要主攻負責,中央處理器負責總運算切換線路類似於交通路線紅綠燈一樣!
執行記憶體內部也有CPU,我們的手機就是ARM就是主攻執行記憶體
回覆列表
兩者都算是晶片行業的集大成者,因為分工不同所以取了不同的名字,部署方式也有所不同。如果說複雜程度的話,兩者應該是不相上下,CPU會更側重流水線中序列部分的最佳化,比如分支預測、亂序執行以及超執行緒等等;而GPU則更側重流水線中並行的能力,並行是GPU處理的核心,如何高效地完成並行分配並在流水線結尾執行等待是相對核心的部分。