Friend and I got into a debate, the simple question: will two computer processors, one finished manufacturing right after the other, compute the same data in the same exact way, down to each transistor?<p>Opinions? Facts?<p>I appreciate the help here.
No, they don't always achieve the same results but there is a lot of engineering dedicated to correct the errors.<p>You can find academic papers on the subject of GPGPU soft errors around 5 years ago when people started doing general purpose computation on graphics processors. GPU's did not dedicate as much logic to error correction because it doesn't matter as much for real time graphics.
No, many of the current Intel processors come off of the same fab and are intended to be identical, but the devices that test worse become the lower spec versions. A quad core i7 with a core that performs significant'y below the others becomes a dual core model. When you are making 1.7 <i>Billion</i> of anything there are going to be some errors, but a CPU is designed to compensate for this.
Yes, digital logic is generally designed to be as deterministic as possible since that makes everything easier. There's even a concept called lockstep: <a href="http://en.wikipedia.org/wiki/Lockstep_(computing)" rel="nofollow">http://en.wikipedia.org/wiki/Lockstep_(computing)</a>
I don't think this is in the wild yet, but interesting all the same...<p><a href="http://www.extremetech.com/computing/151506-self-healing-self-monitoring-chip-rearranges-circuit-if-damaged" rel="nofollow">http://www.extremetech.com/computing/151506-self-healing-sel...</a>
A processor can compute differently when it's over clocked.<p><a href="http://blogs.msdn.com/b/oldnewthing/archive/2005/04/12/407562.aspx" rel="nofollow">http://blogs.msdn.com/b/oldnewthing/archive/2005/04/12/40756...</a>