Mechanical engineers are involved in the design of boards too! How?
When boards are heated everything tends to expand and guess what, the expansion factor is not the same for the comments, the traces, etc. Multiple layer boards are designed so that things melt at different temperatures -- guess what that means on top of everything -- the board itself is made of layers and the layers and components (traces, holes, etc) all expand at different rates. Engineers need not only work with the temperature range effects but also the duty cycle. Running a cache hot say, with a hit rate of say 97% vs. the design rating of 90% means not only do the chips run hot, but the board is getting stressed. So when an engineer calculates how much solder and what kind of solder based on a 90% hit rate, guess what happens when you hand tune the computations to hit the cache more often -- yep, mechanical stress failures. All this of course comes from the bell-curve. When you design around the center and then add a 50% safety factor, you're not really +2 standard deviations to the right; and that's what you need to know: what is the safety margin in the design, how close to it are you (or equivalently, how far to the right). More interestingly. Chip manufactures produce chips and then sort them at the end. The "sort" operation sorts chips by the highest clock frequency they run. I.e., a 1 GHz and 1.5 GHz processor have the same design are made the same way, etc. At the end of the manufacturing cycle, the chips are tested and then sorted. Of course the sorting is statistical and need to be biased to the left so that it's pretty good odds that whatever chip you buy can run at a higher clock rate, but it will run hotter (maybe even significantly so, hence the sort operation putting it in a slow bucket), stress your boards, etc. Well, I hope this tidbit is enlightening even though it offers no advice. Shlomo _______________________________________________ Linux-il mailing list Linux-il@cs.huji.ac.il http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il