Skip to content

GATE CS 2004 Q47 — Memory Hierarchy: Cache, Main Memory and Secondary Storage

Explain with AI

Consider a system with a two-level paging scheme in which a regular memory access takes 150150 nanosecondsnanoseconds, and servicing a page fault takes 88 millisecondsmilliseconds. An average instruction takes 100100 nanoseconds of CPU time, and two memory accesses. The TLB hit ratio is 9090%, and the page fault rate is one in every 10,00010,000 instructions. What is the effective average instruction execution time?

Choose one option
View worked solution

Answer: D

The effective average instruction execution time consists of three components: CPU execution time, memory access time, and page fault service overhead.

1. Page Fault Overhead:
The page fault rate is 11 in every 10,00010,000 instructions (10−410^{-4} per instruction).
Page Fault Overhead=10−4×8 ms=10−4×(8×106 ns)=800 ns\text{Page Fault Overhead} = 10^{-4} \times 8\text{ ms} = 10^{-4} \times (8 \times 10^6\text{ ns}) = 800\text{ ns}

2. Effective Memory Access Time (EMAT):
Each instruction requires 22 memory accesses. For each memory access, the TLB hit ratio is 90%90\% (0.90.9).

  • On a TLB hit (probability 0.90.9): Only 11 memory access is needed to fetch the data/instruction. Time taken = 150 ns150\text{ ns}.
  • On a TLB miss (probability 0.10.1):
    • Official GATE key assumption: A TLB miss requires 11 page table access + 11 physical memory access (total 22 accesses). Time taken = 2×150 ns=300 ns2 \times 150\text{ ns} = 300\text{ ns}.
    • Strict two-level paging interpretation: A TLB miss requires 22 page table accesses + 11 physical memory access (total 33 accesses). Time taken = 3×150 ns=450 ns3 \times 150\text{ ns} = 450\text{ ns}.

Calculating EMAT for both cases:

  • Case 1 (Official Key Assumption):EMAT=(0.9×150 ns)+(0.1×300 ns)=135 ns+30 ns=165 ns\text{EMAT} = (0.9 \times 150\text{ ns}) + (0.1 \times 300\text{ ns}) = 135\text{ ns} + 30\text{ ns} = 165\text{ ns}Memory access time for 22 accesses = 2×165 ns=330 ns2 \times 165\text{ ns} = 330\text{ ns}.
    Total Time=CPU Time+Memory Access Time+Page Fault Overhead\text{Total Time} = \text{CPU Time} + \text{Memory Access Time} + \text{Page Fault Overhead}Total Time=100 ns+330 ns+800 ns=1230 ns\text{Total Time} = 100\text{ ns} + 330\text{ ns} + 800\text{ ns} = 1230\text{ ns}
  • Case 2 (Strict Two-Level Paging):EMAT=(0.9×150 ns)+(0.1×450 ns)=135 ns+45 ns=180 ns\text{EMAT} = (0.9 \times 150\text{ ns}) + (0.1 \times 450\text{ ns}) = 135\text{ ns} + 45\text{ ns} = 180\text{ ns}Memory access time for 22 accesses = 2×180 ns=360 ns2 \times 180\text{ ns} = 360\text{ ns}.
    Total Time=100 ns+360 ns+800 ns=1260 ns\text{Total Time} = 100\text{ ns} + 360\text{ ns} + 800\text{ ns} = 1260\text{ ns}

Since 1260 ns1260\text{ ns} is not among the options, Case 1 represents the intended solution.

Free practice · Your answers on this page are not saved.

Published
Report a correction
Keep exploringMore Memory Hierarchy: Cache, Main Memory and Secondary Storage questions