Also now on Icrontic: Quad Core Processing
The latest buzz in the processor industry is about dual core processors. AMD may be the first to take the limelight with their announcement of dual core AMD Opteron processors set to launch in mid-2005 but Intel and IBM are cueing up their dual core processors as well.
A dual core processor is exactly what it sounds like. It is two processor cores on one die essentially like having a dual processor system in one processor. AMD’s Opteron processor has been dual processor capable since its inception. Opteron was designed with an extra HyperTransport link. The relevance of it was mostly overlooked. HyperTransport Technology simply means a faster connection that is able to transfer more data between two chips. This does not mean that the chip itself is faster. It means that the capability exists via the HyperTransport pathway for one chip to “talk” to another chip or device at a faster speed and with greater data throughput.
We knew that HyperTransport Technology would provide for a faster connection to system memory, the GPU and the rest of the motherboard but back in the fall of 2003 we thought of the extra HyperTransport link as a connection to another physical processor.
It didn’t dawn on us that the “extra” processor could be on the same die. While some will say “I knew that” most didn’t pick up on it.
AMD have the added punch of being able to drop their dual core Opteron processors into existing 940-pin sockets. This upgrade path is extremely favorable as all it will require is a processor swap and, perhaps, a BIOS update.
Intel are continuing with their Pentium 4 cores by releasing two flavors codenamed Paxville and Dempsey. The codenames will very likely change once the marketing department gets their hands on it as “Introducing the new Dempsey” has a very lackluster ring to it.
MAC orientated Think Secret posted IBM plans on the PowerPC 970MP codenamed Antares and rumored to clock in at 3GHz with a 1GHz EI (Elastic Interface) bus.
The horses are now in the paddock. AMD, INTEL and MAC loyalists are beginning to group at the fence to eye up their favorite and the competition. The post parade is still a ways off and with post time now set at mid-2005 it’s anybody’s guess who will be out of the gate first.
Why dual core?
Why the shift to dual core and how will this impact the gigahertz performance race? Who or what will dual core processing benefit and will it be sought after by enthusiasts or left buried deep inside the dark recesses of server rooms?
The broad brush paints a processor as a device that executes a series of instructions to tell it what to do which, in turn, tells everything else it interacts with what to do. The faster it can do this the better. “Faster” can be directly related to clock speed but don’t make the mistake of thinking that INTEL’s higher clock speeds make it “faster” than AMD.
Both AMD and INTEL scaled up the clock speeds of their processors in a very short amount of time but have recently slowed the curve. AMD moved from the 1GHz “Thunderbird” to the Athlon64 FX53 in In a little less than 4 years which is impressive considering from 1997 until 2000 the K6 processor family saw a mere 4-500 MHz clock speed increase.
It is the flattening of the clock speed curve that some are reasoning why a shift to dual core. Some have surmised that AMD and INTEL have hit clock speed walls and another route is being taken to continue the performance curve and stay top of mind with new product releases. The problem with winding up clock speeds is heat. At present the processor engine can operate at only so much RPM before the engine will seize. Heat is the enemy of any processor and high clock speeds mean high heat and that means errors. A Windows PC running at 10GHz isn’t much good if it can’t make it past booting up before crashing.
That heat comes from power. It takes a lot of juice to crank up a processor to high clock speeds and a processor with that much electricity running around the die is prone to noise. It’s not audible noise like a high RPM cooling fan but electrical noise otherwise akin to interference. The pathways on a processor are microscopically close together. The more power that runs through these pathways due to the requirement of higher clock speeds means that there will be a small amount of electrical radiation from one pathway to the next. That leakage could corrupt the data in another pathway. Corrupted data means errors which means a program could get cranky.
Think of it like a hot element on a stove. A hand can be placed fairly close with the burner on low. Turn the burner up to high and it get’s pretty uncomfortable to keep a hand at the same distance it was when the burner was on low. It may even burn a hand. The radiated heat from the burner “corrupts” the hand resulting in a burn. In a processor the thermal heat is an issue but it’s also the electrical noise like a radio station that isn’t quite tuned in. The data is “dirty” and the song isn’t clear enough to understand.
Are two cores better than one?
There will most likely be three terms that come up to fuel the dual core debate; pipeline, cache and bus.
This is the most basic of explanations of what a processor pipeline is. First the data instruction set is needed.
A processor loads instructions into the pipeline. Think of the pipeline like a conveyor belt. The data is processed sequentially one after another.
The AMD processor pipeline is shorter than the INTEL processor pipeline and this is one of the reasons why AMD runs at a lower clock speed.
Pipelining, like most things in life, is good in moderation. Making a processor’s pipeline too short causes a longer minimum clock period which hinders the manufacturer’s ability to ramp up the clock speed. Making the pipeline very long allows faster clock speeds however it also increases the cost of stalls and flushes which negatively affects performance and also increases the amount of resources required to pipeline the processor.
This is discussed in-depth in Icrontic’s Pipelining Explained article.
A shorter pipeline means that more work has to be done in the pipeline per clock cycle thus the clock speed cannot be as high compared to a processor with a longer pipeline. However, with a shorter pipeline, the data gets through it faster thus balancing the equation. This is one of the reasons why an AMD processor can compete with higher clocked INTEL processors.
Data that that is continually used in preparation for the pipeline is stored in the processor’s cache and a processor is smart enough to anticipate what data it may require.
If the processor needs to reach outside of the cache then it does so through the bus to system RAM. Now remember that the processor cache is running at the same clock speed as the processor itself. If it is a 2 GHz processor then the speed limit on the highway between cache and the rest of the processor is 2GHz. If the processor has to reach out through the bus to main system memory then it must slow down to that bus speed. A bus speed of 400 MHz is five times slower than the 2 GHz example.
In layman’s terms think of the processor as a carpenter. The carpenter’s truck is system memory and the cache are the tools he’s packed into the house for the job. The carpenter has anticipated what tools he may need to do the job. If the tool is not at hand then he must go back to the truck to get the right tool thus slowing down the job at hand.
Putting it all together
Two pairs of hands make the work go faster. This is quite true in computers with dual processors especially with SMP (Symmetric Multiprocessing) software. Not all software is SMP aware. In fact only a small percentage of it is. SMP capability is something that must be written into the code. The program must know that it can utilize two processors to complete processes simultaneously. This is known as multithreading.
A dual core processor is between a single core processor and a dual processor system for architecture. A dual core processor has two cores but will share some of the other hardware like the memory controller and bus. A dual processor system has completely separate hardware and shares nothing with the other processor.
A dual core processor won’t be twice as fast as a single core processor nor will it be as fast as a dual processor system.
It will fall somewhere in the middle but there are going to be specific advantages.
There will be two pipelines and that means there can be two sets of instructions being carried out simultaneously.
There will also be two processor caches to keep more of the necessary “tools” or data on the processor die for faster access.
The trick will be the bus. If everyone wants on the bus at the same time then there will be the Keystone Cops comedy of errors as everyone tries to squeeze through the door at the same time. The two processor cores have to be designed to be smart enough to “wait” for the other to finish accessing the bus.
Now all of this is happening at the nanosecond level so don’t think there’s time for a coffee. Nanosecond wait states means there’s not even enough time to THINK about thinking about having a coffee.
To SMP or not to SMP?
The processor engineers have probably already thought about tackling the SMP situation. What good is a dual core processor if the software only recognizes and then uses only one of the cores? The majority of software is not written to utilize multithreading at present. This breaks open a whole new can of worms in concepts of parallel computing.
Intel’s Hyper-Threading is a single processor logical variation of dual core processors. AMD has just taken it one step further with two physical cores on one processor die. Could AMD’s engineers have cracked the hardware problem of a dual core processor and load balancing a program that isn’t written for multithreading?
This is where dual core processors could fall short of expectations for mainstream users. If the software cannot “see” the second processor then it will not benefit from it. Programs, such as Adobe Photoshop, are SMP aware and are much faster on a dual processor system. There is no doubt that a program like Photoshop will be much faster on a dual core system than its single core counterpart. The majority of operating systems do recognize and support at least two processors. There is some load balancing of non-SMP applications but not as efficiently as those written for multithreading.
The bottom line…for now
The benefit will come for users who multitask. As in a dual processor system there is a second processor core to share the load either in balanced form or by itself. If one processor is busy burning a DVD then the second is available to, I don’t know, bake bread. The point is there are now two pairs of processor hands to execute multiple tasks simultaneously.
For the home enthusiast it mean less processor hiccups while playing DOOM III and, at the same time, burning a DVD or listening to music.
Dual core processors brings a whole new twist to server environments. Dual or quad servers based on the 940-pin Opteron processor may be on the road to some staggering performance results. AMD recently demonstrated a 4-socket HP ProLiant DL585 server powered by 4 dual core Opteron processors. Think about it. That’s like 8 processors for the price of four. It boggles the mind to think of dual core on an 8-way system.
For the processor manufacturer dual core means a less expensive route to producing a new product that continues the performance curve. The PR Rating numbers will be interesting. A dual core Opteron that has two 2.4 GHz cores won’t be classified as a 3800+, for example, or twice that at a 7600+. Since AMD dual core processors are going to be released in the 940-pin flavor first then it will be an FX. Most likely the FX-57 which brings up the question of “where’d FX-55 go?”
Nevertheless there will be the performance increase and getting the consumers head wrapped around dual core as better will be a challenge. The public believes that two processors are better than one but also expensive. There are two processors (or more) to buy, a multi-processor motherboard, special RAM and so on. With dual core processor technology there isn’t the added cost of a second physical processor. The manufacturing process is very close to single core cost so, it is hoped, that the dual core processor won’t have a shocking sticker price. It will, obviously, be more as the newest and fastest always does cost more but it has to be less than the total of two comparable Opteron processors.
Dual core processors will also be hard to slot into the gigahertz realm of public comprehension. Does “Two 2.4 GHz cores” sound slower or faster than the same processor described as a “3.6 GHz comparable”? It’s for certain that the two core clock speeds won’t be combined for a gigahertz rating but a comparable gigahertz rating will be assigned for those still stuck comparing which number is bigger in the gigahertz wars.
Bottom line it’s what we’ve been saying for a year now. It’s the mushroom effect. For AMD it isn’t so much about do it faster….it’s about do more of it faster.
AMD must be feeling smug by now because many had foretold of the end of the 940-pin era for the desktop and workstation. Opteron indeed is alive and well for the server but it will again be heard roaring in the enthusiast and desktop market.
More on AMD and dual-core processors at the AMD website.