IGP/GPU实时切换 详解NVIDIA Optimus
泡泡网显卡频道2月13日 第二代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技术中,由于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技术不会令效能出现下降,是个十分聪明的设计。 ■
关注我们


