Hyperthreading

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
gtsphere

Hyperthreading

Post by gtsphere »

I just have a simple question and I wonder if anyone has a not so simple answer ;-)

Has anyone developed with or under hyperthreading yet? Like how different are calls and all kinds of good stuff like that!

Thanks!

-GT
Tim

Re:Hyperthreading

Post by Tim »

The OS sees each hyperthreading unit as a separate processor. For example, Windows NT 4 doesn't know about hyperthreaded CPUs yet it still identitifes two separate CPUs for one hyperthreaded CPU.
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:Hyperthreading

Post by Pype.Clicker »

i suppose the only thing that might differ is the initialization sequence ... but i only gave a quick look to those HyperThreading whitepapers.
elias

Re:Hyperthreading

Post by elias »

what is the point of hyperthreading? is it really any faster than w/o?
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:Hyperthreading

Post by Pype.Clicker »

According to Intel, they have the room to duplicate the processor state, so you have one "ALU" unit, but two set of "ALU_status" pipeline-registers, so that you can remember virtual processor 1 want to do an ADD on R1 and R3 and virtual processor 2 want to do SUB on R5 and R6.

If for some reason, the virtual processor 1 must wait before it can issue the ALU operation (for instance, because R3 cannot be used immediately because it waits for the result of the previous operation on VP1 to complete, the operation for VP2 is issued on that cycle.

Other such "waiting states" will occur when a VP need data from the main memory (which can take up to 10 cycles on a 2GHz with 200MHz RAM)

and from an OSDEV point of view, it gives you a dual processor for the price of a normal system. And some operations involving a client and a server thread can be done *really* faster when client and servers execute on separate processors simultaneously (no more task switches, for instance :)
etoile03

Re:Hyperthreading

Post by etoile03 »

here's an article about hyperthreading:

http://www-106.ibm.com/developerworks/l ... ary/l-htl/
Post Reply