Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: OT: P4- 3 GHz with hyper-threading

Author: Robert Hyatt

Date: 09:53:39 11/03/02

Go up one level in this thread


On November 03, 2002 at 02:00:41, Anthony Cozzie wrote:

>If I understand SMT correctly, its even more than that.  A modern processor has
>a lot of functional units lying around.  An Athlon can in theory execute 3
>branches, 3 integer instructions, and 3 floating point instructions every cycle.
> In reality, most of the time those units are just sitting around. One of the
>ideas behind SMT is that you can run 2 threads, and split the functional units
>between them.
>
>anthony


Sure...  but the main point is that anywhere a thread can't execute, the other
thread gets a chance.  Memory reads are simply one example.  Executing a long
instruction that takes many cycles to stuff something into eax will block when
eax is used, until the value is ready.  The other thread can fill in the gaps
quite easily.

There are lots of reason for a thread to "block" inside the CPU, but by far the
most common reason is "waiting on a register to get loaded" whether that is from
a read to memory or the result of a slow instruction...

It is also just another way to get parallel instruction streams beyond what is
done in super-scalar.  The intel processors have so few registers (four basic
general purpose registers) that keeping two functional units busy with a single
thread of execution is not easy.  Hyper-threading takes this up a level so that
we run two instruction streams from two different processes, to try to keep all
the pipes busy.



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.