Chapter 8. Floating-Point Operations

Students learning science encounter the usefulness of scientific notation for representing numeric values, especially in situations where the magnitudes vary widely, such as the masses of an electron (9 x 10 31 kg) and the planet Earth (6 x 10+24 kg). Today, one can purchase a scientific calculator, which works with numbers spanning magnitudes from 10 99 to 10+99, for only a little more money than a standard eight-digit calculator. Indeed, a proper education in the quantitative sciences includes the appreciation that, for example, 6.022137 x 1023 expresses only what is currently known of the magnitude of Avogadro's number (the number of atoms of isotopically pure 12C having a total mass of exactly 12 grams). In contrast, the many trailing zeros in the layperson's representation (602,213,700,000,000,000,000,000) are not "significant" because they are not presently known, even though more of them are certainly knowable, in principle.

Early digital computers, like the electromechanical calculating devices in use before the development of computers, dealt with data represented as integers (i.e., fixed-point numbers). Scientists and engineers who used such calculators or the earliest computers had to "scale" their numeric quantities manually, tracking the orders of magnitude on the side by themselves. That task, while tedious and error prone, is not difficult.

With the appearance of FORTRAN, the first high-level programming language intended for scientists and engineers, computers intended for scientific work began to incorporate into their instruction sets direct support for floating-point numbers, typically storing them as a binary fraction and a power of 2 or 16. Computers intended for nonscientific applications sometimes lacked floating-point support, but often could be extended with the addition of a math coprocessor (Intel's x86 and ancillary x87) or distinct processor implementations (Motorola's 040 versus LC040).

Modern computer architectures are designed around the need for high-speed scaling of multimedia data, which is implemented through the same floating-point hardware used by science and engineering applications. Accordingly, RISC architectures and the more recent EPIC Itanium architecture include native floating-point support.

In this chapter, we outline the IEEE-compliant floating-point instructions of the Itanium architecture, concentrating on double-precision formats. Readers whose emphasis lies more with pure computer science than with the physical sciences or computer engineering may elect to skim this chapter.



ItaniumR Architecture for Programmers. Understanding 64-Bit Processors and EPIC Principles
ItaniumR Architecture for Programmers. Understanding 64-Bit Processors and EPIC Principles
ISBN: N/A
EAN: N/A
Year: 2003
Pages: 223

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net