Professional Documents
Culture Documents
Microprocessors Seminar
Microprocessors Seminar
Microprocessors Seminar
Introduction to Microprocessors
The advent of low-cost computers on integrated circuits has transformed modern society.
General-purpose microprocessors in personal computers are used for computation, text
editing, multimedia display, and communication over the Internet. Many more
microprocessors are part of embedded systems, providing digital control of a myriad of
objects from appliances to automobiles to cellular phones and industrial process control.
The transistor, invented in 1947, works by controlling the flow of electrons through a
structure embedded in silicon. This structure is composed of nothing more than
adjoining regions of silicon with different concentrations of impurities. These impurities
are atoms of elements like boron, phosphorous, and arsenic. By combining silicon with
oxygen you get silicon dioxide, SiO2, a powerful insulator that allows you to separate
regions of silicon. By evaporating (or sputtering) aluminum on to the surface of a silicon
chip, you can create contacts and connectors.
By putting all these elements together, several transistors can be combined to create a
simple functional circuit, rather than a component. This is the IC (or integrated circuit)
whose invention is attributed to Jack Kilby of TI and Robert Noyce of Fairchild The first
practical IC was fabricated in 1959 at Fairchild and Texas Instruments and Fairchild
began its commercial manufacture in 1961 [Tredennick96].
As manufacturing technology evolved, more and more transistors were put on single
silicon chips with the maximum number of transistors per chip doubling every year
between 1961 and 1971 [Tredennick96]. The basic functional units evolved from simple
gates to arithmetic units, small memories, and special-purpose functions such as
multiplexers and decoders. In 1967 Fairchild introduced an 8-bit ALU chip that included
its own accumulator.
It was inevitable that someone would eventually invent the microprocessor because, by
the late 1960's, computers built from discrete transistors and simple integrated circuits
already existed. Moreover, integrated circuits were getting more and more complex day
by day.
The first functioning 4004 chip was created in 1971. Busicom's actual calculator was
constructed from a 4004 CPU, four 4001 ROMs, two 4002 RAMs and three 4003 shift
registers appeared in 1971. By the end of 1971 the 4004 was beginning to generate a
significant fraction of Intel's revenue.
1.1.3 Intel 8008
Intel's 8008 microprocessor didn't last a long time. As the first 8-bit microprocessor it
was relatively crude and unsophisticated. It had a poorly implemented interrupt
mechanism and multiplexed address and data buses. The first really popular general-
purpose 8-bit microprocessor was Intel's 8080 (in production in early 1974). This had a
separate 8-bit data bus and 16-bit address bus. This address bus could address up to
216 = 64K bytes of data (a gigantic memory space in 1975).
1.1.4 Intel 8080
The Intel 8080 was the second 8-bit microprocessor designed and manufactured
by Intel and was released in April 1974.[1] It was an extended and enhanced variant of
the earlier 8008 design, although without binary compatibility. The initial specified clock
frequency limit was 2 MHz and with common instructions having execution times of 4, 5,
7, 10 or 11 cycles this meant a few hundred thousand instructions per second. The
8080 has sometimes been labeled "the first truly usable microprocessor", although
earlier microprocessors were used for calculators and other applications. The
architecture of the 8080 strongly influenced Intel's 8086CPU architecture, which
spawned the x86 family of processors.
1.1.5 Other Microprocessors
Shortly after the 8080 went into production, Motorola created its own competitor, the 8-
bit 6800. Although the 8080 and 6800 were broadly similar in terms of performance,
they had rather different architectures.
Frederico Faggin left Intel with Ralph Ungerman in 1994 to found Zilog. Their first
processor, the Z80, was manufactured in 1976. This device represented a considerable
advance over the 8080 and was object-code compatible with the 8080. That is, the
Z80's architecture was a superset of the 8080's architecture and could execute the
8080's machine code instructions.
Just as Fagin left Intel to create the Z80, Chuck Peddle left Motorola to join MOS
Technology and to create the 6502. The 6502's object code was not backward
compatible with the 6800.
Ed Roberts, the owner of a small company called MITS developed a microcomputer
was called Altair 8800.
Both processors 8085 and 8080 were sometimes used in computers running the CP/M
operating system, and the 8085 also saw use as a microcontroller, by virtue of its low
component count. Both designs were eclipsed for desktop computers by the
compatible Zilog Z80, which took over most of the CP/M computer market as well as
taking a share of the booming home computer market in the early-to-mid-1980s.
The 8085 had a long life as a controller. Once designed into such products as
the DECtape controller and the VT100 video terminal in the late 1970s, it served for
new production throughout the life span of those products (generally longer than the
product life of desktop computers).
The 8085 is a conventional von Neumann design based on the Intel 8080. Unlike the
8080 it does not multiplex state signals onto the data bus, but the 8-bit data bus was
instead multiplexed with the lower part of the 16-bit address bus to limit the number of
pins to 40. Pin No. 40 is used for the power supply (+5v) and pin No. 20 for ground. Pin
No. 39 is used as the hold pin. Pins No. 15 to No. 8 are generally used for address
buses. The processor was designed using nMOS circuitry and the later "H" versions
were implemented in Intel's enhanced nMOS process called HMOS, originally
developed for fast static RAM products. Only a 5 Volt supply is needed, like competing
processors and unlike the 8080. The 8085 uses approximately 6,500transistors.[1]
The 8085 incorporates the functions of the 8224 (clock generator) and the 8228 (system
controller), increasing the level of integration. A downside compared to similar
contemporary designs (such as the Z80) was the fact that the buses required
demultiplexing; however, address latches in the Intel 8155, 8355, and 8755 memory
chips allowed a direct interface, so an 8085 along with these chips was almost a
complete system.
The 8085 has extensions to support new interrupts, with three maskable interrupts
(RST 7.5, RST 6.5 and RST 5.5), one non-maskable interrupt(TRAP), and one
externally serviced interrupt (INTR). The RST n.5 interrupts refer to actual pins on the
processor, a feature which permitted simple systems to avoid the cost of a separate
interrupt controller.
Like the 8080, the 8085 can accommodate slower memories through externally
generated wait states (pin 35, READY), and has provisions for Direct Memory
Access (DMA) using HOLD and HLDA signals (pins 39 and 38). An improvement over
the 8080 was that the 8085 can itself drive a piezoelectric crystal directly connected to
it, and a built in clock generator generates the internal high amplitude two-phase
clock signals at half the crystal frequency (a 6.14 MHz crystal would yield a 3.07 MHz
clock, for instance).
The 8085 is a binary compatible follow up on the 8080, using the same basic instruction
set as the 8080. Only a few minor instructions were new to the 8085 above the 8080
set.
Chapter: 2
Architecture of 8085 Microprocessor
Intel 8085, introduced by Intel in 1977 is an 8-bit microprocessor. It was an update of
Intel 8080 microprocessor. The 8080 processor was updated with Enable/Disable
instruction pins and Interrupt pins to form the 8085 microprocessor.
2.1 Features of 8085 microprocessor
• 8085 microprocessor is an 8-bit microprocessor with a 40 pin dual in line package.
• The address and data bus are multiplexed in this processor which helps in providing
more control signals.
• 8085 microprocessor has 1 Non-Maskable interrupt and 3 Maskable interrupts. It
provides serial interfacing with serial input data (SID) and serial output data (SOD).
It has a set of registers for performing various operations. The various registers include
· Accumulator (register A)
· Registers: B, C, D, E, H and L
· Stack pointer
· Program Counter
· Temporary register
· Instruction register
2.2 Architecture of 8085 microprocessor
8085 consists of various units and each unit performs its own functions. The various
units of a microprocessor are listed below:
• · Accumulator
• · Arithmetic and logic Unit
• · General purpose register
• · Program counter
• · Stack pointer
• · Temporary register
• · Flags
• · Instruction register and Decoder
• · Timing and Control unit
• · Interrupt control
• · Serial Input/output control
• · Address buffer and Address-Data buffer
• · Address bus and Data bus
2.2.1 Accumulator
• Accumulator is nothing but a register which can hold 8-bit data. Accumulator aids in
storing two quantities.
• The data to be processed by arithmetic and logic unit is stored in accumulator.
• It also stores the result of the operation carried out by the Arithmetic and Logic unit.
• The accumulator is also called an 8-bit register. The accumulator is connected to
Internal Data bus and ALU (arithmetic and logic unit). The accumulator can be used to
send or receive data from the Internal Data bus.
2.2.2 Arithmetic and Logic Unit
• There is always a need to perform arithmetic operations like +, -, *, / and to perform
logical operations like AND, OR, NOT etc. So there is a necessity for creating a
separate unit which can perform such types of operations. These operations are
performed by the Arithmetic and Logic Unit (ALU). ALU performs these operations on 8-
bit data.
• But these operations cannot be performed unless we have an input (or) data on which
the desired operation is to be performed. So from where do these inputs reach the
ALU? For this purpose accumulator is used. ALU gets its Input from accumulator and
temporary register. After processing the necessary operations, the result is stored back
in accumulator.
• Parity checks whether it’s even or add parity. This flag returns a 0 if it is odd parity and
returns a 1 if it is an even parity. Sometimes they are also called as parity bit which is
used to check errors while data transmission is carried out.
• Zero flag shows whether the output of the operation is 0 or not. If the value of Zero
flag is 0 then the result of operation is not zero. If it is zero the flag returns value 1.
• Sign flag shows whether the output of operation has positive sign or negative sign. A
value 0 is returned for positive sign and 1 is returned for negative sign.