we know that at any time only part of our CPU is typically in use (say you're running Seti@home, it's not necessarily using every pipe available at a time), and the P4s Hyperthreading is supposed to allow multiple threads to run at once in order to utilize more pipes (rather than having 2 cores to run more threads at once to achieve multithreading) correct?
is it not possible to do something like this in software? ie, the OS knows what kind of CPU u have so it can figure out how many pipes it has to fill, and then manages the multiple threads so that it can utilize all of the pipes without having programs be HyperThread aware in order to take advantage of say the P4's soon to come (if it's not in it already) HyperThreading ability. this way the CPU only sees one (I think) thread per pipe, though I'm not sure..
my memory is a bit hazy in this area though cause the last time I read up on multithreading was when Anand did his Hyperthreading article (though that wasn't all I read).
is it not possible to do something like this in software? ie, the OS knows what kind of CPU u have so it can figure out how many pipes it has to fill, and then manages the multiple threads so that it can utilize all of the pipes without having programs be HyperThread aware in order to take advantage of say the P4's soon to come (if it's not in it already) HyperThreading ability. this way the CPU only sees one (I think) thread per pipe, though I'm not sure..
my memory is a bit hazy in this area though cause the last time I read up on multithreading was when Anand did his Hyperthreading article (though that wasn't all I read).