home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.arch
- Path: sparky!uunet!psinntp!ficc!peter
- From: peter@ferranti.com (Peter da Silva)
- Subject: Re: CISC Microcode (was Re: RISC Mainframe)
- Message-ID: <id.RKUR.GFF@ferranti.com>
- Organization: Xenix Support, FICC
- References: <54638@mentor.cc.purdue.edu> <id.YGRR.V_5@ferranti.com> <55117@mentor.cc.purdue.edu>
- Date: Mon, 27 Jul 1992 12:41:44 GMT
- Lines: 57
-
- In article <55117@mentor.cc.purdue.edu> hrubin@pop.stat.purdue.edu (Herman Rubin) writes:
- > In article <id.YGRR.V_5@ferranti.com> peter@ferranti.com (Peter da Silva) writes:
- > >In article <54638@mentor.cc.purdue.edu> hrubin@pop.stat.purdue.edu (Herman Rubin) writes:
- > >> > 1) The compilers can't figure out how to use them often.
-
- > >> We keep hearing that compilers can do as well as humans.
-
- > >They do, but not in the same way. Similarly there are optimisations compilers
- > >will use that humans can't.
-
- > If an optimization involves extensive calculation, a superfast sub-imbecile
- > can do it better than a human.
-
- I'm glad you noticed it. We're agreed then that these idiot savants generate
- code that is as fast as a human can write, if not the same sort of code.
-
- > >> > or 2) Most realistic code doesn't lend itself to the mode.
-
- > >> What is realistic code? I will code differently if there is hardware
- > >> auto-increment for addresses.
-
- > >I won't.
-
- > Why not? Because this would involve using an optimization not in the
- > usual set?
-
- Because allowing the compiler to find machine-specific optimisations is more
- cost effective than doing it myself. Because the code I write runs on Sparcs,
- 68000s, 80386s, 80286s, VAXen, and 68020s. Because next month it might be
- running on MIPS or 88000. Next year it might be running on Supersparc or Alpha.
- Because optimising when you don't need to is a waste of resources.
-
- If I'm writing a Forth inner interpreter loop in assembly, I'll use "JMP (IP)+"
- or "LDA IP; PLO PC; LDA IP; PHI PC; SEP PC" or "MOV [IP]++,PC". If I'm writing
- even a small complete program, I'll let the compiler worry about whether to use
- a multiply or a shift.
-
- > >I expect any good programmer to code for the abstract machine defined for
- > >the language. Remember, software longa, hardware brevis.
-
- > This might be reasonable if we had a language produced by people who have
- > some respect for the capabilities of humans.
-
- We do. We have dozens of them.
-
- > An analogy to the present
- > programming languages would be a car-controller in which one could feed
- > in a destination, but would not allow manual control.
-
- Analogies are like instant coffee, but what you want is a little more primitive
- than that. I don't know about you, but I'm glad they don't make cars with
- manual chokes any more, or that need double-clutching when you shift.
- --
- Peter da Silva `-_-'
- $ EDIT/TECO LOVE 'U`
- %TECO-W-OLDJOKE Not war? Have you hugged your wolf today?
- Ferranti Intl. Ctls. Corp. Sugar Land, TX 77487-5012 +1 713 274 5180
-