Path: utzoo!attcan!uunet!aplcen!uakari.primate.wisc.edu!zaphod.mps.ohio-state.edu!swrinde!ucsd!ucbvax!decwrl!shelby!portia!dhinds From: dhinds@portia.Stanford.EDU (David Hinds) Newsgroups: comp.sys.ibm.pc Subject: Re: Replacing an 80386 with an 80486 Message-ID: <9729@portia.Stanford.EDU> Date: 2 Mar 90 18:59:43 GMT References: <29108@amdcad.AMD.COM> <1640057@hpspcoi.HP.COM> <9830@sequoia.UUCP> <1304@watserv1.waterloo.edu> Sender: David Hinds Organization: Stanford University Lines: 22 In article <1304@watserv1.waterloo.edu>, alexew@watserv1.waterloo.edu (Alex E. Wielhouwer) writes: > > Please correct me if I'm wrong, but in a multi-tasking environment, the > floating point registers and stack need to be handled seperately on a > '386/'387 system during task swaps, or, in some cases the '387 is ignored. > (OS/2?). With a '486 environment, this should be much more efficient, i.e., > faster. During task switches, the 386 saves its own context, but does not automatically save the floating point processor's context. It generates an interrupt at the first floating point operation following a task switch, so the system software can handle switching 387 contexts. As this feature was not present in the 80286, OS/2 probably doesn't know about it. OS/2 may do it manually whenever a task switch happens, or never do it - I don't know. The 386 method has the advantage of not unnecessarily saving and restoring the 387 context for tasks that don't use floating point. I don't know how the 486 does this, but one of the "new features to improve multitasking" may be to quickly save/restore the floating point context automatically. -David Hinds dhinds@popserver.stanford.edu