🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.arch
Article #12252

Re: Changing IEEE rounding modes on the fly (was Re: somthing else)

#12252
From: Herman Rubin
Date: Tue, 25 Jun 1991 12:40
30 lines
2286 bytes
In article <MAC.91Jun24115900@gold.kpc.com>, mac@gold.kpc.com (Mike McNamara) writes:
> 
> 	In the Ardent titan, using the BIT fp chips, we supported on
> the fly, fully pipelined rounding mode changes.  We did this by making
> the change rounding mode action an instruction, rather than a register
> write. This greatly facilitates interval arithmetic, intrinsics, and what
> have you, as discussed to death in this thread.
> 	However, since the changing of rounding modes is a pipelined
> instruction, rather than a register write, the operating system has to
> start up the vector unit while in kernel mode, and insert an
> instruction into the stream if it is necessary to change rounding
> modes upon context switch. 
> 	Luckily A) you could read the current rounding mode from a
> status register, and only insert this instruction if you needed to
> switch, and B) most programs use round to nearest.

So we need another instruction to do a trivial switch.  If rounding mode
is being changed frequently, as it must be on scalar interval arithmetic,
the "obvious" answer is to put it in the instruction, where it can be
decoded in parallel with the much slower execution.  Alternatively, have
a fair number of status registers, with the choice of the status register
part of the instruction.

No matter how much pipelining takes place, unless there is an unused slot
in a pipe running in parallel, it takes time.  But in that case, the 
efficiency is not being used, anyhow.
-- 
Herman Rubin, Dept. of Statistics, Purdue Univ., West Lafayette IN47907-1399
Phone: (317)494-6054
hrubin@l.cc.purdue.edu (Internet, bitnet)   {purdue,pur-ee}!l.cc!hrubin(UUCP)
Technical Details
Message-ID: <13946@mentor.cc.purdue.edu>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!sample.eng.ohio-state.edu!purdue!mentor.cc.purdue.edu!pop.stat.purdue.edu!hrubin
References: <9106190449.AA02871@ucbvax.Berkeley.EDU> <MAC.91Jun24115900@gold.kpc.com>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!sample.eng.ohio-state.edu!purdue!mentor.cc.purdue.edu!pop.stat.purdue.edu!hrubin
From: hrubin@pop.stat.purdue.edu (Herman Rubin)
Newsgroups: comp.arch
Subject: Re: Changing IEEE rounding modes on the fly (was Re: somthing else)
Summary: But it takes another instruction
Message-ID: <13946@mentor.cc.purdue.edu>
Date: 25 Jun 91 12:40:37 GMT
References: <9106190449.AA02871@ucbvax.Berkeley.EDU> <MAC.91Jun24115900@gold.kpc.com>
Sender: news@mentor.cc.purdue.edu
Lines: 30