GPU
圖形處理器(英語:Graphics Processing Unit,縮寫:GPU),又稱顯示核心、視覺處理器、顯示芯片,是一種專門在個人電腦、工作站、游戲機和一些移動設備(如平板電腦、智能手機等)上圖像運算工作的微處理器。
用途是將計算機系統(tǒng)所需要的顯示信息進行轉換驅動,并向顯示器提供行掃描信號,控制顯示器的正確顯示,是連接顯示器和個人電腦主板的重要元件,也是“人機對話”的重要設備之一。顯卡作為電腦主機里的一個重要組成部分,承擔輸出顯示圖形的任務,對于從事專業(yè)圖形設計的人來說顯卡非常重要。
顯卡的處理器稱為圖形處理器(GPU),它是顯卡的“心臟”,與CPU類似,只不過GPU是專為執(zhí)行復雜的數(shù)學和幾何計算而設計的,這些計算是圖形渲染所必需的。某些最快速的GPU集成的晶體管數(shù)甚至超過了普通CPU。
時下的GPU多數(shù)擁有2D或3D圖形加速功能。如果CPU想畫一個二維圖形,只需要發(fā)個指令給GPU,如“在坐標位置(x, y)處畫個長和寬為a×b大小的長方形”,GPU就可以迅速計算出該圖形的所有像素,并在顯示器上指定位置畫出相應的圖形,畫完后就通知CPU “我畫完了”,然后等待CPU發(fā)出下一條圖形指令。
有了GPU,CPU就從圖形處理的任務中解放出來,可以執(zhí)行其他更多的系統(tǒng)任務,這樣可以大大提高計算機的整體性能。
GPU會產生大量熱量,所以它的上方通常安裝有散熱器或風扇。
GPU是顯示卡的“大腦”,GPU決定了該顯卡的檔次和大部分性能,同時GPU也是2D顯示卡和3D顯示卡的區(qū)別依據(jù)。2D顯示芯片在處理3D圖像與特效時主要依賴CPU的處理能力,稱為軟加速。3D顯示芯片是把三維圖像和特效處理功能集中在顯示芯片內,也就是所謂的“硬件加速”功能。顯示芯片一般是顯示卡上最大的芯片(也是引腳最多的)。時下市場上的顯卡大多采用NVIDIA和 AMD-ATI 兩家公司的圖形處理芯片。
GPU已經(jīng)不再局限于3D圖形處理了,GPU通用計算技術發(fā)展已經(jīng)引起業(yè)界不少的關注,事實也證明在浮點運算、并行計算等部分計算方面,GPU可以提供數(shù)十倍乃至于上百倍于CPU的性能,如此強悍的“新星”難免會讓CPU廠商老大英特爾為未來而緊張, NVIDIA和英特爾也經(jīng)常為CPU和GPU誰更重要而展開口水戰(zhàn)。GPU通用計算方面的標準目前有OpenCL、CUDA、ATI STREAM。其中,OpenCL(全稱Open Computing Language,開放運算語言)是第一個面向異構系統(tǒng)通用目的并行編程的開放式、免費標準,也是一個統(tǒng)一的編程環(huán)境,便于軟件開發(fā)人員為高性能計算服務器、桌面計算系統(tǒng)、手持設備編寫高效輕便的代碼,而且廣泛適用于多核心處理器(CPU)、圖形處理器(GPU)、Cell類型架構以及數(shù)字信號處理器(DSP)等其他并行處理器,在游戲、娛樂、科研、醫(yī)療等各種領域都有廣闊的發(fā)展前景,AMD-ATI、NVIDIA時下的產品都支持OPEN CL。
1985年 8月20日 ATi公司成立,同年10月ATi使用ASIC技術開發(fā)出了第一款圖形芯片和圖形卡,1992年 4月 ATi發(fā)布了 Mach32 圖形卡集成了圖形加速功能,1998年 4月 ATi被IDC評選為圖形芯片工業(yè)的市場領導者,但那時候這種芯片還沒有GPU的稱號,很長的一段時間ATI都是把圖形處理器稱為VPU,直到AMD收購ATI之后其圖形芯片才正式采用GPU的名字。
NVIDIA公司在1999年發(fā)布GeForce 256圖形處理芯片時首先提出GPU的概念。從此NV顯卡的芯就用這個新名字GPU來稱呼。GPU使顯卡削減了對CPU的依賴,并實行部分原本CPU的工作,更加是在3D圖形處理時。GPU所采用的核心技術有硬體T&L、立方環(huán)境材質貼圖與頂點混合、紋理壓縮及凹凸映射貼圖、雙重紋理四像素256位渲染引擎等,而硬體T&L技術能夠說是GPU的標志。
CPU
中央處理器(CPU,Central Processing Unit)是一塊超大規(guī)模的集成電路,是一臺計算機的運算核心(Core)和控制核心( Control Unit)。它的功能主要是解釋計算機指令以及處理計算機軟件中的數(shù)據(jù)。
中央處理器主要包括運算器(算術邏輯運算單元,ALU,Arithmetic Logic Unit)和高速緩沖存儲器(Cache)及實現(xiàn)它們之間聯(lián)系的數(shù)據(jù)(Data)、控制及狀態(tài)的總線(Bus)。它與內部存儲器(Memory)和輸入/輸出(I/O)設備合稱為電子計算機三大核心部件。
CPU包括運算邏輯部件、寄存器部件和控制部件等。
邏輯部件
英文Logic components;運算邏輯部件??梢詧?zhí)行定點或浮點算術運算操作、移位操作以及邏輯操作,也可執(zhí)行地址運算和轉換。
寄存器
寄存器部件,包括寄存器、專用寄存器和控制寄存器。 通用寄存器又可分定點數(shù)和浮點數(shù)兩類,它們用來保存指令執(zhí)行過程中臨時存放的寄存器操作數(shù)和中間(或最終)的操作結果。 通用寄存器是中央處理器的重要部件之一。
控制部件
英文Control unit;控制部件,主要是負責對指令譯碼,并且發(fā)出為完成每條指令所要執(zhí)行的各個操作的控制信號。
其結構有兩種:一種是以微存儲為核心的微程序控制方式;一種是以邏輯硬布線結構為主的控制方式。
微存儲中保持微碼,每一個微碼對應于一個最基本的微操作,又稱微指令;各條指令是由不同序列的微碼組成,這種微碼序列構成微程序。中央處理器在對指令譯碼以后,即發(fā)出一定時序的控制信號,按給定序列的順序以微周期為節(jié)拍執(zhí)行由這些微碼確定的若干個微操作,即可完成某條指令的執(zhí)行。
簡單指令是由(3~5)個微操作組成,復雜指令則要由幾十個微操作甚至幾百個微操作組成。
協(xié)處理器
協(xié)處理器(coprocessor),一種芯片,用于減輕系統(tǒng)微處理器的特定處理任務。
協(xié)處理器,這是一種協(xié)助中央處理器完成其無法執(zhí)行或執(zhí)行效率、效果低下的處理工作而開發(fā)和應用的處理器。這種中央處理器無法執(zhí)行的工作有很多,比如設備間的信號傳輸、接入設備的管理等;而執(zhí)行效率、效果低下的有圖形處理、聲頻處理等。為了進行這些處理,各種輔助處理器就誕生了。需要說明的是,由于現(xiàn)在的計算機中,整數(shù)運算器與浮點運算器已經(jīng)集成在一起,因此浮點處理器已經(jīng)不算是輔助處理器。而內建于CPU中的協(xié)處理器,同樣不算是輔助處理器,除非它是獨立存在。
協(xié)處理器的消亡
80486CPU之前有協(xié)處理器,提高浮點運算能力,那時cpu較弱才有的協(xié)處理器,速度是原來數(shù)百倍不止,pc機一般不存在協(xié)處理器了。
ARM 微處理器
ARM 微處理器可支持多達 16 個協(xié)處理器,用于各種協(xié)處理操作,在程序執(zhí)行的過程中,每個協(xié)處理器只執(zhí)行針對自身的協(xié)處理指令,忽略 ARM 處理器和其他協(xié)處理器的指令。ARM 的協(xié)處理器指令主要用于 ARM 處理器初始化 ARM 協(xié)處理器的數(shù)據(jù)處理操作,以及在ARM 處理器的寄存器和協(xié)處理器的寄存器之間傳送數(shù)據(jù),和在 ARM 協(xié)處理器的寄存器和存儲器之間傳送數(shù)據(jù)。 ARM 協(xié)處理器指令包括以下 5 條: — CDP 協(xié)處理器數(shù)操作指令— LDC 協(xié)處理器數(shù)據(jù)加載指令— STC 協(xié)處理器數(shù)據(jù)存儲指令— MCR ARM 處理器寄存器到協(xié)處理器寄存器的數(shù)據(jù)傳送指令— MRC 協(xié)處理器寄存器到ARM 處理器寄存器的數(shù)據(jù)傳送指令。
ARM:協(xié)處理器包括以下5條:
CDP:協(xié)處理器數(shù)據(jù)操作指令。
LDC:協(xié)處理器數(shù)據(jù)加載指令。
STC:協(xié)處理器數(shù)據(jù)存儲指令。
MCR:ARM處理器寄存器到協(xié)處理器寄存器的數(shù)據(jù)傳送指令。
MRC:協(xié)處理器寄存器到ARM處理器寄存器的數(shù)據(jù)傳送指令。
怎樣將GPU作為CPU的協(xié)處理器工作
協(xié)處理器(coprocessor),一種芯片,用于減輕系統(tǒng)微處理器的特定處理任務。
CPU: Center Process Unit的縮寫,譯為中央處理器。也做叫微處理器。指具有運算器和控制器功能的大規(guī)模集成電路。
GPU:(Graphic Processing Unit)圖形處理芯片。是顯示卡的“心臟”,也就相當于CPU在電腦中的作用,它決定了該顯卡的檔次和大部分性能,同時也是2D顯示卡和3D顯示卡的區(qū)別依據(jù)。2D顯示芯片在處理3D圖像和特效時主要依賴CPU的處理能力,稱為“軟加速”。3D顯示芯片是將三維圖像和特效處理功能集中在顯示芯片內,也即所謂的“硬件加速”功能。顯示芯片通常是顯示卡上最大的芯片。
FPU:(Float Point Unit)浮點運算單元,F(xiàn)PU是專用于浮點運算的處理器,以前的FPU是一種單獨芯片,在486之后,英特爾把FPU與集成在CPU之內。
評論