The first single chip CPU was the Intel 4004 invented in Nov 1971, a 4-bit processor meant for a calculator. It processed data in 4 bits, but its instructions were 8 bits long. Program and data were separate. In 1972, Texax Instruments followed the Intel 4004/4040 closely with the 4-bit TMS 1000, which was the first microprocessor to include enough RAM, and space for a program ROM, to allow it to operate without multiple external support chips. It also featured an innovative feature to add custom instructions to the CPU.
The 8080 was the successor to the 8008 in April 1972. While the 8008 had 14 bit PC and addressing, the 8080 had a 16 bit address bus and an 8 bit data bus. Internally it had seven 8 bit registers, a 16 bit stack pointer to memory which replaced the 8 level internal stack of the 8008, and a 16 bit program counter. It also had several I/O ports – 256 of them, so I/O devices could be hooked up without taking away or interfering with the addressing space, and a signal pin that allowed the stack to occupy a separate bank of memory.
Intel updated the design with the 8085 in1976, which added two instructions to enable/disable three added interrupt pins and the serial I/O pins, and simplified hardware by only using +5V power, and adding clock generator and bus controller circuits on-chip. The 8080 was the successor to the 8008 in April 1972. While the 8008 had 14 bit PC and addressing, the 8080 had a 16 bit address bus and an 8 bit data bus. Internally it had seven 8 bit registers, a 16 bit stack pointer to memory which replaced the 8 level internal stack of the 8008, and a 16 bit program counter.
It also had several I/O ports – 256 of them, so I/O devices could be hooked up without taking away or interfering with the addressing space, and a signal pin that allowed the stack to occupy a separate bank of memory. Intel updated the design with the 8085 in1976, which added two instructions to enable/disable three added interrupt pins and the serial I/O pins, and simplified hardware by only using +5V power, and adding clock generator and bus controller circuits on-chip. The Z-80 was intended to be an improved 8080 in 1976, and it was – vastly improved.
It also used 8 bit data and 16 bit addressing, and could execute all of the 8080 (but not 8085) op codes, but included 80 more, instructions. The register set was doubled, with two banks of data registers that could be switched between. This allowed fast operating system or interrupt context switches. The Z-80 also added two index registers and 2 types of relocatable vectored interrupts. The thing that really made the Z-80 popular in designs was the memory interface – the CPU generated its own RAM refresh signals, which meant easier design and lower system cost, the deciding factor in its selection for the TRS-80 Model 1.
That and its 8080 compatibility, and CP/M, the first standard microprocessor operating system, made it the first choice of many systems. Shortly after Intel’s 8080, Motorola introduced the 6800 in 1975. Some of the designers left to start MOS Technologies, which introduced the 650x series which included the 6501 (pin compatible with the 6800, taken off the market almost immediately for legal reasons) and the 6502. Like the 6800 series, varients were produced which added features like I/O ports or reduced costs with smaller address buses (6507 13-bit 8K address bus in the Atari 2600).
The 650x was little endian (lower address byte could be added to an index register while higher byte was fetched) and had a completely different instruction set from the big endian 6800. Apple designer Steve Wozniak described it as the first chip you could get for less than a hundred dollars (actually a quarter of the 6800 price) – it became the CPU of choice for many early home computers (8 bit Commodore and Atari products). Like the 6502, the 6809 was based on the Motorola 6800, though the 6809 expanded the design significantly. The 6809 had two 8 bit accumulators and could combine them into a single 16 bit register.
It also featured two index registers and two stack pointers, which allowed for some very advanced addressing modes. The 6809 was source compatible with the 6800, even though the 6800 had 78 instructions and the 6809 only had around 59. Some instructions were replaced by more general ones which the assembler would translate, and some were even replaced by addressing modes. While the 6800 and 6502 both had a fast 8 bit mode to address the first 256 bytes of RAM, the 6809 had an 8 bit Direct Page register to locate this fast address page anywhere in the 64K address space.