|
NVIDIA Optimus 技術登場!!
不需MUX線路 IGP/GPU能實時切換
文: John Lam / 評測中心
為
了讓電池續航力進一步提高,各大廠商均研發自家的節能技術,包括
AMD 與 NVIDIA 的 Switchable Graphics IGP/GPU
實時切換,只可惜此技術需要不僅令成本增加不少,更需佔用不少空間達成
MUX 線路,加上存在不少兼容性問題而未能普及。終於,
NVIDIA 推出了全新「 Optimus
」技術,不僅低成本、高兼容性,而且可達成無縫實時切換,究竟此一技術關鍵為何
!?
效能與電池續航力的矛與盾

科
技正在不斷變革中,人們已經不再滿足於只能用作文書處理,或是擁有強勁多媒體及遊戲效能但電池續航力卻嚴重偏低的行動電腦
(NB) 產品,因此各家 PC
大廠均在研究如何在減少尺寸和重量,同時提高電池壽命和性能,更省電的制程、因應工作量而作出時脈及電壓調整的
C-State 技術,現時人們看到的電池壽命超出 10
小時,擁有超輕薄的碳纖維、陽極化鋁,鋅,鎂複合材料,和其他先進材料。
而為了
令繪圖效能及電池續航力之間作出最佳平衡,繪圖雙雄均在發展在
IGP 與 GPU 實時切換的「 Switchable Graphics
」省電技術,並且早於數年前已被部份廠商使用,只是這兩家的「
Switchable Graphics
」均存在極大的缺點,就是需要人手關掉正在執行的、需要應用
DirectX AP 的軟件,而且轉換需時並且完全不 User-Friendly 。
更 重要的是,「 Switchable Graphics 」不僅在更新 Driver
時工程浩大,而且 PC
業者亦要加入更多的組件以提供此技術,導致成本上升,導致市場上只有
1% 的業者願意採用「 Switchable Graphics
」技術,而且僅集中於高階 NB
型號上。難度高繪圖效能就要和低電池續航力掛鈎嗎
!? 還是各大 NB 廠要參考 OLPC
設計,弄一個人力充電手把給內建 GPU 的 NB 產品使用 !?
終於, NVIDIA 正式發佈了全新的 Optimus
技術,它是一種無縫切換架構,在 GPU
硬體中作出改良並配合軟體支援,令系統可以在需要 GPU
高運算效能時自動切換,最佳性能或最佳電池壽命取決於應用程序。
NVIDIA Optimius 改變擁有 GPU 的 NB
產品就很吃電的傳統思想,同時讓省電與效能同時兼備,它不再像上一代「
Switchable Graphics
」那麼難用,對入門用家來說更是重要,更重要的是它不需要額外的組件,不會加重
PC 業者的成本,成為了 NVIDIA 搶攻 NB GPU 市場的重要利器。
第一代「 Switchable Graphics 」省電技術 -----
SONY VIAO
在還沒有介紹 NVIDIA 新一代 ptimius
技術前,筆者先回顧一下昔日的「 Switchable Graphics
」省電技術,最早一家引入此技術的是 SONY , 2006
年推出型號為 VIAO SZ-110 行動電腦,採用 NVIDIA GeForce Go 7600
繪圖核心,透過 NB 上的特殊功能鍵,用家可選擇使用 IGP
繪圖核心還是 GPU
繪圖核心,以達至高省電效能與高繪圖性能兼備,不過此一技術存在極大缺點,就是它並非實時切換,系統需要重新啟動才能轉換不同的繪圖核心。
它
的運作原理是透過主機板的線路,以及系統 BIOS
作出是否開啟 GPU 選項,因此無法在 OS
層面中達成切換,因此每次切換不僅需要把正在進行中的軟件全部關閉,而且需要至少
3-5
分鐘才能完成整個重新啟動,但這個動作其實需要大量的處理器及硬碟機負責十分耗電,如果不是一開機便在
BIOS
中選擇所需要的模式,否則可能出現省下的電不夠賠在 OS
重啟動作上的窘境。

傳統 Switchable Graphics 原理,需要加入 MUX
線路及晶片令成本上升。
5-10 秒黑屏、非自動切換 第二代 Switch Graphics 技術
SONY 研發的 Switchable Graphics
在當時來說是極具突破性的,只可惜 PC
廠商只能在硬件設計層面上作出省能功能,無法使用軟件作出配合,因此
NVIDIA 在 2007 年推出經改良的第二代 Switchable Graphics
技術,它容許系統不需要重新啟動,便可以在 IGP 及 GPU
作出切換,主要是透過影像 MUX 的方式在 IGP 及 GPU
顯示線路中作出切換,同時系統需要把繪圖資訊由記憶體拷貝一份至
GPU 的 Buffer 上,因此顯示屏會出現 5-10 秒的跳動。
對 當年來說,第二代 Switchable Graphics
開始成為實用的功能,而非行銷噱頭,它真正做到 IGP
省電與 GPU
繪圖效能兼備,不過它有著一個重大缺點,就是它並非自動化,而且在一般需要
Direct API
的軟件正在啟動的情況下,它是無法作出切換的,例如在
3D 遊戲中當然是不可以切換,就算是 Windows
內的接龍遊戲,亦由於應用了 Direct API
所以不能達成切換,用家需要把大部份的軟件關掉才可以進行成功更換繪圖模式。

在傳統的 Switchable Graphics
硬體下再加入軟件的支援,無需再重新啟動
自動、無縫的實時切換
全新 NVIDIA Optimus 技術
第二代 Switchable Graphics
儘管已變得實用,但仍然不受到用戶注意,尤其是非專業用家的一般使用者,更是不願意付出更多的錢購買自已可能無法駕馭的技術,因此
NVIDIA 決定研發更智能、更先進的 GPU 省電技術,並命名為
NVIDIA Optimus 技術。
有別僅用硬體單純地透過切 換顯示輸出線路,選擇在
IGP 或是 GPU 工作,而是以驅動程式層面把把需處理的所有
3D 渲染工作,交由 GPU
作出運算處理,但最終圖像輸出至屏幕的仍是 Intel IGP
處理器。因此 IGP
的只是被當作一個簡單的顯示控制器,但卻因此達成了無縫,無閃爍的經驗,沒有必要重新啟動,情況就如當年
3DFX 加速卡把 3D 工作完成,並以 2D
顯示卡作顯示輸出一樣。

NVIDIA Optimus 技術原理圖,透過 PCI-E 把 3D
渲染結果傳至 IGP
NVIDIA Optimus 技術不再需要額外的 MUX 線路, IGP/GPU
實時切換的架構成本大幅下降,僅在高負載的 3D
程序及需要 CUDA 運算時, GPU
才會從完全斷電的睡眠狀態自動醒過來,並在完成工作後自動關掉,一般使用下不會感到它的存在,而不太重負載的工作則會交由
Intel IGP 負責,令 Notebook 達至省電與高效能兼備的效果。
為達成 Optimus 架構, NVIDIA 的軟體工程師制作了由數 10
萬行序程所達成,完全符合 Microsoft API 及不同繪圖標準 API
的介面,以協議 Intel IGP 與 NVIDIA GPU 之間的分工,透過 PCI-E
的雙向設計,把運算及 3D 渲染結果傳送至 Intel IGP
,並沒有採用了非業界標準的序程,因此 NVIDIA Optimus
技術可以完美地融合於現有的繪圖軟件及 CUDA 軟件。
NVIDIA Optimus vs.
Switchable Graphics Comparison
| Automatically Enable/Disable GPU |
Yes |
No |
| Instant Transition Time |
Yes |
No |
| No Screen Flicker during Transition |
Yes |
No |
| No Additional Components |
Yes |
No |
| Standard Industry API |
Yes |
No |

NVIDIA Optimus 技術不再需要 MUX
線路,成本與一般 Notebook 無異
有效減低延誤 NVIDIA 加入
Optimus Copy Engine
在 全新的 NVIDIA Optimus 技術中,由於 IGP 和 GPU
是同是並存,兩者將負責不同的工作,與昔日採用硬體切換並獨立運作的原理並不相同,因為
GPU 必需要把完成的 3D 渲染資料傳送給 IGP
作顯示輸出,因此除了在 GPU 本地的 Framebuffer
需要存放顯示的資料外,同時亦會把顯示的資料抄送至系統記憶體給
IGP 作畫面輸出,這是一個非常浪費資源的動作,因此
NVIDIA 在 GPU 中入了全新的資料複製引擎,稱為「 Optimus Copy
Engine 」 。
如果沒有 Optimus Copy Engine 的話, GPU 如果要把 3D
渲染的結果傳給 IGP
顯示,是需要把資訊複製給系統記憶體,讓 IGP
讀取並輸出至顯示屏,這是一個 Direct Memory Access 機制中的
mem2mem 寫入指令,但此舉有一個重大的缺憾,就是 GPU
需要等 Framebuffer
和系統記憶體完成同步化讀寫後,才有空讀取 Framebuffer
的資源進行下一幀畫面的渲染,導致 GPU 效能大幅下降。
為 了解決此一問題讓 Optimus 技術得以實踐, NVIDIA
在新一代 40nm 的 GT200M 家族及未來的 GPU 架構中,入了
Optimus Copy Engine
,它代替了繪圖核心內的記憶體控制器,負責把 GPU
Framebuffer 的資源直接拷貝至系統記憶體,讓 GPU
內的記憶體控制器可以專用負責 3D 渲染運算,不需要管
meme2mem 寫入動作。
而 且 Optimus Copy Engine 支援雙向 PCI-E 傳輸技術,容許 3D
引擎在讀取系統記憶體的同時,亦可更新系統記憶體內的資料,這個非同步的
DMA 運作模式令資訊傳送更有效率並令 Optimus
技術不會令效能出現下降,是個十分聰明的設計。

圖左為傳統 GPU 的 DMA Access
設計,圖右為全新 Optimus Copy Engine 設計
雖 然已比第一代 Switchable Graphics
需要重新啟動來得迅速,但在 IGP 及 GPU 切換時仍會出現
5-10
秒的黑屏,不少用家對於出現屏幕閃動感到懼怕,尤其是入門用家更是不敢使用,以防止系統崩潰,就算明知是正常情況,但這
5-10 秒的黑屏對用家的感覺仍不好受。
尤其在 NVIDIA CUDA 技術續漸普及下,如果採用第二代
Switchable Graphics
技術,究竟有多少用家知道,什麼時候需要開啟 GPU
繪圖核心,更重要的是不少軟件為了減低系統崩潰的風險,會採用封鎖的方法不容許系統在運作之間作出繪圖模式轉換,對於一般用家來說,第二代
Switchable Graphics 技術仍存在很多不完善的地方。
值得注意的是,由於第二代 Switchable Graphics
是以軟體配合硬體的實時切換,成本將會沒支援 Switchable
Graphics 提高不少,而且要支援第二代 Switchable Graphics ,
NVIDIA 需要制作特定的繪圖驅動程式,把 Intel 的 IGP
驅動包含在 Swirtchable Graphics
的驅動程式內,對更新繪圖程式構成難度,成本提升並且容易出現不相容情況。
AMD 同樣採用 Switchable Graphics 技術並於 2008
年初上市,雖然 AMD 推出的 Switchable Graphics 技術相較 NVIDIA
晚一點,但其實兩者所採用的方式十分相似,儘管擁有
Intel 的全力支援,但仍然存在並非自動化、 5-10
秒黑屏、需要關掉正在採用 Direct API
的軟件、以及在不少程式下切換會被鎖上。
NVIDIA Optimus 如何判定 GPU 工作還是睡眠 ?
NVIDIA Optimus 透過 Optimus Copy Engine ,有效達成了無縫的 IGP/GPU
切換,但為何它可以自動化呢 ?
究竟是什麼機制決定什麼程序採用 IGP 和 GPU 呢 !?
NVIDIA 加入了 Optimus Routing Layer 機制,支援 CUDA
的軟件會偵測系統是否存在支援 NVIDIA CUDA 技術的 GPU
是存在,當收到這個要求時,驅動程式便會自動喚醒 GPU
並開始進行運算,直至完成讓 CUDA
的運算程序,因此只要是支援 CUDA 的軟件,在支援 Optimus
技術的 Notebook
下很難會出現誤判問題。同樣地,當系統需要進行多媒體及
HD 影像處理,如果軟件有要求 DXVA GPU
加速,驅動程式亦會自動喚醒 GPU 並接管工作。

雖然 GPU 正在睡眠,但在 Device Manager 上
GPU 仍然存在,令軟件不會誤判為沒有 NVIDIA GPU 的系統
同樣地,驅動程式亦會分析任何 DirectX
軟件會否採用大量的 Direct X
指令及是否高負載,如果負載量高於驅動程式認為 IGP
核心所能接受的範圍,同樣會自動喚醒 GPU 並接管工作。
現 時大部份軟件均會採用 DirectX API 或 Open GL
,那麼支援 Optimus 的 GPU 會否長期運作而不懂休眠, Optimus
技術會否只是行銷手段 !? 原來 NVIDIA
會對會把高負載的遊戲加進 Optimus Profiles ,當執行這些高
3D 負載的遊戲時, NVIDIA GPU
才會介入,而低負載的程式是不會啟動 GPU 的,為何令
Optimus Profiles 的資訊達至正確, NVIDIA 推出了稱為 Optimus
Software 的網絡更新技術,會在用家透過網絡更新 Optimus
Profiles
內的支援名冊,當然用家也可以自己客制化自己的執行名冊,自定那一些程式需要使用
GPU ,防止 Optimus 出現誤判情況。

NVIDIA 會把經認証的軟件名刪透過 Internet
更新至 Optimus Profiles
NVIDIA Optimus 技術 Q&A

記者:
什麼 GPU 將支援 Optimus 技術 ?
Drew Henry :
現有的 GeForce 200M 系列、 GeForce 300M 系列、未來的 GeForce
M 系列以及下一代 ION 平台 GPU 均可支援。
記者:
現有採用 GeForce 200M 系列的 Notebook 可透過軟體支援
Optimus 技術嗎 ?
Drew Henry :
儘管 GPU 硬體上已支援 Optimus 技術,但仍需要 PC 業者在
PCB 線路上作出配合,因此並不是所有採用 GeForce 200M
系列的 Notebook 均能支援 Optimus 技術,消費者可以向該 PC
廠查詢該產品是支援與否。
記者:
NVIDIA Optimus 技術有否和 Intel 共同合作 ? 另外對 Intel IGP
的效能有影響嗎 ?
Drew Henry :
沒有, NVIDIA Optimus
技術是自家技術並採用業界標準的介面, Intel 並沒有參與
Optimus 的研發工作,同時根據我們的內部測試, Optimus
技術的驅動程式並不會對 Intel IGP 效能構成影響。
記者:
NVIDIA Optimus 支援什麼作業系統 ?
Drew Henry :
暫時只支援 Windows 7
,會否向下支援舊有的作業系統則仍在評估中。
記者:
NVIDIA Optimus 支援 AMD 平台嗎 ?
Drew Henry :
暫時沒有支援 AMD 平台,但不評論未來會否加入支援 AMD
平台,現時 NVIDIA Optimus 只支援 Core 2 Duo 、 Core i7/i5 家族及
Intel Atom N450 平台。
記者:
有多少台支援 Optimus 會上市。
Drew Henry :
ASUS UL50Vf 將會是我們首台支援 Optimus 技術的 Notebook
,接著將會有 IBM 的 T5 系列及 ASUS 的 Core i7/i5
家族產品支援 Optimus ,預期在今年內將有超過 50
款產品支援 Optimus 技術。
記者:
什麼時候推出支援下一代 Atom N450 的 ION 平台
Drew Henry :
我只能說是 2010 年第 1 季內會上市,日期未定。
|