Hot answers tagged

32

But why was the 8087 designed such that it needed a special socket? Because the 8087 is a processor EXTENSION, not another CPU. The 8087 has, except for a few lines, exactly the same signals and pinout as the 8086/88. The socket is, except for 4(?) lines, a one-on-one duplicate of the CPU socket. This includes signals that need to be connected between both ...


17

Full disclosure: I worked on the x87 FPU of a 486-class CPU at a math-coprocessor company in the early 1990s and thereafter worked at AMD, where I was on the 3DNow! design team and the design team for the FPU of the AMD Athlon processor (also known as K7). The x87 FPU never acquired a flush-to-zero mode. In fact, denormal support was one of the major ...


17

The tan(x) function has a period of π radians, with asymptotes at ±π/2; it effectively calculates sin(x)/cos(x), and the latter goes to zero at those points. So a function which evaluates properly over that interval can be used for any angle, by first reducing the angle to the range supported. However, accurately calculating the tangent function near the ...


14

The restrictions on the range of arguments the transcendental instructions are able to handle is a direct result of hardware resource limitations in these early floating-point units. The primary source for the implementation details of the transcendental instructions in the 8087 is: Rafi Nave, "Implementation of transcendental functions on a numerics ...


14

The MC68882 was relatively well-regarded among 1980s FPUs. Digging out accurate timing information takes some effort, but it appears that handling denormalised values was only moderately burdensome for this FPU. In the context of a register-to-register FADD already taking several dozen clock cycles: Taking a denormalised extended-precision source operand ...


6

The socket was 'special' only in the sense that its only purpose was to accept an 8087; it wasn't an unusual component. Adding this socket would be significantly cheaper than adding what would come to be known as an ISA connector. It's also good practice to keep the PCB tracks short, so placing the 8087 close to the CPU would be preferable to having it on ...


6

You need to understand that using the 8087 was effectively "free" for the developers and for the users. You linked in a floating point library that determined the existence of the 8087, and if it was there, it used it. If not it fell back to a software method. This means that the users don't have to do anything special to their code to leverage it. ...


4

Without detailed sales and usage figures, “the most common” is probably impossible to answer, and even considering only the 8087, the answer depends on “when” — reasons to buy 8087s changed as programs using it became available. The more open plural variant of your question is largely answered in the question. Byte’s 1984 “Guide to the IBM PCs” gives a good ...


2

Many database programs, including later versions of dBase and Paradox, provided features beyond simple database table storage lookup. They could generate tables dynamically, and also had programming languages that enabled open-ended calculations and report generation. Some people used them somewhat like spreadsheets, or where one might use a statistics or ...


1

I remember that FPTAN didn't give the actual tg(x), but two results and you had to divide one by another in order to get tg(x) (and they were not sin(x) and cos(x) as one would hope). Probably that's why it was "Partial".


Only top voted, non community-wiki answers of a minimum length are eligible