Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!ucbvax!agate!bionet!ames!ames.arc.nasa.gov!lamaster From: lamaster@ames.arc.nasa.gov (Hugh LaMaster) Newsgroups: comp.arch Subject: Re: Register usage Message-ID: <26204@ames.arc.nasa.gov> Date: 31 May 89 18:32:19 GMT References: <259@mindlink.uucp> <25382@ames.arc.nasa.gov> <1RcY6x#64Zq3Y=news@anise.acc.com> Sender: usenet@ames.arc.nasa.gov Organization: NASA - Ames Research Center Lines: 23 In article <1RcY6x#64Zq3Y=news@anise.acc.com> lars@salt.acc.com (Lars J Poulsen) writes: >large a register file is saving and restoring on context switches. While >interrupt service routines can ignore this and store only what they From time to time, I have seen the argument that large register files slow down context switches. Yes and no. If you are looking at general purpose operating systems like Unix, register saves are a very small part of the cost of a context switch. Last week I saw an ad for a real time version of Unix with a guaranteed response time (switch to kernel to high priority process) of 5 milliseconds. Now, for the sizes of register files we are talking about, a register save is about 1/1000th to 1/100th of the total time. If you are looking at embedded real time systems with no general purpose kernel, a large number of registers could be a problem. Where it gets "interesting" is if you are trying to support microtasking at the outer do-loop level in Fortran from within the kernel. Well, there is no such thing as a free lunch. I guess you just have to design carefully when you get near the edge... Hugh LaMaster, m/s 233-9, UUCP ames!lamaster NASA Ames Research Center ARPA lamaster@ames.arc.nasa.gov Moffett Field, CA 94035 Phone: (415)694-6117