CPU 和 GPU 處理器在計(jì)算機(jī)系統(tǒng)中擅長(zhǎng)不同的事情。CPU 更適合專注于執(zhí)行單個(gè)任務(wù),而 GPU 更適合同時(shí)計(jì)算復(fù)雜的數(shù)據(jù)集。以下是 CPU 和 GPU 不同的更多方式。
1. 計(jì)算中的預(yù)期功能

CPU指的是中央處理器。CPU 是對(duì)所有現(xiàn)代計(jì)算系統(tǒng)都至關(guān)重要的通用處理器,因?yàn)樗鼒?zhí)行計(jì)算機(jī)及其操作系統(tǒng)有效運(yùn)行所需的命令和進(jìn)程。因此,它通常被稱為計(jì)算機(jī)的大腦。
如前所述,CPU 包括算術(shù)邏輯單元 (ALU)、控制單元 (CU) 和存儲(chǔ)器。控制單元管理數(shù)據(jù)流,而 ALU 對(duì)內(nèi)存提供的數(shù)據(jù)執(zhí)行邏輯和算術(shù)運(yùn)算。CPU 決定了程序運(yùn)行的速度。
GPU是指圖形處理單元,也稱為視頻卡或圖形卡。GPU 是專門為處理圖形數(shù)據(jù)而設(shè)計(jì)和優(yōu)化的處理器。因此,將圖像等數(shù)據(jù)從一種圖形格式轉(zhuǎn)換為另一種圖形格式。它還可以通過創(chuàng)建 2D 或 3D 圖像來渲染圖像,這在3D 打印工作流程中被廣泛使用。
2、運(yùn)營(yíng)重點(diǎn)

CPU 專注于低延遲。具有低延遲的計(jì)算機(jī)通常經(jīng)過優(yōu)化,可以以最小的延遲處理大量指令或數(shù)據(jù)傳輸。在 CPU 中,延遲是指設(shè)備發(fā)出請(qǐng)求與 CPU 完成請(qǐng)求之間的時(shí)間延遲,該延遲以時(shí)鐘周期為單位進(jìn)行測(cè)量。
由于高速緩存未命中和未對(duì)齊,CPU 中的延遲級(jí)別可能會(huì)增加。通常,高延遲與增加的網(wǎng)頁加載時(shí)間和應(yīng)用程序故障有關(guān)。
相比之下,GPU 側(cè)重于高吞吐量。吞吐量是指當(dāng)每條指令的操作數(shù)獨(dú)立于前面的指令時(shí),每個(gè)時(shí)鐘周期可以執(zhí)行的相似指令的最大數(shù)量。內(nèi)存帶寬限制、算法分支發(fā)散和內(nèi)存訪問延遲可能導(dǎo)致低吞吐量。
3、操作功能

CPU 執(zhí)行四個(gè)主要功能——獲取、解碼、執(zhí)行和寫回:
Fetch是指CPU從程序存儲(chǔ)器中接收指令的操作。
譯碼是指通過指令譯碼器對(duì)指令進(jìn)行轉(zhuǎn)換,以確定還需要CPU的哪些其他部分進(jìn)行處理。
執(zhí)行是指完成指令。
回寫是指將數(shù)據(jù)復(fù)制到更高級(jí)別的緩存或內(nèi)存的緩存技術(shù)。
GPU 的主要功能是管理和提高視頻和圖形性能。它具有紋理貼圖、硬件覆蓋、解碼運(yùn)動(dòng)圖像專家組 (MPEG) 文件和數(shù)字輸出到屏幕監(jiān)視器等功能。這些旨在減少工作量并生成更快的圖形。GPU 還執(zhí)行與 3D 和浮點(diǎn)運(yùn)算相關(guān)的計(jì)算。
4. 核心的使用

現(xiàn)代 CPU 有 2 到 18 個(gè)強(qiáng)大的內(nèi)核,每個(gè)內(nèi)核都可以在同時(shí)工作時(shí)執(zhí)行不同的工作。通過稱為同時(shí)多線程處理的過程,可以將核心拆分為稱為線程的虛擬核心。例如,具有四個(gè)內(nèi)核的 CPU 可以拆分為提供八個(gè)線程。
CPU 的效率隨著內(nèi)核數(shù)量的增加而增加,因?yàn)樗梢酝瑫r(shí)運(yùn)行更多的程序并處理范圍廣泛的任務(wù)。因此,CPU 內(nèi)核針對(duì)串行計(jì)算和運(yùn)行數(shù)據(jù)庫管理系統(tǒng) (DBMS) 進(jìn)行了優(yōu)化。
GPU 內(nèi)核在串行計(jì)算方面比 CPU 慢,但在并行計(jì)算方面要快得多,因?yàn)樗鼈冇袛?shù)千個(gè)最適合并行工作負(fù)載的較弱內(nèi)核。GPU 內(nèi)核是用于處理圖形操作的專用處理器。
5.串行和并行指令處理

在串行處理中,一次執(zhí)行單個(gè)任務(wù),而在并行處理中,同時(shí)執(zhí)行多個(gè)任務(wù)。
在串行處理中,每個(gè)任務(wù)都使用相同的平均時(shí)間完成。使用先進(jìn)先出 (FIFO) 技術(shù)完成指令。CPU 更適合串行指令處理,因?yàn)樗鼈兛梢允褂脝蝹€(gè)內(nèi)核在完成另一個(gè)任務(wù)后執(zhí)行一個(gè)任務(wù)。程序計(jì)數(shù)器確定指令的執(zhí)行順序。
同時(shí),任務(wù)被拆分到多個(gè)處理器中并行處理,以減少運(yùn)行程序的時(shí)間。GPU更適合并行指令處理。GPU 的架構(gòu)允許它們同時(shí)跨數(shù)據(jù)流執(zhí)行大量計(jì)算。因此,提高了計(jì)算機(jī)系統(tǒng)的速度。并行處理旨在提高計(jì)算機(jī)系統(tǒng)的計(jì)算速度并增加其吞吐量。
6. 多功能性和與其他組件的交互

與 GPU 相比,CPU 更加通用。它具有更廣泛的指令范圍,可以執(zhí)行許多任務(wù)。在執(zhí)行指令時(shí),CPU 還與更多計(jì)算機(jī)組件交互,例如 RAM、ROM、基本輸入/輸出系統(tǒng) (BIOS)和輸入/輸出 (I/O) 端口。
相比之下,GPU 只能接收有限的指令集,只能執(zhí)行與圖形相關(guān)的任務(wù)。GPU 在執(zhí)行指令時(shí)與較少的計(jì)算機(jī)組件交互。通常,GPU 在確定如何在屏幕上顯示像素時(shí)只需要與顯示和內(nèi)存單元交互。
七、任務(wù)的執(zhí)行

盡管速度相對(duì)較慢,但 CPU 可以處理大多數(shù)消費(fèi)級(jí)任務(wù),甚至是復(fù)雜的任務(wù)。CPU 還可以處理圖形操作任務(wù),但效率會(huì)大大降低。然而,由于任務(wù)的復(fù)雜性,CPU 在 3D 渲染方面優(yōu)于 GPU。此外,CPU 具有更大的內(nèi)存容量,因此用戶可以在不影響性能的情況下快速擴(kuò)展至 64GB。
GPU 主要是增強(qiáng)圖像和渲染圖形,速度明顯快于 CPU。將 GPU 與高端計(jì)算機(jī)組件相結(jié)合,渲染圖形的速度比 CPU 快 100 倍。盡管速度很快,但 GPU 通常設(shè)計(jì)用于執(zhí)行簡(jiǎn)單和不復(fù)雜的任務(wù)。此外,GPU 的顯卡內(nèi)存有限,最高可達(dá) 12GB,無法堆疊并且無法在不導(dǎo)致性能下降和瓶頸的情況下輕松擴(kuò)展。
8. 硬件限制

由于硬件限制,CPU 制造商面臨重大障礙。1965 年,摩爾定律基于對(duì)歷史趨勢(shì)的觀察和預(yù)測(cè)而誕生,為現(xiàn)代數(shù)字革命奠定了基礎(chǔ)。該定律指出,硅芯片上的晶體管數(shù)量每?jī)赡攴环?,而?jì)算機(jī)的成本則減半。然而,57 年后,他的觀察可能已接近尾聲。今天,可以添加到一塊硅上的晶體管數(shù)量是有限的。盡管如此,制造商已設(shè)法使用分布式計(jì)算、量子計(jì)算機(jī)和硅替代品來克服這些硬件限制。
另一方面,GPU 制造商目前沒有面臨硬件限制。Huang 定律觀察到 GPU 的進(jìn)步速度比 CPU 快得多。它還指出,GPU 的性能每?jī)赡攴环?/span>
9. API 限制

應(yīng)用程序編程接口 (API)是一種軟件接口,它為計(jì)算機(jī)程序提供了一種相互通信的方式。CPU 制造商對(duì)其 CPU 沒有 API 限制。數(shù)據(jù) API 可與 CPU 無縫協(xié)作,而不會(huì)限制功能。但是,GPU 的圖形 API 有限;這些也很難調(diào)試,進(jìn)一步限制了它們的應(yīng)用。
OpenCL 和計(jì)算統(tǒng)一設(shè)備架構(gòu) (CUDA) 是最流行的 GPU 圖形渲染 API。OpenCL 是一種開源 API,適用于 AMD GPU 硬件,但在 Nvidia 硬件上運(yùn)行速度非常慢。CUDA 是 Nvidia 擁有的專有 API,并針對(duì)與 Nvidia GPU 一起使用進(jìn)行了優(yōu)化。然而,CUDA用戶在其生態(tài)系統(tǒng)中的特殊性設(shè)計(jì)使得未來很難改變。
10.上下文切換延遲

上下文切換延遲是指處理單元執(zhí)行進(jìn)程所花費(fèi)的時(shí)間。當(dāng)發(fā)出帶有指令的請(qǐng)求時(shí),將自動(dòng)啟動(dòng)依賴鏈,其中一個(gè)進(jìn)程依賴于前一個(gè)進(jìn)程,直到請(qǐng)求得到滿足。由于將信息存儲(chǔ)在寄存器中,CPU 在多個(gè)線程之間的切換速度較慢。相反,GPU 任務(wù)是同時(shí)執(zhí)行的。這意味著沒有 warp 間上下文切換,寄存器必須保存到內(nèi)存并恢復(fù)。
11.緩存方法

CPU 使用緩存有效地從內(nèi)存中檢索數(shù)據(jù)以節(jié)省時(shí)間和能源。高速緩存是更小、更快的內(nèi)存,更靠近(通常嵌入)CPU,用于存儲(chǔ)來自頻繁使用的主內(nèi)存位置的數(shù)據(jù)副本。CPU 緩存由多個(gè)級(jí)別組成,通常最高為 3 級(jí),有時(shí)為 4 級(jí)。每個(gè)級(jí)別根據(jù)訪問頻率決定是否應(yīng)保留或刪除特定內(nèi)存。現(xiàn)代 CPU 自動(dòng)執(zhí)行緩存管理。
值得注意的是,GPU 的本地內(nèi)存結(jié)構(gòu)與 CPU 類似。但是,GPU 內(nèi)存具有非統(tǒng)一的內(nèi)存訪問架構(gòu),允許程序員選擇保留哪些內(nèi)存以及從 GPU 內(nèi)存中刪除哪些內(nèi)存。這樣可以實(shí)現(xiàn)更好的內(nèi)存優(yōu)化。
總結(jié)
中央處理器 (CPU) 和圖形處理器 (GPU) 是 PC 和大型機(jī)中最關(guān)鍵的兩個(gè)組件,沒有它們現(xiàn)代計(jì)算就無法運(yùn)行。該領(lǐng)域的大多數(shù)進(jìn)步——從人工智能和超級(jí)計(jì)算機(jī)到預(yù)測(cè)分析——都依賴于這兩個(gè)基礎(chǔ)構(gòu)建塊。通過了解 CPU 和 GPU 之間的差異,個(gè)人高級(jí)用戶和 IT 決策者可以更好地利用他們的基礎(chǔ)架構(gòu)和端點(diǎn)環(huán)境來獲得更好的結(jié)果。