Clever Geek Handbook
πŸ“œ ⬆️ ⬇️

X87

x87 is a special set of instructions for working with mathematical calculations, which is a subset of the architecture of x86 processors . He got this name because the original individual mathematical coprocessors had names ending in 87 . Like other extensions of the basic set of processor instructions, these instructions are not strictly necessary for building a working program, but being hardware implemented, they allow you to perform general mathematical tasks much faster. For example, the x87 instruction set contains commands for calculating the sine or cosine values .

Description

All Intel and AMD processors, starting with 486DX and Am486DX , respectively, have a built-in mathematical coprocessor , and do not need a separate coprocessor (with the exception of Intel486SX ). However, the term x87 is still used to indicate that part of the processor instructions that deal with floating point calculations; compilers can use these instructions to produce code that is faster than the one that uses library calls to perform floating point operations.

X87 instructions are compatible with the IEEE-754 standard. However, x87s do not perform operations in strict accordance with IEEE-754 formats, due to the use of wider registers. Therefore, the sequence of arithmetic operations can be performed somewhat differently on the x87 set and on the processor strictly following the IEEE-754 format.

x87 organizes its registers not as an array, like most other architectures, but as a register stack that works on the principle of reverse Polish notation . This means that at one point in time, only two upper registers are available for operations, and access to other registers requires manipulation of the stack. Although such an organization is convenient for programmers, it makes it time-consuming to build efficient x87 code for compilers.

Starting with the Pentium III , SSE instructions perform calculations with single precision, and in later versions, double precision with IEEE-754 formats. Since the advent of SSE2 , the use of x87 has been greatly diminished in 64-bit x86-64 architectures and related 64-bit implementations of operating systems such as Microsoft Windows , Mac OS X , Solaris , FreeBSD, and Linux , although it is still good Supported for full compatibility with older applications.

Related Links

  • Coprocessor.info: x86 Coprocessor development & history knowledge
  • Everything you always wanted to know about math coprocessors

See also

  • Math coprocessor
  • Intel 8087
  • Intel487SX
Source - https://ru.wikipedia.org/w/index.php?title=X87&oldid=98237930


More articles:

  • Silvan of Alexandria
  • Fedorovka (Neklinovsky District)
  • Agapovsky District
  • Silesian Evangelical Church of the Augsburg Confession
  • Wilma, Eva
  • Mitsubishi Ki-30
  • Saunders Roy
  • Agapovka
  • Weissblat, Solomon Naumovich
  • Pies (mammals)

All articles

Clever Geek | 2019