Tegra 4架構完全解析,舊架構新核心重裝上陣

ADVERTISEMENT

4個核心速度一致

NVIDIA也不忘在作業系統部分攻擊對手。Tegra 4的多核心管理機制採用第2代可變式對稱多工技術(Variable Symmetric Multiprocessing),它的特色為可以關閉閒置中的核心,也能夠依處理器負載動態調整運作時脈,唯獨開啟中的核心需以相同時脈運作。除此之外,它不允許正常核心與省電核心同時運作,系統僅能擇一使用。

NVIDIA表示AndroidWindows RT等系統,預設會將所有處理器核心視為相同,且具有相近的效能,作業系統的工作排程會基於這個規則運作,當多個核心運作於不同時脈的時候,每個核心所具備的效能就會有所差異,這個現象會打亂工作排程機制,進而導至整體效率低下。無論Tegra 4以正常核心或是省電核心運作,在同一時間下只有唯一的運作時脈,因此各核心效能落差不會太大,有助於作業系統安排工作排程。

亂序執行的優勢

由於處理器的運算通常會有前後相依的問題,排序在後的工作可能需要前面的結果做為運算元,所以必需等待前面工作完成,然而這等待的時間就是效能的耗損。亂序執行的基本概念,在於避免處理器閒置等待資料,亂序執行會利用等待資料的時間,先處理其他可以執行的指令,在全部工作結束後重新排序運算結果。順序執行與亂序執行的工作流程分別如下:

順序執行:
  1. 讀取指令。
  2. 將指令分配到對應處理單元,若指令缺乏所需資料,則等待資料送入。
  3. 處理單元執行指令。
  4. 將結果回存至暫存器。

亂序執行:

  1. 讀取指令。
  2. 將指令儲存至排序佇列。
  3. 當所需資料送入後,將指令從排序佇列分配到對應處理單元(可不依排序處理)。
  4. 處理單元執行指令。
  5. 將結果回存至結果佇列。
  6. 當排序在該指令之前的所有指令都完成後,將結果回存至暫存器。

從流程中可以看到,亂序執行會依序讀取指令,但是在處理的過程中,會擱置需要等待資料送入的指令,讓排序在後不需等待資料的指令插隊,然後在將結果再依順序排入結果佇列,待被跳過的指令都執行完成後,再將排序過的結果送出。

Tegra 4架構完全解析,舊架構新核心重裝上陣

▲亂序執行可靈活運用等待資料送入的零碎時間,讓不需等待的指令插隊,降低等待運算元或是存取取資料所造成的效能耗損。

繪圖核心採傳統架構

Tegra 4的圖型處理器並沒有採用Unified Shader設計,而是將72個GeForce核心拆分為24個Vertex Shader與48個Pixel Shader,官方只有說明在電力效率與負載彈性的權衡下,選擇了分離設計所帶來較佳電力效率,並沒有進一步說明詳細原理,也沒有提供對照數據。

Tegar 4的Vertex Shader總共具有6組頂點處理引擎(Vertex Processing Engine),每組引擎由4個GeForce核心組成,具有16KB、96-entry快取記憶體,能夠有效降低向外部晶片存取資料的需求。根據官方白皮書的資料,架構的改進讓每個GeForce核心在相同時脈下,可以帶來1.5倍於Tegra 3的效能,且前後代圖型處理器Vertex Shader數量相差6倍,相乘之下差距達9倍之譜。

Tegra 4架構完全解析,舊架構新核心重裝上陣

▲從Tegra 4的圖型處理器示意圖中可以清楚地看到,它總共具有6組頂點處理引擎,以及4組像素管線,像素管線可再分為3組ALU,負責進行各種數學運算等工作。

無法完整支援OpenGL ES 3.0

Tegar 4總共具有4組像素管線(Pixel Fragment Shader Pipeline),每組像素管線可細分為3組ALU,每個ALU則是由4個GeForce核心組成。在實際運作時,會以ALU做為最小層級的單元,並稱為MFU(Multi-Function Unit,多功能處理單元),因此Tegar 4總共具有12組MFU,MFU可以執行函數、三角函數、對數、倒數、平方根以及MOV等指令(組合語言中的複製)。

Pixel Shader總共具有16KB的像素快取記憶體,均分為4組4KB容量L1快取記憶體,以供像素管線使用,官方表示此設計可以降低向外部畫格緩衝區(frame buffer)存取次數達50%,對於效能與電力效率都有正面的影響。

不過令人遺憾的是,Tegar 4的Pixel Shader只支援FP20精度(即20bit精度),即便NVIDIA表示人眼不容易分辨FP20與FP32的圖像品質,選用FP20可以提高效能、縮小晶片尺寸,進而提升電力效率,但是OpenGL ES 3.0要求精度需達FP32,所以Tegar 4無法完整支援。雖然短期內不會造成太多影響,但當越來越多遊戲採用OpenGL ES 3.0後,NVIDIA只能靠THD(為Tegra最佳化的App)或新晶片來解決問題。

Early-Z剷除不必要像素

Tegra 4也是透過光柵引擎(Raster Engine),將Vertex Shader描繪的頂點資料轉換為平面上的點陣資料,不過不同於傳統繪圖模式在Pixel Shader結束工作後,才由Z Buffer剔除不必要物件,Tegra 4會透過Early-Z在Pixel Shader運作前,先將不會出現在畫面上的物件剔除。

Early-Z的好處是可以避免Pixel Shader描繪不會出現的物件,但它的代價就是Vetrex Shader需要執行2階段運算。第1階段時,Vetrex Shader會繪製所有不透明物件,並取得各像素Z值,過程中Pixel Shader不會有任何動作,第2階段則與一般繪圖過程相同,由Vetrex Shader與Pixel Shader描繪出完整畫面。Early-Z最大優勢在於可以降低Pixel Shader存取記憶體的需求,降低電力消耗,但是過程中很可能讓Vetrex Shader成為效能瓶頸所在,不一定能提高整體效能。

可升級的數據晶片

Tegra 4與前代產品一樣,並未整合行動通訊功能,需透過i500軟體數據晶片協助。i500最大的特色就是採用軟體定義無線電波技術(Software Defined Radio),不但目前可以支援DC-HSPA+、LTE等最新規範,未來也能透過軟體升級方式,支援往後推出的規範,同時也能給予各電信商最大的客製化彈性。

i500整合ICE9045基頻晶片與ICE9245 RF晶片,並內建具備8個1.3GHz可程式化核心的Deep eXecution Processor處理器,以提供行動通訊所需的運算效能,它不但可以滿足目前多頻LTE UE Category 3 100Mbps所需的150 GFLOPS/s運算量,也確定可以升級至LTE UE Category 4 150Mbps,應用面相對寬廣。

(後面還有Tegra 4i介紹以及Tegra 4效能實測)

國寶大師 李文恩
作者

電腦王特約作者,專門負責硬派內容,從處理器、主機板到開發板、零組件,尖端科技都一手包辦,最近的研究計畫則包括Windows 98復活與AI圖像生成。

使用 Facebook 留言
191
2人給推

1.  191 (發表於 2013年5月07日 16:40)
要不要辦一個酸一下qualcomm、intel、samsung之類的然後選一個最酸的送行動電源
之前好像沒看到你為你寫的文章道歉
做錯事還要別人幫忙擦屁股?
FUCXSOP
2.  FUCXSOP (發表於 2013年5月07日 18:55)
※ 引述《191》的留言:
>
> 要不要辦一個酸一下qualcomm、intel、samsung之類的然後選一個最酸的送行動電源
> 之前好像沒看到你為你寫的文章道歉
> 做錯事還要別人幫忙擦屁股?

這就是試圖操縱民意的下場
不可不慎 ╮(╯_╰)╭
191
3.  191 (發表於 2013年5月07日 21:32)
※ 引述《SOP》的留言:
> ※ 引述《191》的留言:
> >
> > 要不要辦一個酸一下qualcomm、intel、samsung之類的然後選一個最酸的送行動電源
> > 之前好像沒看到你為你寫的文章道歉
> > 做錯事還要別人幫忙擦屁股?
>
> 這就是試圖操縱民意的下場
> 不可不慎 ╮(╯_╰)╭

主要是做錯事連小朋友都知道要道歉
事後一個屁也不放
還要人家幫他留言致歉

"5/2 更新:編輯原意是想用揶揄的角度探討這兩支廣告,但可能是開過火了。本文已經過編輯主管修改,並對於造成的風波致上最深的歉意。"

實在頗ㄏ
發表回應
謹慎發言,尊重彼此。按此展開留言規則