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

  1. Xref: sparky comp.sys.amiga.programmer:17575 comp.sys.amiga.hardware:21824
  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!daveh
  3. From: daveh@cbmvax.commodore.com (Dave Haynie)
  4. Newsgroups: comp.sys.amiga.programmer,comp.sys.amiga.hardware
  5. Subject: Re: CISC and RISC
  6. Message-ID: <37968@cbmvax.commodore.com>
  7. Date: 16 Dec 92 20:52:43 GMT
  8. References: <amipb.04wr@amipb.gna.org> <37844@cbmvax.commodore.com> <Bz8FD1.Dxt@ns1.nodak.edu> <BzByvD.FA9@news.cs.andrews.edu>
  9. Reply-To: daveh@cbmvax.commodore.com (Dave Haynie)
  10. Organization: Commodore, West Chester, PA
  11. Lines: 106
  12.  
  13. In article <BzByvD.FA9@news.cs.andrews.edu> adap@edmund.cs.andrews.edu (Edsel Adap) writes:
  14. >In article <Bz8FD1.Dxt@ns1.nodak.edu> dewald@plains.NoDak.edu (Eric Dewald) writes:
  15. >>Why should computer makers go from CISC to RISC?
  16.  
  17. >RISC - Reduced Instruction Set Computer
  18. >CISC - Complex Instruction Set Computer
  19.  
  20. Keep in mind that the term "CISC" was coined by proponents of RISC, in order
  21. to make it sound like there's some sharp dividing line.  There isn't.  The
  22. differences are more related to the particular designs in vogue at the time any
  23. particular microprocessor family was created.
  24.  
  25. >The reason for many companies going RISC is because of its great speed
  26. >advantages over CISC.  This is accomplished in many ways.  In CISC, (ie a
  27. >Motorolla 68000) the instruction set is what is called a macro instruction.
  28. >These macro instruction are a collection of micro instructions that do what
  29. >the macro instructions is supposed to do.  In RISC instead of a macro
  30. >instruction, there is a minimal amount of instructions, and a minimal amount
  31. >of addressing modes.  More efficiency is obtained by working with the micro
  32. >code because there are things that the macro instructions do in order to
  33. >generalize the instructions for various purposes.  Micro code is to Macro
  34. >code as assembler is to a high level language.  The Micro code provides more
  35. >efficiency.
  36.  
  37. Some of that's true, but not the way it's written.  The instruction sets 
  38. themselves are very similar between any "CISC" and "RISC", though you'll usually
  39. fine more instruction variations in a "CISC" machine.  Micro code, on the other
  40. hand, is all but incomprehensible to most people.  The early versions of most
  41. modern CISCs had their instructions implemented via micro execution units, but
  42. that was nothing more than an implementation detail.  Truely modern CISC CPUs
  43. like the 68040 and 80486 have the bulk of their instructions hard wired, just
  44. like the RISCs.  If you're looking for a real telling difference between the
  45. two, the one give-away is the bitwise encodings of the various instructions.
  46. Most (not all) RISC processors tend to have very straightforward and orthogonal
  47. instructions, all based on a common instruction word size.  This is designed to
  48. simplify the machine's execution pipeline, at some cost in memory efficiency.
  49. CISC processors tend to have more efficient instruction encodings with much
  50. more variation in word lengths, etc., which can force a decoding penalty (in
  51. pipeline complexity if not execution time).
  52.  
  53. >In RISC chips the data path cycle time is minimized by logically reducing
  54. >the number of steps it takes for an instruction to be executed and by
  55. >physically shortening the distances between components in the chip (the
  56. >large number of registers play a role in this).
  57.  
  58. For the most part, RISC design efficiencies alone haven't yielded increased
  59. performance, all things being equal.  Of course, things are never quite equal.
  60. The simpler instruction decoding used in modern CPUs has made it easier to
  61. apply new techniques, like multiple execution units or superpipelining (things
  62. generally borrowed from the last generation of super computers).  So you get
  63. these advantages a generation sooner than you would on a CISC processor.  A
  64. simpler instruction decode and execution design takes fewer transistors, so at
  65. the same level of technology, a RISC may be able to support more independent
  66. execution units, larger caches, or more registers for the same chip real estate.
  67.  
  68. >There is also a significant amount of parallellism and pipelining in RISC
  69. >chips.  As soon as an instruction is started another instruction may be
  70. >started even before the completion of the previous instruction.  
  71.  
  72. This is typical of the latest CISCs too.  The RISCs had it a generation sooner.
  73.  
  74. >On many RISC chips as many as 4 instructions can be completed in one clock 
  75. >cylce as a result of this.
  76.  
  77. I think the Motorola 88110 could have something like 10 instructions executing
  78. at one time.  However, this processor is on the way out, due only to politics.
  79. Technology doesn't necessarily win on its own.
  80.  
  81. >CISC I think is easier to program.  RISC is difficult as you have to worry
  82. >about timing your instructions properly.  
  83.  
  84. These days, you, or more properly, your compiler, needs to be clever about
  85. ordering instructions on either RISC or CISC to get the greatest performance.
  86. This was first an issue on the Motorola family back in 1988, when the 68882
  87. math chip was released.  It has a small degree of parallelism if you ordered
  88. its instructions properly.
  89.  
  90. >If you issued a memory write and do a read from the same location immediately 
  91. >after the write instruction, the data you may have wanted to read may not be 
  92. >there yet!  So you may have to issue the write a few steps earlier than you 
  93. >would normally on a CISC chip.
  94.  
  95. You have to do that to get the greatest efficiency.  All commercial RISC chips
  96. have instruction interlocks in hardware to resolve such conflicts.  They really
  97. have to, since if they require the compiler to handle such things, it will
  98. invariable have to insert NOPs on occasion that become unnecessary (and waste
  99. time) on the next generation of that CPU.  This is one of the problems the 
  100. MIPS architecture had initially -- MIPS stands for "Microprocessor without
  101. Interlocked Pipeline Stages".  Occasionally the compiler had to insert NOPs.
  102. On the R4000, this is resolved in hardware, so new binarys run faster than
  103. old ones, but aren't downward compatible.  With any new processor, there's a
  104. good chance that the instruction orderings or, especially with CISCs, even
  105. the instructions generated themselves change in optimization with new 
  106. generations, this is as true going from 68000 to 68040 as with anything.  But
  107. a properly targeted 68040 program with all the reordering you like will still
  108. execute on a 68000.  It's important to consider the future and even the past 
  109. when you're building a new processor.
  110.  
  111.  
  112.  
  113. -- 
  114. Dave Haynie / Commodore Technology, High-End Amiga Systems Design (cool stuff)
  115.  "The Crew That Never Rests"  {uunet|pyramid|rutgers}!cbmvax!daveh   BIX: hazy
  116.         SCIENCE:    "I'll believe it when I see it"  
  117.         RELIGION:    "I'll see it when I believe it"
  118.  
  119.