You’ll have to agree with me that the name TurboCache sounds a bit corny, and, for those that can remember, reminds me of the days PCs were equipped with a turbo switch. By flipping that switch your 8MHz workhorse could be turned into a raging hotrod at 33 or even 66MHz on the Intel 486 processor. In reality TurboCache does not add a magic button to your PC that will instantly speed it up. In fact it has nothing to do with processors, or at least not the CPU, and there are no switches or anything similar involved here either. TurboCache is the latest feature that NVIDIA has added to their GeForce 6-series of graphics cards, a feature that increases performance, whilst reducing cost. In essence TurboCache is a feature that uses PCI-E bandwidth to let the graphics card render directly to system memory. But wait, render directly to system memory? That sounds an awful lot like shared video memory which offered a performance setback instead of an improvement. Let me assure you that that’s not the case here; the TurboCache feature uses a combination of local memory on the graphics card and PCI-E bandwidth to render frames.
A traditional 3D pipeline, click here for a full size image.
So how come we have not seen anybody introduce TurboCache, or a similar feature with an even more compelling name before? The answer is PCI-E, due to the fact that PCI-E has 4GBps bi-directional bandwidth available the total bandwidth that the graphics card can use is 8GBps, which is significantly higher than offered by AGP. Obviously NVIDIA isn’t the only one that thought of leveraging the bandwidth of PCI-E to their benefit; ATI announced HyperMemory a few weeks ago, which will also use the PCI-E bus in a similar scheme, unfortunately details on how they will be implementing this are still a bit sketchy. TurboCache however promises to bring a performance boost, but more importantly it drastically lowers the price of a graphics card, as suddenly it can be outfitted with less memory.
The TurboCache 3D pipeline, click here for a full size image.
Less memory? How can a graphic card be outfitted with less memory and still perform as well as one with more dedicated memory on the card? As mentioned the PCI-E bus is used to deliver the needed bandwidth, but that alone doesn’t cover it. Obviously you need some way of distributing the load between the local memory and the system memory accessed through PCI-E. To facilitate that NVIDIA uses a piece of software called the TCM, TurboCache Manager, which dynamically allocates memory from main memory to maximize performance. Obviously a number of algorithms are used to make best possible use of the available bandwidth on both the local memory and the main memory accessed through the PCI-E bus. Naturally the algorithms also try to alleviate the latencies that occur when accessing main memory through the PCI-E bus, which is where ‘cache’ in ‘TurboCache’ refers to, as caching, in local memory is used to make sure performance is kept at acceptable levels. So basically the local memory is used to cache data and to deliver peak performance when needed whereas all other data is allocated to main memory through the PCI-E bus.
The TurboCache system architecture, click here for a full size image.
So how does it all work? Traditionally, data such as frame buffers and textures have been stored in local memory on the graphic card. This required local memory that can be fairly large in size, as with higher supported resolutions comes the requirement for more memory. Modern graphic cards have a minimum of 128MB memory which, depending on the graphic card, is the affordable SDRAM type or the far more expensive GDDR3 memory used on fast graphics cards. With the ability of rendering directly to system memory of the TurboCache feature, a graphic processor with TurboCache doesn’t require a large amount of local memory and thus the graphic card can be manufactured a lot cheaper. There will be two entry level graphic cards, called the GeForce 6200 TC, based on TurboCache that’ll be available soon; one is equipped with 16MB of local memory, the other with 32MB. Both will use up to 128MB of main memory, a forthcoming 64MB version will support up to 256MB though, which means that the GeForce 6200 series will be available as effectively 128 and 256MB graphic cards.
A single 16MB GDDR3 memory chip on the GeForce 6200 TC.
To measure how the GeForce 6200 TC, 32MB, compares to the Radeon X300SE we’ve used an entry-level system, as that’s what these cards will realistically end up being used in. Nobody in their right mind would invest in a high-end PC featuring, for example, a 3.6GHz Pentium 4 and 1GB of memory, and opt for a GeForce 6200 TC or a Radeon X300SE. The system we’ll be using is equipped with the Intel 915G chipset, a 2.8GHz Pentium 4 processor and 512MB of DDR400 memory, running Windows XP SP2. One of the benchmarks we’ll use to gauge performance are the Half-Life 2 demo’s we recorded for our recent 'Half-Life 2, all you need to know when upgrading'
article. Unfortunately, due to Valve updating Half-Life 2 through Steam, some of you may no longer be able to use these demo files on your own machines. There’s only one way around this, by using an older backup for the game, or disabling automatic updates through Steam. We used a backup which we created just prior to the launch of Half-Life 2 multiplayer so scores can be compared directly with that of our previous article.