home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.arch
- Path: sparky!uunet!zaphod.mps.ohio-state.edu!magnus.acs.ohio-state.edu!usenet.ins.cwru.edu!agate!rsoft!mindlink!a684
- From: Nick_Janow@mindlink.bc.ca (Nick Janow)
- Subject: Re: RTX and SC32
- Organization: MIND LINK! - British Columbia, Canada
- Date: Sat, 7 Nov 1992 09:25:55 GMT
- Message-ID: <17227@mindlink.bc.ca>
- Sender: news@deep.rsoft.bc.ca (Usenet)
- Lines: 57
-
- lamaster@pioneer.arc.nasa.gov (Hugh LaMaster) writes:
-
- >+ These chips can also run several operations in parallel (without
- >+ pipelining), accessing stacks, memory, and I/O simultaneously.
- >
- > 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 only have the instruction list for the Novix 4000: the predecessor of the
- RTX series. It has eight instructions that pack five operations in one
- instruction. An example is DUP nn I@ SWAP -, which does two stack
- manipulations, a memory fetch, an internal register (I/O I think) fetch, and
- an arithmetic operation. That takes two clock cycles, due to the memory
- access.
-
- There are also four, three, and two operation instructions, which are useful
- more often. Operations sequences such as SWAP DROP, DUP !, R> DROP, and OVER
- SWAP - are commonly used in programs, but run inefficiently on "normal"
- processors. I'm unfamiliar with the internal register usage or literal fetch
- instructions, so I can't say how frequently they'd be used in a program.
- They sound like they could be useful for time-critical loops.
-
- The multiple-operation instructions are based on the architecture of the
- stack processors. I don't see how you can add them to one of the processors
- you mentioned, at least not without greatly increasing complexity and/or
- restricting operations.
-
- > 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.
- > If a particular operation takes 2 instructions on a load/store machine and
- > one instruction on a "Forth machine", but the Forth machine requires two
- > cycles to do it, what is the advantage of the Forth machine?
- >
- > 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? Could they be
- > added to the current RISC architectures without major damage?
-
- One very time-critical part of Forth programs is subroutine calls and
- returns. There are a _lot_ of them in a typical program. I don't have a
- reference handy, but I think it's something like 10-20% of the instructions.
- Forth processors are designed to make a call in one clock cycle, and a return
- taking zero cycles (simultaneous with another instruction). Standard
- load/store machines do not offer that fast call/return feature.
-
- Efficient access to two stacks plus memory is also not available--as far as I
- know--in standard load/store machines.
-
- So, to answer your question, the load/store machine does not offer the
- critical instructions in 2 clock cycles. The Forth machines offer them in
- one or zero cycles.
-
- --
-
- Nick_Janow@mindlink.bc.ca
-