Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!bloom-beacon!mit-eddie!ll-xn!ames!amdahl!pyramid!csg From: csg@pyramid.pyramid.com (Carl S. Gutekunst) Newsgroups: comp.arch Subject: Re: RISC a short answer?? Message-ID: <21149@pyramid.pyramid.com> Date: 28 Apr 88 19:35:01 GMT References: <1036@nusdhub.UUCP> Organization: Pyramid Technology Corp., Mountain View, CA Lines: 31 In article <1036@nusdhub.UUCP> rwhite@nusdhub.UUCP (Robert C. White Jr.) writes: >Can someone give me [short answer style] a description of what "RISC" means. Can we add this to the list of frequently asked questions? My favorite answer is this: RISC (Reduced Instruction Set Computer) is a design philosophy that trades off decreased complexity in hardware for increased complexity in software. The instruction set is specifically chosen to provide a set of primitives that are most usable by compilers. Then these few instructions are made to run as fast as possible. The compilers are given the responsibility of building the primitives into the higher- level constructs used by the language. By implication, the compilers becomes as much a part of the design as the CPU itself. This still leaves a lot of room for different implementations. For example, the function call mechanisms on many CISC machines are quite complex, with automatic register saves, stack manipulation, frame generation, and so on. Pyramid went with a sliding register window: parmeters go in registers; make the call, then one procedure's temporary variables becomes the next's call arguments. (This a construct has come to be part-and-parcel with RISC in the popular press, perhaps because it is so obviously *different*.) MIPS went even simpler, with just a call and return, and leaves the compiler and loader to determine the optimal parameter passage mechanism. But -- the 68000 also implements a simple call and return, though no one would call the 68000 a RISC design. So it becomes difficult to generalize.