圖形處理器

圖形處理器，又稱顯示核心上執行繪圖運算工作的微處理器。以圖形處理器為核心的主機板擴充套件卡也稱-{顯示卡}-或“顯示卡”。圖形處理器是NVIDIA公司的依賴，並分擔部分原本是由中央處理器所擔當的工作，尤其是在進行三維繪圖運算時，功效更加明顯。圖形處理器所採用的核心技術有硬體座標轉換與光源、立體環境材質貼圖和頂點混合、紋理壓縮和凹凸對映貼圖、雙重紋理四畫素256位渲染引擎等。圖形處理器可單獨與專用電路板以及附屬元件組成顯示卡，或單獨一片晶片直接內嵌入到主機板上，或者內建於主機板的北橋晶片中，現在也有內建於CPU上組成SoC的。個人電腦領域中，在2007年，90%以上的新型桌上型電腦和筆記型電腦擁有嵌入式繪圖晶片，但是在效能上往往低於不少獨立顯示卡。但2009年以後，AMD和英特爾都各自大力發展內建於中央處理器內的高效能整合式圖形處理核心，它們的效能在2012年時已經勝於那些低階獨立顯示卡，這使得不少低階的獨立顯示卡逐漸失去市場需求，兩大個人電腦圖形處理器研發巨頭中，AMD以AMD APU產品線取代旗下大部分的低階獨立顯示核心產品線。而在手持裝置領域上，隨著一些如平板電腦等裝置對圖形處理能力的需求越來越高，不少廠商像是高通、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的崛起引發人們對高效能、高解析度二維點陣圖運算的興趣。在個人電腦市場上，Windows的優勢地位意味著桌上電腦圖形廠商可以集中精力發展單一的程式設計介面，圖形裝置介面。1991年，S3 Graphics推出第一款單晶片的2D影象加速器，名為S3 86C911。其後，86C911催生大量的仿效者：到1995年，所有主要的PC繪圖晶片製造商都於他們的晶片內增加2D加速的支援。到這個時候，固定功能的Windows加速器的效能已超過昂貴的通用圖形輔助處理器，令這些輔助處理器續漸消失於PC市場。在整個1990年代，2D圖形繼續加速發展。隨著製造能力的改善，繪圖晶片的整合水準也同樣提高。加上應用程式介面的出現有助執行多樣工作，如供微軟Windows 3.x使用的WinG影象程式庫，和他們後來的DirectDraw介面，提供Windows 95和更高版本的2D遊戲硬體加速運算。在1990年代初期和中期，中央處理器輔助的即時三維影象越來越常見於電腦和電視遊戲上，從而導致大眾對由硬體加速的3D影象要求增加。早期於大眾市場出現的3D影象硬體的例子有第五代視訊遊戲機，如PlayStation和任天堂64。在電腦範疇，顯著的失敗首先嘗試低成本的3D繪圖晶片為S3 ViRGE、ATI的3D Rage，和Matrox的Mystique。這些晶片主要是在上一代的2D加速器上加入三維功能，有些晶片為了便於製造和花費最低成本，甚至使用與前代相容的針腳。起初，高效能3D影象只可經設有3D加速功能的獨立繪圖處理卡上運算，如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支援硬體加速座標轉換和光源於90年代在硬體出現，為往後更為靈活和可程式設計的畫素著色引擎和頂點著色引擎設定先例。2000年到現在.隨著OpenGL API和DirectX類似功能的出現，圖形處理器新增可程式設計著色的能力。現在，每個畫素可以經由獨立的小程式處理，當中可以包含額外的影象紋理輸入，而每個幾何頂點同樣可以在投影到螢幕上之前被獨立的小程式處理。NVIDIA是首家能生產支援可程式設計著色晶片的公司，即GeForce 3。它是世界上首個Direct3D 9.0加速器，而畫素和頂點著色引擎可以執行迴圈和長時間的浮點運算，就如中央處理器般靈活，和達到更快的影象陣列運算。畫素著色通常被用於凸凹紋理對映，使物件透過增加紋理令它們看起來更明亮、陰暗、粗糙、或是偏圓及被擠壓。隨著繪圖處理器的處理能力增加，所以他們的電力需求也增加。高效能繪圖處理器往往比目前的中央處理器消耗更多的電源。2017年3月10日後由於適用於個人研究使用的GPU發布，近年來也逐漸受到許多研究者及公司的關注並廣泛用於深度學習。繪圖處理器公司.現時有許多公司生產繪圖晶片。以桌上型電腦與筆記型電腦為例Intel、AMD和NVIDIA都是目前市場的領導者，分別擁有54.4%、24.8%和20.%的市場佔有率。手機、平板電腦等行動裝置方面，高通等公司有較高市佔率。另外，矽統科技和Matrox等公司過去也曾生產影象晶片。型別.獨立顯示卡.獨立顯示卡透過PCI Express、AGP或PCI等擴充套件槽介面與主機板連線。所謂的“獨立(專用)”即是指獨立顯示卡內的RAM只會被該卡專用，而不是指顯示卡是否可從主機板上獨立移除。基於體積和重量的限制，供膝上型電腦使用的獨立繪圖處理器通常會透過非標準或獨特的介面作連線。然而，由於邏輯介面相同，這些埠仍會被視為PCI Express或AGP，即使它們在物理上是不可與其他顯示卡互換的。一些特別的技術，如NVIDIA的SLI、NVLink和AMD的CrossFire允許多個圖形處理器共同處理影像資訊，可令電腦的影象處理能力增加。整合繪圖處理器.整合繪圖處理器(Integrated Graphics Processing Unit，iGPU)已有能力處理對系統需求不是太高的3D影象。當時較舊的整合繪圖晶片組缺乏如硬體座標轉換與光源等功能，只有較新型號才會包含。從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能夠透過平行計算加速神經網路的訓練過程，從而大大縮短了訓練時間。