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.




Reply With Quote

Bookmarks