Instructions:
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.
Let’s explore the basic steps involved in the instruction execution cycle:
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.
2.)Instruction Decode (ID):
- 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.
3.) Execute (EX):
- 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.
4.) Memory Access (MA):
- 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.
5.) Write Back (WB):
- 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.
Example:
- Let’s consider a simple MOV instruction:
- 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.