[Edu-sig] Knuth's books.

Scott David Daniels Scott.Daniels at Acm.Org
Fri Nov 11 12:55:05 CET 2005


Kirby Urner wrote:
>....  Assembly remains close to the metal and, through MMIX, TAoCP speaks
> to a target audience of chip designers and electronics engineers, 
> not just to those who groove on completely abstracted process.[1]
Actually, I would claim it speaks not to those people (Patterson &
Hennessy speaks to them in a clear voice), but to those who program
"next to the metal" -- os people, compiler people, and those (myself
included) who have a bull-headed obsession with building the fastest
imaginable code.  What MMIX gives you is enough information about
the current phase (next 15 years at least) of machine architecture
to "_know_in_your_bones_" what is expensive and what is cheap.  This
instinct is vital for certain kinds of programming, and useful for a
lot more kinds.

After working hard on MMIX code, and leaving it for 10 years, you will
still know what kinds of things take trivially different amounts of
time, and what kinds of things will "always" be separated by substantial
time penalties.  This knowledge, "what is costly," is hard-won and
precious.  Nobody who "really knows" will divide if multiplication is
"as easy", and the only way to understand why that is true is to
understand what the machines do at their core (By the way, this is old-
school knowledge -- circa 1975).  The current model is memory fetches
and conditional code vs. pure ALU work.  It is now faster to multiply
by 1 or 0 than to test for those cases and "blow the pipeline."


--Scott David Daniels
Scott.Daniels at Acm.Org



More information about the Edu-sig mailing list