home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!charon.amdahl.com!pacbell.com!decwrl!sdd.hp.com!cs.utexas.edu!wupost!usc!rpi!batcomputer!munnari.oz.au!uniwa!john
- From: john@gu.uwa.edu.au (John West)
- Newsgroups: comp.arch
- Subject: Re: RTX and SC32
- Date: 6 Nov 1992 05:29:58 GMT
- Organization: The University of Western Australia
- Lines: 43
- Message-ID: <1dcvsmINNiop@uniwa.uwa.edu.au>
- References: <17131@mindlink.bc.ca> <1992Nov4.191038.12063@news.arc.nasa.gov>
- NNTP-Posting-Host: mackerel.gu.uwa.edu.au
-
- lamaster@pioneer.arc.nasa.gov (Hugh LaMaster) writes:
-
- >It would be interesting to know exactly what instructions cause this
- >(alleged?) speedup. Could one or two instructions be added to a standard
- >RISC processor (SPARC/MIPS/m88k/RIOS/HP-PA) to support the same operations
- >and provide the same speedup?
-
- I don't think it is any actual instructions that cause the speedup, but the
- whole architecture of the processor. Its just designed to do stack intensive
- things simply and quickly. You could try adding on-chip stacks with fast access
- to a standard RISC chip, but you'd end up with something looking more and more
- like a Forth chip. It isn't instructions. Its a totally different way of
- looking at things.
-
- >I suspect that standard RISCs already provide what is needed to run Forth
- >efficiently, they just are not handled in one cycle on load/store machines.
-
- No. Load/store architectures are designed to use registers as much as possible,
- without going to memory unless it is really needed. Unfortunately, the stack(s)
- always go in memory. Your single Forth instruction to add two numbers can be
- executed in a single cycle, but on the load/store processor, you've got two
- memory reads, the operation itself, and then a memory write - all memory
- accesses changing the stack pointer. This sort of destroys any hope of
- going superscalar with any sanity.
-
- >So, the question remains: are there any Forth operations which are not
- >efficiently supported on the current crop of RISCs, and are on the
- >named Forth machines? If so, what operations are they, and why?
-
- The answer remains: stacks. Load/store is nowhere near as good at stack
- handling as a dedicated stack architecture, simply because it was never
- designed to be.
-
- RISC processors were designed to run the same sort of languages as CISCs.
- They run C very well. Forth and its friends are very very different languages,
- and you need a processor dedicated to running that sort of language to do it
- well. I don't think they can really be compared - not at a low level, anyway.
- They're just too different. The only valid comparison is how well it does the
- job.
-
- John West
- --
- For the humour impaired: Insert a :-) after every third word
-