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 [EMAIL PROTECTED] _______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig