Thursday, 16 May 2013

Intel 8085 Block Diagram

Intel 8085 consists of following three main sections:

Arithmetic and Logical Unit:- The main function of ALU is to perform arithmetic and logical operations such as Addition, subtraction, Logical AND, Logical OR, Complement, Increment, Decrement, Shift Operations etc.

Timing and Control Unit: - Generation of timing and control signals for the execution of instructions is done by this unit. It controls and monitors flow of data between CPU and I/O devices. It works as brain for Computer System.X1, X2, Clock Out, ready, ALE, HOLD, HLDA are some examples of signals generated by this unit.

Interrupt Control Unit:- This unit handles various types of Interrupts. Its main function is to decide which interrupt to service first and how to service. It supports three Maskable Interrupts (RST 7.5, RST 6.5 and RST 5.5), one non-Maskable interrupt (TRAP) and one externally serviced interrupt (INTR).

Serial I/O Control Unit:- It is used for the serial data transmission and receiving. SID (input) is an input line and is used to receive serial data; Signal SOD (Output) is for the serial output.

Registers:-Various types of registers are used by 8085 for the temporary storage of data, manipulation of data and instructions. These registers hold data till it is either sent to I/O or an instruction execution is complete.

A) Accumulator (ACC):-It is 8 bit register and is associated with ALU. Its function is to hold one operand during instruction execution and another operand is stored in some other general purpose register or memory for arithmetic or logical operations. Result is stored in accumulator. It works as input for ALU.

B) General Purpose Registers:- 8085 make use of six 8 bit general purpose registers. These registers can be used to store 16 bit data using register pairs. Following register pairs are valid in 8085: H-L, D-E, H and L. These register pairs can’t be altered. E.g. B-D register pair can never be used.

C) Program Counter:- It is 16 bit register that holds the address of next instruction to be executed. Track of instructions is maintained by this. Every time an instruction is executed its value is incremented so that next instruction can be executed after the finish of current instruction execution.

D) Stack Pointer:- It is a 16 bit register and is a special function register. Programmers uses any memory location to store or retrieve values of accumulator, flags etc. during program execution. Consider the example where CPU has to perform a task during instruction execution. At that time stack pointer moves contents of all registers to some other location which is called as stack. When operation is complete and registers are free, data from stack is brought back to registers and previous instruction execution is completed. Stack Pointer controls address of stack. It holds the address of top element of data stored in stack.

E) Instruction Register:- It contains the opcode of instruction which is to be executed.

F) Temp. Register:- it is 8 bit register and is associated with ALU. Its function is to hold data during arithmetic and logical operations. It is used by the microprocessor and is not accessible to the programmer.

Program Status Word (PSW):- 8085 make use of 8 bit register known as Program Status Word. Only five bits are used to show different flag status used in 8085 and rest three bits are not used. The value of these flags is set according to the conditions that occur during arithmetic or logical operation. For the stack operation PSW and accumulator is used as 16 bit register. Flags used in PSW are:

A) Carry Flag (CS): Value of this flag is set to 1 if carry is generated during arithmetic and logical operations otherwise its value is set to 0.

B) Parity Flag (P): the value of this flag is set to 1 if result of arithmetic and logical operation contains even no. of 1s otherwise its value is set to zero.

C) Auxiliary Carry Flag (AC): It hold carry out of the bit no. 3 to the bit no. 4 during arithmetic instruction execution.

D) Zero Flag (Z): The value of Zero status flag is set to 1 if result of arithmetic or logical operation is zero otherwise its value is set to 0.

E) Sign Flag(S): value of this flag is set to 1 if result of arithmetic or logical operation is negative otherwise its value is set to 0.

No comments:

Post a Comment