Thursday, 4 June 2015

Remembering… Maths Coprocessor

Math Coprocessor

This week, we get a little help from a mathematician

Back in the early 80s the PC was essentially a business only machine. Gaming hadn’t really taken off, and there would still be a few more years until the PC would become a recognised gaming platform, so the vast majority of PC-based computing was word processing, spreadsheets, design and CAD stuff.


The 80286, 80386 and 80386SX line of processors were the ones to get, the most powerful CPUs at that time. But they weren’t particularly clever when it came to working out their sums, especially floating point arithmetic. Well, obviously they could do it, but the amount of strain on the processor when working out great chunks of mathematical data was pretty significant. CAD users, for example, who generated incredibly detailed plans and designs required a fair amount of processing power. While the 80286 and 80386 were the bee’s knees, even they could stall when rendering the 3D designs for a house.

To speed things up, the maths coprocessor was developed – or in the case of Intel, the 8087 chip.

Its History


The coprocessor wasn’t a new addition to the computer; in fact, it had been around for quite some time in early mainframes. For the desktop, though, it was relatively new, especially since sales of the desktop PC were beginning to pick up.

The 8087 boosted the floating point computations, addition, subtraction and square root calculations of the x86 main processor. Where the main CPU would take some time to dwell over the calculations and because it was processing everything else in the system as well, the time taken to push the finished result to the screen (as a rough example) wasn’t really productive.

intel 8087

The maths coprocessor could take those calculations off the CPU and throw them back when it had finished working it all out. The result could be a system speed improvement of up to 500%, which for a room full of CAD workers designing an oil rig meant a far better return of investment to the company.

It wasn’t just design, though, that enjoyed the extra processing powers of a coprocessor. Accounting software took advantage of it and even early gaming. From the point of view of gaming, a good example of coprocessor use would be the Super FX chip that was built into the cartridges of certain SNES games. Super Mario World 2 and more notably Starwing could push their rendered polygons through the coprocessor to great effect.

The early PC gaming world also benefited from a maths coprocessor. There were numerous flight simulators, and Descent, Screamer and even Quake could use a coprocessor if one was installed in the system.

Unfortunately, the coprocessor came to an end when the newly released 486DX CPUs appeared. These were powerful enough processors that also included floating point functionality. However, the coprocessor, it seems, isn’t quite as extinct as you may think.

The Intel Xeon Phi is the latest batch of coprocessors designed for use in supercomputing Many Integrated Core architecture. The Xeon Phi 7120A, for example, is a 1.2GHz coprocessor that can address up to 16GB of memory and has an eye-watering 61 cores.

Conclusion


To many, the maths coprocessor was the unsung hero of early computing. It helped with our work and it gave a helping hand to a handful of games. It was also quite the luxury item for the average user and gave an air of exclusivity to the person who had a 386 with coprocessor installed.

Perhaps it’ll one day come back into desktop computing, maybe as a hot-swap card for the PC to add more computing power?

Did You Know?


• There were several coprocessors developed by Intel, AMD and Cyrix with clock speeds from 4MHz through to 10MHz.
• The CX4 was another NES coprocessor, used in Mega Man X2.
• The Atari STe, TT and Falcon all had FPU coprocessor sockets for the 68881 and 68882 maths coprocessors. Also available for the Amiga too.
• Falcon 3.0 used a maths coprocessor to render high fidelity graphics. It was a glorious thing to behold as well.