Introduction to Microprocessors
Introduction to Microprocessors
The microprocessor is one of the most important components of
a digital computer.
It acts as the brain of the computer system.
As technology has progressed, microprocessors have become
faster, smaller and capable of doing more work per clock cycle.
Sometimes, microprocessor is written as P.
( is pronounced as Mu )
Some Definitions
Microprocessor:
The central processing unit built on a single IC is called
Microprocessor.
A microprocessor (sometimes abbreviated as P) is a digital
electronic component with miniaturized transistors on a single
semiconductor integrated circuit (IC).
One or more microprocessors typically serve as a central processing
unit (CPU) in a computer system or handheld device.
Some Definitions
Microcomputer:
A digital computer, in which one microprocessor has been provided
to act as a CPU, is called Microcomputer.
A desktop computer, laptop, notebook, palmtop, etc. contain one
microprocessor to act as a CPU and hence they come under the
category of microcomputer.
The term microcomputer is generally synonymous with personal
computer.
Some Definitions
Multiprocessor System:
The CPU of a large powerful digital computer contains more than
one microprocessor.
High-end powerful servers, mainframe computers, supercomputers,
etc. contain more than one microprocessor to act as CPU.
A computer whose CPU contains more than one microprocessor is
called Multiprocessor System.
Some Definitions
Microcontroller:
A highly integrated chip that contains all the components such as
CPU, RAM, some form of ROM, I/O ports, and timers is called
Microcontroller.
Unlike a general-purpose computer, which also includes all of these
components, a microcontroller is designed for a very specific task to
control a particular system.
Microprocessor Characteristics
Instruction Set:
The set of instructions that a microprocessor can understand.
Bandwidth:
The number of bits processed in a single instruction.
Capability:
It depends upon the number of instructions and capability of each
instruction.
Microprocessor Characteristics
Clock Speed:
The clock speed determines how many operations per second the processor can
perform.
It is also called Clock Rate.
Every computer contains an internal clock that regulates the rate at which
instructions are executed and synchronizes the various computer components.
The faster the clock, the more instructions the CPU can execute per second.
Clock speeds are expressed in megahertz (MHz) or gigahertz (GHz).
The microprocessors of personal computers have clock speeds of anywhere from
300 MHz to over 3.8 GHz.
Microprocessor Characteristics
Word Length:
It depends upon the width of internal data bus, registers, ALU etc.
An 8-bit microprocessor can process 8 bit data at a time.
A processor with longer word length is more powerful and can
process data at a faster speed as compared to processor with shorter
word length.
The word length ranges from 4 bits for small microprocessor, to 64
bits for high-end microcomputers.
Microprocessor Characteristics
Width of Data Bus:
This is the size of the data bus. It defines the number of bits that can be transferred
through data bus.
Width of Address Bus:
This parameter decides the memory addressing capability of the microprocessor. The
maximum size of the memory unit is decided by this parameter.
Input/output Addressing Capability:
The maximum number of the input/output ports accessed by the microprocessor
depends upon the width of the input/output address provided in the input/output
instruction.
10
Microprocessor Characteristics
Data Types:
The microprocessor handles various types of data formats like
binary, BCD, ASCII, signed and unsigned numbers.
Interrupt Capability:
Interrupts are used to handle unpredictable and random events in
the microcomputer.
It is used to interrupt the microprocessor.
Interrupt driven input/output improves the throughput of a system.
11
Intel 8085
Introduced in 1976.
It was also 8-bit P.
Its clock speed was 3 MHz.
Its data bus is 8-bit and
address bus is 16-bit.
It had 6,500 transistors.
Could execute 7,69,230
instructions per second.
It could access 64 KB of
memory.
It had 246 instructions.
12
Over 100 million copies were
sold.
BLOCK DIAGRAM OF
INTEL 8085
13
Block Diagram of 8085
14
Three Units of 8085
Processing Unit
Instruction Unit
Storage and Interface Unit
15
Processing Unit
Arithmetic and Logic Unit
Accumulator
Status Flags
Temporary Register
16
Instruction Unit
Instruction Register
Instruction Decoder
Timing and Control Unit
17
Storage and Interface Unit
General Purpose Registers
Stack Pointer
Program Counter
Increment/Decrement Register
Address Latch
Address/Data Latch
18
Three Other Units
Interrupt Controller
Serial I/O Controller
Power Supply
19
Accumulator
It the main register of microprocessor.
It is also called register A.
It is an 8-bit register.
It is used in the arithmetic and logic operations.
It always contains one of the operands on which arithmetic/logic has
to be performed.
After the arithmetic/logic operation, the contents of accumulator are
replaced by the result.
20
Arithmetic & Logic Unit (ALU)
It performs various arithmetic and logic operations.
The data is available in accumulator and temporary/general
purpose registers.
Arithmetic Operations:
Addition, Subtraction, Increment, Decrement etc.
Logic Operations:
AND, OR, X-OR, Complement etc.
21
Temporary Register
It is an 8-bit register.
It is used to store temporary 8-bit operand from general purpose
register.
It is also used to store intermediate results.
22
Status Flags
Status Flags are set of flip-flops which are used to check the status
of Accumulator after the operation is performed.
23
Status Flags
24
Sign Flag
Zero Flag
AC =
Auxiliary Carry Flag
Parity Flag
CY =
Carry Flag
Status Flags
Sign Flag (S):
It tells the sign of result stored in Accumulator after the operation is
performed.
If result is ve, sign flag is set (1).
If result is +ve, sign flag is reset (0).
25
Status Flags
Zero Flag (Z):
It tells whether the result stored in Accumulator is zero or not after
the operation is performed.
If result is zero, zero flag is set (1).
If result is not zero, zero flag is reset (0).
26
Status Flags
Auxiliary Carry Flag (AC):
It is used in BCD operations.
When there is carry in BCD addition, we add 0110 (6) to the result.
If there is carry in BCD addition, auxiliary carry is set (1).
If there is no carry, auxiliary carry is reset (0).
27
Status Flags
Parity Flag (P):
It tells the parity of data stored in Accumulator.
If parity is even, parity flag is set (1).
If parity is odd, parity flag is reset (0).
28
Program Status Word (PSW)
The contents of Accumulator and Status Flags clubbed together is
known as Program Status Word (PSW).
It is a 16-bit word.
29
Instruction Register
It is used to hold the current instruction which the
microprocessor is about to execute.
It is an 8-bit register.
30
Instruction Decoder
It interprets the instruction stored in instruction register.
It generates various machine cycles depending upon the
instruction.
The machine cycles are then given to the Timing and Control
Unit.
31
Timing and Control Unit
It controls all the operations of microprocessor and peripheral
devices.
Depending upon the machine cycles received from Instruction
Decoder, it generates 12 control signals:
S0 and S1 (Status Signals).
ALE (Address Latch Enable).
32
Timing and Control Unit
RD (Read, active low).
WR (Write, active low).
IO/M (Input-Output/Memory).
READY
RESET IN
RESET OUT
CLK OUT
HOLD and HLDA
33
General Purpose Registers
There are 6 general purpose registers, namely B, C, D, E, H, L.
Each of the them is 8-bit register.
They are used to hold data and results.
To hold 16-bit data, combination of two 8-bit registers can be used.
This combination is known as Register Pair.
The valid register pairs are:
B C,
34
D E,
H L.
Program Counter
It is used to hold the address of next instruction to be executed.
It is a 16-bit register.
The microprocessor increments the value of Program Counter
after the execution of the current instruction, so that, it always
points to the next instruction.
35
Stack Pointer
It holds the address of top most item in the stack.
It is also 16-bit register.
Any portion of memory can be used as stack.
36
Increment/Decrement Register
This register is used to increment or decrement the value of
Stack Pointer.
During PUSH operation, the value of Stack Pointer is
incremented.
During POP operation, the value of Stack Pointer is
decremented.
37
Address Latch
It is group of 8 buffers.
The upper-byte of 16-bit address is stored in this latch.
And then it is made available to the peripheral devices.
38
Address/Data Latch
The lower-byte of address and 8-bit of data are multiplexed.
It holds either lower-byte of address or 8-bits of data.
This is decided by ALE (Address Latch Enable) signal.
If ALE = 1 then
Address/Data Latch contains lower-byte of address.
If ALE = 0 then
It contains 8-bit data.
39
Serial I/O Controller
It is used to convert serial data into parallel and parallel data into
serial.
Microprocessor works with 8-bit parallel data.
Serial I/O devices works with serial transfer of data.
Therefore, this unit is the interface between microprocessor and
serial I/O devices.
40
Interrupt Controller
It is used to handle the interrupts.
There are 5 interrupt signals in 8085:
TRAP
RST 7.5
RST 6.5
RST 5.5
INTR
41
Interrupt Controller
Interrupt controller receives these interrupts according to their
priority and applies them to the microprocessor.
There is one outgoing signal INTA which is called Interrupt
Acknowledge.
42
Power Supply
This unit provides +5V power supply to the microprocessor.
The microprocessor needs +5V power supply for its operation.
43