The Sun386i (codenamed Roadrunner ) is a discontinued hybrid UNIX workstation / PC compatible computer system produced by Sun Microsystems , launched in 1988. It is based on the Intel 80386 microprocessor but shares many features with the contemporary Sun-3 series systems.
68-918: Unlike the Sun-3 models, the Sun386i has a PC-like motherboard and "mini-tower"-style chassis. Two variants were produced, the Sun386i/150 and the Sun386i/250 with a 20 or 25 MHz CPU respectively. The motherboard includes the CPU, 80387 FPU, 82380 timer/DMA/interrupt controller and a custom Ethernet IC called BABE ("Bus Adapter Between Ethernet"). Floppy disk , SCSI , RS-232 and Centronics parallel interfaces are also provided, as are four ISA slots (one 8-bit, three 16-bit) and four proprietary 32-bit "local" bus slots. The latter are used for RAM and frame buffer cards. Two types of RAM card are available,
136-776: A signed string of a fixed number of digits in some base , called a significand , scaled by an integer exponent of that base. Numbers of this form are called floating-point numbers . For example, the number 2469/200 is a floating-point number in base ten with five digits: 2469 / 200 = 12.345 = 12345 ⏟ significand × 10 ⏟ base − 3 ⏞ exponent {\displaystyle 2469/200=12.345=\!\underbrace {12345} _{\text{significand}}\!\times \!\underbrace {10} _{\text{base}}\!\!\!\!\!\!\!\overbrace {{}^{-3}} ^{\text{exponent}}} However, unlike 2469/200 = 12.345, 7716/625 = 12.3456
204-414: A 4 or 8 MB card, and the "XP Cache" card, incorporating up to 8 MB with an 82385 cache controller and 32 KB of cache SRAM. Up to two memory cards can be installed, to give a maximum RAM capacity of 16 MB. Mass storage options are either 91 or 327 MB internal SCSI hard disks and a 1.44 MB 3.5-in floppy drive. A storage expansion box that holds two more disks can be mounted to
272-409: A 96 percent power reduction compared to the active mode. It will work in the range of 16 to 25 MHz and does not require BIOS or hardware reconfiguration. It was available for USD $ 189. The i487SX (P23N) was marketed as a floating-point unit coprocessor for Intel i486SX machines. It actually contained a full-blown i486DX implementation. When installed into an i486SX system, the i487 disabled
340-560: A DOS session to display a full VGA window on the desktop. The Sun386i introduced the Sun Type 4 keyboard, a hybrid of the earlier Type 3 and PC/AT layouts. This was later used for the SPARCstation line of workstations. The Sun386i's firmware is similar to the Sun-3's "PROM Monitor". A 386 port of SunOS is the native operating system . SunOS releases 4.0, 4.0.1 and 4.0.2 support the architecture. A beta version of SunOS 4.0.3 for
408-461: A computer system specially designed to carry out operations on floating-point numbers. A number representation specifies some way of encoding a number, usually as a string of digits. There are several mechanisms by which strings of digits can represent numbers. In standard mathematical notation, the digit string can be of any length, and the location of the radix point is indicated by placing an explicit "point" character (dot or comma) there. If
476-497: A few details. Five of these formats are called basic formats , and others are termed extended precision formats and extendable precision format . Three formats are especially widely used in computer hardware and languages: Increasing the precision of the floating-point representation generally reduces the amount of accumulated round-off error caused by intermediate calculations. Other IEEE formats include: Any integer with absolute value less than 2 can be exactly represented in
544-533: A method that is still common in (low-cost) embedded systems . The x87 registers form an eight-level deep non-strict stack structure ranging from ST(0) to ST(7) with registers that can be directly accessed by either operand, using an offset relative to the top, as well as pushed and popped. (This scheme may be compared to how a stack frame may be both pushed/popped and indexed.) There are instructions to push, calculate, and pop values on top of this stack; unary operations (FSQRT, FPTAN etc.) then implicitly address
612-408: A number, the base (10) need not be stored, since it will be the same for the entire range of supported numbers, and can thus be inferred. Symbolically, this final value is: s b p − 1 × b e , {\displaystyle {\frac {s}{b^{\,p-1}}}\times b^{e},} where s is the significand (ignoring any implied decimal point), p
680-461: A stack-based interface potentially can minimize the need to save scratch variables in function calls compared with a register-based interface (although, historically, design issues in the 8087 implementation limited that potential. ) The x87 provides single-precision, double-precision and 80-bit double-extended precision binary floating-point arithmetic as per the IEEE 754-1985 standard. By default,
748-1118: A syntax to be used that could be entered through a typewriter , as was the case of his Electromechanical Arithmometer in 1920. In 1938, Konrad Zuse of Berlin completed the Z1 , the first binary, programmable mechanical computer ; it uses a 24-bit binary floating-point number representation with a 7-bit signed exponent, a 17-bit significand (including one implicit bit), and a sign bit. The more reliable relay -based Z3 , completed in 1941, has representations for both positive and negative infinities; in particular, it implements defined operations with infinity, such as 1 / ∞ = 0 {\displaystyle ^{1}/_{\infty }=0} , and it stops on undefined operations, such as 0 × ∞ {\displaystyle 0\times \infty } . Zuse also proposed, but did not complete, carefully rounded floating-point arithmetic that includes ± ∞ {\displaystyle \pm \infty } and NaN representations, anticipating features of
SECTION 10
#1732781080064816-577: A tilde and to be unique as far as possible. This system is similar to, but predates, that used for long file names in Microsoft's VFAT . Special drive letters are used including H: for the user's home directory and D: for the current working directory when the DOS shell is started. The C: drive corresponds to a file in the Unix file system which appears to DOS as a 20 MB hard disk. This is used especially for
884-500: Is a rational number , because it can be represented as one integer divided by another; for example 1.45 × 10 is (145/100)×1000 or 145,000 /100. The base determines the fractions that can be represented; for instance, 1/5 cannot be represented exactly as a floating-point number using a binary base, but 1/5 can be represented exactly using a decimal base ( 0.2 , or 2 × 10 ). However, 1/3 cannot be represented exactly by either binary (0.010101...) or decimal (0.333...), but in base 3 , it
952-524: Is a smallest positive normal floating-point number, which has a 1 as the leading digit and 0 for the remaining digits of the significand, and the smallest possible value for the exponent. There is a largest floating-point number, which has B − 1 as the value for each digit of the significand and the largest possible value for the exponent. In addition, there are representable values strictly between −UFL and UFL. Namely, positive and negative zeros , as well as subnormal numbers . The IEEE standardized
1020-589: Is also known as the NPX (numeric processor extension). Like other extensions to the basic instruction set, x87 instructions are not strictly needed to construct working programs, but provide hardware and microcode implementations of common numerical tasks, allowing these tasks to be performed much faster than corresponding machine code routines can. The x87 instruction set includes instructions for basic floating-point operations such as addition, subtraction and comparison, but also for more complex numerical operations, such as
1088-692: Is compatible only with the standard i386 chip, which has a 32-bit processor bus. The later cost-reduced i386SX, which has a narrower 16-bit data bus , can not interface with the i387's 32-bit bus. The i386SX requires its own coprocessor, the 80387SX , which is compatible with the SX's narrower 16-bit data bus. Intel released the low power version of 387SX coprocessor. There was an Intel387 SL Mobile Math Coprocessor that has power-management features which can run without significantly reducing battery life. There are two battery-saving power-down modes. The first one contains "stop clock" mode which automatically shutting down
1156-432: Is from 2 ≈ 2 × 10 to approximately 2 ≈ 2 × 10 . The number of normal floating-point numbers in a system ( B , P , L , U ) where is 2 ( B − 1 ) ( B P − 1 ) ( U − L + 1 ) {\displaystyle 2\left(B-1\right)\left(B^{P-1}\right)\left(U-L+1\right)} . There
1224-447: Is not a floating-point number in base ten with five digits—it needs six digits. The nearest floating-point number with only five digits is 12.346. And 1/3 = 0.3333… is not a floating-point number in base ten with any finite number of digits. In practice, most floating-point systems use base two , though base ten ( decimal floating point ) is also common. Floating-point arithmetic operations, such as addition and division, approximate
1292-446: Is often used to allow very small and very large real numbers that require fast processing times. The result of this dynamic range is that the numbers that can be represented are not uniformly spaced; the difference between two consecutive representable numbers varies with their exponent. Over the years, a variety of floating-point representations have been used in computers. In 1985, the IEEE 754 Standard for Floating-Point Arithmetic
1360-399: Is similar in concept to scientific notation. Logically, a floating-point number consists of: To derive the value of the floating-point number, the significand is multiplied by the base raised to the power of the exponent , equivalent to shifting the radix point from its implied position by a number of places equal to the value of the exponent—to the right if the exponent is positive or to
1428-1358: Is stored in memory using the IEEE 754 encoding, this becomes the significand s . The significand is assumed to have a binary point to the right of the leftmost bit. So, the binary representation of π is calculated from left-to-right as follows: ( ∑ n = 0 p − 1 bit n × 2 − n ) × 2 e = ( 1 × 2 − 0 + 1 × 2 − 1 + 0 × 2 − 2 + 0 × 2 − 3 + 1 × 2 − 4 + ⋯ + 1 × 2 − 23 ) × 2 1 ≈ 1.57079637 × 2 ≈ 3.1415927 {\displaystyle {\begin{aligned}&\left(\sum _{n=0}^{p-1}{\text{bit}}_{n}\times 2^{-n}\right)\times 2^{e}\\={}&\left(1\times 2^{-0}+1\times 2^{-1}+0\times 2^{-2}+0\times 2^{-3}+1\times 2^{-4}+\cdots +1\times 2^{-23}\right)\times 2^{1}\\\approx {}&1.57079637\times 2\\\approx {}&3.1415927\end{aligned}}} where p
SECTION 20
#17327810800641496-458: Is the precision ( 24 in this example), n is the position of the bit of the significand from the left (starting at 0 and finishing at 23 here) and e is the exponent ( 1 in this example). It can be required that the most significant digit of the significand of a non-zero number be non-zero (except when the corresponding exponent would be smaller than the minimum one). This process is called normalization . For binary formats (which uses only
1564-621: Is the precision (the number of digits in the significand), b is the base (in our example, this is the number ten ), and e is the exponent. Historically, several number bases have been used for representing floating-point numbers, with base two ( binary ) being the most common, followed by base ten ( decimal floating point ), and other less common varieties, such as base sixteen ( hexadecimal floating point ), base eight (octal floating point ), base four (quaternary floating point ), base three ( balanced ternary floating point ) and even base 256 and base 65,536 . A floating-point number
1632-469: Is trivial (0.1 or 1×3 ) . The occasions on which infinite expansions occur depend on the base and its prime factors . The way in which the significand (including its sign) and exponent are stored in a computer is implementation-dependent. The common IEEE formats are described in detail later and elsewhere, but as an example, in the binary single-precision (32-bit) floating-point representation, p = 24 {\displaystyle p=24} , and so
1700-408: The 80386 microprocessor and was initially the only coprocessor available for the 80386 until the introduction of the 80387 in 1987. However, the 80387 is strongly preferred for its higher performance and the greater capability of its instruction set. The 80387 ( 387 or i387 ) is the first Intel coprocessor to be fully compliant with the IEEE 754-1985 standard. Released in 1987, two years after
1768-688: The English Electric DEUCE . The arithmetic is actually implemented in software, but with a one megahertz clock rate, the speed of floating-point and fixed-point operations in this machine were initially faster than those of many competing computers. The mass-produced IBM 704 followed in 1954; it introduced the use of a biased exponent . For many decades after that, floating-point hardware was typically an optional feature, and computers that had it were said to be "scientific computers", or to have " scientific computation " (SC) capability (see also Extensions for Scientific Computation (XSC)). It
1836-536: The Pentium of 1993 and later), where these exchange instructions (codes D9C8..D9CF h ) are optimized down to a zero clock penalty by using one of the integer paths for FXCH ST( x ) in parallel with the FPU instruction. Despite being natural and convenient for human assembly language programmers, some compiler writers have found it complicated to construct automatic code generators that schedule x87 code effectively. Such
1904-515: The Sun486i (codename Apache ) was designed, incorporating a 25 MHz 80486 CPU and improved SCSI interface. A small pre-production batch was built but the product was canceled in 1990, before its official launch. The inside surface of the right side cover has the Roadrunner logo and the developer's signatures molded in. BYTE in 1989 listed the Sun386i as among the "Excellence" winners of
1972-507: The 386 chip, the i387 includes much improved speed over Intel's previous 8087/80287 coprocessors and improved characteristics of its trigonometric functions. It was made available for USD $ 500 in quantities of 100. Shortly afterwards, it was made available through Intel's Personal Computer Enhancement Operation for a retail market price of USD $ 795. The 25 MHz version was available in retail channel for USD $ 1395. The Intel M387 math coprocessor met under MIL-STD-883 Rev. C standard . This device
2040-456: The 80-bit format. Clock cycle counts for examples of typical x87 FPU instructions (only register-register versions shown here). The A ... B notation (minimum to maximum) covers timing variations dependent on transient pipeline status and the arithmetic precision chosen (32, 64 or 80 bits); it also includes variations due to numerical cases (such as the number of set bits, zero, etc.). The L → H notation depicts values corresponding to
2108-464: The BYTE Awards, praising its ability to run multiple MS-DOS applications under SunOS. 80387 x87 is a floating-point -related subset of the x86 architecture instruction set . It originated as an extension of the 8086 instruction set in the form of optional floating-point coprocessors that work in tandem with corresponding x86 CPUs. These microchips have names ending in "87". This
Sun386i - Misplaced Pages Continue
2176-703: The IEEE Standard by four decades. In contrast, von Neumann recommended against floating-point numbers for the 1951 IAS machine , arguing that fixed-point arithmetic is preferable. The first commercial computer with floating-point hardware was Zuse's Z4 computer, designed in 1942–1945. In 1946, Bell Laboratories introduced the Model ;V , which implemented decimal floating-point numbers . The Pilot ACE has binary floating-point arithmetic, and it became operational in 1950 at National Physical Laboratory, UK . Thirty-three were later sold commercially as
2244-608: The Spanish engineer Leonardo Torres Quevedo published Essays on Automatics , where he designed a special-purpose electromechanical calculator based on Charles Babbage 's analytical engine and described a way to store floating-point numbers in a consistent manner. He stated that numbers will be stored in exponential format as n x 10 m {\displaystyle ^{m}} , and offered three rules by which consistent manipulation of floating-point numbers by machines could be implemented. For Torres, " n will always be
2312-480: The Sun386i also exists but was not generally available, except possibly to the U.S. government . Included with SunOS are the SunView GUI and VP/ix MS-DOS emulator. This runs as a SunOS process and thus allows multiple MS-DOS session to be run simultaneously, a major selling point of the Sun386i. Unix long file names are accessed using a mapping to DOS 8.3 filenames , the file names being modified to include
2380-509: The computation of the tangent function and its inverse, for example. Most x86 processors since the Intel 80486 have had these x87 instructions implemented in the main CPU, but the term is sometimes still used to refer to that part of the instruction set. Before x87 instructions were standard in PCs, compilers or programmers had to use rather slow library calls to perform floating-point operations,
2448-568: The computer representation for binary floating-point numbers in IEEE 754 (a.k.a. IEC 60559) in 1985. This first standard is followed by almost all modern machines. It was revised in 2008 . IBM mainframes support IBM's own hexadecimal floating point format and IEEE 754-2008 decimal floating point in addition to the IEEE 754 binary format. The Cray T90 series had an IEEE version, but the SV1 still uses Cray floating-point format. The standard provides for many closely related formats, differing in only
2516-420: The corresponding real number arithmetic operations by rounding any result that is not a floating-point number itself to a nearby floating-point number. For example, in a floating-point arithmetic with five base-ten digits, the sum 12.345 + 1.0001 = 13.3451 might be rounded to 13.345. The term floating point refers to the fact that the number's radix point can "float" anywhere to the left, right, or between
2584-483: The creation of the IEEE 754 standard once the 32-bit (or 64-bit) word had become commonplace. This standard was significantly based on a proposal from Intel, which was designing the i8087 numerical coprocessor; Motorola, which was designing the 68000 around the same time, gave significant input as well. In 1989, mathematician and computer scientist William Kahan was honored with the Turing Award for being
2652-503: The digits 0 and 1 ), this non-zero digit is necessarily 1 . Therefore, it does not need to be represented in memory, allowing the format to have one more bit of precision. This rule is variously called the leading bit convention , the implicit bit convention , the hidden bit convention , or the assumed bit convention . The floating-point representation is by far the most common way of representing in computers an approximation to real numbers. However, there are alternatives: In 1914,
2720-441: The first time at Sun, used color by default) and an "out of box experience" that was painless and administrator-free, targeted to bring a system onto the network ("box to mail") in fifteen minutes. It uses the pioneering Dynamic RARP network protocol. At the time, and for a few years afterwards until DHCP later became standard, no other vendors' workstations (or PCs) were as easy to install on TCP/IP networks. An upgraded model,
2788-492: The given number is scaled by a power of 10 , so that it lies within a specific range—typically between 1 and 10, with the radix point appearing immediately after the first digit. As a power of ten, the scaling factor is then indicated separately at the end of the number. For example, the orbital period of Jupiter 's moon Io is 152,853.5047 seconds, a value that would be represented in standard-form scientific notation as 1.528535047 × 10 seconds. Floating-point representation
Sun386i - Misplaced Pages Continue
2856-442: The i80287XL with 387SX microarchitecture with a 287 pinout, the i80287XLT, a special version intended for laptops, as well as other variants. It contains an internal 3/2 multiplier, so that motherboards that ran the coprocessor at 2/3 CPU speed could instead run the FPU at the same speed of the CPU. Both 80287XL and 80287XLT offered 50% better performance, 83% less power consumption, and additional instructions. The 80287 works with
2924-431: The installation of copy-protected software; files in this virtual drive are inaccessible to Unix programs. The Sun386i version of SunOS includes many features not found in the versions then shipped with Sun-3 workstations (and later with then-new SPARC workstations), in addition to VP/ix. These additions focus on ease of use for end users who are likely not to be UNIX experts, and includes enhanced desktop tools (which, for
2992-453: The left if the exponent is negative. Using base-10 (the familiar decimal notation) as an example, the number 152,853.5047 , which has ten decimal digits of precision, is represented as the significand 1,528,535,047 together with 5 as the exponent. To determine the actual value, a decimal point is placed after the first digit of the significand and the result is multiplied by 10 to give 1.528535047 × 10 , or 152,853.5047 . In storing such
3060-1691: The lowest (L) and the highest (H) maximal clock frequencies that were available. Companies that have designed or manufactured floating-point units compatible with the Intel 8087 or later models include AMD ( 287 , 387 , 486DX , 5x86 , K5 , K6 , K7 , K8 ), Chips and Technologies (the Super MATH coprocessors), Cyrix (the FasMath , Cx87SLC , Cx87DLC , etc., 6x86 , Cyrix MII ), Fujitsu (early Pentium Mobile etc.), Harris Semiconductor (manufactured 80387 and 486DX processors), IBM (various 387 and 486 designs), IDT (the WinChip , C3 , C7 , Nano , etc.), IIT (the 2C87 , 3C87 , etc.), LC Technology (the Green MATH coprocessors), National Semiconductor (the Geode GX1 , Geode GXm , etc.), NexGen (the Nx587 ), Rise Technology (the mP6 ), ST Microelectronics (manufactured 486DX , 5x86 , etc.), Texas Instruments (manufactured 486DX processors etc.), Transmeta (the TM5600 and TM5800 ), ULSI (the Math·Co coprocessors), VIA (the C3 , C7 , and Nano , etc.), Weitek (the 1067 , 1167 , 3167 and 4167 ), and Xtend (the 83S87SX-25 and other coprocessors). The 8087
3128-419: The main CPU and took over all CPU operations. The i487 took measures to detect the presence of an i486SX and would not function without the original CPU in place. The Nx587 was the last FPU for x86 to be manufactured separately from the CPU, in this case NexGen's Nx586 . Floating-point In computing , floating-point arithmetic ( FP ) is arithmetic on subsets of real numbers formed by
3196-411: The mainframe level was an ongoing problem by the early 1970s for those writing and maintaining higher-level source code; these manufacturer floating-point standards differed in the word sizes, the representations, and the rounding behavior and general accuracy of operations. Floating-point compatibility across multiple computing systems was in desperate need of standardization by the early 1980s, leading to
3264-429: The math coprocessor when it not needed. This mode consumes about 25 microamperes. The second mode operates automatically when the user is running application which requires the coprocessor is executing an instruction. That mode typically consumes 30 percent less battery power (about 100 mA) than the regular Intel387 SX Math Coprocessor. It goes to "idle" mode when it is not executing an instruction down to less than 4 mA
3332-420: The primary architect behind this proposal; he was aided by his student Jerome Coonen and a visiting professor, Harold Stone . Among the x86 innovations are these: A floating-point number consists of two fixed-point components, whose range depends exclusively on the number of bits or digits in their representation. Whereas components linearly depend on their range, the floating-point range linearly depends on
3400-457: The radix point is not specified, then the string implicitly represents an integer and the unstated radix point would be off the right-hand end of the string, next to the least significant digit. In fixed-point systems, a position in the string is specified for the radix point. So a fixed-point scheme might use a string of 8 decimal digits with the decimal point in the middle, whereby "00012345" would represent 0001.2345. In scientific notation ,
3468-542: The range ±π/4 (±45°), and the 8087 and 80287 have no direct instructions for the SIN and COS functions. Without a coprocessor, the 386 normally performs floating-point arithmetic through (relatively slow) software routines, implemented at runtime through a software exception handler . When a math coprocessor is paired with the 386, the coprocessor performs the floating-point arithmetic in hardware, returning results much faster than an (emulating) software library call. The i387
SECTION 50
#17327810800643536-646: The refreshed CMOS based Intel 80C186 CPU, Intel introduced the 80C187 math coprocessor. The 80C187 interface to the main processor is the same as that of the 8087, but its core is essentially that of an 80387SX and is thus fully IEEE 754 -compliant and capable of executing all the 80387's extra instructions. The 80287 ( i287 ) is the math coprocessor for the Intel 80286 series of microprocessors . Intel's models included variants with specified upper frequency limits ranging from 6 up to 12 MHz. The NMOS version were available 6, 8 and 10 MHz. The available 10 MHz Intel 80287-10 Numerics Coprocessor version
3604-437: The same number of digits (e.g. six), the first digit of n will be of order of tenths, the second of hundredths, etc, and one will write each quantity in the form: n ; m ." The format he proposed shows the need for a fixed-sized significand as is presently used for floating-point data, fixing the location of the decimal point in the significand so that each representation was unique, and how to format such numbers by specifying
3672-496: The significand is a string of 24 bits . For instance, the number π 's first 33 bits are: 11001001 00001111 1101101 0 _ 10100010 0. {\displaystyle 11001001\ 00001111\ 1101101{\underline {0}}\ 10100010\ 0.} In this binary expansion, let us denote the positions from 0 (leftmost bit, or most significant bit) to 32 (rightmost bit). The 24-bit significand will stop at position 23, shown as
3740-417: The significand range and exponentially on the range of exponent component, which attaches outstandingly wider range to the number. On a typical computer system, a double-precision (64-bit) binary floating-point number has a coefficient of 53 bits (including 1 implied bit), an exponent of 11 bits, and 1 sign bit. Since 2 = 1024, the complete range of the positive normal floating-point numbers in this format
3808-408: The significant digits of the number. This position is indicated by the exponent, so floating point can be considered a form of scientific notation . A floating-point system can be used to represent, with a fixed number of digits, numbers of very different orders of magnitude — such as the number of meters between galaxies or between protons in an atom . For this reason, floating-point arithmetic
3876-500: The single-precision format, and any integer with absolute value less than 2 can be exactly represented in the double-precision format. Furthermore, a wide range of powers of 2 times such a number can be represented. These properties are sometimes used for purely integer data, to get 53-bit integers on platforms that have double-precision floats but only 32-bit integers. The standard specifies some special values, and their representation: positive infinity ( +∞ ), negative infinity ( −∞ ),
3944-585: The top of the chassis. Frame buffer options include the 1024×768 or 1152×900-pixel monochrome BW2 card, the 8-bit color CG3 with similar resolutions, or the accelerated 8-bit color CG5, otherwise known as the Roadracer or GXi framebuffer. This uses the TI TMS34010 graphics processor and had a resolution of 1152x900. In addition, a "SunVGA" accelerator card can be installed in the ISA expansion slot that allows
4012-447: The topmost ST(0), while binary operations (FADD, FMUL, FCOM, etc.) implicitly address ST(0) and ST(1). The non-strict stack model also allows binary operations to use ST(0) together with a direct memory operand or with an explicitly specified stack register, ST( x ), in a role similar to a traditional accumulator (a combined destination and left operand). This can also be reversed on an instruction-by-instruction basis with ST(0) as
4080-547: The underlined bit 0 above. The next bit, at position 24, is called the round bit or rounding bit . It is used to round the 33-bit approximation to the nearest 24-bit number (there are specific rules for halfway values , which is not the case here). This bit, which is 1 in this example, is added to the integer formed by the leftmost 24 bits, yielding: 11001001 00001111 1101101 1 _ . {\displaystyle 11001001\ 00001111\ 1101101{\underline {1}}.} When this
4148-452: The unmodified operand and ST( x ) as the destination . Furthermore, the contents in ST(0) can be exchanged with another stack register using an instruction called FXCH ST( x ). These properties make the x87 stack usable as seven freely addressable registers plus a dedicated accumulator (or as seven independent accumulators). This is especially applicable on superscalar x86 processors (such as
SECTION 60
#17327810800644216-434: The x87 can be configured using a special configuration/status register to automatically round to single or double precision after each operation. Since the introduction of SSE2 , the x87 instructions are not as essential as they once were, but remain important as a high-precision scalar unit for numerical calculations sensitive to round-off error and requiring the 64-bit mantissa precision and extended range available in
4284-466: The x87 processors all use 80-bit double-extended precision internally (to allow sustained precision over many calculations, see IEEE 754 design rationale ). A given sequence of arithmetic operations may thus behave slightly differently compared to a strict single-precision or double-precision IEEE 754 FPU. As this may sometimes be problematic for some semi-numerical calculations written to assume double precision for correct operation, to avoid such problems,
4352-408: Was established, and since the 1990s, the most commonly encountered representations are those defined by the IEEE. The speed of floating-point operations, commonly measured in terms of FLOPS , is an important characteristic of a computer system , especially for applications that involve intensive mathematical calculations. A floating-point unit (FPU, colloquially a math coprocessor ) is a part of
4420-463: Was for 250 USD in quantities of 100. These boxed version of 80287, 80287-8, and 80287-10 were available for USD $ 212, $ 326, and $ 374 respectively. There was boxed version of 80C287A available for USD $ 457. Other 287 models with 387-like performance are the Intel 80C287, built using CHMOS III, and the AMD 80EC287 manufactured in AMD's CMOS process, using only fully static gates. Later followed
4488-958: Was not until the launch of the Intel i486 in 1989 that general-purpose personal computers had floating-point capability in hardware as a standard feature. The UNIVAC 1100/2200 series , introduced in 1962, supported two floating-point representations: The IBM 7094 , also introduced in 1962, supported single-precision and double-precision representations, but with no relation to the UNIVAC's representations. Indeed, in 1964, IBM introduced hexadecimal floating-point representations in its System/360 mainframes; these same representations are still available for use in modern z/Architecture systems. In 1998, IBM implemented IEEE-compatible binary floating-point arithmetic in its mainframes; in 2005, IBM also added IEEE-compatible decimal floating-point arithmetic. Initially, computers used many different representations for floating-point numbers. The lack of standardization at
4556-705: Was tested which includes temperature cycling between -55 and 125 °C, hermeticity sealed and extended burn-in. This military version operates at 16 MHz. This military version was available in 68-lead PGA and quad flatpack. This military version was available for USD $ 1155 in 100-unit of quantities for the PGA version. The 33 MHz version of 387DX was available and it has the performance of 3.4 megawhetstones per second . The following boxed version of 16-, 20-, 25-, and 33-MHz 387DX math coprocessor were available for USD $ 570, $ 647, $ 814, and $ 994 respectfully. The 8087 and 80287's FPTAN and FPATAN instructions are limited to an argument in
4624-534: Was the first math coprocessor for 16-bit processors designed by Intel . It was built to be paired with the Intel 8088 or 8086 microprocessors. (Intel's earlier 8231 and 8232 floating-point processors, marketed for use with the i8080 CPU, were in fact licensed versions of AMD's Am9511 and Am9512 FPUs from 1977 and 1979. ) Although the original 1982 datasheet for the ( NMOS based) 80188 and 80186 seem to mention specific math coprocessors, both chips were actually paired with an 8087. However, in 1987, to work with
#63936