ChroMAT Memory Controller
One of the new technologies introduced in the S3G GammaChrome is ChroMAT. Its working principles are very similar to the algorithms used by ATI HyperMemory and NVIDIA TurboCache, and the main idea behind this technology implies that it allows using system memory for the needs of the graphics adapter.
S3G ChroMAT technology allows GammaChrome graphics processor to address the system memory directly: write data into and read data from the system memory when necessary. Moreover, the size of the system memory assigned for the needs of the graphics adapter can be adjusted dynamically.
We wouldn’t call this technology new or revolutionary, because the first implementation of this idea in fact appeared together with the introduction of the AGP bus in 1997. It was exactly at that time that they first voiced out the concept of virtual extension of the local video frame buffer into system memory. This was achieved though an address translation and mapping technology referenced as GART. However, its flexibility still left much to be desired: the amount of memory assigned for the needs of the local frame buffer was fixed and was set during OS boot-up. The AGP data transfer rates also were a way too low. With the increase of the onboard graphics memory by the add-on graphics accelerators GART technology was little by little pushed into oblivion.
At present however, the idea to use a part of system memory for the video needs is picking back up, because the PCI Express bus boasts not only high data transfer rates, but also offers bi-directional transfer, unlike AGP interface. Such technologies as S3G ChroMAT, ATI HyperMemory and NVIDIA TurboCache allow making value graphics products even more affordable, because they will no longer need a lot of onboard graphics memory.
Just like in case of the two above mentioned graphics market leaders, the ChroMAT technology from S3 Graphics required a few changes in the memory controller, which has now acquired the ability to mask delays, to load the system memory interactively in order to optimize data reading and writing, and other similar technologies.