How The 8087 Coprocessor Got Its Bias

Most of us have been there. You build a device but realize you need two or more voltages. You could hook up multiple power supplies but that can be inconvenient and just not elegant. Alternatively, you can do something in the device itself to create the extra voltages starting with just one. When [Ken Shirriff] decapped an 8087 coprocessor to begin exploring it, he found it had that very problem. It needed: +5 V, a ground, and an additional -5 V.

His exploration starts with a smoking gun. After decapping the chip and counting out all the bond wires going to the various pads, he saw there was one too many. It wasn’t hard to see that the extra wire went to the chip’s substrate itself. This was for providing a negative bias to the substrate, something done in some high-performance chips to get increased speed, a more predictable transistor threshold voltage, and to reduce leakage current. Examining where the bond wire went to in the circuitry he found the two charge pump circuits shown in the banner image. Those worked in alternating fashion to supply a -5 V bias to the substrate, or rather around -3 V when you take into account voltage drops. Of course, he also explains the circuits and dives in deeper, including showing how the oscillations are provided to make the charge pumps work.

If this is anything like [Ken’s] previous explorations, it’ll be the first of a series of posts exploring the 8087. At least that’s what we hope given how he’d previously delighted us with a reverse engineering of the 76477 sound effects chip used in Space Invaders and then went deeper to talk about integrated injection logic (I2L) as used in parts of the chip.

8 thoughts on “How The 8087 Coprocessor Got Its Bias

  1. Only 2.4 watts? I remember shoving an 8087 into a laptop (that had a socket for it!) and sure enough, benchmarks detected it, but it got hotter than blazes! Maybe 2.4 watts is a lot when there’s no airflow…

  2. Back when I was designing systems using the 8086, we looked at the ’87 and decided it was a POS — didn’t work in parallel with the ’86, but put the ’86 to “sleep” while it did the numbers. Bad architecture.
    I found a chip that did decimal arithmetic. May have been a mod of a chip intended for calculators; don’t recall (AMI ??), but it had a nice I/O structure. We wrote some code to hook it to the ’86 and got what we wanted — real parallel math assistance. Shove a problem into its input FIFO, and get an interrupt when it had the answer ready to pick up.
    Both the Motorola 68000 and the National had far superior architectures to the 8086, but neither company understood the value of providing a good development environment — which Intel (sort of) did.

    1. Was it the AMD 9511? If that wasn’t the first matzoh coprocessor for microprocessors, it was the most visible. It was standalone, not designed to interface to a specific CPU, but any of them. I think expensive too.

      I know little about the 8087, but recall some comments at the time, and then later iterations came out that fitted better with the matching CPU, so apparently Intel needed to get better at it.

      I remember an article or two in the late seventies which interfaced a calculator to a CPU. It wasn’t a math coprocessor, but maybe had some characteristic which made it easier to interface. It was controlled by the CPU, by doing the equivalent of “pressing the buttons”. And it was slow, I remember my TI-30 calculator circa 1977 churning a bit on more complicated functions, that would have been really slow for the CPU. But no need to write floating point routines forte CPU, or find memory space for them.

      Michael

  3. I am a total noob in electronics but doesn’t that charge pump diagram need a resistor. It seems like the capacitor would be shorted without a resistor even if the current is going to flow through a diode, no?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.