NVIDIA Optimus 技術登場!!
不需MUX線路 IGP/GPU能實時切換
文: John Lam / 評測中心


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

效能與電池續航力的矛與盾

 

Battery Low

 

科 技正在不斷變革中,人們已經不再滿足於只能用作文書處理,或是擁有強勁多媒體及遊戲效能但電池續航力卻嚴重偏低的行動電腦 (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 重啟動作上的窘境。

 

SG1
傳統 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 所以不能達成切換,用家需要把大部份的軟件關掉才可以進行成功更換繪圖模式。

 

SG2
在傳統的 Switchable Graphics 硬體下再加入軟件的支援,無需再重新啟動

 自動、無縫的實時切換    全新 NVIDIA Optimus 技術

第二代 Switchable Graphics 儘管已變得實用,但仍然不受到用戶注意,尤其是非專業用家的一般使用者,更是不願意付出更多的錢購買自已可能無法駕馭的技術,因此 NVIDIA 決定研發更智能、更先進的 GPU 省電技術,並命名為 NVIDIA Optimus 技術。

 

有別僅用硬體單純地透過切 換顯示輸出線路,選擇在 IGP 或是 GPU 工作,而是以驅動程式層面把把需處理的所有 3D 渲染工作,交由 GPU 作出運算處理,但最終圖像輸出至屏幕的仍是 Intel IGP 處理器。因此 IGP 的只是被當作一個簡單的顯示控制器,但卻因此達成了無縫,無閃爍的經驗,沒有必要重新啟動,情況就如當年 3DFX 加速卡把 3D 工作完成,並以 2D 顯示卡作顯示輸出一樣。

 

Optimus Usage
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

  Optimus Technology Switchable Graphics
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
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 技術不會令效能出現下降,是個十分聰明的設計。

 

NVIDIA
圖左為傳統 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 並接管工作。

 

 

NVIDIA
雖然 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


NVIDIA 會把經認証的軟件名刪透過 Internet 更新至 Optimus Profiles

 

NVIDIA Optimus 技術 Q&A

 

NVIDIA

 

記者:

什麼 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 季內會上市,日期未定。