home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / sys / amiga / programm / 17574 < prev    next >
Encoding:
Internet Message Format  |  1992-12-21  |  4.7 KB

  1. Xref: sparky comp.sys.amiga.programmer:17574 comp.sys.amiga.hardware:21822
  2. Path: sparky!uunet!cis.ohio-state.edu!magnus.acs.ohio-state.edu!usenet.ins.cwru.edu!agate!netsys!ukma!cs.widener.edu!dsinc!bagate!cbmvax!jesup
  3. From: jesup@cbmvax.commodore.com (Randell Jesup)
  4. Newsgroups: comp.sys.amiga.programmer,comp.sys.amiga.hardware
  5. Subject: Re: CISC and RISC
  6. Message-ID: <37962@cbmvax.commodore.com>
  7. Date: 16 Dec 92 20:01:06 GMT
  8. References: <70436@cup.portal.com> <amipb.04wr@amipb.gna.org> <37844@cbmvax.commodore.com> <Bz8FD1.Dxt@ns1.nodak.edu> <1992Dec14.155039.7747@ugle.unit.no> <BzAxFw.Is6@dcs.ed.ac.uk>
  9. Reply-To: jesup@cbmvax.commodore.com (Randell Jesup)
  10. Organization: Commodore, West Chester, PA
  11. Lines: 89
  12.  
  13.  
  14.     NOTE: I'll talk in generalities, since most absolute statements about
  15. CISC vs. RISC have at least 1 exception.  This is a topic often debated in
  16. comp.arch; if you want more info go there.
  17.  
  18. jxp@dcs.ed.ac.uk (Joe Potter) writes:
  19. >In article <1992Dec14.155039.7747@ugle.unit.no> skogaas@solan.unit.no (John Olav Skog}s) writes:
  20. >>RISC - reduced instruction set computer:
  21. >>
  22. >>Fewer and less complex intructions than in CISC processors
  23. >
  24. >    Fewer and sometimes MORE complex, surely?  Each instruction is very
  25. >simple in its operation, but takes a complicated parameter.  Look at the
  26. >ARM series for a worst-case scenario!
  27.  
  28.     Actually less complex _in implementation_.  Addressing modes are one
  29. of the big complexities of most CISCs.
  30.  
  31. >>Only one or two instruction formats (usually - results in fast decoding)
  32. >>Large register file: 32-2048 internal registers
  33. >>Few adressing modes (1-2 usually)
  34. >
  35. >    Several for Load/Store Main Memory operations, few internal ones
  36. >because there's only so much you can do with Reg <op> Reg to Reg!
  37.  
  38.     Many RISCs only support 1 or sometimes 2 addressing modes (The GE
  39. RPM-40 RISC I worked on the design team for had 1 mode: register plus constant
  40. offset - note that since R0 == 0 always, you also have absolute addressing).
  41.  
  42.     Most RISCs have only one instruction size, instead of N for many
  43. CISCs.
  44.  
  45. >>Optimizing compilers (it is easy to generate good code for the RISC
  46. >>architecture)
  47. >
  48. >    Actually, I'm of the understanding that current compiler
  49. >technology is rather left behind by the sheer complexity of RISC coding.
  50. >It's easy to generate code for RISC machines, but getting turbopowered
  51. >optimisations is hard.  CISC is easier to optimise.
  52.  
  53.     Sorry, you're wrong here.  CISCs have all sorts of "interesting"
  54. optimizations possible (look at all the assembler tricks people are so proud
  55. of that most compilers can't generate).
  56.  
  57.     In a survey of the improvement available with hand-coding versus using
  58. C, with top-notch ASM programmers, for CISCs the difference was in the 2-2.7
  59. range (in size, not always as much in speed).  For RISCs it ranged from
  60. .95-1.3.  Note: for some RISCs, assembler programmers did _worse_ than the
  61. compilers.  The reason is that with simple instructions, the compiler can spend
  62. more time optimizing expression evaluation, register coloring, etc and less
  63. worrying about chosing between 24 different addressing modes.  Quiz: how
  64. many people can, off the top of their head and _without_ looking, list all
  65. the addressing modes of a 68020?  I know I can't (all the 68000, easy.  Most
  66. of the '020, probably.  All? I doubt it.)  Please don't respond here, but do
  67. think about it.
  68.  
  69.     I know this first-hand: I was a principal in the back-end software
  70. team for an early RISC (2nd generation), and wrote the code-reorganizer (to
  71. reorder code for faster execution, and insert NOPs where needed to avoid
  72. pipeline clashes).
  73.  
  74. >>Optimized instruction pipeline
  75. >>LOAD/STORE - architecture
  76. >
  77. >    What's actually so good about this, by itself?  Given all the
  78. >other parts of RISC philosophy, great, but as a point by itself?
  79.  
  80.     This allows reordering to get data into registers before it's needed,
  81. so you don't have to wait on _slow_ external memory for the data.
  82.  
  83. >>The code size for RISC-processors will usually be larger than it would be for a
  84. >>CISC processor.
  85. >
  86. >    RISC philosophy suggests that it won't be that much bigger.
  87.  
  88.     It's bigger because operations are simpler (so it sometimes needs
  89. more instructions to do, but the result can still be faster - hell, on the '020
  90. it's faster to use most of the 68000 addressing modes and avoid many (not all)
  91. of the new modes, since the new modes are slower than the 2 or 3 old
  92. instructions to do the same thing.  ( d8(An,Dn*N) being an exception I think).
  93. Also, the instructions are usually less tightly encoded, for faster decode.
  94. The MIPS R4400 uses 1/2 cycle for decode, for example.
  95.  
  96. -- 
  97. To be or not to be = 0xff
  98. -
  99. Randell Jesup, Jack-of-quite-a-few-trades, Commodore Engineering.
  100. {uunet|rutgers}!cbmvax!jesup, jesup@cbmvax.cbm.commodore.com  BIX: rjesup  
  101. Disclaimer: Nothing I say is anything other than my personal opinion.
  102.