home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.sys.amiga.programmer:17508 comp.sys.amiga.hardware:21752
- Newsgroups: comp.sys.amiga.programmer,comp.sys.amiga.hardware
- Path: sparky!uunet!munnari.oz.au!bruce.cs.monash.edu.au!monu6!nella8.cc.monash.edu.au!vac133m
- From: vac133m@nella8.cc.monash.edu.au (Richard Jones)
- Subject: Re: CISC and RISC
- Message-ID: <vac133m.724654821@nella8.cc.monash.edu.au>
- Sender: news@monu6.cc.monash.edu.au (Usenet system)
- Organization: Monash University, Melb., Australia.
- References: <amipb.04wr@amipb.gna.org> <37844@cbmvax.commodore.com> <Bz8FD1.Dxt@ns1.nodak.edu> <BzByvD.FA9@news.cs.andrews.edu>
- Date: Fri, 18 Dec 1992 05:00:21 GMT
- Lines: 91
-
- adap@edmund.cs.andrews.edu (Edsel Adap) writes:
- >In article <Bz8FD1.Dxt@ns1.nodak.edu> dewald@plains.NoDak.edu (Eric Dewald) writes:
- >>Why should computer makers go from CISC to RISC?
- >RISC - Reduced Instruction Set Computer
- >CISC - Complex Instruction Set Computer
- >The reason for many companies going RISC is because of its great speed
- >advantages over CISC. This is accomplished in many ways. In CISC, (ie a
- >Motorolla 68000) the instruction set is what is called a macro instruction.
- >These macro instruction are a collection of micro instructions that do what
- >the macro instructions is supposed to do. In RISC instead of a macro
- >instruction, there is a minimal amount of instructions, and a minimal amount
- >of addressing modes. More efficiency is obtained by working with the micro
- >code because there are things that the macro instructions do in order to
- >generalize the instructions for various purposes. Micro code is to Macro
- >code as assembler is to a high level language. The Micro code provides more
- >efficiency.
- Apart from the terminology.... what you just said is basically true, but the
- following is .. erm... a little unjust to the CISC processors...
-
- >Another Advantage of RISC is the abundance of Register memory. CISC
- >commonly contains few registers (The 68000 has 8 data registers and 8
- >address registers) while RISC processors contain anywhere from 32 registers
- >to a few hundred registers (It is not uncommon to have RISC processors that
- >have 512 registers). Since Register memory is about 10 times faster than
- >main memory, most of the instructions are register to register, therefore
- >increasing efficiency.
- The number of registers is basically up to the chip designer. While it isn't
- uncommon to have many registers in a RISC chip, the same goes for most newer
- CISC chips. Take, for example, the 80196KC et al. (ok, granted it's a
- microcontroller .. but who cares?). One of the reasons you don't get huge
- register files in CISC chips these days is that most are enhancements on old
- CISC chips that are 10+ years old.. back when the register file was a
- ludicrous suggestion for a cheap processor. RISC is a fairly new technology,
- and hence most RISC families started with register files.
- What I'm basically saying is that the RISC/CISC _architecture_ has nothing
- to do with the size of the register file.
-
- >In RISC chips the data path cycle time is minimized by logically reducing
- >the number of steps it takes for an instruction to be executed and by
- >physically shortening the distances between components in the chip (the
- >large number of registers play a role in this).
- Bzzzt. Most speed-ups these days come from the material used. The newer
- manufacturing technologies are major factors in speed-ups of current chips.
- Of course.. this only applies to the cycle time of _one_ instruction (and
- in the i860 for example, it's 20ns). If the processor executes microcode, then
- this will slow the processor down. Pipelining and parallel design (bit-parallel)
- is being used to significantly reduce the microcode in current CISC processors.
- Oh, I notice you mention this below..
-
- >There is also a significant amount of parallellism and pipelining in RISC
- >chips. As soon as an instruction is started another instruction may be
- >started even before the completion of the previous instruction. Output of
- >one instructions is passed on to another Unit in the chip for further
- >processing while the current unit executing the instruction fetches a new
- >instruction to process. On many RISC chips as many as 4 instructions can be
- >completed in one clock cylce as a result of this.
- This is true of most CISC chips these days (for example, the MC68040, which
- has an average instruction cycle time of 2.5 clock ticks - don't quote me on
- that though).
-
- >>I was under the impression that CISC meant complicated instruction set
- >>and RISC meant reduced instruction set. So wouldn't that mean larger
- >>code size on a RISC machine compared to CISC.
- >>What are the advantages of CISC and RISC?
- >CISC I think is easier to program. RISC is difficult as you have to worry
- >about timing your instructions properly. If you issued a memory write and
- >do a read from the same location immediately after the write instruction,
- >the data you may have wanted to read may not be there yet! So you may have
- >to issue the write a few steps earlier than you would normally on a CISC
- >chip.
- Yes, CISC _is_ easier to program in most cases because the instructions are
- generalized. As for memory writes.. if your chip is doing this then I suggest
- you change manufacturers..
- The ONLY case of where data written may not be changed instantly is in
- instruction caches, where a program self-modifies and the instruction cache is
- not updated until the chache is flushed/refreshed.
-
- >However, the CISC is slow compared to RISC.
- Only just.
-
- Richard.
-
- ps. how do I know this? I have just completed the Digital Technology Bachelor
- degree, and am moving on to Honours involved in advanced microprocessor design
- coupled with advanced parallel microprocessor architectures.
-
- --
- /--------------------------------------------------------------------------\
- |Richard Jones, Robotics and Digital Technology, Monash University. ///|
- | please send all e-mail to .. ... .. drat@yoyo.cc.monash.edu.au \\\/// |
- | \/// |
-