While I was at Mark Williams back in the day, the engineers wrote 8087 emulation floating point for the Mark Williams 8086 compiler. This involved some quality time with the Volume 2 of Knuth in the log division section.
Also, need to bear in mind that 25-30 years ago, laptops were 10x more expensive than today.
For my postdoc in 1995, my industry sponsor bought me a then top-of-the range Dell Latitude XP with 100MHz 80486, integrated 80487 coprocessor and 32MB RAM for radar signal processing research.
In Australia at the time, it cost A$10,000, as much as my car.
Even the 24MB RAM upgrade from 8 to 32MB cost USD1,200 ($2,500) in today's money. Which puts current complaints about the soaring cost of RAM into perspective!
As others said, the chip was more sophisticated than the 8088 itself, so it was fairly expensive. The original IBM PC (and pretty much all of the clones) came with an empty socket for the 8087. You could buy the chip and plug it in if you wanted the extra floating point performance. At the time, probably most people who bought it were using big spreadsheets, and it made using those much faster.
At that time, the idea of deliberately disabling features for market segmentation was seen as unseemly and an indicator of an illegal monopoly.
From a Marketing PoV, sure, it was a differentiator with special sauce.
But from an Accounting PoV, it was separate chip. With far more transistors than the 8086 CPU. And its cutting-edge (for the time) design and other fixed costs had to be spread over a far number smaller number of units.
I may be misremembering my source (an interview with the 8087 architect lead), but I want to say the die yield on the 8087 was like 30%... just barely feasible for Intel to actually make.
The original 8087 had low yields not only because it had a greater area, but also because it was made with a special technology that was used in few other devices (VMOS), so it was more complex and there was less manufacturing experience with it than with the technology used to make 8086 (HMOS).
Later revisions of 8087 used a standard technology and a shrunk die, with improved yields.
It wasn't deliberate in the sense of deliberately making a second chip that wasn't necessary, selling it as some kind of dongle to unlock existing functionality in the 8086. It was a real chip that cost as much or more than the 8086 to manufacture. The sauce that was difficult to attain otherwise was hardware implemented FP. You could either buy an 8087 or design and fab your own equivalent. Or accept slow FP.
The interesting thing about the 8087 is that the co-processor interface was kind of generic. In theory you could have had things beyond just an FPU, but I don't know if much was ever done using it.
It'd be fun to shoehorn some incredibly (relatively) powerful device as an 8086 copro - maybe an early GPU or something that could communicate slow enough.
While I was at Mark Williams back in the day, the engineers wrote 8087 emulation floating point for the Mark Williams 8086 compiler. This involved some quality time with the Volume 2 of Knuth in the log division section.
The article states that the 8087 was an expensive add-on.
Was this price point a deliberate market differentiator, or was there some special sauce within FPU that was otherwise difficult to attain?
Also, need to bear in mind that 25-30 years ago, laptops were 10x more expensive than today.
For my postdoc in 1995, my industry sponsor bought me a then top-of-the range Dell Latitude XP with 100MHz 80486, integrated 80487 coprocessor and 32MB RAM for radar signal processing research.
In Australia at the time, it cost A$10,000, as much as my car.
Even the 24MB RAM upgrade from 8 to 32MB cost USD1,200 ($2,500) in today's money. Which puts current complaints about the soaring cost of RAM into perspective!
As others said, the chip was more sophisticated than the 8088 itself, so it was fairly expensive. The original IBM PC (and pretty much all of the clones) came with an empty socket for the 8087. You could buy the chip and plug it in if you wanted the extra floating point performance. At the time, probably most people who bought it were using big spreadsheets, and it made using those much faster.
At that time, the idea of deliberately disabling features for market segmentation was seen as unseemly and an indicator of an illegal monopoly.
From a Marketing PoV, sure, it was a differentiator with special sauce.
But from an Accounting PoV, it was separate chip. With far more transistors than the 8086 CPU. And its cutting-edge (for the time) design and other fixed costs had to be spread over a far number smaller number of units.
They were not made in especially large numbers and they were - look at Ken Shirriff's blog - way more complex than the 8088 chip.
Can't find "good" figures but they were apparently about $100 in 1980 money for an 8088 and about five times that for the 8087, something like that.
That'd be something like $400-odd and $2000-odd in today's money.
I may be misremembering my source (an interview with the 8087 architect lead), but I want to say the die yield on the 8087 was like 30%... just barely feasible for Intel to actually make.
The original 8087 had low yields not only because it had a greater area, but also because it was made with a special technology that was used in few other devices (VMOS), so it was more complex and there was less manufacturing experience with it than with the technology used to make 8086 (HMOS).
Later revisions of 8087 used a standard technology and a shrunk die, with improved yields.
It wasn't deliberate in the sense of deliberately making a second chip that wasn't necessary, selling it as some kind of dongle to unlock existing functionality in the 8086. It was a real chip that cost as much or more than the 8086 to manufacture. The sauce that was difficult to attain otherwise was hardware implemented FP. You could either buy an 8087 or design and fab your own equivalent. Or accept slow FP.
The interesting thing about the 8087 is that the co-processor interface was kind of generic. In theory you could have had things beyond just an FPU, but I don't know if much was ever done using it.
There was an 8089 I/O co-processor. I'm not sure what used it, maybe if you were making some kind of realtime data acquisition system?
It'd be fun to shoehorn some incredibly (relatively) powerful device as an 8086 copro - maybe an early GPU or something that could communicate slow enough.
Pre-Cortex ARM CPUs were the same way.
Chips did fit crypto engines, matrix multipliers, FFT offload, and color converters there.