Path: utzoo!utgpu!water!watmath!clyde!att!alberta!ubc-cs!uw-beaver!cornell!mailrus!ncar!ico!rcd From: rcd@ico.ISC.COM (Dick Dunn) Newsgroups: comp.arch Subject: Re: separate integer and float register Summary: Separate FP shouldn't slow context switch! Message-ID: <8769@ico.ISC.COM> Date: 17 Aug 88 16:31:56 GMT References: <2724@wright.mips.COM> <6800002@modcomp> Organization: Interactive Systems Corp, Boulder, CO Lines: 25 > Special floating point registers also slow down context switching, due > to the extra time needed to save/restore them... How? If you have m integer registers and n floating-point registers, it ought to take about the same time as the same number (m+n) of general registers. Let's not confuse the issue of separate registers with the matter of how many registers you have total...you'd expect that if you have more registers, it's going to take longer to save/restore. However, there are two other considerations which make things a little more complicated: - Separate FP registers may actually require that you have more total registers to get the same performance, since you can't trade off the use of a register between int and fp. If your registers are completely GP, you might use half of them as fp in one task but none of them as fp in another. but - You can often skip the FP register save/restore by keeping track of whether the registers get used...for example, if you can arrange to get an exception on the first fp op, you don't have to save fp registers for a process that has never gotten that exception. -- Dick Dunn UUCP: {ncar,nbires}!ico!rcd (303)449-2870 ...I'm not cynical - just experienced.