簡述GPU作用原理及對比分析CPU和DSP
發布時間:2015-05-13 責任編輯:echolady
【導讀】顯示器的心髒是GPU,其作用相當於電腦裏的CPU,決定顯卡的性能和檔次。同時也是2D和3D的區別依據。本文主要講解GPU作用和原理,和區別CPU與DSP的關鍵。
2D顯示芯片在處理3D圖像和特效時主要依賴CPU的處理能力,稱為“軟加速”。3D顯示芯片是將三維圖像和特效處理功能集中在顯示芯片內,也即所謂的“硬件加速”功能。顯示芯片通常是顯示卡上最大的芯片(也是引腳最多的)。GPU使顯卡減少了對CPU的依賴,並進行部分原本CPU的工作,尤其是在3D圖形處理時。GPU所采用的核心技術有硬體T&L、立方環境材質貼圖和頂點混合、紋理壓縮和凹凸映射貼圖、雙重紋理四像素256位渲染引擎等,而硬體T&L技術可以說是GPU的標誌。
GPU能夠從硬件上支持T&L(TransformandLighting,多邊形轉換與光源處理)的顯示芯片,因為T&L是3D渲染中的一個重要部分,其作用是計算多邊形的3D位置和處理動態光線效果,也可以稱為“幾何處理”。一個好的T&L單元,可以提供細致的3D物體和高級的光線特效;隻不過大多數PC中,T&L的大部分運算是交由CPU處理的(這就也就是所謂的軟件T&L),由於CPU的任務繁多,除了T&L之外,還要做內存管理、輸入響應等非3D圖形處理工作,因此在實際運算的時候性能會大打折扣,常常出現顯卡等待CPU數據的情況,其運算速度遠跟不上今天複雜三維遊戲的要求。即使CPU的工作頻率超過1GHz或更高,對它的幫助也不大,由於這是PC本身設計造成的問題,與CPU的速度無太大關係。
主要作用
今天,GPU已經不再局限於3D圖形處理了,GPU通用計算技術發展已經引起業界不少的關注,事實也證明在浮點運算、並行計算等部分計算方麵,GPU可以提供數十倍乃至於上百倍於CPU的性能,如此強悍的“新星”難免會讓CPU廠商老大英特爾為未來而緊張,NVIDIA和英特爾也經常為CPU和GPU誰更重要而展開口水戰。GPU通用計算方麵的標準目前有 OPEN CL、CUDA、ATI STREAM。其中,OpenCL(全稱Open Computing Language,開放運算語言)是第一個麵向異構係統通用目的並行編程的開放式、免費標準,也是一個統一的編程環境,便於軟件開發人員為高性能計算服務器、桌麵計算係統、手持設備編寫高效輕便的代碼,而且廣泛適用於多核心處理器(CPU)、圖形處理器(GPU)、Cell類型架構以及數字信號處理器(DSP)等其他並行處理器,在遊戲、娛樂、科研、醫療等各種領域都有廣闊的發展前景,AMD-ATI、NVIDIA現在的產品都支持OPEN CL。
NV顯卡的芯就用這個新名字GPU來稱呼。GPU使顯卡減少了對CPU的依賴,並進行部分原本CPU的工作,尤其是在3D圖形處理時。GPU所采用的核心技術有硬體T&L、立方環境材質貼圖和頂點混合、紋理壓縮和凹凸映射貼圖、雙重紋理四像素256位渲染引擎等,而硬體T&L技術可以說是GPU的標誌。
工作原理
簡單說GPU就是能夠從硬件上支持T&L(Transform and Lighting,多邊形轉換與光源處理)的顯示芯片,因為T&L是3D渲染中的一個重要部分,其作用是計算多邊形的3D位置和處理動態光線效果,也可以稱為“幾何處理”。一個好的T&L單元,可以提供細致的3D物體和高級的光線特效;隻不過大多數PC中,T&L的大部分運算是交由CPU處理的(這就也就是所謂的軟件T&L),由於CPU的任務繁多,除了T&L之外,還要做內存管理、輸入響應等非3D圖形處理工作,因此在實際運算的時候性能會大打折扣,常常出現顯卡等待CPU數據的情況,其運算速度遠跟不上今天複雜三維遊戲的要求。即使CPU的工作頻率超過1GHz或更高,對它的幫助也不大,由於這是PC本身設計造成的問題,與CPU的速度無太大關係。
GPU與DSP區別
GPU在幾個主要方麵有別於DSP(Digital Signal Processing,簡稱DSP(數字信號處理)架構。其所有計算均使用浮點算法,而且目前還沒有位或整數運算指令。此外,由於GPU專為圖像處理設計,因此存儲係統實際上是一個二維的分段存儲空間,包括一個區段號(從中讀取圖像)和二維地址(圖像中的X、Y坐標)。此(ci)外(wai),沒(mei)有(you)任(ren)何(he)間(jian)接(jie)寫(xie)指(zhi)令(ling)。輸(shu)出(chu)寫(xie)地(di)址(zhi)由(you)光(guang)柵(zha)處(chu)理(li)器(qi)確(que)定(ding),而(er)且(qie)不(bu)能(neng)由(you)程(cheng)序(xu)改(gai)變(bian)。這(zhe)對(dui)於(yu)自(zi)然(ran)分(fen)布(bu)在(zai)存(cun)儲(chu)器(qi)之(zhi)中(zhong)的(de)算(suan)法(fa)而(er)言(yan)是(shi)極(ji)大(da)的(de)挑(tiao)戰(zhan)。最(zui)後(hou)一(yi)點(dian),不(bu)同(tong)碎(sui)片(pian)的(de)處(chu)理(li)過(guo)程(cheng)間(jian)不(bu)允(yun)許(xu)通(tong)信(xin)。實(shi)際(ji)上(shang),碎(sui)片(pian)處(chu)理(li)器(qi)是(shi)一(yi)個(ge)SIMD數據並行執行單元,在所有碎片中獨立執行代碼。
盡管有上述約束,但是GPU還是可以有效地執行多種運算,從線性代數和信號處理到數值仿真。雖然概念簡單,但新用戶在使用GPU計算時還是會感到迷惑,因為GPU需要專有的圖形知識。這種情況下,一些軟件工具可以提供幫助。兩種高級描影語言CG和HLSL能夠讓用戶編寫類似C的代碼,隨後編譯成碎片程序彙編語言。Brook是專為GPU計算設計,且不需要圖形知識的高級語言。因此對第一次使用GPU進行開發的工作人員而言,它可以算是一個很好的起點。
Brook是C語言的延伸,整合了可以直接映射到GPU的簡單數據並行編程構造。經 GPU存儲和操作的數據被形象地比喻成“流”(stream),類似於標準C中的數組。核心(Kernel)是在流上操作的函數。在一係列輸入流上調用一個核心函數意味著在流元素上實施了隱含的循環,即對每一個流元素調用核心體。Brook還提供了約簡機製,例如對一個流中所有的元素進行和、最大值或乘積計算。Brook還完全隱藏了圖形API的所有細節,並把GPU中類似二維存儲器係統這樣許多用戶不熟悉的部分進行了虛擬化處理。用Brook編寫的應用程序包括線性代數子程序、快速傅立葉轉換、光線追蹤和圖像處理。利用ATI的X800XT和Nvidia的GeForce 6800 Ultra型GPU,在相同高速緩存、SSE彙編優化Pentium 4執行條件下,許多此類應用的速度提升高達7倍之多。
對GPU計算感興趣的用戶努力將算法映射到圖形基本元素。類似Brook這樣的高級編程語言的問世使編程新手也能夠很容易就掌握GPU的性能優勢。訪問GPU計算功能的便利性也使得GPU的演變將繼續下去,不僅僅作為繪製引擎,而是會成為個人電腦的主要計算引擎。
GPU和CPU的區別是什麼?
要解釋兩者的區別,要先明白兩者的相同之處:兩者都有總線和外界聯係,有自己的緩存體係,以及數字和邏輯運算單元。一句話,兩者都為了完成計算任務而設計。
兩者的區別在於存在於片內的緩存體係和數字邏輯運算單元的結構差異:CPUsuiranyouduohe,danzongshumeiyouchaoguoliangweishu,meigehedouyouzugoudadehuancunhezugouduodeshuziheluojiyunsuandanyuan,bingfuzhuyouhenduojiasufenzhipanduanshenzhigengfuzadeluojipanduandeyingjian;GPU的核數遠超CPU,被稱為眾核(NVIDIA Fermi有512個核)。每個核擁有的緩存大小相對小,數字邏輯運算單元也少而簡單(GPU初始時在浮點計算上一直弱於CPU)。從結果上導致CPU擅shan長chang處chu理li具ju有you複fu雜za計ji算suan步bu驟zhou和he複fu雜za數shu據ju依yi賴lai的de計ji算suan任ren務wu,如ru分fen布bu式shi計ji算suan,數shu據ju壓ya縮suo,人ren工gong智zhi能neng,物wu理li模mo擬ni,以yi及ji其qi他ta很hen多duo很hen多duo計ji算suan任ren務wu等deng。
GPU由於曆史原因,是為了視頻遊戲而產生的(至今其主要驅動力還是不斷增長的視頻遊戲市場),在三維遊戲中常常出現的一類操作是對海量數據進行相同的操作,如:對每一個頂點進行同樣的坐標變換,對每一個頂點按照同樣的光照模型計算顏色值。GPU的眾核架構非常適合把同樣的指令流並行發送到眾核上,采用不同的輸入數據執行。在2003-2004年左右,圖形學之外的領域專家開始注意到GPU與眾不同的計算能力,開始嚐試把GPU用於通用計算(即GPGPU)。之後NVIDIA發布了CUDA,AMD和Apple等公司也發布了OpenCL,GPU開始在通用計算領域得到廣泛應用,包括:數值分析,海量數據處理(排序,Map-Reduce等),金融分析等等。
簡而言之,當程序員為CPU編寫程序時,他們傾向於利用複雜的邏輯結構優化算法從而減少計算任務的運行時間,即Latency。當程序員為GPU編寫程序時,則利用其處理海量數據的優勢,通過提高總的數據吞吐量(Throughput)來掩蓋Lantency。目前,CPU和GPU的區別正在逐漸縮小,因為GPU也在處理不規則任務和線程間通信方麵有了長足的進步。另外,功耗問題對於GPU比CPU更嚴重。
相關閱讀:
誰還對係統級芯片SoC與傳統CPU傻傻分不清?
賜你火眼金睛!一眼便知CPU“真八核”在哪
基礎盤點:工控機CPU的那些知識,你都了解嗎?
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 一秒檢測,成本降至萬分之一,光引科技把幾十萬的台式光譜儀“搬”到了手腕上
- AI服務器電源機櫃Power Rack HVDC MW級測試方案
- 突破工藝邊界,奎芯科技LPDDR5X IP矽驗證通過,速率達9600Mbps
- 通過直接、準確、自動測量超低範圍的氯殘留來推動反滲透膜保護
- 從技術研發到規模量產:恩智浦第三代成像雷達平台,賦能下一代自動駕駛!
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索




