9fans archive / 1997 / 04 / 78 /    prev next

From: David Johnston DJ@sym...
Subject: In defence of hardware engineers and out of order execution.
Date: Wed, 23 Apr 1997 16:24:12 +0100

<miller@ham...> writes:

>There's no need for anyone to feel under fire.  I think there has been a
>failure of imagination on the part of both hardware and software folks, as
>to just how much trickery our counterparts are likely to get up to.
>

OK, I wasn't really feeling got at, it's just easier to argue if you
take a side.
If at any time you feel my whitterings to be sounding grumpy, please
imagine my tongue to be somewhere near my cheek. I can't stand to use
those smiley things.

> I didn't mean that hardware designers were unreliable.
But we are. Don't believe the hype.

>But equally, anyone who thinks that only "some madman" would write the
>equivalent of
>	par {
>		{ a = 1; x = b; }
>		{ b = 1; y = a; }
>	}
>has unrealistic expectations about the way concurrent software is being
>written.

Yes, sorry. I'll rephrase that. "some person who is not fully aware of
the
implications of the differences between this weeks processors and last
weeks".
 
Anyway what I was getting at is that the solution that can be offered
only
makes sense at the machine level (instructions & modes), so a high
level language which assumes an ordering model (like if it comes
first in the source it get executed first in real time) is out of step
with
reality. Thus it's the language or compiler which should acquire
a means to enforce ordering.

Of course once I crack the design of the anticausal pipeline you'll
have to do something really clever to keep your threads talking.

Also I feel that EIEIO is the best ever instruction name in the
history of processor design.

David Johnston

Microsoft may add a sig or some MIME or some binary gunk to the
bottom of this email. Please ignore.