Path: utzoo!utgpu!water!watmath!clyde!att!rutgers!gatech!purdue!i.cc.purdue.edu!k.cc.purdue.edu!l.cc.purdue.edu!cik From: cik@l.cc.purdue.edu (Herman Rubin) Newsgroups: comp.arch Subject: Re: separate integer and float register Summary: Any convention is bad. Message-ID: <879@l.cc.purdue.edu> Date: 17 Aug 88 17:44:52 GMT References: <2724@wright.mips.COM> <6800002@modcomp> <1241@garth.UUCP> Organization: Purdue University Statistics Department Lines: 29 In article <1241@garth.UUCP>, walter@garth.UUCP (Walter Bays) writes: > In article <6800002@modcomp> joe@modcomp.UUCP writes: > >Special floating point registers also slow down context switching, due > >to the extra time needed to save/restore them. > > More registers slow down context switching, whether integer or floating > point, windowed or conventional. The net effect depends on the > workload; as you point out, some real-time applications may have a very > high context switch rate. In choosing/designing a real-time executive > for such an application on a machine with many registers I might adopt > register usage conventions that treated most registers as volatile. If good arithmetic is involved, any convention is bad is not too rare situations. Treating registers as volatile is bad if there are conditional subroutine calls or even conditional branches where the condition is rare. Also, it is a nuisance to have separate integer and floating point registers. I am frequently doing arithmetic which uses both simultaneously, and I would suggest that pack and unpack instructions be part of the general set. Since loads and stores are undesirable, the sets of registers should be available simultaneously. Unless there is a big time improvement in having separate register sets, one gains from the ability to trade off between registers used for integers and floating point registers. I doubt that enough can be gained by having separate register sets to compensate for the losses. -- Herman Rubin, Dept. of Statistics, Purdue Univ., West Lafayette IN47907 Phone: (317)494-6054 hrubin@l.cc.purdue.edu (Internet, bitnet, UUCP)