[comp.arch] Register Window Size vs Language

dave@lethe.UUCP (Dave Collier-Brown) (05/04/89)

In article <23481@shemp.CS.UCLA.EDU> frazier@cs.ucla.edu (Greg Frazier)
| writes: 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?

 Well, the cost of doing a stack frame & call in PL/1 is not only high,
it is known by "everyone" to be high.  Much system level PL/1 on Multics
tends to largish functions, longish parameter lists and conventions about
"the last parameter is always the error status". (;-))
 Commercial, non-recursive IBM PL/1 is known widely to have "expensive"
parameter-passing mechanisms, and so tends to small numbers of parameters
and conventions about what should be passed in globals versus parameters.
	source: experience, sample size: small.


| 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 :-).

  The Honeywell DPS-8 EISbox (the very cisc part of a vCISC machine) was
widely described as representing the primitives needed to efficently
implement PL/1 and COBOL... (which is probably the cruelest compliment
I've ever paid that machine)

--dave (who once actually wrote PL/1 on a z80) c-b
-- 
David Collier-Brown,  | {toronto area...}lethe!dave
72 Abitibi Ave.,      |  Joyce C-B:
Willowdale, Ontario,  |     He's so smart he's dumb.
CANADA. 223-8968      |