The 8085 Microprocessor Architecture : Working & Its Applications

The first invention of the integrated circuit was in the year 1959 and this commemorated the history of microprocessors. And the first microprocessor that was invented was Intel 4004 in the year 1971. It is even termed as a central processing unit (CPU) where multiple computer peripheral components are integrated on one chip. This includes registers, a control bus, clock, ALU, a control section, and a memory unit.  Passing many generations, the current generation of the microprocessor was able to perform high computational tasks that use 64-bit processors also. This is a brief evaluation of microprocessors and the one type which we are going to discuss today is the 8085 microprocessor Architecture.


What is the 8085 Microprocessor?

Generally, the 8085 is an 8-bit microprocessor, and it was launched by the Intel team in the year of 1976 with the help of NMOS technology. This processor is the updated version of the microprocessor. The configurations of 8085 microprocessor mainly include data bus-8-bit, address bus-16 bit, program counter-16-bit, stack pointer-16 bit, registers 8-bit, +5V voltage supply, and operates at 3.2 MHz single segment CLK. The applications of 8085 microprocessor are involved in microwave ovens, washing machines, gadgets, etc. The features of the 8085 microprocessor are as below:

  • This microprocessor is an 8-bit device that receives, operates, or outputs 8-bit information in a simultaneous approach.
  • The processor consists of 16-bit and 8-bit address and data lines and so the capacity of the device is 216 which is 64KB of memory.
  • This is constructed of a single NMOS chip device and has 6200 transistors
  • A total of 246 operational codes and 80 instructions are present
  • As the 8085 microprocessor has 8-bit input/output address lines, it has the ability to address 28 = 256 input and output ports.
  • This microprocessor is available in a DIP package of 40 pins
  • In order to transfer huge information from I/O to memory and from memory to I/O, the processor shares its bus with the DMA controller.
  • It has an approach where it can enhance the interrupt handling mechanism
  • An 8085 processor can even be operated as a three-chip microcomputer using the support of IC 8355 and IC 8155 circuits.
  • It has an internal clock generator
  • It functions on a clock cycle having a duty cycle of 50%

The 8085 Microprocessor Architecture

The architecture of the 8085 microprocessor mainly includes the timing & control unit, Arithmetic and logic unit, decoder, instruction register, interrupt control, a register array, serial input/output control. The most important part of the microprocessor is the central processing unit.

 

8085 Architecture
8085 Architecture                                                                 

Operations of the 8085 Microprocessor

The main operation of ALU is arithmetic as well as logical which includes addition, increment, subtraction, decrement, logical operations like AND, OR, Ex-OR, complement, evaluation, left shift or right shift. Both the temporary registers as well as accumulators are utilized for holding the information throughout the operations then the outcome will be stored within the accumulator. The different flags are arranged or rearrange based on the outcome of the operation.

Flag Registers

The flag registers of microprocessor 8085 are classified into five types namely sign, zero, auxiliary carry, parity and carry. The positions of bit set aside for these types of flags. After the operation of an ALU, when the result of the most significant bit (D7) is one, then the sign flag will be arranged. When the operation of the ALU outcome is zero then the zero flags will be set. When the outcome is not zero then the zero flags will be reset.

8085 Microprocessor Flag Registers
8085 Microprocessor Flag Registers

In an arithmetic process, whenever a carry is produced with the lesser nibble, then an auxiliary type carry flag will be set. After an ALU operation, when the outcome has an even number then the parity flag will be set, or else it is reset. When an arithmetic process outcome in a carry, then carry flag will be set or else it will be reset. Between the five types of flags, the AC type flag is employed on the inside intended for BCD arithmetic as well as remaining four flags are used with the developer to make sure the conditions of the outcome of a process.

Control and Timing Unit

The control and timing unit coordinates with all the actions of the microprocessor by the clock and gives the control signals which are required for communication among the microprocessor as well as peripherals.

Decoder and Instruction Register
As an order is obtained from memory after that it is located in the instruction register, and encoded & decoded into different device cycles.

Register Array

The general purpose programmable registers are classified into several types apart from the accumulator such as B, C, D, E, H, & L. These are utilized as 8-bit registers otherwise coupled to stock up the l6 bit of data. The permitted couples are BC, DE & HL, and the short term W & Z registers are used in the processor & it cannot be utilized with the developer.

Special Purpose Registers

These registers are classified into four types namely program counter, stack pointer, increment or decrement register, address buffer, or data buffer.

Program Counter

This is the first type of special-purpose register and considers that the instruction is being performed by the microprocessor. When the ALU completed performing the instruction, then the microprocessor searches for other instructions to be performed. Thus, there will be a requirement of holding the next instruction address to be performed in order to conserve time. Microprocessor increases the program when an instruction is being performed, therefore that the program counter-position to the next instruction memory address is going to be performed…

Stack Pointer in 8085

The SP or stack pointer is a 16-bit register and functions similar to a stack, which is constantly increased or decreased with two throughout the push and pop processes.

Increment or Decrement Register

The 8-bit register contents or else a memory position can be increased or decreased with one. The 16-bit register is useful for incrementing or decrementing program counters as well as stack pointer register content with one. This operation can be performed on any memory position or any kind of register.

Address-Buffer & Address-Data-Buffer

Address buffer stores the copied information from the memory for the execution. The memory & I/O chips are associated with these buses; then the CPU can replace the preferred data by I/O chips and the memory.

Address Bus and Data Bus

The data bus is useful in carrying the related information that is to be stock up. It is bi-directional, but the address bus indicates the position as to where it must be stored & it is uni-directional, useful for transmitting the information as well as address input/output devices.

Timing & Control Unit

The timing & control unit can be used to supply the signal to the 8085 microprocessor architecture for achieving the particular processes. The timing and control units are used to control the internal as well as external circuits. These are classified into four types namely control units like RD’ ALE, READY, WR’, status units like S0, S1, and IO/M’, DM like HLDA, and HOLD unit, RESET units like RST-IN and RST-OUT.

Pin Diagram

This 8085 is a 40-pin microprocessor where these are categorized into seven groups. With the below 8085 microprocessor pin diagram, the functionality and purpose can be known easily.

8085 Pin Diagram
8085 Pin Diagram

Data Bus

The pins from 12 to 17 are the data bus pins which are AD0 – AD7, this carries the minimal considerable 8-bit data and address bus.

Address Bus

The pins from 21 to 28 are the data bus pins which are A8 – A15, this carries the most considerable 8-bit data and address bus.

Status and the Control Signals

In order to find out the behavior of the operation, these signals are mainly considered. In the 8085 devices, there are 3 each the control and status signals.

RD – This is the signal used for the regulation of READ operation. When the pin moves into low, it signifies that the chosen memory is read.

WR – This is the signal used for the regulation of WRITE operation. When the pin moves into low, it signifies that the data bus information is written to the chosen memory location.

ALE – ALE corresponds to Address Latch Enable signal. The ALE signal is high at the time of the machine’s initial clock cycle and this enables the last 8 bits of the address to get latched with the memory or external latch.

IO/M – This is the status signal that recognizes whether the address to be allotted for I/O or for memory devices.

READY – This pin is used to specify whether the peripheral is able to transfer information or not. When this pin is high, it transfers data and if this is low, the microprocessor device needs to wait until the pin goes to a high state.

S0 and S1 pins – These pins are the status signals which defines the below operations and those are:

S0 S1 Functionality
0 0 Halt
1 0 Write
0 1 Read
1 1 Fetch

Clock Signals

CLK – This is the output signal which is pin 37. This is utilized even in other digital integrated circuits. The frequency of the clock signal is similar to the processor frequency.

X1 and X2 – These are the input signals at pins 1 and 2. These pins have connections with the external oscillator that operates the device’s internal circuitry system. These pins are used for the generation of the clock that is required for the microprocessor functionality.

Reset Signals

There are two reset pins which are Reset In and Reset Out at pins 3 and 36.

RESET IN – This pin signifies resetting the program counter to zero. Also, this pin resets the HLDA flip-flops and IE pins. The control processing unit will be in a reset state till RESET is not triggered.

RESET OUT – This pin signifies that the CPU is in reset condition.

Serial Input/Output Signals

SID – This is the serial input data line signal. The information that is on this dateline is taken into the 7th bit of the ACC when the RIM functionality is performed.

SOD – This is the serial output data line signal. The ACC’s 7th bit is the output on the SOD data line when the SIIM functionality is performed.

Externally Initiated and Interrupts Signals

HLDA – This is the signal for HOLD acknowledgment that signifies the received signal of HOLD request. When the request is removed, the pin goes to a low state. This is the output pin.

HOLD – This pin indicates that the other device is in the need to utilize data and address buses. This is the input pin.

INTA – This pin is the interrupt acknowledgment that is directed by the microprocessor device after the receival of the INTR pin. This is the output pin.

INTR – This is the interrupt request signal. It has minimal priority when compared with other interrupt signals.

Interrupt Signal Next instruction location
TRAP 0024
RST 7.5 003C
RST 6.5 0034
RST 5.5 002C

 TRAP, RST 5.5, 6.5, 7.5 – These all are the input interrupt pins. When any one of the interrupt pins are recognized, then the next signal has functioned from the constant position in the memory based on the below table:

The priority list of these interrupt signals is

TRAP – Highest

RST 7.5 – High

RST 6.5 – Medium

RST 5.5 – Low

INTR – Lowest

The power supply signals are Vcc and Vss which are +5V and ground pins.

8085 Microprocessor Interrupt
8085 Microprocessor Interrupt

Timing Diagram of 8085 Microprocessor

To clearly understand the operation and performance of the microprocessor, the timing diagram is the most suitable approach. Using the timing diagram, it is easy to know the system functionality, detailed functionality of every instruction and the execution, and others. The timing diagram is the graphical portray of instructions is steps corresponding to time. This signifies the clock cycle, time period, data bus, operation type such as RD/WR/Status, and clock cycle.

In the 8085 microprocessor architecture, here we will look into the timing diagrams of I/O RD, I/O WR, memory RD, memory WR, and opcode fetch.

Opcode Fetch

The timing diagram is:

Opcode Fetch in 8085 Microprocessor
Opcode Fetch in 8085 Microprocessor

I/O Read

The timing diagram is:

Input Read
Input Read

I/O Write

The timing diagram is:

Input Write
Input Write

Memory Read

The timing diagram is:

Memory Read
Memory Read

Memory Write

The timing diagram is:

Memory Write in 8085 Microprocessor
Memory Write in 8085 Microprocessor

For all these timing diagrams, the commonly used terms are:

RD – When it is high, this means the microprocessor reads no data, or when it is low, this means the microprocessor reads data.

WR – When it is high, this means the microprocessor writes no data, or when it is low, this means the microprocessor writes data.

IO/M – When it is high, this means the device performs I/O operation, or when it is low, this means the microprocessor performs memory operation.

ALE – This signal implies valid address availability. When the signal is high, it performs as an address bus, or when it is low, it performs as a data bus.

S0 and S1 – Signifies the kind of machine cycle that is in progress.

Consider the below table:

Status Signals Control Signals
Machine Cycle IO/M’ S1 S0 RD’ WR’ INTA’
Opcode fetch 0 1 1 0 1 1
Memory Read 0 1 0 0 1 1
Memory Write 0 0 1 1 0 1
Input Read 1 1 0 0 1 1
Input Write 1 0 1 1 0 1

8085 Microprocessor Instruction Set

The instruction set of 8085 microprocessor architecture is nothing but instruction codes used to achieve an exact task, and instruction sets are categorized into various types namely control, logical, branching, arithmetic, and data transfer instructions.

Addressing Modes of 8085

The addressing modes of the 8085 microprocessors can be defined as the commands offered by these modes which are utilized for denoting the information in different forms without altering the content. These classified into five groups namely immediate, register, direct, indirect, and implied addressing modes.

Immediate Addressing Mode

Here, the source operand is the information. When the information is of 8-bit, then the instruction is of 2 bytes. Or else when the information is of 16-bits, then the instruction is of 3 bytes.

Consider the below examples:

MVI B 60 – It implies moving the 60H date quickly to the B register

JMP address – It implies to quick jumping of the operand address

Register Addressing Mode

Here, the information which has to be operated is present in the registers and the operands are the registers. So, the operation takes place inside multiple registers of the microprocessor.

Consider the below examples:

INR B – It implies to increment of the register B content by one bit

MOV A, B – It implies moving of contents from register B to A

ADD B – It implies that register A and register B are added and accumulates the output in A

JMP address – It implies to quick jumping of the operand address

Direct Addressing Mode

Here, the information which has to be operated is present in the memory location, and the operand is directly considered as the memory location.

Consider the below examples:

LDA 2100 – It implies to loading of memory location content to accumulator A

IN 35 – It implies reading of the information from the port that has address 35

Indirect Addressing Mode

Here, the information which has to be operated is present in the memory location, and the operand is indirectly considered as the register pair.

Consider the below examples:

LDAX B – It implies moving contents of the B-C register to the accumulator
LXIH 9570 – It implies loading of immediate the H-L pair with the address of the location 9570

Implicit Addressing Mode

Here, the operand is concealed and the information that has to be operated is present in the data itself.

Examples are:

RRC – Implies of rotating accumulator A to the right position by one bit

RLC – Implies of rotating accumulator A to left position by one bit

Applications

With the development of microprocessor devices, there was a huge transition and changeover in the lives of many people across multiple industries and domains. As because of the device’s cost-effectiveness, minimal weight, and usage of minima power, these microprocessors are in huge usage these days. Today, let us consider the applications of the 8085 microprocessor architecture.

As the 8085 microprocessor architecture is included with the instructional set which has multiple basic instructions like Jump, Add, Sub, Move, and others. With this instructional set, instructions are composed in a programming language that is understandable by the operational device and performs numerous functionalities like addition, division, multiplication, moving to carry, and many. Even more complicated can also be done through these microprocessors.

Engineering Applications

The applications those use microprocessor are in traffic management device, system servers, medical equipment, processing systems, lifts, huge machinery, protection systems, investigation domain and in few lock systems those have automatic entry and exits.

Medical Domain

The foremost usage of microprocessors in the medical industry is in the insulin pump where the microprocessor regulates this device. It operates multiple functionalities like storage of calculations, processing of information that is received from biosensors, and examining the outcomes.

Communication

  • In the communication domain, the telephonic industry is the most crucial and enhancing too. Here, microprocessors come into usage in digital telephonic systems, modems, data cables, and in telephone exchanges, and many others.
  • The application of the microprocessor in the satellite system, TV has allowed for the possibility of teleconferencing also.
  • Even in airline and railway registration systems, microprocessors are used. LAN’s and WAN’s for establishing communication of vertical data across the computer systems.

Electronics

The brain of the computer is the technology of microprocessors. These are implemented in the various types of systems like in microcomputers to the range of supercomputers. In the gaming industry, many numbers of gaming instructions are developed by using a microprocessor.

Televisions, Ipad, virtual controls even comprise these microprocessors to perform complicated instructions and functionalities.

Thus, this is all about 8085 Microprocessor Architecture. From the above information finally, we can conclude that 8085 microprocessor features are it is an 8-bit microprocessor, enclosed with 40-pins, uses +5V supply voltage for the operation. It consists of the 16-bit stack pointer and program counter, and 74-instruction sets, and many more. Here is a question for you, what is the 8085 microprocessor simulator?