I'm wondering what software must have to take full advantage of hyperthreading? Let's say I have intel cpu with 4physical cores. With hyperthreading the cpu appears to have 8 cores to the OS that is aware of HT technology.So that means the OS can address two independent threads to a single core. So it means the cpu can run 8threads of control 100% parallel divided 2 threads for each core? But however can a single core have more than 1 program counter?
So if the above sentence is true, that means to fully utilize a 4core cpu with HTT the software at least must have 8 programmed threads of control?