Oh, hi
@Mark44
Thanks for your answer.
I'm asking about a processor with a single core with
hyperthreading facility.
So, if the processor has two sets of register there's no need to save the first process state.
I already read that
http://superuser.com/questions/122536/what-is-hyper-threading-and-how-does-it-work
It's explained there that for a processor with hyperthreading facility there are really two sets of register.
So when the processor executes long instruction like jmp, conditional jumps, loop, loopnz, call, ret, int, iret but not mul or div I think (please correct me if I'm mistaken), then there's some delay in one of its pipe, so the processor just switches to the other pipeline and executes the instructions in there. And because there are two sets of registers, there's no need for the OS to push general purpose registers. It saves time.
So, in hyperthreading the processor has 1, say, ALU but two sets of register.
And in multicores processors, each core has its own set of register.
So a processor with 5 multicores has 5 register.
For a processor with 5 multicores with hyperthreading it has 10 sets of register.
I've read all the article online but never find the
definite answer about the number of register, which I have suspected.
And thanks for your other answer, but I can't respond it now. I'm still reading the links.
Thanks.