Originally posted by: CTho9305
Originally posted by: MrDudeMan
Originally posted by: f95toli
I might be wrong, but isn't there some amount of redundance built into modern CPUs?
If so, one could imagine there being a very small difference in speed due to one chip using a different set of transistors for a given task than the other (due to e.g a faulty transistor)
There is some redundancy which could lead to longer paths to accomplish the same thing, but you are talking about the difference in 1-2 cycles at the mos.
The redundancy doesn't really matter*. If you consider an L1 cache with a repair, the repaired path may potentially be longer, but for the chip to work, signals
must propagate through the whole path before the clock tick. It's not a situation where a signal can arrive a little late, and continue on during the next clock cycle. If data arrives late, bad things happen.
*The redundancy could matter in a large cache with non-uniform access latency (maybe Montecito? ask pm). If you swapped in redundant banks that were farther away than the original banks cycle-wise, there could be a difference. However, I think that'd be difficult to implement (since the logic that figures out how long an access will take now has to be aware of repairs), and it would be easier to swap in a redundant bank that's roughly the same distance as the original.
You could theoretically get differences at clock-domain boundaries - for example, there are going to be synchronizers sitting between the logic that runs at the bus speed and the logic that runs at the core speed. A synchronizer is the one case I can think of where arriving late doesn't break things. You could theoretically have some crappy transistors on one side of the synchronizer on one of your chips, and fast transistors on the other chip, and if the data reaches those transistors at exactly the right time, the receiving side of the synchronizer would get the data on different cycles.
However[/i], I'm not sure you'd see that happen much in the real world because of testing/binning issues.