Intel 8008
The Intel 8008 was introduced in 1972. It was designed by the Computer Terminal Corporation (CTC), implemented and manufactured by Intel. Even though the 8008 was launched on year after the Intel 4004 and having a similar naming, the 8008 is not based on the 4004 design. There were two assembly language instruction sets published for the Intel 8008. The first instruction set was introduced in 1972. The second instruction set was introduced a few years later, in order to make it look more similar to the 8080 instruction set. The newer mnemonics resemble a primitive version of the modern x86 instruction set. The difference is only in the assembly language instructions, the resulting machine code is the same.
Main Characteristics
- 8 pins for Data, Address, Instructions, and I/O (D0,...,D8)
- 14-bit addresses, 8-bit data (sent over multiple clock cycles on the 8 data pins)
- Interrupt signal
- Maximum clock rate 800KHz
- From the CPU Datasheet: "Directly addresses 16K x 8-bits of memory (RAM, ROM, or S.R.); Memory capacity can be indefinitely expanded through bank switching using I/O instructions."
- 6x 8-bit registers, 1x 8-bit accumulator, address stack (PC+7 levels)
- 48 instructions
If the interrupt line is enabled (Logic "1"), the CPU recognizes an interrupt request at the next instruction fetch cycle. The lower and higher order address bytes of the program counter are sent out, but the program counter is not advanced. A successive instruction fetch cycle can be used to insert an arbitrary instruction into the instruction register in the CPU. (If a multi-cycle or multibyte instruction is inserted, an interrupt need only be inserted for the first cycle.)
Java System Simulator
- Intel 8008 CPU simulation implementation in Java here
- Intellec 8 system simulations here
- Details about the Intel8008 virtual device here
Tools
- Macroassembler AS Home | Manual
- Information, Source code, Excel with instructions, "Clock" project https://www.8008chron.com/
Useful resources
- Intel 8008 Datasheet
- MCS-8 Micro Computer Set 8008 8-bit Parallel Central Processing Unit
- https://en.wikipedia.org/wiki/Intel_8008