I8080 8228 Bit72
I8080 8228 Bit72
The 8080 CPU, one of the first CPUs to be commonly used in microcomputers (it
was the heart of the famous Altair 8800, considered the "first personal
computer"), requires two support chips in order to work as designed. These
chips are the 8224 clock generator/driver, and the 8228 bus controller.
The primary function of the 8224 is to generate the two clock signals needed
by the 8080. The 8080 requires a two-phase, non-overlapping clock input,
which basically means that first one clock pin goes high, then the other one
does, and one is supposed to go low when the other goes high, in a see-saw
kind of motion. Besides this somewhat bizarre waveform, the voltage levels of
these clock inputs are non-standard: They are about 10 volts.
Why does the 8080 require such a clock input? Simply because it was designed
that way. Whereas the other two classic CPUs of the early micro age (the 6502
and the Z80) require only a single input signal, the 8080 requires two. So
there. It's an early example of market share showing its effect: A big
company (in this case, Intel) can get away with weird designs.
Pin 1 is the reset output signal; it resets the CPU. (No, the reset button
does not go directly to the 8080, as it does in most other CPUs; The reset
signal to the CPU is actually provided by the 8224.)
Pins 6 and 12 are external, auxiliary outputs which are not essential to the
function of the 8224 or the 8080, but which can be used for some other
creative stuff if you happen to have a need for such signals. Pin 6 is
basically the same as pin 10, and the two will go high at the same time; The
only real difference is that pin 6 is TTL compatible (in other words, 5
volts), instead of the non-standard voltage used by the main clock pins. Pin
12, on the other hand, will run at the speed of the actual oscillating
crystal. Thus, if you are using the normal 18 MHz crystal, pin 12 (OSC) will
pulse at 18 MHz, and pin 6 will pulse at 2 MHz.
The 8228 is the 8080's bus controller, handling the data bus. The pinout for
the 8228 is as follows:
The D pins are the CPU data bus. They connect the 8228 to the 8080 CPU.
The DB pins are the system data bus. They go from the 8228 to the memory (RAM
and ROM) and the I/O bus (peripherals).