<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Dual Core Processing: Over-simplified, demystified and explained.</title>
	<atom:link href="http://icrontic.com/articles/dual_core/feed" rel="self" type="application/rss+xml" />
	<link>http://icrontic.com/articles/dual_core</link>
	<description>If geeks love it, we&#039;re on it.</description>
	<lastBuildDate>Sat, 21 Nov 2009 09:34:41 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: jbe</title>
		<link>http://icrontic.com/articles/dual_core/comment-page-1#comment-42121</link>
		<dc:creator>jbe</dc:creator>
		<pubDate>Sun, 08 Nov 2009 18:55:42 +0000</pubDate>
		<guid isPermaLink="false">http://icrontic.com/articles/dual_core#comment-42121</guid>
		<description>You&#039;re leaving out way too much.

First of all, the pipeline is just a cache of scheduled instructions. This means that a long pipeline yields high performance, only when the pipe is full of instructions that are actually usable at time of execution.

It&#039;s hard to explain, but I&#039;ll give it a try.

While processing instructions, it&#039;s important to always have a next instruction ready to execute. Feeding instructions (through the pipeline) to the CPU synchronously, makes it perform at optimal speed.
Some instructions have a clear outcome as to what the next instruction will be. Hence, these instructions are &quot;injected&quot; in the pipe. The instructions in the pipe, are executed immediately after the CPU has finished its current &quot;job&quot; (instruction).
However, lots of instructions are not statically predictable. So, processing architectures use a technique, which is known under many names, let&#039;s call it prediction.
When the next instruction to be performed, is predicted correctly, it will be executed without any loss of clock ticks. Hence, in theory, when prediction is 100% correct, every MHz counts as more speed.
Relating this back to the length of the pipeline.
When a prediction is not correct, the complete pipeline is discarded. After all, when an instruction somewhere in the pipe is not relevant anymore, the instructions that follow, aren&#039;t either.
So, as you can guess, having a 31 instructions length pipe, will only give great results when prediction is correct. Ultimately, when prediction is 100% correct, every clock tick is optimally used. However, when a prediction is incorrect, the whole pipe has to be discarded. Off course, it has to be filled again as well.

See, for instance, the architecture of the IBM PowerPC G5 (used in the older Macs). A RISC processor with an extremely long pipeline. Anyone who has used one of these, will have noticed how some applications performed incredibly fast and some others just didn&#039;t perform at all. It all has to do with the way they were compiled and how predictable the instructions were.

I&#039;m leaving it at this. The only thing I have left to say, is a reaction to the following line.


Now remember that the processor cache is running at the same clock speed as the processor itself.


Only the L1 cache, L2 is slower, L3, even more!

Cheers,
Jan</description>
		<content:encoded><![CDATA[<p>You&#8217;re leaving out way too much.</p>
<p>First of all, the pipeline is just a cache of scheduled instructions. This means that a long pipeline yields high performance, only when the pipe is full of instructions that are actually usable at time of execution.</p>
<p>It&#8217;s hard to explain, but I&#8217;ll give it a try.</p>
<p>While processing instructions, it&#8217;s important to always have a next instruction ready to execute. Feeding instructions (through the pipeline) to the CPU synchronously, makes it perform at optimal speed.<br />
Some instructions have a clear outcome as to what the next instruction will be. Hence, these instructions are &#8220;injected&#8221; in the pipe. The instructions in the pipe, are executed immediately after the CPU has finished its current &#8220;job&#8221; (instruction).<br />
However, lots of instructions are not statically predictable. So, processing architectures use a technique, which is known under many names, let&#8217;s call it prediction.<br />
When the next instruction to be performed, is predicted correctly, it will be executed without any loss of clock ticks. Hence, in theory, when prediction is 100% correct, every MHz counts as more speed.<br />
Relating this back to the length of the pipeline.<br />
When a prediction is not correct, the complete pipeline is discarded. After all, when an instruction somewhere in the pipe is not relevant anymore, the instructions that follow, aren&#8217;t either.<br />
So, as you can guess, having a 31 instructions length pipe, will only give great results when prediction is correct. Ultimately, when prediction is 100% correct, every clock tick is optimally used. However, when a prediction is incorrect, the whole pipe has to be discarded. Off course, it has to be filled again as well.</p>
<p>See, for instance, the architecture of the IBM PowerPC G5 (used in the older Macs). A RISC processor with an extremely long pipeline. Anyone who has used one of these, will have noticed how some applications performed incredibly fast and some others just didn&#8217;t perform at all. It all has to do with the way they were compiled and how predictable the instructions were.</p>
<p>I&#8217;m leaving it at this. The only thing I have left to say, is a reaction to the following line.</p>
<p>Now remember that the processor cache is running at the same clock speed as the processor itself.</p>
<p>Only the L1 cache, L2 is slower, L3, even more!</p>
<p>Cheers,<br />
Jan</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: CyberKing419</title>
		<link>http://icrontic.com/articles/dual_core/comment-page-1#comment-38055</link>
		<dc:creator>CyberKing419</dc:creator>
		<pubDate>Mon, 19 Oct 2009 00:51:43 +0000</pubDate>
		<guid isPermaLink="false">http://icrontic.com/articles/dual_core#comment-38055</guid>
		<description>which is better and why dual core processor or quad processor?</description>
		<content:encoded><![CDATA[<p>which is better and why dual core processor or quad processor?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Britton</title>
		<link>http://icrontic.com/articles/dual_core/comment-page-1#comment-5669</link>
		<dc:creator>Britton</dc:creator>
		<pubDate>Sun, 18 Jan 2009 04:39:21 +0000</pubDate>
		<guid isPermaLink="false">http://icrontic.com/articles/dual_core#comment-5669</guid>
		<description>Yes that is a great article for sure. I just got this laptop and its dual core. An Athlon X64 running at 1.9Ghz and believe me I know what you mean about the heat issue. A 10Ghz processor would probably melt the casing on the laptop. This cpu is only 1.9Ghz but when I play games like Sacred 2: Fallen Angel it makes the case get almost untouchable. I don&#039;t have the spare money right now to buy a cooling pad for it. So I just use the small desk fan I have and place it near it at an angle that seems to keep it cool. I guess overclocking it out of the question. :) 

The one thing I am unclear on is: Does the dual cores actually help my programs run faster or is only one of the two cores processing the data for an individual program. Also since each core isn&#039;t independently running at 1.9Ghz a piece (making it 2.9ghz over all) then does that mean there only running at 955mhz each?</description>
		<content:encoded><![CDATA[<p>Yes that is a great article for sure. I just got this laptop and its dual core. An Athlon X64 running at 1.9Ghz and believe me I know what you mean about the heat issue. A 10Ghz processor would probably melt the casing on the laptop. This cpu is only 1.9Ghz but when I play games like Sacred 2: Fallen Angel it makes the case get almost untouchable. I don&#8217;t have the spare money right now to buy a cooling pad for it. So I just use the small desk fan I have and place it near it at an angle that seems to keep it cool. I guess overclocking it out of the question. :) </p>
<p>The one thing I am unclear on is: Does the dual cores actually help my programs run faster or is only one of the two cores processing the data for an individual program. Also since each core isn&#8217;t independently running at 1.9Ghz a piece (making it 2.9ghz over all) then does that mean there only running at 955mhz each?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
