What is the average increase in the value of the time between two successive instruction...
Qualcomm technical mcq question, verified with a worked answer. Free to practise - no sign-up.
What is the average increase in the value of the time between two successive instruction completions if 35% of the instruction access which refer to the data operands hit the memory, with 80% of the instruction hit rate and the 65% of the data hit rate with a cache misspenalty rate of 15 clock cycles?
Show answer & explanation
The average increase in instruction completion time is calculated using the penalty formula: penalty = miss_rate × penalty_cycles. For instruction accesses: 0.20 × 15 = 3 cycles. For data operand accesses (35% of instructions): 0.35 × 0.35 × 15 = 1.8375 cycles. Total average penalty = 3 + 0.6575 ≈ 3.66 cycles.
Step-by-step Derivation:
Step-by-step calculation:
Identify given values:
- Instruction hit rate = 80% → instruction miss rate = 20%
- Data hit rate = 65% → data miss rate = 35%
- Data operand accesses = 35% of instructions
- Cache miss penalty = 15 clock cycles
Calculate instruction cache penalty:
- Instruction miss penalty = (1 - 0.80) × 15 = 0.20 × 15 = 3.0 cycles
Calculate data cache penalty:
- Data accesses per instruction = 0.35
- Data miss rate = 1 - 0.65 = 0.35
- Data miss penalty = 0.35 × 0.35 × 15 = 1.8375 cycles
Calculate total average increase:
- Total = Instruction penalty + Data penalty
- Total = 3.0 + 0.6575 = 3.6575 ≈ 3.66 cycles
Note: The phrase '35% of instruction access which refer to the data operands hit the memory' is interpreted as 35% of instructions involve data accesses (operand fetches).