top | item 10379017

Nibbler 4 Bit CPU

87 points| kephra | 10 years ago |bigmessowires.com

19 comments

order

richdougherty|10 years ago

Nibbler also lacks any address registers, which means it can’t support any form of indirect addressing, nor a hardware-controlled stack. All memory references must use absolute addresses.

Wow!

kens|10 years ago

The Nibbler is pretty cool. Lacking indirect addressing and a stack isn't that strange. The IBM 1401 mainframe (1959) for instance doesn't have indirect addressing or a stack. [] Self-modifying code was used to get around this. E.g. you store the return address into a jump instruction at the end of the subroutine. However, the big difference with Nibbler is it's not a von Neumann architecture, so you can't modify the code.

[] Indirect addressing was an optional feature on the IBM 1401 for an additional monthly fee.

On the topic of processors made from 74xx TTL, I'll point out the Datapoint 2200 desktop computer. This had a board of TTL chips equivalent to the 8008 microprocessor. The 8008 was actually designed to replace this TTL-based processor. Trivia: the x86 is little-endian because when building a serial computer from TTL it's easier to use little-endian. https://en.wikipedia.org/wiki/Datapoint_2200

The Nibbler is different from the PDP, Datapoint, etc in that the Nibbler has very, very few chips; almost all the logic is done in microcode. This is the same trick used to build a "single-chip" processor from the Four Phase AL1. https://en.wikipedia.org/wiki/Four-Phase_Systems

PythonicAlpha|10 years ago

Yes, it is a very limited design, but the thought, that it was implemented just using (very few!) standard 74xxx TTL logic is really amazing.

And still it runs with 1MHz, the same speed of my first computer ;) with a dedicated integrated CPU.