Internal Architecture or Functional block of Intel 8085 Microprocessor

Internal Architecture or Functional block of Intel 8085 Microprocessor defines its construction and technology used inside this Integrated Circuit. Intel’s 8085 Microprocessor, not much than other microprocessor like 8051 and 8086, includes the ALU (Arithmetic Logic Unit), Timing and Control unit, Instruction register and decoder, Register Array, Accumulator, Interrupt control and serial Input/output controls, Address and Data Buffer.

Internal Architecture or Functional block diagram of Intel 8085 Microprocessor

Internal Architecture or Functional block diagram of Intel 8085 Microprocessor

Each internal section of the Intel’s 8085 Microprocessor is explained below –

Arithmetic and Logic Unit

The ALU in Intel’s 8085 Microprocessor chip performs the computing functions; computing can be whether algebraic or logical. The ALU section contains the accumulator, the temporary register, the arithmetic and logic circuits, and five flags. The temporary register is used to hold data during an arithmetic logic operation. The result is stored in the accumulator, and the flag (Flip-Flops) are set or reset according to the result of the operation.

So what are flags in Arithmetic and logic unit of Microprocessor?

The flags are affected by the arithmetic and logic operation in the ALU. In most of these operations, the result is stored in the accumulator. Therefore, the flags generally reflect data conditions in the accumulator – with some exceptions. The description and condition of the flag are as follows.

         i.            S – Sign Flag – The sign flag is set when most significant bit (MSB) or D7 of the data in Accumulator is 1, which indicates the number is negative and flag is reset when D7 is 0 which indicates the number is positive.

       ii.            Z – Zero Flag – The zero flag is set if ALU operation results to 0, and the flag is reset if the result is not 0. This flag is modified by the results in the accumulator or as well as in other registers.

      iii.            AC – Auxiliary Carry Flag – In arithmetic operation when carry is generated by digit D3 and passed on to digit D4, the AC flag is set. This flag is used only internally for Binary Digit Conversion operations and it is not available for the programmer to change the sequence of a program with a jump instruction.

     iv.            P – Parity Flag – After an arithmetic or logical operation, if the result has an even number of 1s, the flag is set. If it has odd numbers of 1s then the flag is reset.

       v.            CY – Carry Flag – If an arithmetic operation results in a carry, the carry flag is set other wise it is reset. The carry flag also serves as a borrow flag for subtraction.

The bit positions reserved for these flags in the flag register are as follows –

Flag Registers in Intel 8085 Microprocessor

Flag Registers in Intel 8085 Microprocessor


Timing and Control Unit

The Timing and Control unit synchronizes all the microprocessor operations with the clock and generates the control signals necessary for communication between the microprocessor and peripherals. The control signals are similar to sync pulses indicating the availability of data on the data bus.

It has three control signals ALE, RD (Active low) and WR (Active low) and three status signals IO/M (Active low), S0 and S1. ALE is used for provide control signal to synchronize the components of microprocessor and timing for instruction to perform the operation. RD (Active low) and WR (Active low) are used to indicate whether the operation is reading the data from memory or writing the data into memory respectively. IO/M (Active low) is used to indicate whether the operation is belongs to the memory or peripherals.  If

Timing and Control unit in Intel 8085 microprocessor

Timing and Control unit in Intel 8085 microprocessor


Register Array

The programmable register like B, C, D, E, H and L and two additional registers called temporary register W and Z are included in the register array. These registers are used to hold 8-bit data during the execution of some instructions. However, because they are used internally, they are not available to the programmer.

The figure below shows the register array in functional block of Intel 8085 Microprocessor

Register array Block in Intel 8085 Microprocessor

Register array Block in Intel 8085 Microprocessor


Instruction Register and Decoder

The Instruction register and the decoder are part of the ALU. When an instruction is fetched from memory, it is loaded in the instruction register. The decoder decodes the instruction and establishes the sequences of events to follow. The instruction register is not programmable and cannot be accessed through any instruction.

Accumulator (A)

The accumulator is an 8-bit register that is part of the arithmetic/logic unit (ALU). This register is used to store 8-bit data and to perform arithmetic and logical operations. The result of an operation is stored in the accumulator.

Program Counter (PC)

This 16-bit register sequencing the execution of instructions. It is a memory pointer. Memory locations have 16-bit addresses, and that is why this is a 16-bit register. The function of the program counter is to point to the memory address of the next instruction to be executed. When an opcode is being fetched, the program counter is incremented by one to point to the next memory location.

Stack Pointer (Sp)

The stack pointer is also a 16-bit register used as a memory pointer. It points to a memory location in R/W memory, called the stack. The beginning of the stack is defined by loading a 16-bit address in the stack pointer (register).

Interrupt control

Interrupt control block in Intel’s 8085 Microprocessor accepts different interrupt request inputs such as TRAP, RST 7.5, RST 6.5, RST 5.5 and INTR and informs control logic to take an action in response to each signal.

Serial Input/ Output Control Group

The data transferred on D0 to D7 lines is parallel data but under certain condition, it is advantageous to use serial data transfer. Intel 8085 implements this by using SID and SOD signals and the data on this lines is accepted or transferred under software control by serial I/O control

Intel 8085 Microprocessor Bus Structure

Bus structure in Intel 8085 Microprocessor

Bus structure in Intel 8085 Microprocessor

Address buffer and Address-Data buffer

The contents of the stack pointer and program counter are loaded into the address buffer and address-data buffer. These buffers are then used to drive the external address bus and address-data bus. As the memory and I/O chips are connected to these buses, the CPU can exchange desired data to the memory and I/O chips.

The address-data buffer is not only connected to the external data bus but also to the internal data bus which consists of 8-bits. The address data buffer can both send and receive data from internal data bus.

Address bus and Data bus

We know that 8085 is an 8-bit microprocessor. So the data bus present in the microprocessor is also 8-bits wide. So 8-bits of data can be transmitted from or to the microprocessor. But 8085 processor requires 16 bit address bus as the memory addresses are 16-bit wide.

The 8 most significant bits of the address are transmitted with the help of address bus and the 8 least significant bits are transmitted with the help of multiplexed address/data bus. The eight bit data bus is multiplexed with the eight least significant bits of address bus. The address/data bus is time multiplexed. This means for few microseconds, the 8 least significant bits of address are generated, while for next few seconds the same pin generates the data. This is called Time multiplexing.

But there are situations where there is a need to transmit both data and address simultaneously. For this purpose a signal called ALE (address latch enable) is used. ALE signal holds the obtained address in its latch for a long time until the data is obtained and so when the microprocessor sends the data next time the address is also available at the output latch. This technique is called Address/Data demultiplexing.

Possible questions from this Study –

Explain the Block Diagram of Intel 8085 Microprocessor.
Explain the Internal Architecture of Intel 8085 Microprocessor.
What are the Functional Blocks on 8085 Microprocessor?
How does 8085 Microprocessor works?
Describe the register flags in 8085 Microprocessor.
Diagram of internal Bus structure of Intel 8085 Microprocessor