The Story of the First Microprocessors
spectrum.ieee.org
spectrum.ieee.org
4004: http://archive.computerhistory.org/resources/access/text/201...
8080: http://archive.computerhistory.org/resources/access/text/201...
z80: http://archive.computerhistory.org/resources/text/Oral_Histo...
http://corphist.computerhistory.org/corphist/documents/doc-4...
The AL1 chip is an 8-bit arithmetic/logic chip with some registers. It does no instruction fetching, no instruction decoding, and doesn't have an instruction set. It doesn't implement any control functions. It doesn't perform memory or I/O operations. (It's similar to a 74181 ALU chip with registers.) So how can it operate as a CPU?
The trick in the demo is the ROM has a "ROM memory address registers", which seems like an innocent latch. But this latch is under the control of the ROM, not the "CPU". The ROM and latch form a state machine that is controlling the system, performing RAM and I/O operations and directing the AL1 chip to perform ALU operations. The ROM is not sending instructions to the "CPU"; the ROM is running the show. The ROM doesn't hold AL1 instructions; it holds crazy microcode-like sequences that get the system to stumble through operations. There's no program counter as such, just the ROM jumping from address to address.
In other words, if you think of a microprocessor as ALU + control, the AL1 chip has only the ALU half, not the control half. The ROM-based state machine provides the control half.
I'll also point out that the AL1 die photo [1] from the demo is kind of bogus. Near the bottom is the label "instruction register 23 bits" - the chip has no instruction register and the label is dropped on top of some clock lines. Saying the chip has an instruction register makes it sound much more like a CPU, but it's just fiction.
To conclude, I am extremely impressed that Boysel was able to get the demo working. But don't be tricked into thinking the AL1 is a microprocessor.
[1] http://www.computerhistory.org/revolution/digital-logic/12/2...
(Background: Wozniak's design for the Apple II disk controller used very few chips. A ROM and latch implemented a simple state machine that did much of the control sequencing. The CPU also did a lot of the low-level control.)
If you look at the image, the chip can be split into three horizontal slices. At the top is instruction decoding. In the middle is the ALU. At the bottom is the register file. TI originally designed the processor as three chips, and this remained visible in the final chip.
There's very little written about the chip, so I plan to write about its architecture some time. The patents are very detailed (TI is good that way), and explain almost everything if you take the time to go through them.
Here's a block diagram of the chip: https://goo.gl/photos/TRXRc2VKhQNaVxhG9
Another interesting historical artifact from the Datapoint 2200's shift-register memory and serial processor is that when you're operating on one bit at a time, you want to start with the lowest bit, so you end up with a little-endian processor. For compatibility the 8008 was little-endian, and thus x86, and thus the processor you're probably using now.
[1] http://www.righto.com/2014/12/inside-intel-1405-die-photos-o...
A metal-oxide (MOS) transistor is a FET. Commonly known as MOSFET.
https://en.wikipedia.org/wiki/Microprocessor#Pico.2FGeneral_...