Introduction to Microprocessor & The 8085 Programming Model
Introduction to
Microprocessor
A
microprocessor is a multipurpose, programmable, clock-driven, register-based
electronic device that reads binary instructions from a storage device called
memory, accepts binary data as input and processes data according to those
instructions and provides result as output.
Figure:- Traditional block diagram of a computer
Figure:- Block diagram of computer with the Microprocessor
(MPU)
Generation of Microprocessor
1st Generation: This was the period during 1971 to 1972 of
microprocessor’s history. In 1971, INTEL created the first microprocessor 4004
that would run at a clock speed of 108 KHz. During this period, the other
microprocessors in the market including Rockwell international PPS-4,
INTEL-8008 and National semiconductors IMP-16 were in use. But, all these were
not TTL compatible processors.
2nd Generation: This was the period during 1973 to 1978 in which very
efficient 8-bit microprocessors were implemented like Motorola 6800 and 6801,
INTEL-8080, INTEL-8085 and Zilogs-Z80, which were among the most popular ones.
Owing to their super fast speed, they were costly as they were based on NMOS
technology fabrication.
3rd Generation: During this period 16 bit processors were created and
designed using HMOS technology. From 1979 to 1980, INTEL 8086/80186/80286 and
Motorola 68000 and 68010 were developed. Speeds of those processors were four
times better than the 2nd generation processors.
4th Generation: From 1981 to 1995 this generation developed 32 bit
microprocessors by using HCMOS fabrication. INTEL-80386 and Motorola’s
68020/68030 were the popular processors.
5th Generation: From 1995 to until now this generation has been bringing
out high-performance and high-speed processors that make use of 64-bit
processors. Such processors include Pentium, Celeron, Dual and Quad core
processors.
Thus,
microprocessor has evolved through all these generations, and the fifth
generation microprocessors represent advancement in specifications.
Table :- Intel Microprocessors Historical perspective
The
programming model consists of some segments of ALU and the registers. This
model does not reflect the physical structure of the 8085 but includes the
information that is critical in writing assembly language programs. The model
includes six registers, one accumulator and one flag register, as show in the
figure. In addition, it has two 16-bit register: the stack pointer and the
program counter. They are described briefly as follows.
Registers
The
8085/8080A has six general-purpose registers to store 8-bit data; these are
identified as B, C, D, E, H, and L as shown in the figure. They can be combined
as register pairs - BC, DE, and HL - to perform some 16-bit operations. The
programmer can use these registers to store or copy data into the registers by
using data copy instructions.
Accumulator
The
accumulator is an 8-bit register that is a part of arithmetic/logic unit (ALU).
This register is used to store 8-bit data and to perform arithmetic and logical
operations. The result of an operation is stored in the accumulator. The
accumulator is also identified as register A.
Flags
The
ALU includes five flip-flops, which are set or reset after an operation
according to data conditions of the result in the accumulator and other
registers. They are called Zero (Z), Carry (CY), Sign (S), Parity (P), and
Auxiliary Carry (AC) flags; they are listed in the Table and their bit
positions in the flag register are shown in the Figure below. The most commonly
used flags are Zero, Carry, and Sign. The microprocessor uses these flags to
test data conditions.
Program Counter (PC)
This
16-bit register deals with sequencing the execution of instructions. This
register is a memory pointer. Memory locations have 16-bit addresses, and that
is why this is a 16-bit register. The microprocessor uses this register to
sequence the execution of the instructions. The function of the program counter
is to point to the memory address from which the next byte is to be fetched.
When a byte (machine code) is being fetched, the program counter is incremented
by one to point to the next memory location.
Stack Pointer (SP)
The
stack pointer is also a 16-bit register used as a memory pointer. It points to
a memory location in R/W memory, called the stack. The beginning of the stack
is defined by loading 16-bit address in the stack pointer. The stack concept is
explained in the chapter "Stack and Subroutines."
Instruction Register/Decoder
Temporary
store for the current instruction of a program. Latest instruction sent here
from memory prior to execution. Decoder then takes instruction and ‘decodes’ or
interprets the instruction. Decoded instruction then passed to next
stage.
REFERENCES
- R. S. Gaonkar, Microprocessor
Architecture, Programming, and Applications with the 8085, Fifth Edition,
Penram International Publishing (India) Private Limited.
- S Ghoshal, Microprocessor Based
System Design, Macmillan India Limited, 1996
- M. Mano, Digital Logic and
Computer Design, Prentice – Hall India
- B.
Ram - Fundamentals of Microprocessor and Microcontrollers
- “Microprocessors: Principles
and Applications” by A Pal
- “Microprocessors and
Microcontrollers : Architecture, Programming and Interfacing Using 8085,
8086 and 8051” by Soumitra Kumar Mandal
- “Introduction to
Microprocessors and Microcontrollers” by Crisp John Crisp
- “Microprocessors And
Microcontrollers” by A Nagoor Kani
- “Microprocessors And
Microcontrollers : Architecture, Programming and System Design 8085, 8086,
8051, 8096” by KRISHNA KANT
- “8 - Bit
Microprocessor”
by Vibhute
Comments
Post a Comment