Search

Microprocessor 8085 Functional Blocks

The main blocks of the 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 a CPU uses to generate timing and control signals which are required to synchronize the microprocessor operations with the system clock and to provide communication between the microprocessor and peripherals, this controls the entire operation of the microprocessor and peripherals connected to it. This also controls data flow through the bus, which is provided with an oscillator and controlling sequencing generator.

Instruction Register:


This is an 8-bit register that stores the opcode of an instruction byte during the fetch cycle. Afterwords, 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 from which the next byte is to be fetched that is, when the 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 the 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.

ALU:


This ALU performs arithmetic and logical operations by using addresses, registers, counters and so on. The contents of the accumulator and temporary register are inputted to ALU and the 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

Accumulator:


This is an 8-bit register. This stores 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 which 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 1.

Sign flag:

If D2 is as1, this is set and if 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 which is an 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
MIPS:1



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

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

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

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


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

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