microcode, compilers, and supercomputer architecture

From: Eric Smith <eric_at_brouhaha.com>
Date: Sun Apr 4 21:57:18 1999

>> Sure. And the microcode compilers I've written and used are much better
>> at optimizing horizontal microcode than I have the time or patience to do
>> by hand.
>
> Your lack of time and patience is not equal to the claim you make regarding
> the quality of optimisation possible.

In theory, perhaps.

In the real world, there is always a tradeoff between optimizing the last
bit of performance into something, and the cost thereof. The microcode
compilers I have used have done a better job that a person would have done
in any practical length of time that a company would have been willing to
pay for.

Tony's example of trying to figure out which way AMUX should be set is exactly
the sort of thing that a proper microcode compiler takes care of.

Note that my idea of a compiled language for microcode and his for an
assembler are actually quite close. I don't call it an assembler because
there isn't a simple correspondence between source "statements" and
microinstruction words, and my compiler handles algebraic expressions,
loops, and various control structures. On the other hand, there have been
some so-called "assemblers" that do that also.

The dividing line between assemblers and compilers has always been somewhat
vague, and it has gotten worse in recent years since now assemblers for RISC
machines are expected to do instruction scheduling. And then there is VLIW
and EPIC...
Received on Sun Apr 04 1999 - 21:57:18 BST

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:31:39 BST