Rendered at 22:56:12 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
defrost 34 minutes ago [-]
Ten minutes in it looks like a great project walkthrough from design to physical device build.
Good start for anyone interested in the guts of going from logic gates to math() primitives ( add, mult, tan, sin, etc ).
Two snippets from the lede, one from a chapter heading:
This is a scientific BCD calculator that uses binary-coded decimals, the same internal number format HP used in its scientific calculators going back to the 1970s. It represents every decimal digit as a 4-bit nibble, which means perfect decimal accuracy, no floating-point conversion errors, and an architecture that is genuinely shaped by the problem it solves.
Across ten chapters, you will follow full arc: the architectural decisions and tradeoffs, the numerical algorithms (addition, multiplication, CORDIC for trig, logarithms), the custom CPU design and its 12-bit instruction set, a hand-written two-pass assembler in Python, the microcode that runs on that CPU, a scripting layer for high-level key functions, and finally the physical board with its battery, display, and keyboard.
Chapter 6 (of 10):
No general-purpose CPU has nibble-addressable memory and addressing modes designed to walk a 16-digit BCD mantissa — so this post designs one.
Good start for anyone interested in the guts of going from logic gates to math() primitives ( add, mult, tan, sin, etc ).
Two snippets from the lede, one from a chapter heading:
Chapter 6 (of 10): I like it.