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.
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
richdougherty|10 years ago
Wow!
kens|10 years ago
[] 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
And still it runs with 1MHz, the same speed of my first computer ;) with a dedicated integrated CPU.