Skip to main content

8085 Microprocessor and its Operation

 .

The 8085 microprocessor is an 8 bit microprocessor designed by Intel and introduced in 1976. It is a widely used microprocessor in embedded systems and educational settings due to its simplicity and effectiveness. Here's an overview of its architecture and operation:

  • Data Bus:
    • 8-bit: It can handle 8 bits of data at a time, which means it processes 1 byte of data in a single operation.
  • Address Bus:
    • 16-bit: It can address up to 216 = 65,536 memory locations, which translates to 64KB of addressable memory.
  • Registers:
    • General Purpose Registers: 6 registers (B, C, D, E, H, L) which can be used individually or in pairs (BC, DE, HL) for 16-bit operations.
    • Accumulator: An 8-bit register (A) used for arithmetic and logic operations.
    • Flag Register: Contains flags that indicate the status of the processor (Zero, Carry, Sign, Parity, and Auxiliary Carry Flags).
  • Program Counter (PC):
    • 16-bit register that holds the address of the next instruction to be executed.
  • Stack Pointer (SP):
    • 16-bit register that points to the current top of the stack in memory.
  • Instruction Register (IR):
    • Holds the current instruction being executed.
  • Instruction Decoder:
    • Decodes the instruction fetched from memory and generates the appropriate control signals.

Operations

  • Fetch:
    • The microprocessor fetches the instruction from memory using the address stored in the Program Counter (PC). The fetched instruction is then loaded into the Instruction Register (IR).
  • Decode:
    • The Instruction Decoder interprets the instruction and generates the necessary control signals to execute it.
  • Execute:
    • The microprocessor performs the operation specified by the instruction. This could involve arithmetic operations, data movement, logical operations or control operations.
  • Write Back:
    • Results of the operation, if any are written back to the designated registers or memory locations.

Instruction Set:

The 8085 has a rich set of instructions categorized into several types:
  • Data Transfer Instructions: Move data between registers, memory and I/O ports (e.g. MOV, MVI, LXI, STA, LDA).
  • Arithmetic Instructions: Perform arithmetic operations (e.g. ADD, SUB, MUL, DIV).
  • Logic Instructions: Perform logical operations (e.g. AND, OR, XOR, CMP).
  • Branch Instructions: Control the flow of the program (e.g. JMP, CALL, RET, NOP).
  • Control Instructions: Control the operation of the processor (e.g. RIM, SIM, DI, EI).

Timing and Control:

The 8085 operates in a synchronous manner, meaning it relies on a clock signal to synchronize its operations. The clock speed of the 8085 is typically 3 MHz to 5 MHz. The timing of read and write operations is managed through a series of control signals generated by the microprocessor based on the clock signal.

Example Operation

Let's consider an example where the 8085 is executing a simple instruction:
  • Instruction: MOV A, B
    • Fetch: The microprocessor fetches the MOV A, B instruction from memory using the address in the PC.
    • Decode: The Instruction Decoder identifies the MOV instruction and prepares to move the contents of register B into the Accumulator (A).
    • Execute: The microprocessor copies the data from register B to the Accumulator.
    • Write Back: The contents of register B are now in the Accumulator and the PC is updated to point to the next instruction.

Comments

Popular posts from this blog

BCA mathematics -I (Unit I Set)

 .

BCA Math II old question model solution

 . BCA Math II question model 2018: BCA Math II question model 2019: BCA Math II question model 2020:

Important questions of C programming (BCA)

 . What is the characteristics of a good program? Explain types of language processor. Explain any two system design tools. Explain Program Development Life Cycle. Define programing techniques. Different between top-down and button - up approach with suitable example. Difference between cohesion and coupling. Define identifiers, constants, variables and keywords. Explain datatypes. Explain different types of  datatypes available in C. Define operator. Explain its types with suitable example. Explain decision making statement. Explain its type with example. Difference between while, do while loop, for loop. Write a program to find the fibonacci  sequence. What is jumping statement. Explain its types with suitable example.    Write a program to display following:               *               **               ***         ...