A particular Instruction Set Architecture (ISA) has four classes of instruction: load/store, fixedpoint, floating-point, and branching. Load/store instructions all require 2 clock cycles to execute, fixed-point instructions all execute in one clock cycle, floating-point instructions all require 8 clock cycles to execute, and branch instructions take one clock cycle if the branch is successful and two clock cycles if the branch fails. A program is run on a processor with this ISA and measurements show that 20% of the instructions executed are load/store, 50% are fixed-point, 5% are floating-point, and the remainder are branches. Just 15% of the branches fail. What is the average number of clock cycles per instruction?
Solution:
The formula to calculate the average number of clock cycle per instruction is as follows:
Average number of clock cycle per instruction= ((clock cycle of load instruction) x (No. of load/store instructions)) +((clock cycle of fixed-point instruction) x (No. of fixed-point instructions)) + ((clock cycle of floating-point instructions) x (No. of floating-point instructions) )+( (clock cycle of successful branch instruction) x( no. of successful branch instructions)) + ((clock cycle of fail branch instruction) x (no. of fail branch instructions))
Average number of clock cycle per instruction = ((0.2 x 2) + (0.5 x 1) + (0.05 x 8) + (0.1 x 1) + (0.15 x 2))
Average number of clock cycle per instruction = 0.4+0.5+0.4+0.1+0.3
Average number of clock cycle per instruction =1.7
Hence, average number of clock cycles per instruction are 1.7.
Get Answers For Free
Most questions answered within 1 hours.