AMD cuts to the core with 'Bulldozer' Opterons
The future is modular
IT shops buy current products, but they always have their eyes out one or two generations to assure themselves they aren't buying into a dead-end product. Which is why makers of chips and other components that go into systems as well as system makers themselves are forced to talk about the future when what they really want to do is focus on this quarter, right now. And so it is with the future "Bulldozer" cores expected in 2011 from Advanced Micro Devices.
The pressure to compete now and in the future is high, and the competition between AMD and Intel is intense. The etching on the six-core "Istanbul" Opteron 2400 and 8400 processors, launched in June, is barely dry, and they have barely ramped to volume among the server makers. But in September, AMD talked up its future homegrown chipsets, and in November, it trumpeted the next-generation of Opteron processors, the "Magny-Cours" Opteron 6100s for two-socket and four-socket servers and the "Lisbon" Opteron 4100s for uniprocessor and two-socket boxes.
With the Rev F iterations of the Opteron chips - which are based on the original "K8" core design and which put two, four, and then six cores on a single die - AMD basically took a cookie cutter approach to adding cores to the die, plunking multiple and identical cores, complete with all the circuits they would need if they were the only processor in a system. With the Bulldozer cores (which are not called the K9 generation, by the way, perhaps because AMD does not want any chip to be affiliated with a dog), AMD is being a little more clever.
Instead of having a core as the basic building block, the Bulldozer core is implemented as what AMD is calling a module. Take a look at this pretty picture:
The Opteron Bulldozer multicore module
In the diagram above, the core is not really a core in the traditional sense that we have been using that word, since some elements of what we have been thinking of as a core are shared across multiple integer and floating point units in the Bulldozer design while others are doubled up as you might expect from past Opteron designs.
"By sharing some components, we can reduce both power consumption and costs, but also scale performance," says John Fruehe, director of server product marketing at AMD, who walked El Reg through the Bulldozer design.
The "core" in the Bulldozer design is a single-threaded, four-pipeline integer unit, which as you can see will have its own scheduler and its own L1 cache. This is essentially the same structure as the K8 Opteron integer unit, according to Fruehe, who says that 90 percent of the workload an Opteron has to cope with runs through the integer unit. Rather than giving each core its own fetch and decode unit, the Bulldozer puts a slightly wider fetch and decode unit on the module, which allows them to share it.
As you can see in the diagram, the Bulldozer module has a shared floating point scheduler and two 128-bit floating point units, which debuted with the quad-core "Barcelona" Opteron 2200s and 8200s two years ago. (These FP units can do two 64-bit double-precision operations per clock or four 32-bit single precision operations). What is neat about the Bulldozer design is that either "core" in the module can grab the scheduler and if the other core is not doing floating point, then it can take all 256 bits and do four double precision or eight single precision ops in a clock.