Stories
Slash Boxes
Comments

SoylentNews is people

posted by jelizondo on Monday June 01, @02:58AM   Printer-friendly

https://www.righto.com/2026/05/microcode-inside-intel-8087-floating.html

In 1980, Intel introduced the 8087 floating-point chip, a co-processor that made floating-point operations up to 100 times faster. This chip was highly influential, and today most processors use the floating-point standard introduced by the 8087.

The 8087 uses complicated algorithms to accurately compute functions such as square roots, tangents, and exponentials. These algorithms are implemented inside the chip in low-level code called microcode. I'm part of a group, the Opcode Collective, that is reverse-engineering this microcode. In this post, I take a close look at the microcode for one of the 8087's instructions—FXCH—and explain how the microcode works. The FXCH (Floating-point Exchange) instruction exchanges two floating-point registers. You might expect this instruction to be trivial, but there's more going on than you might expect; the microcode uses 14 micro-instructions to implement the exchange instruction.

To explore the microcode, I opened up an 8087 chip and created a high-resolution image with a microscope. The large microcode ROM occupies a central position, holding the micro-instructions that control the chip. The microcode engine on the left steps through the microcode, handling jumps and subroutine calls. The bottom half of the chip is the "datapath", the circuitry that performs floating-point calculations; it is split into a 16-bit datapath for the number's exponent and a 64-bit datapath for the number's fractional part (also known as the significand).


Original Submission

 
This discussion was created by jelizondo (653) for logged-in users only, but now has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by Deep Blue on Tuesday June 02, @02:01PM (1 child)

    by Deep Blue (24802) on Tuesday June 02, @02:01PM (#1444207)

    The same IEEE 754 that was already in AM9512 ( and so also in 8232) from few years earlier?

    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2  
  • (Score: 2) by Deep Blue on Tuesday June 02, @02:18PM

    by Deep Blue (24802) on Tuesday June 02, @02:18PM (#1444211)

    I mean from the link i posted, the AM9512 was not a huge success, so in a way 8087 brought it to bigger masses.