Intel 8080
General information | |
---|---|
Launched | April 1974 |
Common manufacturer(s) | |
Performance | |
Max. CPU clock rate | 2 MHz to 3.125 MHz |
Data width | 8 bits |
Address width | 16 bits |
Architecture and classification | |
Instruction set | 8080 |
History | |
Predecessor(s) | Intel 8008 |
Successor(s) | Intel 8085 |
The Intel 8080 is an 8-bit processor and successor of the Intel 8008.
Design
While the 8080 uses the same basic instruction set and register model as the 8008, it is neither source nor binary compatible with its predecessor. The 8080 adds 16-bit operations to its instruction set. Additionally, unlike the 8008's restriction of only being able to use a 14-bit memory space indirectly through the HL register, the 8080 allows to use the full 16-bit address space.
Power requirements
The 8080 has a power supply scheme common with integrated circuits of the era, requiring both a +5V and a -5V rail in addition to a +12V rail. The 8080 has very strict power up and power down conditions that must be observed in order to prevent damage to the chip. Upon power up, the -5V rail must be connected first, then the +5V rail and finally the +12V rail, and on power down the reverse (+12V → +5V → -5V).
Registers
15 | 14 | 13 | 12 | 11 | 10 | 09 | 08 | 07 | 06 | 05 | 04 | 03 | 02 | 01 | 00 | (bit position) |
Main registers | ||||||||||||||||
A | Flags | Program Status Word | ||||||||||||||
B | C | B | ||||||||||||||
D | E | D | ||||||||||||||
H | L | H (indirect address) | ||||||||||||||
Index registers | ||||||||||||||||
SP | Stack Pointer | |||||||||||||||
Program counter | ||||||||||||||||
PC | Program Counter | |||||||||||||||
Status register | ||||||||||||||||
S | Z | – | AC | – | P | – | C | Flags |
There are seven 8-bit registers and one status register (A, B, C, D, E, H, L), where A is the primary 8-bit accumulator. The other six registers can be used as either individual 8-bit registers or in three 16-bit register pairs (BC, DE and HL, referred to as B, C and H in Intel documentation) depending on the particular instruction. Some instructions also enable the HL register pair to be used as a (limited) 16-bit accumulator. A pseudo-register M, which refers to the dereference memory location pointed to by HL, can be used almost anywhere other registers can be used. The 8080 has a 16-bit stack pointer (SP) to memory, replacing the 8008's internal stack, and a 16-bit program counter (PC).
Flags
The processor maintains an internal status register for storing bit flags representing the state of arithmetic and logic operations.
Sign (S), set if the result is negative.
Zero (Z), set if the result is zero.
Parity (P), set if the number of bits set to 1 is even.
Carry (C), set if the last addition operation resulted in a carry, or the last subtraction operation resulted in a borrow.
Auxiliary carry (AC or H), used for binary-coded decimal (BCD) arithmetic.
Input/Output control
The 8080 supports up to 256 independent I/O ports, accessed through dedicated I/O instructions taking port addresses as operands.