Article View: comp.arch
Article #1619Re: Making Rounding Modes Usable
From: Herman Rubin
Date: Fri, 21 Jul 1989 11:45
Date: Fri, 21 Jul 1989 11:45
49 lines
3049 bytes
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!cikReferences:
<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