Howdy stranger! Need to login or register? C’mon...

Dual Core Processing: Over-simplified, demystified and explained.

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.

01_pipeline_data

A processor loads instructions into the pipeline. Think of the pipeline like a conveyor belt. The data is processed sequentially one after another.

02_pipeline_datas

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.

03_amd_intel_data

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.

04_dataincache

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.

05_two_pipelines

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.


« PreviousNext page »

View thread or reply via Forum.

33 Replies

  1. gimme gimme gimme

  2. Unregistered

    MediaMan, i would like to give my most sincere thanks for an absolutely fantastic article. Me and a few of my friends here at Shell ( UK ) are really interested in the upcoming dual core technology. The difference between you and other reviewers is that you explained things so smoothly.

    Many thanks.

    James.

  3. I love the gimme icon

  4. James,

    Thank you for the comment. I hope you keep poking about our site.

    Interpreting the crystal ball on this technology is one part science and one part darts. My crystal ball sees dual core as indeed a performance increase. That's a given with any new processor product at the top of its line.

    When you look at it from a consumer cost point of view it begins to make a bit of sense. It's ideal for workstation users who have a desire for a bit more "horsepower" than a single processor system but don't have/want to spend more $ for a dual processor system.

    Dual core brings some of the benefits of a dual processor system at less than the cost of a 2P system with the two of the same processor equivalents.

    Remember that it's not so much about flat out dragstrip speed anymore. A dragster isn't much good at towing your boat down the highway. It's more about having that big truck with the towing power...that can keep up with the dragster or at least give it a good run for its money.

    For server environments it's the same way of thinking. Many run dual processor servers but would really like a 4P server to really go to town. But then there's that cost factor. A dual core system can bump them up between a 2P and 4P system for some aspects of performance (increased multitasking) but without that cost.

    For those with oodles of money? Imagine a 4P or an 8P system with dual core processors...that would translate up to a psuedo 8P or 16P system. Interesting if anyone tries to make an 8P dual core system actually work...just for the heck of it.

    Bottom line dual core isn't exactly the same as a two physical processor system but it's better at some things than a single processor system. On launch this is more a product for working rather than playing...

    In time...it'll become more affordable for us enthusiasts then we'll play too!

  5. WOW MediaMan... Great article. Clear and very well written.

  6. Thank you.

  7. Unregistered

    Good article, but one thing: In AMD's Dual Core implementation the cores are NOT linked together using HyperTransport. They uses a more direct coupling called SRQ (System Request Queue). The advantage is that cache coherencey updates between the cores are much faster. I.e. AMD's dual core implementation is no different to it's single core cousin with respect to HyperTransport/crossbar/memory-controller. Of course Hypertransport-Links can be used to extend the system with further CPUs, but that is a differnent story.

  8. Unregistered

    Good article! The best is that it explains things in a way that you don't need to be an engineer or a mathematic professor to understand most of it
    I usually understand most of more advanced articles, but why make it more complicated then necesary?

    I wouldn't be to suprised if AMD releases dualcore versions of their Opteron 1XX, Opteron 2XX and Opteron 8XX CPU,s in 2005 and not just for the heck of it. A system with 8 dualcore Opteron 8XX CPU's would ofcourse be 16 cores in total.

    But I don't think Socket940 will be big in the enthusiast market. Sure some will ofcourse get it, just like there are allready some enthusiasts that have Dual Pentium III/Athlon MP/Xeon/Opteron systems. But I think most enthusiast will get dual core Socket939 Athlons, that probobly will be released in late 2005.
    Some may want/need ECC memory and get Socket940 instead or need more then one dualcore processor for the specialized personal use, but I think the Socket939 platform will be more popular.

    The one who lives will see.

  9. Quote:
    Originally Posted by Unregistered

    But I don't think Socket940 will be big in the enthusiast market. Sure some will ofcourse get it, just like there are allready some enthusiasts that have Dual Pentium III/Athlon MP/Xeon/Opteron systems. But I think most enthusiast will get dual core Socket939 Athlons, that probobly will be released in late 2005.
    Some may want/need ECC memory and get Socket940 instead or need more then one dualcore processor for the specialized personal use, but I think the Socket939 platform will be more popular.

    Funny thing about enthusiasts...we all look for the best deal and sometimes whine about the high cost...but tally up what we actually spend on the entire box. It'll be much more than the average user. We're funny that way.

    You are on target that Socket 940 will not be as popular with the enthusiast. Socket 940 wasn't designed for the enthusiast really. Socket 939 is better suited first and foremost because of its ability to use "normal" memory rather than the more expensive REG ECC.

    Think of Socket 940 more for the performance workstation. It's a lot of horsepower with the benefits that pertain to ECC REG memory.

    By coming out with a BIG impressive Socket 940 FX processor...it grabs the headlines. It says "Hey...look at AMD!". Then AMD can follow up with other products once they have the attention of the readers.

    It's the same philosophy as having a loss leader item on sale at a store. The loss leader item brings shoppers in. Very few of them may purchase it but they are in the store...they'll most likely pick up other things while they are there.

  10. Unregistered
    Quote:

    Funny thing about enthusiasts...we all look for the best deal and sometimes whine about the high cost...but tally up what we actually spend on the entire box. It'll be much more than the average user. We're funny that way.

    Yes, it's not getting from A to B that mathers, it's how much fun you had getting there that counts :P
    That statement works somewhat better when you look at cars and motorcycles then computers, but computers can be fun to

    Quote:

    By coming out with a BIG impressive Socket 940 FX processor...it grabs the headlines. It says "Hey...look at AMD!". Then AMD can follow up with other products once they have the attention of the readers.

    Yes, AMD allready do Socket939 version of Athlon 64 FX though. But a Opteron 2XX system will still be nice. If you get that when dualcore gets out that means 4 cores instead, not to shabby

  11. Unregistered

    MediaMan, great work man.

    I've just finished my English homework, we were supposed to find an interesting article and write a summary of it, and of course, I chose this yours.

    Keep up the good work.

    /SpinBoy

  12. Unregistered

    I think you should title your page, AMD Hype.

  13. Or not, because AMD announced dual-core CPUs first, and that's what the article is based on.

  14. Unregistered

    Acid-

    I believe that this is one of the best non-biased articles I have ever read pertaining to processor technology. Bravo.

  15. MediaMan, I think you missed your calling. You should have been a school teacher. With a article that well written even the class clowns would get an "A" on their exam....bloody good m8..

  16. Unregistered

    IBM have had a dual core server chip out for years, so saying that AMD engineers have "cracked" anything is perhaps innaccurate, all they have done is brought the option of a dual core cpu down to the pc level.

  17. And thats what matters to us now isnt it.

  18. Unregistered

    I don't understand how an app (e.g. Photoshop) could take advantage of an SMP. I mean, doesn't the OS "shield" the hardware from the apps? Applicantions are not supposed to know about whether it is a uniprocessor, an SMP, or a dual-core, right? And what if the app knows it's SMP or dual-core, but the OS doesn't support SMP or dual core? Is it possible? Thx.

  19. Unregistered

    sorry that i have to make a comment about 64 bit processors here, because there is no 'comment' feature in the "64-bit simplified" article.
    What on earth is a 64-bit processor? Does it mean 64-bit data bus? 64-bit control bus? 64-bit registers? 64-bit everything?

  20. Quote:

    I don't understand how an app (e.g. Photoshop) could take advantage of an SMP. I mean, doesn't the OS "shield" the hardware from the apps? Applicantions are not supposed to know about whether it is a uniprocessor, an SMP, or a dual-core, right? And what if the app knows it's SMP or dual-core, but the OS doesn't support SMP or dual core? Is it possible? Thx.

    The OS doesn't do any more shielding from apps these days than buffer overflow protection with the NX/EDB bits on Intel/AMD processors. Applications, the OS, and the hardware is designed to let the application know if SMP exists explicitly for the purpose of taking advantage of it. Applications are most certainly supposed to know. Additionally, if the OS doesn't support SMP, the application has no idea -- it's all fed directly from the OS.

    Quote:

    sorry that i have to make a comment about 64 bit processors here, because there is no 'comment' feature in the "64-bit simplified" article.
    What on earth is a 64-bit processor? Does it mean 64-bit data bus? 64-bit control bus? 64-bit registers? 64-bit everything?

    In computers, a 64-bit processor is one in which data is processed and/or stored in 64-bit chunks. The term often refers to the size of the CPU's registers that holds memory adddresses and other data, as well as the arithmetic logic unit that operates on those registers to compute. Busses have been varying widths for ages, with the Athlon XP being a 32 bit CPU with a 64 bit bus (Twin 32 bit pipelines) -- the Athlon 64 has a 64 bit memory-to-CPU bus, and a hypertransport bus which is CPU-to-chipset and it's 16bit bi-directional. A computer architecture described as "64-bit" generally has integer registers that are 64 bits wide and thus directly supports dealing both internally and externally with 64-bit "chunks" of data.

    Bus widths don't count in the equation.

  21. Unregistered

    if more info needed i will register

  22. Unregistered

    Nice article, very informative.

  23. Unregistered

    gimme gimme gimme !!!
    Great article, Thanks!

  24. Unregistered

    I do have a question ! Will these processers be more ESD sensitive that
    the commonly used ?? Will special precautions have to be taken ?
    JG

  25. For those who may not understand the previous poster's question;

    ESD = Electro Static Discharge.

    ESD is a term most commonly used when handling/transporting electronic equipment such as microprocessors. I would imagine that the dual core processor would be handled with the same precautions as a single core processor. The ESD risk would be the same.

  26. Unregistered

    Excellent! Excellent! Excellent!

  27. Thanks

  28. Wow this came out of the wood works...

  29. Thank you so much for putting together such a great article. This is the best explanation I ever got about the dual-core technology so far, and, finally, I start to understand how things work.

  30. thanks man
    i learnt a lot!

  31. thanx

  32. Awesome breakdown!

    Quick question:

    I saw some computers advertised on ebay with intel core duo procs. The seller claimed the the Ghz rating applied to each core, making a dual-core 2.0Ghz chip actually clock at a total speed of 4Ghz all together.

    Is this anywhere near true? Seems oversimplified to me.

  33. It's not true. The cpu still clocks at 2ghz. The seller is using pseudoscientific fakery to make the thing sound better than it is. That is not to say that a dual core 2.0ghz is a slouch. It is a cutting edge machine. The seller should be more honest - that thing could sell itself without relying on that kind of bullcrap.

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>