home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.sys.amiga.programmer:17459 comp.sys.amiga.hardware:21679
- Path: sparky!uunet!noc.near.net!bigboote.WPI.EDU!nntp!ahansfor
- From: ahansfor@bigwpi.wpi.edu (Andrew L. Hansford)
- Newsgroups: comp.sys.amiga.programmer,comp.sys.amiga.hardware
- Subject: Re: CISC and RISC
- Date: 17 Dec 92 00:07:06
- Organization: Worcester Polytechnic Institute, Worcester, MA 01609-2280
- Lines: 47
- Message-ID: <AHANSFOR.92Dec17000706@bigwpi.wpi.edu>
- 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> <BzBtx4.DLE@gpu.utcs.utoronto.ca>
- NNTP-Posting-Host: bigwpi.wpi.edu
- In-reply-to: engb@gpu.utcs.utoronto.ca's message of 16 Dec 92 00:41:27 GMT
-
- >>>>> On 16 Dec 92 00:41:27 GMT, engb@gpu.utcs.utoronto.ca (Ben Eng) said:
-
- > It may be easier to make op.sys.-software on a CISC processor.
-
- engb> I consider that to be an incorrect statement. The operating
- engb> system is almost completely written in a language such as C or
- engb> C++, just like most other applications. If the compiler handles
- engb> the translation well, where is the difficulty in generating code
- engb> for RISC processors? I don't remember seeing volumes of
- engb> articles, or hearing many complaints from RISC OS implementors
- engb> about how difficult it is to generate code for RISC as opposed
- engb> to CISC.
-
- I a paper titled "The Interaction of Architecture and Operating System
- Design" (Anderson,Levy,Bershad,Lazowska, Dept. of Computer Science and
- Engineering, University of Washington,) the authors discuss how
- current trends in OS and CPU designs are working in opposite
- directions.
-
- OS performance has not had the speedup of most applications. (The OS
- is not a typical application.) Some of the issues mentioned:
-
- 1) Code that was formerly in microcode now must be written in software.
- Fine is done correctly, but sub-optimal code will probably exist.
-
- 2) Code size of basic system functions.
-
- 3) Time to do a context switch (very hairy on a processor with
- register windows).
-
- 4) Interrupt handling - Many RISC machines do not have specific
- exceptions (ie tell you what instruction caused an exception or tell
- what the address that caused a page fault ). And many do not have
- vector tables. This can also effect how user applications trap into
- the kernel.
-
- 5) saving and restoring state on a page fault - Restarting an
- instruction and restoring the pipeline to its previous state (or near
- to it) can be very time consuming. (Of course pipelined CISC has the
- same problem)
-
- All in all OS still run more quickly on the RISC machines, but some of
- the "keep it simple" philosophy has made programming the chip more
- difficult in areas that require assembly language.
-
- -- Andrew Hansford
- ahansfor@wpi.wpi.edu
-