電腦裡的小畫家

 

GPU 核心

非常擅長畫圖,尤其擅長畫三角形;本身是先進積體電路工藝的結晶, 剛開始只是代替 CPU 做繪圖的工作,讓 CPU 核心可以專心於運算工作上, 經過進化以後,也能夠分擔一些計算工作。

在具備圖形人機介面(GUI)的電腦上,程式在完成演算工作之後,下一步通常就是把結果繪製成畫面,然後展示在電腦螢幕上,在早期的電腦上,這全部都是 CPU 的工作。 但是當電腦螢幕的解析度越來越高,而且使用者們有了在電腦上玩遊戲和播放影片的需求之後,許多電腦上插上了稱為「顯示卡」的另一張電路板,讓它分擔了繪製畫面的工作, 這些顯示卡除了有訊號轉換的功能以外,大部分都具備將記憶體中的點線面資料繪製到畫面的功能電路,所以也俗稱為「3D 加速卡」,對於電腦遊戲的運行來說至關重要的裝備。

從顯示卡到 GPU

基於 CPU 輸送給顯示卡的點線面資料,顯示卡上的計算電路能夠將三度空間中的點線面投影到平面的螢幕上,計算好它們應該呈現的光線和顏色, 並填滿圖形在螢幕上的每一個像素(pixel)。這些計算工作本來只是固定的數學公式,所以顯示卡的計算電路也不需要有什麼變化,但如果、 把顯示卡上的計算電路換成一顆可以替換程式的處理器,就可以換掉繪圖時的公式之外,更進一步地加入更多的計算,讓這張顯示卡變得可以繪製各種風格的畫面, 例如卡通化、水墨畫、或是更加擬真的遊戲畫面,於是顯示卡有了自己的處理器(processor),稱為「圖形處理器(Graphics Processing Unit, GPU)」。

接下來的發展和中央處理器(CPU)一樣,在一顆圖形處理器(GPU)晶片當中可以包含許多組稱為「GPU 核心」的計算電路,讓它可以同時計算同一畫面的不同部位, 所以能夠快速地獲得高解析度的結果畫面。和 CPU 比較起來,GPU 是功能和結構都較為簡單的數學計算電路,所以在一顆 GPU 裡面可以置入大量的 GPU 核心。

今日的個人電腦幾乎都同時需要 CPU 與 GPU 的功能,因此在 CPU 和 GPU 的相關產品也有了兩種配置,一種是在 CPU 裡面除了 CPU 核心之外,也置入少量的 GPU 核心, 另一種是維持 CPU 裡面只有 CPU 核心,再另外安裝一張具備大量 GPU 核心的顯示卡。前者通常用於不追求遊戲畫質的一般平價電腦, 後者用於重視電腦遊戲或多媒體表現娛樂電腦或多媒體工作用途的電腦。

從繪圖到 AI 計算

除了玩遊戲以外,GPU 能夠同時進行大量的簡單數學運算的性質,反而比 CPU 更適合一些需要大量平行計算的工作, 其中之一就是基於類神經網路(neural network)的人工智慧(AI)計算,不管是研究員要訓練 AI 統計模型或是一般使用者要使用現成的 AI 模型, 都需要 GPU 的輔助,因此現代的個人電腦對 GPU 的需求也變得越來越大。

參考連結