IBM Floating Point Architecture

IBM Floating Point Architecture

IBM System/360 computers, and subsequent machines based on that architecture (mainframes), support a hexadecimal floating-point format. The format is used by SAS Transport files as required by the Food and Drug Administration (FDA) for New Drug Application (NDA) study submissions. See TS-140 [http://support.sas.com/techsup/technote/ts140.html] . It is also used in GRIB data files to exchange the output of weather prediction models, and in GDSII stream format files.

Hexadecimal floating-point uses a similar approach to IEEE 754 binary floating-point, but with many differences. The significand is longer, and the exponent is shorter.

Single-precision 32 bit

A single-precision binary floating-point number is stored in a 32 bit word:

1 7 24 width in bits +-+-------+------------------------+
S| Exp | Fraction
+-+-------+------------------------+ 31 30 24 23 0 bit index (0 on right) bias +64

Note that in this format the initial bit is not suppressed, and theradix point is set to the left of the mantissa in increments of 4 bits.

An Example

Let us decode the number −118.625 using the IBM floating point system.

We need to get the sign, the exponent and the fraction.

Because it is a negative number, the sign is "1". Let's find the others.

First, we write the number (without the sign) using binary notation. Look at binary numeral system to see how to do it. The result is 1110110.101

Now, let's move the radix point left, moving four bits at a time (because exponents are to the power of 16, not 2): 1110110.101=.01110110101·162

The fraction is the part at the right of the radix point, filled with 0 on the right until we get all 24 bits. That is 011101101010000000000000.

The exponent is 2, but we need to convert it to binary and bias it (so the most negative exponent is 0, and all exponents are non-negative binary numbers). For the system/360 format, the bias is 64 and so 2 + 64 = 66. In binary, this is written as 1000010.

Putting them all together:

1 7 24 width in bits +-+-------+------------------------+
S| Exp | Fraction
1|1000010|011101101010000000000000
+-+-------+------------------------+ 31 30 24 23 0 bit index (0 on right) bias +64

Double-precision 64 bit

Double-precision is the same except that the mantissa (fraction) field is wider:

1 7 56 bits +-+-----------+----------------------------------------------------+
S| Exp | Fraction
+-+-----------+----------------------------------------------------+ 63 62 56 55 0

The bias is 64 because the exponent is to the power of 16. Even though the base is 16, the exponent in this form is slightly smaller than the equivalent in IEEE 754.

See, for example: [http://www.research.ibm.com/journal/rd/414/schwarz.html Schwarz, "CMOS floating-point unit for the S/390 Parallel Enterprise Server G4"]

Since 1998, IBM mainframes have also included binary floating-point units which conform to IEEE 754. Decimal floating-point was added to IBM_System_z9 GA2 in millicode and in 2008 to the IBM_System_z10 in hardware. Now IBM mainframes support three floating-point radices with 3 HFP formats, 3 BFP formats, and 3 DFP formats. There are two floating-point units per core; one supporting HFP and BFP, and one supporting DFP; note there is one register file, FPRs, which holds all 3 formats.

Systems which use Base-16 Excess-64 Floating Point format

# IBM System/360
# GEC 4000 series minicomputers
# Interdata 16 and 32 bit computers.


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • Floating-point unit — An Intel 80287 A floating point unit (FPU, colloquially a math coprocessor) is a part of a computer system specially designed to carry out operations on floating point numbers. Typical operations are addition, subtraction, multiplication,… …   Wikipedia

  • Floating point — In computing, floating point describes a method of representing real numbers in a way that can support a wide range of values. Numbers are, in general, represented approximately to a fixed number of significant digits and scaled using an exponent …   Wikipedia

  • Floating Point Operations Per Second — (kurz FLOPS; englisch für Gleitkommaoperationen pro Sekunde) ist ein Maß für die Leistungsfähigkeit von Rechnersystemen[1] oder Prozessoren und bezeichnet die Anzahl der Gleitkommazahl Operationen (Additionen oder Multiplikationen), die von ihnen …   Deutsch Wikipedia

  • Floating Point Operations per Second — (englisch für Gleitkommaoperationen pro Sekunde, Abk.: FLOPS) ist eine Maßeinheit für die Geschwindigkeit von Computersystemen oder Prozessoren und bezeichnet die Anzahl der Gleitkommazahl Operationen (Additionen oder Multiplikationen), die von… …   Deutsch Wikipedia

  • Floating point unit — A floating point unit (FPU) is a part of a computer system specially designed to carry out operations on floating point numbers. Typical operations are addition, subtraction, multiplication, division, and square root. Some systems (particularly… …   Wikipedia

  • Quadruple-precision floating-point format — In computing, quadruple precision (also commonly shortened to quad precision) is a binary floating point computer number format that occupies 16 bytes (128 bits) in computer memory. In IEEE 754 2008 the 128 bit base 2 format is officially… …   Wikipedia

  • IBM System/360 — The IBM System/360 (S/360) is a mainframe computer system family announced by IBM on April 7, 1964. It was the first family of computers making a clear distinction between architecture and implementation, allowing IBM to release a suite of… …   Wikipedia

  • IBM mainframe — IBM mainframes, though perceived as synonymous with mainframe computers in general due to their marketshare, are now technically and specifically IBM s line of business computers that can all trace their design evolution to the IBM… …   Wikipedia

  • IBM Deutschland Research & Development — GmbH Rechtsform Gesellschaft mit beschränkter Haftung Gründung …   Deutsch Wikipedia

  • IBM Personal Computer/AT — IBM PC AT (model 5170) Type Personal Computer Release date 1984[1] Discontinued April 2 ,1987[1] Operating system …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”