圖形處理器
上级分类 | 輔助處理器、并行向量处理机 |
---|---|
所属实体 | 显示卡、系統單晶片 |
简称 | GPU |
Stack Exchange標籤 | https://stackoverflow.com/tags/gpu |
圖形處理器(英語:Graphics Processing Unit,縮寫:GPU),又稱顯示核心(display core)、視覺處理器(video processor)、顯示晶片(display chip)或圖形晶片(graphics chip),是一種專門在個人電腦、工作站、遊戲機和一些行動裝置(如平板電腦、智慧型手機等)上執行繪圖運算工作的微處理器。以图形处理器为核心的主板扩展卡也称显示卡或“显卡”。
圖形處理器是NVIDIA公司(NVIDIA)在1999年8月發表NVIDIA GeForce 256(GeForce 256)繪圖處理晶片時首先提出的概念,在此之前,電腦中處理影像輸出的顯示晶片,通常很少被視為是一個獨立的運算單元。而對手冶天科技(ATi)亦提出視覺處理器(Visual Processing Unit)概念。圖形處理器使顯示卡减少對中央處理器(CPU)的依赖,並分擔部分原本是由中央處理器所擔當的工作,尤其是在進行三維繪圖運算時,功效更加明顯。圖形處理器所採用的核心技術有硬體座標轉換與光源、立體環境材質貼圖和頂點混合、纹理壓缩和凹凸映射貼圖、雙重纹理四像素256位渲染引擎等。
圖形處理器可單獨與專用電路板以及附屬組件組成顯示卡,或單獨一片晶片直接內嵌入到主機板上,或者內建於主機板的北橋晶片中,現在也有內建於CPU上組成SoC的。個人電腦領域中,在2007年,90%以上的新型桌上型電腦和筆記型電腦擁有嵌入式繪圖晶片,但是在效能上往往低於不少獨立顯示卡。[1]但2009年以後,AMD和英特爾都各自大力發展內建於中央處理器內的高效能整合式圖形處理核心,它們的效能在2012年時已經勝於那些低階獨立顯示卡,[2]這使得不少低階的獨立顯示卡逐漸失去市場需求,兩大個人電腦圖形處理器研發巨頭中,AMD以AMD APU產品線取代旗下大部分的低階獨立顯示核心產品線。[3]而在手持裝置領域上,隨著一些如平板電腦等裝置對圖形處理能力的需求越來越高,不少廠商像是高通(Qualcomm)、PowerVR、ARM、NVIDIA等,也在這個領域「大顯身手」。
GPU不同于传统的CPU,如Intel i5或i7处理器,其内核数量较少,专为通用计算而设计。相反,GPU是一种特殊类型的处理器,具有数百或数千个内核,经过优化,可并行运行大量计算。虽然GPU在游戏中以3D渲染而闻名,但它们对运行分析、深度学习和机器学习算法尤其有用。GPU允许某些计算比传统CPU上运行相同的计算速度快10倍至100倍。
歷史
1970年代
ANTIC和CTIA晶片為Atari-8位元電腦提供硬體控制的圖形和文字混合模式,以及其他視訊效果的支援。ANTIC晶片是一個特殊用途的處理器,用於映射文字和圖形數據到視訊輸出。ANTIC晶片的設計師,Jay Miner隨後為Amiga設計繪圖晶片。
1980年代
Commodore Amiga是第一個於市場上包含映像顯示功能在其視訊硬體上的電腦,而IBM 8514圖形系統是第一個植入2D顯示功能的PC顯示卡。
Amiga是獨一無二的,因為它是一個完整的圖形加速器,擁有幾乎所有的影像產生功能,包括線段繪畫,區域填充,塊圖像傳輸,以及擁有自己一套指令集(雖然原始)的輔助繪圖處理器。而在先前(和之後一段時間在大多數系統上),一般用途的中央處理器是要處理各個方面的繪圖顯示的。
1990年代
1990年代初期,Microsoft Windows的崛起引發人們對高性能、高解析度二維點陣圖運算(UNIX工作站和蘋果公司的Macintosh原本是此領域的領導者)的興趣。在個人電腦市場上,Windows的優勢地位意味著桌上電腦圖形廠商可以集中精力發展單一的編程介面,图形设备接口。
1991年,S3 Graphics推出第一款單晶片的2D圖像加速器,名為S3 86C911(設計師借保時捷911的名字來命名,以表示它的高性能)。其後,86C911催生大量的仿效者:到1995年,所有主要的PC繪圖晶片製造商都於他們的晶片內增加2D加速的支援。到這個時候,固定功能的Windows加速器的性能已超過昂貴的通用圖形輔助處理器,令這些輔助處理器續漸消失於PC市場。
在整個1990年代,2D圖形繼續加速發展。隨著製造能力的改善,繪圖晶片的集成水準也同樣提高。加上應用程式介面(API)的出現有助執行多樣工作,如供微軟Windows 3.x使用的WinG圖像程式庫,和他們後來的DirectDraw介面,提供Windows 95和更高版本的2D遊戲硬體加速運算。
在1990年代初期和中期,中央處理器輔助的即時三維圖像越來越常見於電腦和電視遊戲上,從而導致大眾對由硬體加速的3D圖像要求增加。早期於大眾市場出現的3D圖像硬體的例子有第五代視訊遊戲機,如PlayStation和任天堂64。在電腦範疇,顯著的失敗首先嘗試低成本的3D繪圖晶片為S3 ViRGE、ATI的3D Rage,和Matrox的Mystique。這些晶片主要是在上一代的2D加速器上加入三維功能,有些晶片為了便於製造和花費最低成本,甚至使用與前代兼容的針腳。起初,高性能3D圖像只可經設有3D加速功能(和完全缺乏2D GUI加速功能)的獨立繪圖處理卡上運算,如3dfx的Voodoo。然而,由於製造技術再次取得進展,影像、2D GUI加速和3D功能都集成到一塊晶片上。Rendition的Verite是第一個能做到這樣的晶片組。
OpenGL是出現於90年代初的專業圖像API,並成為在個人電腦領域上圖像發展的主導力量,和硬體發展的動力。雖然在OpenGL的影響下,帶起廣泛的硬體支持,但在當時用軟體實現的OpenGL仍然普遍。隨著時間的推移,DirectX在90年代末開始受到Windows遊戲開發商的歡迎。不同於OpenGL,微軟堅持提供嚴格的一對一硬體支持。這種做法使到DirectX身為單一的圖形API方案並不得人心,因為許多的圖形處理器也提供自己獨特的功能,而當時的OpenGL應用程序已經能滿足它們,導致DirectX往往落後於OpenGL一代。
隨著時間的推移,微軟開始與硬體開發商有更緊密的合作,並開始針對DirectX的發佈與圖形硬體的支持。Direct3D 5.0是第一個增長迅速的API版本,而且在遊戲市場中獲得迅速普及,並直接與一些專有圖形庫競爭,而OpenGL仍保持重要的地位。Direct3D 7.0支持硬體加速座標轉換和光源(T&L)。此時,3D加速器由原本只是簡單的柵格器發展到另一個重要的階段,並加入3D渲染管線。NVIDIA的GeForce 256(也稱為NV10)是第一個在市場上有這種能力的顯示卡。硬件座標轉換和光源(兩者已經是OpenGL擁有的功能)於90年代在硬體出現,為往後更為靈活和可編程的像素着色引擎和頂點着色引擎設置先例。
2000年到現在
隨著OpenGL API和DirectX類似功能的出現,圖形處理器新增可編程着色的能力。現在,每個像素可以經由獨立的小程序處理,當中可以包含額外的圖像紋理輸入,而每個幾何頂點同樣可以在投影到屏幕上之前被獨立的小程序處理。NVIDIA是首家能生產支援可編程著色晶片的公司,即GeForce 3(代號為NV20)。2002年10月,ATI發表了Radeon 9700(代號為R300)。它是世界上首個Direct3D 9.0加速器,而像素和頂點著色引擎可以執行循環和長時間的浮點運算,就如中央處理器般靈活,和達到更快的圖像陣列運算。像素著色通常被用於凸凹紋理映射,使物件透過增加紋理令它們看起來更明亮、陰暗、粗糙、或是偏圓及被擠壓。[4]
隨著繪圖處理器的處理能力增加,所以他們的電力需求也增加。高性能繪圖處理器往往比目前的中央處理器消耗更多的電源。[5]
2017年3月10日後由於適用於個人研究使用的GPU發布,近年來也逐漸受到許多研究者及公司的關注並廣泛用於深度學習。[6]
繪圖處理器公司
現時有許多公司生產繪圖晶片。以桌上型電腦與筆記型電腦為例Intel、AMD和NVIDIA都是目前市場的領導者,分別擁有54.4%、24.8%和20.%的市場佔有率。手機、平板電腦等行動裝置方面,高通等公司有較高市佔率。另外,矽統科技和Matrox等公司過去也曾生產圖像晶片。[7]
類型
獨立顯示卡
独立顯示卡(Discrete Graphics Processing Unit,dGPU,简称独显)透過PCI Express、AGP或PCI等擴展槽界面與主機板連接。
所謂的“獨立(專用)”即是指獨立顯示卡(或稱專用顯示卡)內的RAM只會被該卡專用,而不是指顯示卡是否可從主機板上獨立移除。基於體積和重量的限制,供筆記本電腦使用的獨立繪圖處理器通常會透過非標準或獨特的介面作連接。然而,由於邏輯介面相同,這些端口仍會被視為PCI Express或AGP,即使它們在物理上是不可與其他顯示卡互換的。
一些特別的技術,如NVIDIA的SLI、NVLink和AMD-ATI的CrossFire允許多個圖形處理器共同處理影像資訊,可令電腦的圖像處理能力增加。
优点
缺点
- 购置计算机需要更多金钱;
- 消耗的功率更多,使电脑功率增加;
- 体积更大;
- 部分低端独立显卡性能可能不如核心显卡。
集成繪圖處理器
集成繪圖處理器(Integrated Graphics Processing Unit,iGPU)(或稱內建顯示核心)是整合在主機板或CPU上的繪圖處理器,運作時會借用部分的系統記憶體。2007年裝設集成顯示卡的個人電腦約佔總出貨量的90%[8],相比起使用獨立顯示卡的方案,這種方案可能較為便宜,但效能也相對較低。從前,集成繪圖處理器往往會被認為是不適合於執行3D遊戲或精密的圖形運算。然而,如Intel GMA X3000(Intel G965 晶片組)、AMD的Radeon HD 4290(AMD 890GX 晶片組)和NVIDIA的GeForce 8200(NVIDIA nForce 730a 晶片組)已有能力處理對系統需求不是太高的3D圖像[9]。當時較舊的集成繪圖晶片組缺乏如硬體座標轉換與光源等功能,只有較新型號才會包含。[10]
從2009年開始,整合GPU已經從主機板移至CPU了,如Intel從Westmere微架构開始將Intel HD Graphics GPU整合到CPU至今,Intel將之稱為處理器顯示晶片。Intel Core極致版並沒有集成繪圖晶片。將GPU集成至處理器的好處是可以減低電腦功耗,提升效能。隨著內顯技術的成熟,目前的內顯已經足夠應付基本3D的需求,不過仍然依賴主機板本身的RAM。AMD也推出了整合GPU的AMD APU、AMD Athlon和AMD Ryzen with Radeon Graphics。[來源請求]
用于人工智能学习
人工智能要用GPU的主要原因是因为GPU拥有强大的并行计算能力,适合处理大规模的矩阵运算和向量计算,而这些计算在人工智能算法中非常常见。
在传统的中央处理器(CPU)中,每个核心通常只能处理一个任务,因此在处理大量数据时速度会相对较慢。而GPU拥有大量的计算单元(CUDA核心),可以同时执行许多相似的计算任务,因此能够在短时间内处理大量的数据。这对于机器学习和深度学习等人工智能任务来说非常重要,因为它们通常涉及大量的矩阵运算和向量计算。
另外,人工智能算法中经常使用到深度神经网络,这些网络拥有大量的参数需要进行训练。传统的CPU在处理这些大规模神经网络时效率较低,而GPU能够通过并行计算加速神经网络的训练过程,从而大大缩短了训练时间。
参考文献
- ^ Denny Atkin. Computer Shopper: The Right GPU for You. [2007-05-15]. (原始内容存档于2007-05-06).
- ^ PConline最新CPU/顯卡天梯圖 (页面存档备份,存于互联网档案馆) - PConline.com.cn
- ^ IT棱镜:坑爹的入門顯示卡為何還會熱銷? (页面存档备份,存于互联网档案馆) - pconline.com.cn
- ^ Søren Dreijer. Bump Mapping Using CG (3rd Edition). [2007-05-30]. (原始内容存档于2010-01-20).
- ^ 存档副本. [2012-09-25]. (原始内容存档于2011-09-04). X-bit labs: Faster, Quieter, Lower: Power Consumption and Noise Level of Contemporary Graphics Cards
- ^ NVIDIA GeForce 10系列. 维基百科,自由的百科全书. 2018-09-14 [2018-09-29]. (原始内容存档于2022-05-18) (中文).
- ^ http://chinese.engadget.com/2011/05/05/nvidia-losing-ground-to-amd-and-intel-in-gpu-market-share/ (页面存档备份,存于互联网档案馆) NVIDIA正逐漸流失GPU市場的佔有率...
- ^ AnandTech: µATX Part 2: Intel G33 Performance Review. [2008-12-26]. (原始内容存档于2009-02-03).
- ^ Intel G965 with GMA X3000 Integrated Graphics - Media Encoding and Game Benchmarks - CPUs, Boards & Components by ExtremeTech. [2008-12-26]. (原始内容存档于2011-06-07).
- ^ Bradley Sanford. Integrated Graphics Solutions for Graphics-Intensive Applications (PDF). [2007-09-02]. (原始内容存档 (PDF)于2002-11-17).
参见
外部链接