616 Part 3 ½ Computer Classes Section 2½ Microcomputers
Table 1 Feature Comparison
8008 |
8080 |
8085 |
8086 |
|
Number of instructions |
66 |
111 |
113 |
133 |
Number of flags |
4 |
5 |
5 |
9 |
Maximum memory size |
16K bytes |
64K bytes |
64K bytes |
1 M bytes |
I/O ports |
8 input 24 output |
256 input 256 output |
256 input 256 output |
64K input 64K output |
Number of pins |
18 |
40 |
40 |
40 |
Address bus width |
8† |
16 |
16 |
16† |
Data bus width |
8† |
8 |
8 |
16† |
Data types |
8-bit unsign |
8-bit unsign 16-bit unsign(limited) Packed BCD (limited) |
8-bit unsign 16-bit unsign (limited) Packed BCD (limited) |
8-bit unsign 8-bit signed |
Addressing modes |
Register ‡ Immediate |
Memory direct (limited) Memory indirect (limited) Register ‡ Immediate |
Memory direct (limited) Memory indirect (limited) Register ‡ Immediate |
Memory direct Memory indirect Register Immediate Indexing |
Introduction date |
1972 |
1974 |
1976 |
1978 |
† Address and date bus multiplexed.
‡ Memory can be addressed as a special case by using register M.
III. 8008 Instruction-Set Processor
The 8008 processor architecture is quite simple compared to modern-day microprocessors. The data-handling facilities provide for byte data only. The memory space is limited to 16K bytes, and the stack is on the chip and limited to a depth of 8. The instruction set is small but symmetrical, with only a few operand-addressing modes available. An interrupt mechanism is provided, but there is no way to disable interrupts.
A. Memory and I/O Structure
The 8008 addressable memory space consists of 16K bytes. That seemed like a lot back in 1970, when memories were expensive and LSI devices were slow. It was inconceivable in those days that anybody would want to put more than 16K of this precious resource on anything as slow as a microprocessor.
The memory size limitation was imposed by the lack of available pins. Addresses are sent out in two consecutive clock cycles over an 8-bit address bus. Two control signals, which would have been on dedicated pins if these had been available, are sent out together with every address, thereby limiting addresses to 14 bits.
The 8008 provides eight 8-bit input ports and twenty-four 8-bit output ports. Each of these ports is directly addressable by the instruction set. It was felt that output ports were more important than input ports because input ports can always be multiplexed by external hardware under control of additional output ports.
One of the interesting things about that era was that, for the first time, the users were given access to the memory bus and could define their own memory structure; they were not confined to what the vendors offered, as they had been in the minicomputer era. As an example, the user had the option of putting I/O ports inside the memory address space instead of in a separate I/O space.