There is no doubt that Intel currently rules the CPU roost. The Core series of processors are excellent microprocessors, outperforming the competing offerings from AMD.
This balance of power has existed for many years, making it easy to forget that AMD dominated CPU performance in the first half of the decade. AMD's K7 and K8 CPU designs delivered better performance than the Netburst design used in the Pentium 4, and did so at a lower price point.
A new CPU design from AMD is key to the company returning to those glory days. Unfortunately AMD's new CPU design has delayed a few times, but it now looks like the problems are all but solved. Overnight at the Hot Chips semiconductor conference at Stanford University AMD has lifted the lid on not one, but two new CPU designs, codenamed Bulldozer and Bobcat.
Bulldozer is the codename for AMD's new server and desktop processor core. Bobcat on the other hand is a low power Out-of-Order Execution core designed for use in mobile products (in competition to Intel's Atom). Bobcat will be the CPU part of AMD's first Fusion APU (Accelerated Processing Unit), with two Bobcat cores featuring in the 'Ontario' APU.
A different kind of multithreading
Bulldozer is the first of these CPUs that we will see from AMD. The most striking thing about Bulldozer is its modular design. These modules are the fundamental building blocks of Bulldozer and, while they are still x86 based, they have a different structure to the CPU cores that we know and love.
A CPU core traditionally contains an Integer and a Floating Point processor. Integer units deal with whole numbers, while floating point units deal with non-whole numbers (floating point refers to the decimal point). The vast majority of a CPU's workload is Integer calculations, which has had a big influence on the way that AMD has designed Bulldozer.
What AMD has done is put two Integer units onto each module alongside a floating point unit that can work as two 128-bit units or as a single 256-bit unit when required (the new AVX instruction set used in Bulldozer and Intel's upcoming Sandy Bridge CPUs requires 256-bit floating point precision). Each of these Integer cores has its own L1 cache. The rest of the circuitry on the module is shared between the two integer cores.
|The Bulldozer module contains two Integer cores which share the remaining circuitry.
This is in many ways analogous to Intel's Hyperthreading technology, where a single processor core can handle two software threads at once. However in Intel's solution the two threads have to share the same integer core, while Bulldozer gives each thread an Integer core to play with. AMD considers this to be the best balance of power consumption and performance, as the second integer core only takes up 12% of the space on a module.
In order to build the Bulldozer CPU these modules are put together and given access to shared L3 cache as well as a memory controller and Northbridge controller. AMD plans that the initial consumer version of Bulldozer will have four modules, making for an eight core chip (the company will use number of cores to describe the CPUs - modules are being kept as a design term).
|Bulldozer processors will use several modules in their design. All these modules share the L3 cache, memory controller and Northbridge controller.
Bulldozer is set to ship as a desktop and server CPU in 2011. It will use a new AM3+ socket and built using a 32nm Silicon-on-Insulator process. This latest announcement from AMD covers the architectural features of Bulldozer, but apart from a vague promise that it will deliver 50% more performance than the current Magny-Cours Opteron for the same power draw there are no actual performance numbers out there yet.
Smashing the Atom
Bobcat is a completely different beast to Bulldozer. Designed for mobile uses it is a tiny, low power core designed to end up on the Ontario Fusion APU. AMD has targeted a 1W power draw for Bobcat cores, and claims that it will deliver 90% of the current mainstream laptop performance.
While at first glance 90% seems a backwards step, remember that Bobcat is more akin to an Atom than the CPUs currently used in laptops. When taking this into consideration Bobcat becomes a very interesting processor.
Bobcat is an x86 core based around an Out-of-Order Execution (OoOE) engine. This means that the core can effectively manage the running workloads, processing data more efficiently than if it just ran each instruction when it turned up. OoOE is not a new technology, but it has historically been tricky to implement in a low power design because of the extra circuitry needed. The Atom, for example, uses the older In-order-Execution technique.
|Bobcat is quite different to Bulldozer. It is an Out-of-Order Execution core that draws under 1 Watt of power.
While Bulldozer is destined to end up as a standalone CPU, Bobcat is designed to be the CPU part of AMD's first Fusion APU, codenamed Ontario. In this designed a couple of Bobcat cores will sit alongside DirectX-11 graphics pipelines to create the APU. This is part of the elegance of Bobcat, which is designed to be a core that AMD can implement in different silicon designs.
Still no performance numbers
AMD has talked about its plans for Bulldozer and Bobcat in the past, but it is only now that the general public has seen the details of the designs. Actual products are still a way off, and AMD is holding back on delivering specific numbers until it hits various engineering goals later this year. But after many, many delays it seems that 2011 will be the make or break year for AMD.
If it can follow through on the promises inherent in these new CPU designs then we could see a return to the competitive CPU market of five years ago. However if AMD cannot deliver then it could be the last hurrah for the CPU part of the company. Then there is also Intel, who has been going from strength to strength in the CPU department of late. By the time we see Bulldozer Intel will be pushing the new Sandy Bridge microarchitecture, which should make for some very interesting comparisons.