AMD is closing in on its goal to create a new type of processor, the APU. It involves taking the best of the CPU and GPU worlds and merging them into a single chip.
Given the ups and downs of the processor markets in recent years, one could assume that AMD's purchase of ATI in 2006 was an attempt to diversify the business so it didn't have to compete with Intel to survive. While that may well be part of the reason, the ultimate goal of the union is fusion, a combination of AMD's strengths in CPUs and ATI's in GPUs to create a new type of processor that AMD calls an Accelerated Processing Unit (APU).
It is a place where AMD is uniquely positioned. The other GPU heavyweight, NVIDIA, has no x86 CPU division. On the other hand Intel's CPU strengths seem inversely proportional to its ability to design a competitive GPU. AMD straddles the divide - it may have lost the CPU performance lead to Intel but it is still the number 2 player on desktops, and ATI's graphics cards are the current price/performance champions.
Serial and Parallel processing combine
To understand why it would be advantageous to combine the CPU and GPU, one needs to understand the strengths of each type of processor. A CPU is best at crunching serialized data. It takes an instruction, processes it, completes it and only then moves onto the next one. Multicore CPUs can crunch several instructions at once, but code need to be written in a way that one thread isn't left waiting for the results of another thread to continue. This need to make threads play nice with each other is why the move to multithreaded software has lagged behind the growth of multicore CPUs. It is also why single core performance is still incredibly important for overall system speed.
GPUs on the other hand were conceived as a way to quickly render complex 3D images. They take vast amounts of geometry information, build a wireframe scene, decide what is visible to the user and then render the image. This involves calculating lighting and details for each pixel on the screen. How each pixel appears is dependent upon the geometry information rather than what the pixel next to it looks like. This means that a GPU is designed around calculating values for many thousands of pixels at once.
This is known as parallelized processing, where a large number of simple processors all work on tiny workloads at the same time. These processers were once known as pixel shaders or vector processors, but now go by different titles depending on the manufacturer. ATI calls them stream processors, while NVIDIA calls them CUDA cores. They are fast floating point units, designed for high-precision number crunching. This makes them not only good for rendering pixels on a screen, but also for crunching large data sets where there is no dependency between each bit of data. An example of this would be database searches, but there are many more suitable workloads.
How AMD's approach works
So we have two types of processors suited to two types of data. AMD's Fusion initiative involves placing the processors side by side on the same piece of silicon, connected by a high speed bus and properly uniting both processing types for the first time. It is important to note that this is very similar to Intel's moves to incorporate its integrated graphics core on a CPU die. Intel's integrated graphics have just enough support for basic GPU functions to run Windows Aero but struggle with anything more. ATI's integrated graphics, conversely, are powerful enough to render the latest games at high resolutions and are effectively minaturised versions of the desktop cards.
By combining CPU and GPU ATI achieves a few different things. It creates an integrated graphics core that is capable of running high end games, it opens up new programming models where serial and parallel workloads can coexist, and it seriously ups the available processing power in small form factor systems like netbooks.
Fusion hit a landmark at Computex a few weeks ago, where AMD made the first public demonstration of the technology during its press conference. This is likely to be followed up with some more meaty details at the IEEE's 'Hot Chips' conference in August.
When we talked to AMD representatives at Computex they were confident that the first fusion product, codenamed Llano, would ship by the end of the year. Built by GlobalFoundries' Dresden Fab using a 32nm SOI process, this APU will essentially pair an existing K10 architecture quad core CPU with a GPU rumoured to be based upon the RADEON HD 5 series chips. It is somewhat of an interim product, a proof of concept that doesn't involve major jumps in architecture.
Entirely new processing architectures will come next year with Ontario. This product will be the second Fusion offering and will include a completely new CPU core. This dual core CPU is codenamed Bobcat and will be the first new CPU design from AMD since it launched the K8-based Opteron processor in 2003 (the current K10 CPU design is a tweaked version of K8). This will mark a significant moment for AMD - the K10 is severely outpaced by Intel's Nehalem architecture, and a new CPU design is essential for AMD to stay competitive (or even leap ahead) of Intel.
After many years of talk it seems that we will actually see Fusion chips sometime in the next six months. This marks a pretty significant moment for AMD. We still need to wait for Bobcat and its new CPU architecture to see just how competitive AMD will be in coming years, but by the end of the year we will know just what an APU brings to the PC, and whether all these years of development have been worth it. From the knowing smiles given by AMD employees talking about the tech, we suspect that it won't fail to impress.