Intel 8080

From Fox Labs Wiki
Revision as of 20:44, 4 November 2023 by Inari (talk | contribs) (Created page with "{{Infobox CPU |name = Intel 8080 |produced-start = April 1974 |manuf1 = Intel |slowest = 2 |slow-unit = MHz |fastest = 3.125 |fast-unit = MHz |arch = 8080 |data-width = 8 bits |address-width = 16 bits |predecessor = Intel 8008 |successor = Intel 8085 }} The Intel '''8080''' is an 8-bit processor and successor of t...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Intel 8080
General information
LaunchedApril 1974
Common manufacturer(s)
Performance
Max. CPU clock rate2 MHz to 3.125 MHz
Data width8 bits
Address width16 bits
Architecture and classification
Instruction set8080
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

Intel 8080 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.