Home | Notifications | New Note | Local | Federated | Search | Logout
Ken Shirriff@kenshirriff@oldbytes.space
Computer history. Reverse-engineering old chips. Restored Apollo Guidance Computer, Xerox Alto. Ex-Google, Sun, Msft. So-called boffin.
Blog: https://righto.com
Bluesky: https://bsky.app/profile/righto.com
Github: https://github.com/shirriff
Joined: 2026-10-14 01:36:09
7 notes, 0 following, 0 followers
Reply to @kenshirriff@oldbytes.space
Ken Shirriff@kenshirriff@oldbytes.space (2026-09-27 02:07:54)
Credits: I've been working on this with the members of the "Opcode Collective", especially Smartest Blob and @gloriouscow, who used ML to convert ROM images to microcode data and extensively analyzed the contents.
Photo of the CORDIC II computer from "The Birth of CORDIC", by Jack Volder, the creator of CORDIC: https://web.archive.org/web/20160304064804if_/http://late-dpedago.urv.cat/site_media/papers/fulltext_2.pdf
Reply to @kenshirriff@oldbytes.space
Ken Shirriff@kenshirriff@oldbytes.space (2026-09-27 02:05:29)
For details on how the 8087 calculates tangents by using the CORDIC algorithm combined with polynomials, see my latest article:
https://www.righto.com/2026/09/8087-tangent-cordic.html
Reply to @kenshirriff@oldbytes.space
Ken Shirriff@kenshirriff@oldbytes.space (2026-09-27 02:05:06)
The 8087 chip implements its algorithms in microcode, specialized low-level code inside the chip. By examining the microcode ROM under a microscope, the Opcode Collective extracted the bits and I reverse-engineered the algorithm.
---Attachments---
image: https://assets.oldbytes.space/assets.oldbytes.space/media_attachments/files/117/338/425/014/611/055/original/5ce63607afd9ba14.png
image: https://assets.oldbytes.space/assets.oldbytes.space/media_attachments/files/117/338/426/271/805/716/original/59e1d6ad620678a6.png
Reply to @kenshirriff@oldbytes.space
Ken Shirriff@kenshirriff@oldbytes.space (2026-09-27 02:04:21)
CORDIC became popular, especially in scientific calculators. The 8087 chip uses CORDIC, but goes further, also using a polynomial ratio to get more accuracy. The simple function 3x/(3-x^2) (blue) is surprisingly close to the tangent (red), better than a Taylor series (green).
---Attachments---
image: https://assets.oldbytes.space/assets.oldbytes.space/media_attachments/files/117/338/422/907/310/576/original/3f2be8617d07a876.png
Reply to @kenshirriff@oldbytes.space
Ken Shirriff@kenshirriff@oldbytes.space (2026-09-27 02:03:52)
Usually, rotating a vector by an angle requires complicated math. But for some special angles, the calculation requires just shifts and adds, easy to do in hardware. The CORDIC algorithm breaks down an angle into special angles (using a table), does quick vector rotations, producing the trig answer.
Reply to @kenshirriff@oldbytes.space
Ken Shirriff@kenshirriff@oldbytes.space (2026-09-27 02:03:35)
Back in 1956, the Mach-2 B-58 Hustler had an analog navigation computer. It wasn't accurate enough, so they built a digital replacement. Sines and cosines are easy in analog, but required a new digital algorithm. They invented the CORDIC algorithm and built the 134-pound CORDIC computer.
---Attachments---
image: https://assets.oldbytes.space/assets.oldbytes.space/media_attachments/files/117/338/415/629/550/235/original/e1c96ddfaada2098.png
image: https://assets.oldbytes.space/assets.oldbytes.space/media_attachments/files/117/338/417/160/755/990/original/adb0910344b86c17.png
Ken Shirriff@kenshirriff@oldbytes.space (2026-09-27 02:02:02)
How do computers calculate complicated trig functions such as tangent? I took a look at Intel's 8087 floating-point chip under the microscope to find out. The chip combines two techniques to evaluate the tan function quickly and accurately: polynomials and an algorithm called CORDIC...
---Attachments---
image: https://assets.oldbytes.space/assets.oldbytes.space/media_attachments/files/117/338/413/512/318/470/original/648a2154d87efd1b.png