Robert Hyatt                    Computer and Information Sciences
[EMAIL PROTECTED]               University of Alabama at Birmingham
(205) 934-2213                  115A Campbell Hall, UAB Station 
(205) 934-5473 FAX              Birmingham, AL 35294-1170

On Tue, 7 Sep 1999, John F. Nixon wrote:

> Robert M. Hyatt writes:
> 
>  > How are you going to have _two different threads_ access the same cpu at
>  > the same time?
> 
> Modern CPUs can have many instructions executing in parallel.  In
> particular, the Alpha 21264 can have up to 4 integer instructions
> executing per CPU cycle, and two floating point instructions per
> cycle.  It is possible for different threads to have instructions in
> process at the same time on the same CPU.


No it isn't.  Superscalar processors execute multiple instructions in
one cycle... but they have exactly _one_ program counter.  So there is
_no_ way for two threads to issue instructions to the same cpu at the same
time.

And yes, I know about the superscalar stuff in the alpha 21x64, but the
intel Pentium and beyond do _exactly_ the same thing (superscalar
execution).  In fact, _every_ processor being made today does super-
scalar execution, unless you count the ones put in blenders and so
forth...



> 
>  >  I read his question to be "can one thread use the FPU
>  > while the other thread uses the normal integer processing CPU.  the
>  > answer is no.  Because the cpu/fpu combination has one program counter,
>  > one cpu state.  Unless I have overlooked some remarkable CPU breakthrough
>  > from Intel, that is...
> 
> Check out the design of the Alpha 21264 at
> http://www.digital.com/hpc/ref/ref_systems.html
> 
> Basically, with out of order and speculative execution, the idea that
> a CPU has only one instruction in process at any time, and hence only
> one PC, is incorrect.  The CPU maintains that view from the outside,
> today at least 8^) but internally that isn't the case.  

Oh but it is...  because while they execute instructions out of order,
they then have to re-assemble the results into what would have happened
had the instructions exected in order.  That was the novel feature of the
original pentium-pro cpu...  No way to execute multiple threads on one cpu
because there is just one program counter...




> 
> -- 
> cheers, Fred
> -
> Linux SMP list: FIRST see FAQ at http://www.irisa.fr/prive/mentre/smp-faq/
> To Unsubscribe: send "unsubscribe linux-smp" to [EMAIL PROTECTED]
> 

-
Linux SMP list: FIRST see FAQ at http://www.irisa.fr/prive/mentre/smp-faq/
To Unsubscribe: send "unsubscribe linux-smp" to [EMAIL PROTECTED]

Reply via email to