Microprocessor 8085 Functional Blocks

The main blocks of 8085 microprocessor are:
1. Accumulator
2. Temporary Register
3. Flag Register
4. Instruction Register
5. General Purpose Register
6. Stack Pointer
7. Program Counter
8. Timing and Control Unit
9. Buffer Unit
10. ALU

Timing and Control Unit:

This is the section of CPU used to generate timing and control signals which are required to synchronize the microprocessor operations with the system clock and to provide communication between microprocessor and peripherals, this control entire operation of microprocessor and peripherals connected to it. This also controls data flow through the bus, this is provided with an oscillator and controlling sequencing generator.

Instruction Register:

This is an 8-bit register that stores opcode of an instruction byte during fetch cycle. After words, it is decoded by an internal decoder followed by this register.

Program Counter:

It is a 16-bit register employed to provide a sequence for execution of instructions. It always points to the memory address form which next byte is to be fetched that is, when current instruction byte is fetched this program counter will be incremented by one to point to the new memory location. It is not programmable.

Stack Pointer:

It is a 16-bit register that holds the address of stack top which is the last memory location.

General Purpose Register:

These are 8-bit registers used for internal data operations of microprocessors. These are programmable. Example 8085 contains 6 registers B, C, D, E, H and L. These registers can be combined as BC, DE and HL register pairs.


This ALU performs arithmetic and logical operations by using address, registers, and counters and so on. The contents of the accumulator and temporary register are inputted to ALU and results of performed operation by ALU are stored in an accumulator. The functions that will be performed are addition, subtraction, complementing, and incrementing and so on


This is an 8-bit register. This store one of the operands of arithmetic and logic operations, after ALU, performs the required task, the results are stored in an accumulator. This is identified as register A

Temporary register:

This stores one of the inputs to ALU that is this provides one of the operands which is to be used in the required task.

Flag register:

This register has five useful flip-flops which act as flags to indicate reflected data conditions. The five flags used in 8085 are discussed below. It contains 7 data blocks

Zero flags:

This reflects the zero results of an operation. That is whenever the results of arithmetic or a logical operation are zero, this becomes as 1.

Sign flag:

If D2 is as1, this is set and id D7 is a 0 this will be reset.

Auxiliary carry flag:

This will hold a binary 1, whenever a carry passes from D3 to D4.

Parity flag:

This is a 1 when the result maintains even parity that is even number of 1.

Carry flag:

This is set whenever the result of an arithmetic or a logical operation overflows. This is also useful as a borrow flag during subtraction processes.
These flags will change only after arithmetic and logical operations but do not alter with other operations.
The general purpose peripherals are the devices that perform a specific task but may be used for interfacing any I/O devices to the microprocessor. Some of the general purposes peripheral are:
1. Input /Output port.
2. Multipurpose programmable device.
3. Programmable interrupt controller (PIC)
4. Programmable DMA interface.
5. Programmable communication interface.
6. Programmable interval timer.

Evolution of microprocessor:

8080 microprocessor
Date: 1974
No of transistors: 6000
Micron size: 6
Clock speed: 2MHz
Data width: 8 bits
MIPS: 0.64

8088 microprocessor
Date: 1979
No of transistors: 29,000
Micron size:3
Clock speed: 5MHz
Data width: 8 bits bus, 16 bits
MIPS: 0.33

80286 microprocessor
Date: 1982
No of transistors:134,000
Micron size:1.5
Clock speed: 6MHz
Data width: 16bits

80386 microprocessor
Date: 1985
No of transistors: 275000
Micron size:1.5
Clock speed: 16MHz
Data width: 32 bits

80486 microprocessor
Date: 1989
No of transistors: 1200,000
Micron size:1
Clock speed: 25MHz
Data width: 32 bits

Pentium MP
Date: 1983
No of transistors:3,100,000
Micron size:0.8
Clock speed: 60MHz
Data width: 32 bits, 64-bits bus

Pentium II
Date: 1997
No of transistors: 7,500,000
Micron size:0.35
Clock speed: 233MHz
Data width: 32 bits, 64-bits bus

Pentium III
Date: 1999
No of transistors: 9,500,000
Micron size:0.25
Clock speed: 450MHz
Data width: 32 bits, 64-bits bus

Pentium 4
No of transistors: 42,000,000
Micron size:0.18
Clock speed: 1.5GHz
Data width: 32bits - 64 bits bus