Microprocessor 8085 Architecture which is shown in the below figure consists of various units and each unit has its respective functionality.
Fig: 8085 Microprocessor Architecture
These units are listed below-
In Intel 8085microprocessor, accumulator acts an 8-bit register to store 8-bit data to perform arithmetic and logical operation on them. The final result stored in the accumulator. It is also called A register.
Arithmetic Logic Unit (ALU)
It basically performs 8-bit arithmetic operations like +, -, *, / and to perform logical operations like AND, OR, NOT etc. ALU gets inputs from the accumulator and temporary register on which it performs such operations. After processing the necessary operations, the result is stored back in the accumulator.
Timing and Control unit
This unit is responsible for generating timing signals and control signals and also it controls both inside and outside activities of Intel8085microprocessor. Timing and control unit is very important as it synchronizes the registers and flow of data through various registers and other units. It consists of an oscillator and controller sequencer which sends control signals needed for internal and external control of data and other units.
Following are the timing and control signals −
General purpose register
B, C, D, E, Hand L are six general purpose registers are there in 8085microprocessor. Each register can hold 8-bit data. They can work in pairs such as BC, DE, and HL to store 16-bit data where HL pair work as a memory pointer.
Program Counter is a 16-bit register used to store the memory address location of the next instruction to be executed. Microprocessor increments the program whenever an instruction is being executed so that the program counter points to the memory address of the next instruction that is going to be executed.
The stack pointer is also a 16-bit register. It is used as a memory pointer. Stack pointer gets incremented when data is retrieved from the stack which is called pop operation and decremented when data is loaded into the stack that is known as a push operation
The 16-bit increment and decrement register are used to increment and decrement the PC value and SP value by 1. Increment or decrement can be performed on any register or a memory location.
Address and Address Data Buffer
The content of the program counter and stack pointer are loaded into address data buffer and address buffer. These buffers are bi-directional when used for data. The CPU can exchange the desired data with the memory and I/O chips as The memory and I/O chips are connected to these buses. The address data buffer is connected to both external and internal bus which consists of 8 bits.
temporary register is an 8-bit register, which holds the temporary data of arithmetic and logical operations. This register can only be accessed by the microprocessor and it is completely inaccessible to programmers.
Status or Flag Register
This register is actually a group of flip-flops to give the status of different operations result. When ALU performs an operation, the result is transferred to the internal data bus and the status of the result will be stored in flip-flops.
These are the set of 5 flip-flops −
Sign (S) –If MSB bit =0then the number is positive, else it is negative.
Zero (Z) –If an operation performed in ALU results in 0value of entire 8-bits then zero flags is set, else it resets.
Auxiliary Carry (AC)– If an operation performed in ALU generates the carry from lower nibble (D0to D3) to upper nibble (D4 to D7) AC flag is set, else it resets.
Parity (P)– this flag is setIf the result contains even no. of ones and for odd no. of ones this flag is reset.
Carry (C) –If an operation performed in ALU generates the carry from D7 to next stage then CY flag is set, else it is reset.
When a microprocessor is executing the main program and whenever an interrupt occurs, the microprocessor shifts the control from the main program to process the incoming request. After the request is completed, the control goes back to the main program.
Interrupt signals present in 8085 are
Serial Input/output control
It controls the serial data communication by using these two instructions: SID (Serial input data) and SOD (Serial output data).
Instruction Register and decoder
The instruction register is also 8-bit register. the instruction registers are specifically to store the instructions like adding two data’s, moving a data, copying a data etc. that are fetched from memory.
Fig: Pin diagram of 8085