Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site fortune.UUCP Path: utzoo!watmath!clyde!floyd!harpo!eagle!mhuxl!ihnp4!fortune!phipps From: phipps@fortune.UUCP (Clay Phipps) Newsgroups: net.arch Subject: Use Of Multiple Register Sets / Re: RISC perspective - (nf) Message-ID: <2747@fortune.UUCP> Date: Mon, 19-Mar-84 00:20:49 EST Article-I.D.: fortune.2747 Posted: Mon Mar 19 00:20:49 1984 Date-Received: Tue, 13-Mar-84 20:37:57 EST References: <2736@fortune.UUCP> Organization: Fortune Systems, Redwood City, CA Lines: 29 I would like to pose a general question: how are multiple sets of registers best utilized ? Some architectures, e.g., ModComp and ELXSI, have one complete set of registers per process (up to some number of processes like 16), used to speed up process context switching. The RISC has its "overlapping register windows" scheme, where each level of routine call causes an overlapped (to allow parameter passing) window of registers to move, stack-like, over a much larger set (128 ? 256 ?) of registers, to speed up routine call context switching. Forest Baskett had his "register cube" or "3-D register" scheme, which combined the two ideas (although I don't believe the windows overlapped). If you could only use one approach (not Forest's combination), which would get the biggest speed win, and for what classes of programs ? For example, in UNIX, are process context switches more or less common that routine call context switches ? Just rattling a few more cages ... -- Clay Phipps -- {allegra,amd70,cbosgd,dsd,floyd,harpo,hpda,ihnp4, megatest,nsc,oliveb,sri-unix,twg,varian,VisiA,wdl1} !fortune!phipps