Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!amdcad!sun!pitstop!sundc!seismo!uunet!munnari!otc!metro!ditsyda!megadata!eve!andrew From: andrew@eve.oz (Andrew McRae) Newsgroups: comp.arch Subject: Re: RISC & context switches Message-ID: <103@eve.oz> Date: 15 Feb 89 00:59:07 GMT References: <89Feb12.125852est.10867@ephemeral.ai.toronto.edu> Organization: Megadata P/L, North Ryde, Sydney, Aust. Lines: 33 From article <89Feb12.125852est.10867@ephemeral.ai.toronto.edu>, by bradb@ai.toronto.edu (Brad Brown): >> [ Discussion about multiple register sets ] > >This is not a bad idea if you have the silicon to do it (as other posters >have pointed out.) Actually it's been used in some designs. The most >interesting is actually the IBM 8100, a fast transaction processing machine >which is kind of old and has now been discontinued. The Concurrent Computer Corp. 3200 series has multiple register sets (up to 16), the operative set selected by a 4 bit field in the processor status register. Generally these are not used to speed context switching between processes, but to allocate one set to the user level processes, and the other sets to the OS. Each interrupt level had a different register set, so that no register saving had to occur at interrupt service time, and there was no need to save user registers during kernel operations. This register swapping was tied up with the architecture (e.g. at interrupt time some of the registers had useful values stored in them by the microcode such as vector number, device address, previous status/program counter etc). Not being a stack based machine, the register swapping tended to be fundamental to the way the OS did things (I'm speaking of course for the native OS/32, not Unix). I'm suprised that this idea (different register sets for different interrupt levels) has not been taken up in some of the more modern architectures, but there are problems (try doing a splX, and see if your registers hold the same values...). Andrew McRae inet: andrew@megadata.oz{.au} Megadata Pty Ltd, uucp: ..!uunet!munnari!megadata.oz!andrew NSW AUSTRALIA D D