Well it looks like your understand of threads differs to what I was taught during my IT degree. I am not in the field of programming, but we did cover the subject.
If you want your application to benefit from more cores, you need to code with that in mind. And trust me developing for more cores is not easy at all. And some sequential code simply can't run on more than one thread.
The OS can move the whole thread from core to core and can load balance applications, but it can't split up a single thread.
I sell computers for a living and I saw the move from single to dual and now quad. And there where many applications that ran slower on the dual cores vs. faster clocked single and there are many applications that run slower on the quads vs faster clocked dual.
Intels Turbo mode is a testament for that. It specifically caters for all these old business packages out there...
If you want your application to benefit from more cores, you need to code with that in mind. And trust me developing for more cores is not easy at all. And some sequential code simply can't run on more than one thread.
The OS can move the whole thread from core to core and can load balance applications, but it can't split up a single thread.
I sell computers for a living and I saw the move from single to dual and now quad. And there where many applications that ran slower on the dual cores vs. faster clocked single and there are many applications that run slower on the quads vs faster clocked dual.
Intels Turbo mode is a testament for that. It specifically caters for all these old business packages out there...