Microprocessor and Computer Architecture

⌘K
  1. Home
  2. Docs
  3. Microprocessor and Comput...
  4. Intel 8085
  5. Instructions and Data Flow inside 8085

Instructions and Data Flow inside 8085

An instruction is a binary pattern designed to perform a specific function.

• The list of entire instructions is called the instruction set. The instruction set determines what function the microprocessor can perform.

• The execution of instructions and data flow within the Intel 8085 microprocessor involves several stages.

1.)Instruction Fetch (IF):

  • Program Counter (PC):
    • Holds the address of the next instruction to be fetched.
  • Memory Read (MAR, MDR):
    • PC content is placed on the Memory Address Register (MAR).
    • Memory is read, and the instruction is stored in the Memory Data Register (MDR).
  • Increment PC:
    • PC is incremented to point to the next instruction.
  • Instruction Register (IR):
    • The fetched instruction is moved to the Instruction Register (IR).
  • Decode:
    • The control unit decodes the opcode to determine the operation to be performed.
  • ALU Operations:
    • Arithmetic and logical operations are performed by the Arithmetic Logic Unit (ALU) based on the decoded instruction.
  • Data Movement:
    • Data is moved between registers or between registers and memory based on the instruction.
  • Branching:
    • Conditional or unconditional branches may occur based on the instruction.
  • Effective Address Calculation:
    • For instructions involving memory, the effective address is calculated based on addressing modes.
  • Memory Read/Write:
    • Data is read from or written to the memory location specified by the effective address.
  • Registers and Flags:
    • The result of the ALU operation or the data read from memory is written back to the appropriate registers.
  • Update Flags:
    • Status flags are updated based on the result of the operation.
  • Data Flow:
  • Registers:
    • Data flows between various registers like Accumulator (A), General Purpose Registers (B, C, D, E, H, L), and Special Purpose Registers.
  • Buses:
    • Data buses (address bus and data bus) facilitate communication between the processor, memory, and peripherals.
  • Flags:
    • Flags (Sign, Zero, Auxiliary Carry, Parity, Carry) are set or reset based on the result of arithmetic or logical operations.
  • Control Signals:
    • Control signals are generated by the control unit to coordinate the flow of data and manage the execution of instructions.
  • Let’s consider a simple MOV instruction:
Screenshot 2024 03 07 140347
  • The instruction fetches the opcode for MOV from memory into the IR.
  • The control unit decodes the opcode and determines that it is a data movement instruction.
  • The contents of register A are transferred to register B.
  • Flags are updated based on the operation.

How can we help?

Leave a Reply

Your email address will not be published. Required fields are marked *