Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!purdue!ames!elroy!ucla-cs!frazier From: frazier@oahu.cs.ucla.edu (Greg Frazier) Newsgroups: comp.arch Subject: Re: RISC and emulated languages Message-ID: <23481@shemp.CS.UCLA.EDU> Date: 2 May 89 22:36:52 GMT References: <1896@etive.ed.ac.uk> Sender: news@CS.UCLA.EDU Reply-To: frazier@cs.ucla.edu (Greg Frazier) Organization: UCLA Computer Science Department Lines: 29 In article <1896@etive.ed.ac.uk> sam@lfcs.ed.ac.uk (S. Manoharan) writes: > >Just wondering. > >I hear that the RISC (Berk) was designed with a view of supporting C. >How would the register windowing help in processing C functions! >( In C args are passed by value rather than reference; >Register windowing, on the other hand, supports call by reference ) The use of overlapped windows supports passing by either reference or value (a reg can hold an address as easily as an int). The RISC I and RISC II were tuned for C in that extensive studies of C code were used to determine 1) the size of the windows and 2) the number of regs which should be overlapped. An interesting question is how much difference the language makes - to what degree does the language really influence the number of parameters passed to a procedure/fnxn? In addition to the reg windows, the instruction set was chosen with an eye to which instructions were frequently used by C compilers. Beyond the int'n set and the reg file, there isn't much to the RISC machines, so if they were optimized for C, then the whole chip was optimized for C :-). Greg ***********************########################!!!!!!!!!!!!!!!!!!!! Greg Frazier o Internet: frazier@CS.UCLA.EDU CS dept., UCLA /\ UUCP: ...!{ucbvax,rutgers}!ucla-cs!frazier ----^/---- /