Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Hardware
  3. PC
  4. In 1980, Intel released the 8087 floating-point chip, making math much faster.

In 1980, Intel released the 8087 floating-point chip, making math much faster.

Scheduled Pinned Locked Moved PC
6 Posts 3 Posters 50 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • kenshirriff@oldbytes.spaceK This user is from outside of this forum
    kenshirriff@oldbytes.spaceK This user is from outside of this forum
    kenshirriff@oldbytes.space
    wrote on last edited by
    #1

    In 1980, Intel released the 8087 floating-point chip, making math much faster. I'm reverse-engineering this chip, 46 years later. Most of its instructions are implemented in microcode, but some are implemented in hardware. Let's look at the circuitry that decodes instructions and decides what to do...

    Link Preview Image
    renardboy@mastodon.socialR kenshirriff@oldbytes.spaceK dianebruce@bsd.networkD 3 Replies Last reply
    0
    • kenshirriff@oldbytes.spaceK kenshirriff@oldbytes.space

      In 1980, Intel released the 8087 floating-point chip, making math much faster. I'm reverse-engineering this chip, 46 years later. Most of its instructions are implemented in microcode, but some are implemented in hardware. Let's look at the circuitry that decodes instructions and decides what to do...

      Link Preview Image
      renardboy@mastodon.socialR This user is from outside of this forum
      renardboy@mastodon.socialR This user is from outside of this forum
      renardboy@mastodon.social
      wrote on last edited by
      #2

      @kenshirriff this is extremely cool, good luck ๐Ÿ˜

      1 Reply Last reply
      0
      • kenshirriff@oldbytes.spaceK kenshirriff@oldbytes.space

        In 1980, Intel released the 8087 floating-point chip, making math much faster. I'm reverse-engineering this chip, 46 years later. Most of its instructions are implemented in microcode, but some are implemented in hardware. Let's look at the circuitry that decodes instructions and decides what to do...

        Link Preview Image
        kenshirriff@oldbytes.spaceK This user is from outside of this forum
        kenshirriff@oldbytes.spaceK This user is from outside of this forum
        kenshirriff@oldbytes.space
        wrote on last edited by
        #3

        Like many processors, the 8087 uses a "Programmable Logic Array" (PLA) to decode the bit patterns in instructions. A PLA consists of grids of transistors, with some of the transistors missing. The pattern of transistors controls the PLA's function. The grid is a dense and flexible way of implementing this logic.

        Link Preview Image
        kenshirriff@oldbytes.spaceK 1 Reply Last reply
        0
        • kenshirriff@oldbytes.spaceK kenshirriff@oldbytes.space

          Like many processors, the 8087 uses a "Programmable Logic Array" (PLA) to decode the bit patterns in instructions. A PLA consists of grids of transistors, with some of the transistors missing. The pattern of transistors controls the PLA's function. The grid is a dense and flexible way of implementing this logic.

          Link Preview Image
          kenshirriff@oldbytes.spaceK This user is from outside of this forum
          kenshirriff@oldbytes.spaceK This user is from outside of this forum
          kenshirriff@oldbytes.space
          wrote on last edited by
          #4

          The microcode inside the 8087 chip uses conditional jumps for many purposes. Some conditions examine the instruction, so the microcode can act differently for different instructions. Here's the PLA that stores target addresses for microcode jumps. Target 0 is special: it does a three-way branch depending if the instruction is multiplication, division, or addition/subtraction.

          Link Preview Image
          kenshirriff@oldbytes.spaceK 1 Reply Last reply
          0
          • kenshirriff@oldbytes.spaceK kenshirriff@oldbytes.space

            The microcode inside the 8087 chip uses conditional jumps for many purposes. Some conditions examine the instruction, so the microcode can act differently for different instructions. Here's the PLA that stores target addresses for microcode jumps. Target 0 is special: it does a three-way branch depending if the instruction is multiplication, division, or addition/subtraction.

            Link Preview Image
            kenshirriff@oldbytes.spaceK This user is from outside of this forum
            kenshirriff@oldbytes.spaceK This user is from outside of this forum
            kenshirriff@oldbytes.space
            wrote on last edited by
            #5

            Instruction decoding in the 8087 has many more complications: hardcoded instructions handled by the "Bus Interface Unit", instructions that load a constant from the constant ROM, and handling the instruction queue. For more details, see my latest blog post:
            https://www.righto.com/2026/02/8087-instruction-decoding.html

            1 Reply Last reply
            0
            • kenshirriff@oldbytes.spaceK kenshirriff@oldbytes.space

              In 1980, Intel released the 8087 floating-point chip, making math much faster. I'm reverse-engineering this chip, 46 years later. Most of its instructions are implemented in microcode, but some are implemented in hardware. Let's look at the circuitry that decodes instructions and decides what to do...

              Link Preview Image
              dianebruce@bsd.networkD This user is from outside of this forum
              dianebruce@bsd.networkD This user is from outside of this forum
              dianebruce@bsd.network
              wrote on last edited by
              #6

              @kenshirriff Cool.I remember when they had to sell them in a matched set because of a NMI bug in the 8088. We discovered that bug the hard way at Dynalogic. ๐Ÿ˜‰

              1 Reply Last reply
              0
              • incentiveI incentive moved this topic from Uncategorized on
              Reply
              • Reply as topic
              Log in to reply
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes


              • Login

              • Login or register to search.
              • First post
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • World
              • Users
              • Groups