home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / comp / arch / 10501 < prev    next >
Encoding:
Text File  |  1992-11-08  |  3.2 KB  |  68 lines

  1. Newsgroups: comp.arch
  2. Path: sparky!uunet!zaphod.mps.ohio-state.edu!magnus.acs.ohio-state.edu!usenet.ins.cwru.edu!agate!rsoft!mindlink!a684
  3. From: Nick_Janow@mindlink.bc.ca (Nick Janow)
  4. Subject: Re: RTX and SC32
  5. Organization: MIND LINK! - British Columbia, Canada
  6. Date: Sat, 7 Nov 1992 09:25:55 GMT
  7. Message-ID: <17227@mindlink.bc.ca>
  8. Sender: news@deep.rsoft.bc.ca (Usenet)
  9. Lines: 57
  10.  
  11. lamaster@pioneer.arc.nasa.gov (Hugh LaMaster) writes:
  12.  
  13. >+ These chips can also run several operations in parallel (without
  14. >+ pipelining), accessing stacks, memory, and I/O simultaneously.
  15. >
  16. > It would be interesting to know exactly what instructions cause this
  17. > (alleged?) speedup.  Could one or two instructions be added to a standard
  18. > RISC processor (SPARC/MIPS/m88k/RIOS/HP-PA) to support the same operations
  19. > and provide the same speedup?
  20.  
  21. I only have the instruction list for the Novix 4000: the predecessor of the
  22. RTX series.  It has eight instructions that pack five operations in one
  23. instruction.  An example is DUP nn I@ SWAP -, which does two stack
  24. manipulations, a memory fetch, an internal register (I/O I think) fetch, and
  25. an arithmetic operation.  That takes two clock cycles, due to the memory
  26. access.
  27.  
  28. There  are also four, three, and two operation instructions, which are useful
  29. more often.  Operations sequences such as SWAP DROP, DUP !, R> DROP, and OVER
  30. SWAP - are commonly used in programs, but run inefficiently on "normal"
  31. processors.  I'm unfamiliar with the internal register usage or literal fetch
  32. instructions, so I can't say how frequently they'd be used in a program.
  33. They sound like they could be useful for time-critical loops.
  34.  
  35. The multiple-operation instructions are based on the architecture of the
  36. stack processors.  I don't see how you can add them to one of the processors
  37. you mentioned, at least not without greatly increasing complexity and/or
  38. restricting operations.
  39.  
  40. > I suspect that standard RISCs already provide what is needed to run Forth
  41. > efficiently, they just are not handled in one cycle on load/store machines.
  42. > If a particular operation takes 2 instructions on a load/store machine and
  43. > one instruction on a "Forth machine", but the Forth machine requires two
  44. > cycles to do it, what is the advantage of the Forth machine?
  45. >
  46. > So, the question remains:  are there any Forth operations which are not
  47. > efficiently supported on the current crop of RISCs, and are on the named
  48. > Forth machines?  If so, what operations are they, and why?  Could they be
  49. > added to the current RISC architectures without major damage?
  50.  
  51. One very time-critical part of Forth programs is subroutine calls and
  52. returns. There are a _lot_ of them in a typical program.  I don't have a
  53. reference handy, but I think it's something like 10-20% of the instructions.
  54. Forth processors are designed to make a call in one clock cycle, and a return
  55. taking zero cycles (simultaneous with another instruction).  Standard
  56. load/store machines do not offer that fast call/return feature.
  57.  
  58. Efficient access to two stacks plus memory is also not available--as far as I
  59. know--in standard load/store machines.
  60.  
  61. So, to answer your question, the load/store machine does not offer the
  62. critical instructions in 2 clock cycles.  The Forth machines offer them in
  63. one or zero cycles.
  64.  
  65. --
  66.  
  67. Nick_Janow@mindlink.bc.ca
  68.