5 ms·
The "high-level architecture" is a specialized architecture. The problem with a specialized architecture is that it is pitched as doing one thing really well (
by gvb 17y ago
The "high-level architecture" is a specialized architecture. The problem with a specialized architecture is that it is pitched as doing one thing really well (e.g. execute lisp) but, by the time it is implemented, it is late to market and slower than the "ossified crud" architectures. High level architecture CPUs have been tried several times and have failed every time. The article pines for one instance of a lisp engine and refers to several more. A non-lisp example is the Intel iAPX 432
http://en.wikipedia.org/wiki/Intel_iAPX_432 http://en.wikipedia.org/wiki/Intel_iAPX_432. Lots of people have created Forth engines, but none is used widely http://www.ultratechnology.com/chips.htm http://www.ultratechnology.com/chips.htm.
General purpose CPU architectures beat specialized architectures because they are more flexible and are simpler. Flexibility means a broader market. Simplicity means faster execution and fewer bugs ("errata") in the CPU itself, where it is very difficult and expensive to fix.
Interestingly, the current CPU architectures seem to be the sweet spot: going lower level with VLIW http://en.wikipedia.org/wiki/Very_long_instruction_word http://en.wikipedia.org/wiki/Very_long_instruction_word has also been tried repeatedly and failed repeatedly.
Specialization is for insects. - Robert A. Heinlein
http://elise.com/quotes/a/heinlein_-_specialization_is_for_insects.php http://elise.com/quotes/a/heinlein_-_specialization_is_for_i...
- asciilifeform 17y ago> Simplicity Have you seen the Intel/AMD CPU manuals? > Specialization The Symbolics Lisp Machines ran ZetaLisp, Common Lisp, Fortran, C, Pascal, ADA... and you could write and interactively debug (on the source level) a program written in any combination of these. It is our current machines which suffer from insectoid specialization - for C. Dynamic languages will always be second-class citizens (from speed & complexity penalties) on the braindead C Architectures.
- gvb 17y ago> Have you seen the Intel/AMD CPU manuals? Yes. I've programmed the x86 architecture in assembly extensively, including an embedded system BootROM, as well as various high level languages. By simplicity, I'm referring to the simplicity of the instruction operations, not the complexity of the architecture with its dearth of general purpose registers and heavy use of special purpose registers. (Once you get into expanded 32 bit and 64 bit modes, the register mess is somewhat better.) The complexity of the x86 architecture was due to inheritance and expansion from the 8080 architecture which drove the use of special purpose registers. It had nothing to do with high level languages and definitely not C. The world has wasted an incredible number of engineer-hours working around the limitations of the x86 architecture. The "designed for C" label on architectures is simply marketing-speak for "you know how bad the x86 is, we are much better" without actually naming their competition.
- gchpaco 17y agoHow is it you can possibly say "simplicity of the instruction operations" and "programmed the x86 architecture in assembly extensively" with a straight face? This is the architecture where the division operator dumps its dross in one specific nominally general purpose register (my brain says CX but I could believe one of the others).