Internal Architecture of 8085 Microprocessor
8085 microprocessor is an 8 bit parallel central processing unit (CPU). The internal architecture of 8085 microprocessor consists of array of registers, encoder/decoder, arithmetic logic unit, and timing and control circuits. An internal data bus links all of these components inside the processor.
Block Diagram of Internal Architecture of 8085 Microprocessor
The block diagram below shows the internal architecture of 8085 microprocessor.
ALU (Arithmetic and Logic Unit):
ALU perform the computation functions and it includes accumulator, temporary registers, arithmetic and logic circuits and five flags.
Temporary register holds the data temporarily during an arithmetic or logical operation of the processor. Accumulator stores the final result of the arithmetic or logical operations.
The flags are the set of flip-flops. When processor performs some operation the flags are set or reset according to the result of the operation.
Accumulator (register A):
Accumulator is an 8 bit register and also it is a part of ALU. This register can store 8 bit of data and used during the arithmetic and logic operation of the processor.
As accumulator register is used in arithmetic and logical operation of the process, 8085 microprocessor is also termed as accumulator based microprocessor. The data to be read from the input port is first moved in the accumulator or register ‘A’ and also the data to be sent to the output port is first stored in the accumulator.
Temporary Registers (W and Z):
W and Z are the temporary register. These are 8 bit processors. Temporary register are not accessible to the programmer. The processor stores data for brief moment of time in these registers during the program execution.
Instruction Register (IR):
IR is also an 8 bit register. Like temporary registers, IR register is also not accessible to the programmer.
The operation codes of the instructions are first received by the IR. Then IR passes these operation codes or the op codes to the instruction decoder which then decodes the information and finally the microprocessor is able to know the type of operation which it has to perform.
Register Array (Register B, C, D and E):
B, C, D and E are the register array which are of 8 bits. These registers are available for the programmers during programming of the 8085 microprocessor. The programmer can store data in these registers during program executions.
We can use these register arrays as 8 bit registers or in pair such as BC, DE as 16 bit registers.
During program execution we can add or transfer the data to and from the register. We can combine the contents of these registers with the accumulator’s content.
Register H and L:
H and L are 8 bits registers. We can use these registers in the same way as that of the registers B, C, D and E.
Stack Pointer (SP):
SP or stack pointer is 16 bit register works as a memory pointer. This register points to the stack which is the location in the R/W memory.
Program Counter (PC):
To sequence the execution of the instructions, the microprocessor uses PC register. PC points to the memory address from which next byte of information is to be fetched.
Flags registers consists of combination of five flip-flops. Each of these flip-flops will hold the status of different states of the arithmetic and logical operations performed by the microprocessor.
The figure below shows the flags of the 8085 microprocessor.
To make further decisions in the program we can use the status of the flag register.
The flags are describes in details below:
Carry: Set (1) if the last operation generates carry otherwise reset (0).
Zero: If the result of the last operation of the processor is zero then this flag is set (1). Otherwise the flag is reset (0).
Sign: Set (1) if the MSB of the result of the last operation is 1 (as MSB=1 signifies negative), otherwise reset (0).
Parity: Set (1) if the result of the last operation has even numbers of 1’s (i.e. even parity) otherwise reset (0).
Auxiliary Carry: Set (1) if the last operation yield carry from the lower half word otherwise reset (0).
Timing and Control Unit:
Timing unit synchronizes the operation of the microprocessor with the clock. The control unit is responsible for generating the control signals necessary for the microprocessor for communication between the microprocessor and the peripherals.
RD and WR are the control signals which indicates the availability of the data on the data bus.
To handle the interrupt in the microprocessor there are various interrupt control signals such as INTR, RST 5.5, RST 6.5, RST 7.5 and TRAP.
Serial I/O Controls:
For serial data transmission, SID and SSIO are two serial I/O control signals available in 8085 microprocessor.