Wednesday, 14 January 2015

Architecture and Block diagram of 8085 Microprocessor



Architecture Diagram of 8085:
Features of Microprocessor: Introduced in 1977.It is 8-bit MP. It is a 40 pin dual-in-line chip. It uses a single +5V supply for its operations. Its clock speed is about 3MHz.8085 has 16 bit Address lines and 8 bit data lines, 64Kb Memory capacity.


The 8085 has Six main functional Units ,they areProcessing Unit, Instruction Unit, Storage  and Interface Unit, Interrupt Controller, Serial I/O Controller, Power Supply
1. Processing Unit: Processing Unit consist of 4 main blocks they are Arithmetic and Logic Unit, Accumulator, Status Flags, Temporary Register
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.
Arithmetic and Logic Unit: 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.
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.
Status Flags: Status Flags are set of flip-flops which are used to check the status of Accumulator after the operation is performed.


  S=Sign Flag , Z=Zero Flag, AC = Auxiliary Carry Flag, P = Parity Flag CY=Carry Flag
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
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).
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).
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).
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.


2. Instruction Unit  : It has three main blocks they are Instruction Register ,Instruction Decoder ,Timing and Control Unit
Instruction Register: It is used to hold the current instruction which the microprocessor is about to execute. It is an 8-bit register.
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.
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), RD’ (Read, active low),WR’ (Write, active low),IO/M’ (Input-Output/Memory),READY,RESET IN’,RESET OUT,CLK OUT,HOLD and HLDA
3. Storage and Interface Unit : : It has six main blocks they are General Purpose Registers, Stack Pointer, Program Counter, Increment/Decrement Register, Address Latch, Address/Data Latch
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: BC,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.
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.
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.
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.
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.
4. 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.
5. 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.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.
6. Power Supply: This unit provides +5V power supply to the microprocessor. The microprocessor needs +5V power supply for its operation.

No comments:

Post a Comment