×

Instruction Cycle: Computer Organization and Architecture

What is an effective Address?

“Effective address is the address of operand in a computation-type instruction.” Computation type instructions are like ADD, SUB, MOV, OR, AND, etc., which require operand to operate. Whenever the operand is present, its address is known as its effective address.

                                                                  or

“Effective address is the target address in a branch type instruction.” Branch type instructions are like JUMP type of instructions. Suppose, if sequential instruction execution is stopped suddenly and it has to JUMP from one address to another. So, wherever (on an address) an instruction has to jump, that place is called target and its address is called as target instruction address also known as effective address in-branch type instruction.

COA: Instruction Cycle

Instruction cycle

If the CPU wants to execute one instruction, it must follow a series of 6 phases.

                                 One instruction = 6 phases

                                 Next instruction= 6 phases

                      Another next instruction= 6 phases

The CPU performs 6 phases to execute an instruction, and phases are repeated repeatedly. This cycle of phases is called as Instruction cycle.

Six phases of the Instruction Cycle is divided into two parts.

a) Fetch cycle

  • Instruction Fetch

b) Execution cycle

  • Instruction decode
  • Effective Address Calculation
  • Operand Fetch
  • Execution
  • Write back result
COA: Instruction Cycle

The instruction cycle is explained with the help of an example.

COA: Instruction Cycle
  1. Instruction fetch

It is the process in which we bring the instruction from memory to the CPU. When the CPU wants to execute the first Instruction I1 of the program, it fetches an instruction from memory to the CPU. For example, in the above figure, when the CPU wants to execute the first instruction, it must have a program counter having a value of 200. The next instruction is going to execute on address 200. CPU brings this instruction from memory, and it is stored in the Instruction Register.

                                          IR ? Memory[PC]

Note: The value of the program counter increases by the same number of addresses on which the instruction is stored in memory. CPU wants to execute instruction I1 copied to CPU from memory, then the value of program counter increased, and it becomes 201.   

2. Instruction decode

When instruction is copied to the instruction register from memory to CPU, it contains the instruction's opcode, which is decoded by CPU. When the CPU decodes the instruction's opcode and gets to know what operation to perform, this process is called Instruction Decode.

3. Effective Address Calculation

Every instruction has two parts, one is the opcode, another is operand information. Opcode has already been decoded by CPU, and now CPU decodes the operand information from where it obtained the effective address.

4. Operand Fetch

To execute the program, operands are needed, stored in somewhere memory in the form of data, and that are fetched by CPU from memory; the process is called operand fetch. For example, a, b is the data stored somewhere in the memory. It is fetched by CPU from memory.  

5. Execution

When the operation is performed on data, and the result is generated to the Accumulator. This process is called execution. For example, the operation is performed on data a, b, and generated to Accumulator.

6. Write back result

Finally, after the result is generated in Accumulator, it is copied to destination c. the result is written back or copied back to the destination in memory.

 Note: Every instruction doesn’t require all 6 phases every time. It depends on every instruction requirement; otherwise, by default, it is considered that all instruction requires 6 phases for execution.


Related Topics

Assembly Language Register

Assembly Language Register Assembly language was introduced during the late 1940s in the second generation. It is a low-level language that helps in communication between the user and the computer. It...

6 minutes read.

Computer Organization and Architecture Tutorial

Introduction to Computer Organization and Architecture In this modern era, or we can say computer era, Technology from all around surrounds us. Human is conserved, connected and absorbed by Technology. From...

4 minutes read.

Interfacing DAC with the 8051 Microcontroller

A wide range of applications calls for microcontrollers, including measuring and controlling physical quantities like temperature, pressure, speed, and distance. In these systems, the microcontroller creates digital output, but the controlling...

2 minutes read.

Basic Terminologies Related to COA

Some Basic Terminologies Related to COA Computer organization and architecture is the detailed study of the internal components of the computer with their functionality. It describes how components arranged together and...

7 minutes read.

Ethernet Frame Format

What is Ethernet? As we know in computer networking, LAN (Local Area Network) is used to connect devices in limited geographical areas like schools or a building.LAN uses different topologies (arrangement...

3 minutes read.

Instruction Pipelining and Pipeline Hazards

Instruction Pipelining and Pipeline Hazards To apply pipeline, the prerequisite is to perform the same processing over multiple inputs, then pipelining is important. So instruction execution is the best example for...

10 minutes read.

Digital Number System

Digital Number System: The computer understands digital language only. Many number systems are used in digital technology. The most common are Decimal, Binary, Octal and Hexadecimal number systems. Types of the...

7 minutes read.

Types of Microprocessors

Introduction:Microprocessor is known as the computer processor. The IC or integrated Circuit makes the microprocessor. That is the brain of the computer machine.  The microprocessor is the Processor or CPU (Central...

3 minutes read.

8085 Arithmetic Instructions

Arithmetic instructions are a type of instruction in a computer's instruction set that perform arithmetic operations on data. These operations can include addition, subtraction, multiplication, and division. Arithmetic instructions can...

4 minutes read.

Biconnectivity in a Graph

What is a Graph? A graph is a structure where values are stored at the vertex, and the relation between vertices is denoted by edges. In a graph, if there is only...

4 minutes read.

Local Broadcast Address and loopback address

In computer networking, if you send the data from one source to another source or group of sources in the form of packets, then this is called casting. We can categorize...

3 minutes read.

8255 Microprocessor Operating Modes

8255 microprocessor was invented by intel in the year 1980s. 8255 microprocessor is a general-purpose microprocessor that can be programmed. 8255 is mostly used as an interface between devices like...

3 minutes read.

Micro-Operations

Micro-Operations If CPU wants to perform any operation, suppose execution of only one instruction or even break it down one particular execution phase (like fetch instruction, write back, decode, operand fetch...

9 minutes read.

Data Transfer and Manipulation

What is Data Transfer? In computer architecture, data transfer refers to the movement of data between different components within a computer system. These components can include the central processing unit (CPU),...

6 minutes read.

Instruction Cycle: Computer Organization and Architecture

What is an effective Address? “Effective address is the address of operand in a computation-type instruction.” Computation type instructions are like ADD, SUB, MOV, OR, AND, etc., which require operand to...

4 minutes read.

Advantages and Disadvantages of Flash Memory

What is Flash Memory? Electrically Erasable Programmable Read-Only Memory (EEPROM) and Erasable Programmable Read-Only Memory (EPROM) are used for flash memory (EEPROM). Although technically the word flash is used in the industry...

3 minutes read.

IEEE Standard 754 Floating Point Numbers

Floating Point Representation: IEEE- 754 There were many problems in the conventional representation of floating-point notation like we could not express 0(zero), infinity number. To solve this, scientists have given a...

8 minutes read.

Convert a number from base 2 to base 6

Base 2 Base 2 is the format where you can represent any number with just two values which are 0 and 1. With the help of 0s and 1s, we can...

4 minutes read.

Addressing Modes

Introduction: Addressing Modes An instruction consists of two parts opcode and operands. Opcode tells the operation going to perform, and operand information is the address of the operand. The CPU interprets...

8 minutes read.

Bipartite Graph

A graph is said to be bipartite if and only if we can divide all the vertices of a graph into two sets such that these sets are mutually exclusive...

4 minutes read.