Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83; site oakhill.UUCP
Path: utzoo!watmath!clyde!bonnie!akgua!whuxlm!harpo!decvax!genrad!panda!talcott!harvard!seismo!ut-sally!oakhill!cruess
From: cruess@oakhill.UUCP (Michael Cruess)
Newsgroups: net.micro.68k
Subject: Re: Latest MC68020 bug list by request (now MC68881)
Message-ID: <496@oakhill.UUCP>
Date: Thu, 22-Aug-85 12:17:14 EDT
Article-I.D.: oakhill.496
Posted: Thu Aug 22 12:17:14 1985
Date-Received: Sun, 25-Aug-85 01:29:38 EDT
References: <483@oakhill.UUCP> <5883@utzoo.UUCP>
Reply-To: cruess@oakhill.UUCP (Michael Cruess)
Organization: Motorola Inc. Austin, Tx
Lines: 23

More of the story:

The MC68881 can save 180 bytes of internal data on a context  switch.  This
only  occurs  on  remainder,  trancendental  function,  and  BCD conversion
instructions if the save operation occurs  during  their  middle  phase  of
operation.

At all other times the idle save format is used, which contains 24 bytes of
internal state.

In other words, unless your floating point mix is heavily weighed to  doing
remainders   or   trancendentals,  you  get  the  short  format  much  more
frequently.  Even so, consider that the execution time  of  some  of  these
instructions is data dependent, and that the floating point instruction can
continue to run (and may complete)  while  other  work  pertaining  to  the
context switch is done by the CPU.

Yes, you have to reserve the 180 bytes per task just in case.


Michael Cruess                                              oakhill!cruess
Motorola, Inc.
Microprocessor Products Group