pyramid architectural restraints

Spencer W. Thomas thomas at utah-gr.UUCP
Sat Apr 28 15:38:03 AEST 1984


>	Ignore those machines and maybe they'll go away.  Architectures that
> require aligning multi-byte quantities on particular boundaries sound to me
> like they were designed by an engineer who was interested in simplifying his
> own task at the expense of the software designers who will use the machine.
> The computer is designed once, but there are an infinite number of programs
> that might be run on it.  This short-sighted engineering was OK for the early
> 360's, but is not appropriate for modern computers, and if we software types
> tolerate it, it is likely to keep happening.

A current trend in computer design is to assume that the user will only
be writing in a high-level language, and that the compiler will do the
hard work of generating machine code.  This is the theory behind RISC
machines, in particular.  Making the hardware simpler makes it run
faster.  Once we start getting really convoluted machines (such as ELI,
or some pipelined machines which execute several instructions after a
conditional branch, before actually branching), all your clever hacks
based on assumptions about the hardware will just go straight down the
tubes.  If the compiler were smart enough, it would say "Oh, he's trying
to access a longword, but it's not on the right boundary", and generate
a byte move instruction to align it before accessing.

The basic problem is that generality is slower.  For really blinding
speed, you always have to give up something.  With big memories,
arbitrary alignment is not too hard to give up.  (I bet that the
original application never put longwords on odd byte boundaries, now did
it?)

=Spencer



More information about the Comp.unix.wizards mailing list