8085 Microprocessor Architecture: Functional Units, Registers, Buses and Interrupts

8085 Microprocessor Architecture: Functional Units, Registers, Buses and Interrupts

8085 Microprocessor Architecture: Complete Beginner-Friendly Explanation

Search Description: Learn 8085 microprocessor architecture in simple words. Understand ALU, accumulator, registers, program counter, stack pointer, buses, flags, interrupts and timing control.

In simple words: The 8085 microprocessor is an 8-bit CPU developed by Intel. It receives instructions from memory, processes data using its internal units, and communicates with memory and input/output devices through buses.

Introduction to 8085 Microprocessor

The 8085 microprocessor is one of the most popular 8-bit microprocessors used for learning the basic architecture of a computer system. It was designed by Intel in 1977 using NMOS technology. The name 8085 is commonly pronounced as “eighty eighty-five”.

It is called an 8-bit microprocessor because it can process 8-bit data at a time. However, it has a 16-bit address bus, which means it can access up to 64 KB of memory. Even though it is an old processor, it is still very important for students because it explains the foundation of modern computer architecture.

The 8085 microprocessor works as the central processing unit of a microcomputer system. It performs arithmetic operations, logical operations, data transfer, instruction execution, interrupt handling and communication with memory and input/output devices.

Main Features of 8085 Microprocessor

Feature Description
Processor type 8-bit microprocessor
Data bus 8-bit bidirectional data bus
Address bus 16-bit address bus
Memory addressing capacity 216 = 65,536 memory locations = 64 KB
Power supply +5 V DC
Clock frequency Commonly 3.2 MHz
General-purpose registers B, C, D, E, H and L
Special registers Accumulator, Program Counter and Stack Pointer

Important point: The 8085 has an 8-bit data bus but a 16-bit address bus. This means it processes 8-bit data at one time but can select 65,536 different memory locations.

Functional Units of 8085 Microprocessor Architecture

The architecture of 8085 consists of different internal blocks that work together to execute instructions. These blocks include the accumulator, ALU, registers, program counter, stack pointer, instruction register, decoder, timing and control unit, interrupt control and serial input/output control.

1. Accumulator

The accumulator is an 8-bit register directly connected with the ALU. It is one of the most important registers in the 8085 microprocessor. Most arithmetic and logical operations are performed using the accumulator.

For example, during addition, one number is usually stored in the accumulator and the other number is taken from a register or memory location. After the operation, the result is stored back in the accumulator.

2. Arithmetic and Logic Unit (ALU)

The Arithmetic and Logic Unit performs mathematical and logical operations on 8-bit data. It can perform operations such as addition, subtraction, increment, decrement, AND, OR, XOR, compare and complement.

The ALU does not work independently. It receives data from registers or memory and stores the result mainly in the accumulator. After each operation, the flag register is updated according to the result.

3. General-Purpose Registers

The 8085 has six general-purpose 8-bit registers:

  • B
  • C
  • D
  • E
  • H
  • L

These registers are used to temporarily store data during program execution. They can also be combined in pairs to store 16-bit data. The common register pairs are:

  • BC pair
  • DE pair
  • HL pair

The HL register pair is often used as a memory pointer because it can store a 16-bit memory address.

4. Program Counter (PC)

The Program Counter is a 16-bit register that stores the address of the next instruction to be executed. When the processor fetches an instruction from memory, the program counter automatically increases so that it points to the next instruction.

This makes the execution of a program sequential. If a jump, call or branch instruction occurs, the value of the program counter changes according to the new instruction address.

5. Stack Pointer (SP)

The Stack Pointer is also a 16-bit register. It points to the top location of the stack in memory. The stack is used for temporary storage during subroutine calls, interrupt handling, PUSH operations and POP operations.

In 8085, the stack grows in the downward direction. During a PUSH operation, the stack pointer is decremented. During a POP operation, the stack pointer is incremented.

6. Temporary Register

The temporary register is an internal 8-bit register used by the processor while performing arithmetic and logical operations. It is not directly accessible by the programmer. It helps the ALU during internal processing.

7. Instruction Register and Instruction Decoder

When an instruction is fetched from memory, it is first stored in the instruction register. After that, the instruction decoder decodes the instruction and tells the control unit what operation needs to be performed.

For example, if the instruction is related to addition, the decoder activates the ALU and required registers. If the instruction is related to memory reading, it activates the proper memory control signals.

8. Timing and Control Unit

The timing and control unit generates control signals required for the proper operation of the microprocessor. It controls the flow of data between the microprocessor, memory and I/O devices.

Important control and status signals include:

  • RD̅: Read signal
  • WR̅: Write signal
  • ALE: Address Latch Enable
  • READY: Used to synchronize slow devices
  • IO/M̅: Indicates whether the operation is related to I/O or memory
  • S0 and S1: Status signals

Registers in 8085 Microprocessor

Registers are small and fast storage locations inside the microprocessor. They are used for holding data, addresses and intermediate results during instruction execution.

Register Size Function
Accumulator 8-bit Stores data for arithmetic and logical operations
B, C, D, E, H, L 8-bit each General-purpose data storage
BC, DE, HL 16-bit pairs Used to store 16-bit data or address
Program Counter 16-bit Stores address of next instruction
Stack Pointer 16-bit Stores address of top of stack
Flag Register 8-bit Shows the status of ALU result

Flag Register in 8085

The flag register is an 8-bit register, but only five flags are used in the 8085 microprocessor. These flags are automatically set or reset according to the result of arithmetic and logical operations.

Flag Full Form Meaning
S Sign Flag Set when the result is negative
Z Zero Flag Set when the result is zero
AC Auxiliary Carry Flag Used in BCD arithmetic
P Parity Flag Set when the result has even parity
CY Carry Flag Set when carry is generated

Example: If two 8-bit numbers are added and the result becomes larger than 255, the carry flag is set. This helps the processor handle multi-byte arithmetic operations.

Address Bus, Data Bus and Control Bus

The 8085 microprocessor communicates with memory and I/O devices through buses. A bus is a group of conducting lines used to transfer information.

Address Bus

The address bus carries the address of memory or I/O location. In 8085, the address bus is 16-bit wide. Therefore, it can address 64 KB memory. The address bus is unidirectional because address information flows only from the processor to memory or I/O devices.

Data Bus

The data bus carries actual data between the microprocessor, memory and I/O devices. In 8085, the data bus is 8-bit wide and bidirectional. This means data can flow from the processor to memory or from memory to the processor.

Control Bus

The control bus carries control signals such as read, write, interrupt, reset and status signals. These signals coordinate the operation of the complete system.

Bus Width in 8085 Direction Purpose
Address Bus 16-bit Unidirectional Selects memory or I/O location
Data Bus 8-bit Bidirectional Transfers data
Control Bus Various control lines Mostly fixed direction per signal Controls read, write and timing operations

Interrupts in 8085 Microprocessor

An interrupt is a signal that temporarily stops the normal execution of a program and asks the processor to execute another important task. After completing the interrupt service routine, the processor returns to the main program.

The 8085 has five hardware interrupt signals:

  • TRAP: Highest priority, non-maskable interrupt
  • RST 7.5: Maskable interrupt with high priority
  • RST 6.5: Maskable interrupt
  • RST 5.5: Maskable interrupt
  • INTR: General-purpose interrupt
Interrupt Type Priority
TRAP Non-maskable Highest
RST 7.5 Maskable Second
RST 6.5 Maskable Third
RST 5.5 Maskable Fourth
INTR Maskable Lowest

Serial Input and Output Control

The 8085 microprocessor supports serial communication using two pins:

  • SID: Serial Input Data
  • SOD: Serial Output Data

Serial input/output is useful when data needs to be transferred bit by bit. In 8085, serial communication is controlled using special instructions such as SIM and RIM.

Working of 8085 Microprocessor in Simple Steps

The working of the 8085 microprocessor can be understood through the instruction cycle:

  1. The program counter gives the address of the next instruction.
  2. The processor sends this address to memory through the address bus.
  3. The instruction is fetched from memory through the data bus.
  4. The instruction is stored in the instruction register.
  5. The instruction decoder decodes the instruction.
  6. The control unit generates required control signals.
  7. The ALU or registers perform the required operation.
  8. The result is stored in the accumulator, register or memory.

Applications of 8085 Microprocessor

Although modern devices use advanced processors and microcontrollers, the 8085 microprocessor is still useful for understanding basic computer organization. It was used in many small control and embedded applications.

  • Educational trainer kits
  • Basic control systems
  • Small automation systems
  • Instrumentation systems
  • Traffic control systems
  • Simple data processing systems
  • Industrial training and laboratory experiments

Why 8085 is Important for Students?

The 8085 microprocessor is important because it explains the basic working of a computer system in a simple way. Students can learn how instructions are fetched, decoded and executed. They can also understand how memory, registers, buses, interrupts and I/O devices work together.

Once the architecture of 8085 is clear, it becomes easier to understand advanced processors, microcontrollers, embedded systems and computer architecture.

Key Takeaways

  • 8085 is an 8-bit microprocessor developed by Intel.
  • It has an 8-bit data bus and a 16-bit address bus.
  • It can address up to 64 KB memory.
  • The ALU performs arithmetic and logical operations.
  • The accumulator stores most ALU results.
  • The program counter stores the address of the next instruction.
  • The stack pointer points to the top of the stack.
  • The flag register shows the status of arithmetic and logical results.
  • Interrupts help the processor respond to urgent external events.

Frequently Asked Questions

What is 8085 microprocessor?

8085 is an 8-bit microprocessor developed by Intel. It is used to process 8-bit data and control memory and input/output devices.

Why is 8085 called an 8-bit microprocessor?

It is called an 8-bit microprocessor because its data bus is 8-bit wide and it processes 8-bit data at a time.

How much memory can 8085 address?

The 8085 has a 16-bit address bus. Therefore, it can address 216 memory locations, which is equal to 64 KB memory.

What is the function of accumulator in 8085?

The accumulator stores data before and after arithmetic and logical operations. Most ALU results are stored in the accumulator.

What are the five flags in 8085?

The five flags are Sign flag, Zero flag, Auxiliary Carry flag, Parity flag and Carry flag.

What is the use of program counter?

The program counter stores the address of the next instruction to be executed by the processor.

What is the use of stack pointer?

The stack pointer stores the address of the top of the stack. It is used during PUSH, POP, CALL, RET and interrupt operations.

Conclusion

The 8085 microprocessor architecture is a very important topic for beginners in electronics, computer organization and embedded systems. It helps us understand how a processor communicates with memory, executes instructions, performs calculations and controls external devices.

Even though modern processors are much faster and more complex, their basic working is still based on the same fundamental concepts such as registers, ALU, buses, memory, control signals and interrupts. Therefore, learning 8085 architecture is a strong first step toward understanding modern digital systems.

Keywords: 8085 microprocessor architecture, functional units of 8085, 8085 registers, 8085 flag register, 8085 address bus, 8085 data bus, 8085 interrupts, 8085 ALU, 8085 microprocessor notes, microprocessor architecture for beginners.

No comments