Patent app outlines game use of multi-core CPUs

— 9:36 AM on January 5, 2005

The folks at Team Xbox have an intriguing write up on a patent application made recently by Microsoft that they believe is an indicator that the next Xbox will have multiple CPU cores onboard. Whether or not that's the case, this patent certainly does seem to demonstrate how multiple processors—or multi-core CPUs—could be used to accelerate gaming and graphics applications.

The patent app describes a situation where the first CPU acts as a traditional host CPU as in a current system, while CPUs 2 through n act as coprocessors, handling tasks like procedural geometry generation. From the patent app:

For instance, as will be described, each of these processors may include logic for performing procedural geometry. Such logic receives input data defining tasks to be performed, and then executes such tasks to provide output geometry data (e.g., a collection of vertices). To provide merely one example, a game designer could provide procedural logic to generate geometry data associated with individual leaves on a tree. Such procedural logic would receive a relatively limited amount of information associated with such a task, such as a location of an individual leaf, a direction of any simulated wind in the scene, and so on. Based on this information, the procedural logic could generate vertices that define an individual leaf on the tree.
That's not the only possible application for additional CPU cores. As Team Xbox notes, "Then, the paper gives other potential applications such as the generation of higher-order surfaces, LOD processing and even GPU commands, which means that a CPU could run code that is originally meant to be executed by the GPU."

This scheme is illustrated with a diagram in the patent app, and the system architecture includes a multi-core CPU with distinct L1 caches, a shared L2 cache, and a crossbar feeding the interface connecting the CPU to the GPU. In turn, the GPU's interface to the CPU includes a crossbar, as well. This multi-crossbar architecture might be intended simply to facilitate efficient communication, but it could also make load balancing between the CPUs and GPU feasible. The diagram also allows for the possibility of additional cores per CPU and additional CPU modules per system.

We have been pondering how games might best take advantage of multi-core CPUs, since some of the traditional chores of a host CPU haven't looked to be easily parallelizable. This sketch from Microsoft shows us one way forward, and coming from the architects of DirectX and its upcoming replacement, Windows Graphics Foundation, it's big news.

Tip: You can use the A/Z keys to walk threads.
View options

This discussion is now closed.