Quote Originally Posted by Manicdan View Post
..
so are cpu designers idiots who overbuild chips knowing its a waste of money and resources? or is it that SMT only gets 15% of a bonus because chips are almost always being fully utilized?

Not at all. No single thread will ever use all your integer and floating point resources at the same time. You typically have low usage, than spikes when you're running some loops which fit in the caches and so on. Everything works against you, diminishing utilization : code, caches, IMC, RAM, I/O,etc. You can have special cases of hand tuned software like Linpack where you can achieve almost 100% utilization ( they typically get somewhere around 9x% of what's theoretically possible ).
Most of the real life code is spaghetti code with data dependencies, branches,etc where even a CPU with excellent front end like Nehalem barely manages an IPC of 1.5-2 out of a theoretical 4.