Instruction cycle
From Wikipedia, the free encyclopedia
The instruction cycle (also called fetch-and-execute cycle, fetch-decode-execute cycle (FDX)) can refer to either the time period during which one instruction is fetched from memory and executed when a computer is given an instruction in machine language or the sequence of actions that a Central processing unit (CPU) performs to execute each machine code instruction in a program.
There are typically five stages of an instruction cycle that the CPU carries out:
- "Fetch the instruction" from memory. The CPU presents the value of the program counter (PC) on the address bus. The CPU then fetches the instruction from main memory via the data bus into the Current Instruction Register (CIR), a circuit that holds the instruction so that it can be decoded and executed.
- "Decode" the instruction.
- "Read the effective address" from memory if the instruction has an indirect address.
- "Execute" the instruction. From the instruction register, the data forming the instruction is decoded by the control unit. It then passes the decoded information as a sequence of control signals to the relevant function units of the CPU to perform the actions required by the instruction such as reading values from registers, passing them to the Arithmetic logic unit (ALU) to add them together and writing the result back to a register. A condition signal is sent back to the control unit by the ALU if it is involved.
- "Store" in memory any results generated by the operation, or send the results to an output device. Based on the condition feedback from the ALU, the PC is either incremented to address the next instruction or updated to a different address where the next instruction will be fetched. The cycle is then repeated.
Steps 1 and 2 are called the fetch cycle and are the same for each instruction. Steps 3 and 4 are called the execute cycle and will change with each instruction.
The program is run or executed by retrieving or fetching each instruction from the memory, decoding the operation required and then performing this operation. This sequence of events is called the fetch execute cycle.
[edit] Execute cycle
The first step of the execute cycle is the Process-Memory. Data is transferred between the CPU and the I/O module. Next is the Data-Processing uses mathematical operations as well as logical operations in reference to data. Central alterations is the next step, is a sequence of operations, for example a jump operation. The last step is a combined operation from all the other steps.