|
Intel 8080 Central Processing Unit |
Since their inception, digital computers have continuously become more efficient,
expanding into new applications with each major technological improvement. The advent of
minicomputers enabled the inclusion of digital computers as a permanent part of various
process control systems.
Unfortunately, the size and cost of minicomputers in "dedicated" applications
has limited their use. Another approach has been the use of custom built systems made up
of "random logic" (i.e., logic gates, flip-flops, counters, etc.). However, the
huge expense and development time involved in the design and debugging of these systems
has restricted their use to large volume applications where the development costs could be
spread over a large number of machines .
Today, Intel offers the systems designer a new alternative. . .the microcomputer.
Utilizing the technologies and experience gained in becoming the world's largest supplier
of LSI memory components, Intel has made the power of the digital computer available at
the integrated circuit level. Using the nchannel silicon gate MOS process, Intel engineers
have implemented the fast (2 us. cycle) and powerful (72 basic instructions) 8080
microprocessor on a single LSI chip. When this processor is combined with memory and I / O
circuits, the computer is complete. Intel offers a variety of random-access memory (RAM),
read-only memory (ROM) and shift register circuits, that combine with the 8080 processor
to form the MCS80 microcomputer system, a system that can directly address and retrieve as
many as 65,536 bytes stored in the memory devices.
The 8080 processor is packaged in a 40 pin dual inline package (Dl P) that allows for
remarkably easy interfacing. The 8080 has a 16 bit address bus, a 8 bit bi-directional
data bus and fully decoded, TTL compatible control outputs. In addition to supporting up
to 64K bytes of mixed RAM and ROM memory, the 8080 can address up to 256 input ports and
256 output ports; thus allowing for virtually unlimited system expansion. The 8080
instruction set includes conditional branching, decimal as well as binary arithmetic,
logical, register to register, stack control and memory reference instructions. In fact,
the 8080 instruction set is powerful enough to rival the performance of many of the much
higher priced minicomputers, yet the 8080 is upward software compatible with Intel's
earlier 8008 microprocessor (i.e., programs written for the 8008 can be assembled and
executed on the 8080).
In addition to an extensive instruction set oriented to problem solving, the 8080 has
another significant feature-SPEED. In contrast to random logic designs which tend to work
in parallel, the microcomputer works by sequentially executing its program. As a result of
this sequential execution, the number of tasks a microcomputer can undertake in a given
period of time is directly proportional to the execution speed of the microcomputer. The
speed of execution is the limiting factor of the realm of applications of the
microcomputer. The 8080, with instruction times as short as 2 1lsec., is an order of
magnitude faster than earlier generations of microcomputers, and therefore has an expanded
field of potential applications.
The architecture of the 8080 also shows a significant improvement over earlier
microcomputer designs. The 8080 contains a 16bit stack pointer that controls the
addressing of an external stack located in memory. The pointer can be initialized via the
proper instructions such that any portion of external memory can be used as a last in/
first out stack; thus enabling almost unlimited subroutine nesting. The stack pointer
allows the contents of the program counter, the accumulator, the condition flags or any of
the data registers to be stored in or retrieved from the external stack. In addition,
multilevel interrupt processing is possible using the 8080's stack control instructions.
The status of the processor can be "pushed" onto the stack when an interrupt is
accepted, then "popped" off the stack after the interrupt has been serviced.
This ability to save the contents of the processor's registers is possible even if an
interrupt service routine, itself, is interrupted.
Microcomputers simplify almost every phase of product development. The first step, as in
any product development program, is to identify the various functions that the end system
is expected to perform. Instead of realizing these functions with networks of gates and
flip-flops, the functions are implemented by encoding suitable sequences of instructions
(programs) in the memory elements. Data and certain types of programs are stored in RAM,
while the basic program can be stored in ROM. The microprocessor performs all of the
system's functions by fetching the instructions in memory, executing them, and
communicating the results via the microcomputer's I / O ports. An 8080 microprocessor,
executing the programmed logic stored in a single 2048byte ROM element, can perform the
same logical functions that might have previously required up to 1000 logic gates.
The benefits of designing a microcomputer into your system go far beyond the advantages of
merely simplifying product development. You will also appreciate the profit making
advantages of using a microcomputer in place of custom designed random logic. The most
apparent advantage is the significant savings in hardware costs. A microcomputer chip set
replaces dozens of random logic elements, thus reducing the cost as well as the size of
your system. In addition, production costs drop as the number of individual components to
be handled decreases, and the number of complex printed circuit boards (which are
difficult to layout, test and correct) is greatly reduced.
Probably the most profitable advantage of a microcomputer is its flexibility for
change. To modify your system, you merely reprogram the memory elements; you don't have to
redesign the entire system. You can imagine the savings in time and money when you want to
upgrade your product. Reliability is another reason to choose the microcomputer over
random logic. As the number of components decreases, the probability of a malfunctioning
element likewise decreases. All of the logical control functions formerly performed by
numerous hardware components can now be implemented in a few ROM circuits which are
nonvolatile; that is, the contents of ROM will never be lost, even in the event of a power
failure. Table 0 I summarizes many of the advantages of using microcomputers.
If you're used to logic design and the idea of designing with programmed logic seems like
too radical a change, regardless of advantages, there's no need to worry because Intel has
already done most of the groundwork for you. The INTELLECT Microcomputer Development
System provides flexible, inexpensive and simplified methods for OEM product development.
The INTELLEC MDS provides RAM program storage making program loading and modification
easier, a display and control console for system monitoring and debugging, standard TTY
and CRT interfaces, in circuit emulation capability (ICE80), PROM programming capability
using the Universal PROM Programmer module, and a standard software package (System
Monitor, Assembler and Text Editor). In addition to the standard software package
available with the INTELLEC MDS Intel offers a resident PL/ M compiler. Intel's
Microcomputer Division is always available to provide assistance in every phase of your
product development.
Intel also provides complete documentation on all their hardware and software products. In
addition to this User's Manual, there are the:
The 8080 can be used as the basis for a wide variety of calculation and control
systems. The system configurations for particular applications will differ in the nature
of the peripheral devices used and in the amount and the type of memory required. The
applications and solutions described in this section are presented primarily to show how
microcomputers can be used to solve design problems. The 8080 should not be considered
limited either in scope or performance to those applications listed here.
Consider an 8080 microcomputer used within an automatic computing scale for a supermarket.
The basic machine has two input devices: the weighing unit and a keyboard, used for
function selection and to enter the price per unit of weight. The only output device is a
display showing the total price, although a ticket printer might be added as an optional
output device.
The control unit must accept information from the weighing unit, function and data inputs
from the keyboard, and generate the display. The only arithmetic function to be performed
is a simple multiplication of weight times rate.
The control unit could probably be realized with standard TTL logic. State diagrams for
the various portions could be drawn and a multiplier unit designed The whole design could
then be tied together, and eventually reduced to a selection of packages and a printed
circuit board layout. In effect, when designing with a logic family such as TTL, the
designs are "customized" by the choice of packages and the wiring of the logic.
If, however, an 8080 microcomputer is used to realize the control unit (as shown in Figure
01), the only "custom" logic will be that of the interface circuits. These
circuits are usually quite simple, providing electrical buffering for the input and output
signals.
Instead of drawing state diagrams leading to logic, the system designer now prepares a
flow chart, indicating which input signals must be read, what processing and computations
are needed, and what output signals must be produced. A program is written from the flow
chart. The program is then assembled into bit patterns which are loaded into the program
memory. Thus, this system is customized primarily by the contents of program memory.
For this automatic scale, the program would probably reside in read-only memory (ROM),
since the microcomputer would always execute the same program, the one which implements
the scale functions. The processor would constantly monitor the keyboard and weighing
unit, and update the display whenever necessary. The unit would require very little data
memory; it would only be needed for rate storage, intermediate results, and for storing a
copy of the display.
When the control portion of a product is implemented with a microcomputer chip set,
functions can be changed and features added merely by altering the program in memory. With
a TTL based system, however, alterations may require extensive rewiring, alteration of PC
along with the types of peripheral devices usually associated boards, etc.with each
product.
The number of applications for microcomputers is limited only by the depth of the
designers imagination We have listed a few potential applications in Table 02.
Santa Clara, California
January 1980
ROB WALKER
Return to: | Documents | 8085 |
Continue on: | CPU Functions | 8085a Specs | 8-bit family | Glossary |
11/03/97