🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.arch
Article #1619

Re: Making Rounding Modes Usable

#1619
From: Herman Rubin
Date: Fri, 21 Jul 1989 11:45
49 lines
3049 bytes
In article <1989Jul21.035825.27704@cs.rochester.edu>, crowl@cs.rochester.edu (Lawrence Crowl) writes:
> 
> There are a number of reasons that rounding modes are not used more.  And
> unfortunately, the reasons feed each other.
> 
< - Programming languages historically do not support rounding modes.
< - So, such use has been restricted generally to changing modes between program
>   runs (for a warm fuzzy).
< - So, specifying the rounding modes is part of device setup and not part of
>   the operation instruction.
< - So, changing the rounding mode is a difficult and time consuming operation.
< - So, newer programming languages tend not to support rounding modes because
>   the designers know users will not pay the cost.
> 
> We can break the cycle and provide good access to faster, more robust floating
> point programs with the following efforts.
> 
< - Specify the rounding mode as part of the operation.  In essence, I am saying
<   that rounding MODES are a self-defeating way of looking at the capability.
<   We should have ADD-ROUNDING-UP and ADD-ROUNDING-DOWN, etc.
< - Make these operations available in a programming language.
< - Make these operations convenient in a programming language, e.g. operator
>   overloading in Ada and C++.
> 
> The most difficult effort is the first, since it involves new hardware design.
> The second two efforts would be fairly easy to implement under GNU's C++
> compiler.

This is an example of extremely cheap hardware modifications which are very
expensive otherwise.  It may be difficult to retrofit existing chips, but
for new architecture, it only adds a tag field to the instruction, which
need not be decoded by the instruction decoder, but by the computational
unit, which already has more complicated decoding to do.

Another example, which more or less falls in the same category, and which
has been discussed in this subgroup, is that of integer division with 
quotient and remainder, with the precise choice of options depending on
the signs of the arguments.

Yet another is the need for floating division with integer quotient and
floating remainder.  The same choices for quotient and remainder as in
the integer case occur.  In case there are those who cannot see why this
is an important operation, every trigonometric or exponential computation
starts out this way.

-- 
Herman Rubin, Dept. of Statistics, Purdue Univ., West Lafayette IN47907
Phone: (317)494-6054
hrubin@l.cc.purdue.edu (Internet, bitnet, UUCP)
Technical Details
Message-ID: <1429@l.cc.purdue.edu>
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!iuvax!purdue!mentor.cc.purdue.edu!l.cc.purdue.edu!cik
References: <753@bnr-fos.UUCP< <1989Jul17.035238.6497@utzoo.uucp> <1989Jul21.035825.27704@cs.rochester.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!iuvax!purdue!mentor.cc.purdue.edu!l.cc.purdue.edu!cik
From: cik@l.cc.purdue.edu (Herman Rubin)
Newsgroups: comp.arch
Subject: Re: Making Rounding Modes Usable
Summary: This would be cheap in new architecture
Message-ID: <1429@l.cc.purdue.edu>
Date: 21 Jul 89 11:45:39 GMT
References: <753@bnr-fos.UUCP< <1989Jul17.035238.6497@utzoo.uucp> <1989Jul21.035825.27704@cs.rochester.edu>
Organization: Purdue University Statistics Department
Lines: 49