NVIDIA Optimus Mobile Technology Preview
NVIDIA's Optimus technology is enabled through a combination of custom hardware and software. What NVIDIA is calling the "Optimus Copy Engine" is integrated into all of their current 40nm GeForce 200M and 300M GPUs and upcoming Fermi-architecture based mobile products.
With previous NVIDIA offerings that featured support for Hybrid SLI, which also allowed an NVIDIA IGP to display the output from a discrete GPU, elements of the GPU's 3D pipeline were used to copy frame buffer data to the IGP. This caused the 3D engine to stall during DMA operations. With the new Optimus Copy Engine, however, the 3D engines are not used and don't stall during the copy process.
As the Copy Engine's name suggests, its sole purpose is to copy frame buffer data from the discrete GPU, over the PCI Express interface to system memory, where it is then output to the display by the IGP. This operation may sound like it introduces significant latency, but we're told it is less than 3ms when operating at 60Hz.
On the software side, a few things had to happen to enable Optimus. First and foremost, Windows 7's ability to work with multiple graphics drivers simultaneously was a necessity. Vista only allowed graphics drivers from a single vendor to be installed at any given time. NVIDIA also implemented a few features in their drivers for Optimus. In the slide on the left, you'll see an indicator for the Optimus Routing layer. NVIDIA hasn't disclosed exactly how the routing laying works, but the software essentially detects certain calls an enables the discrete GPU when necessary. In addition, NVIDIA has also implemented application profiles in their driver--similar to SLI profiles. When a application is launched, if its profile recommends the use of the discrete GPU, it is fired up and takes over. While we're on the subject, we should also note, that when the discrete GPU is not being used, it can be completely shut down to a no-power state. Although we didn't see it in person, we're told NVIDIA has actually demoed an Optimus system, where they completely pulled the discrete GPU out of the system when it was not in use. The GPU was put back in, and it fired up when called upon by the Optimus software--all while the OS remained up and running.
NVIDIA has also implemented a new profile distribution system that will keep Optimus application profiles updated, without user intervention. Because many notebook buyers are, shall we say, not so tech savvy, the likelihood that they'd update drivers regularly and keep the profile list up to date was slim. With that in mind, NVIDIA has put mechanisms in place to update Optimus application profiles in the background, much like anti-virus vendors update definitions. Users can also manually add applications to the list or enable the GPU with a simple right click of the shortcut. A context menu gives users the ability to run a particular application using the discrete GPU if they so choose.