# Andrew S. Tanenbaum (OS) Edition 4 Exercise 3 Question 22 (Page No. 256)

130 views
A computer whose processes have $1024$ pages in their address spaces keeps its page tables in memory. The overhead required for reading a word from the page table is $5\: nsec.$ To reduce this overhead, the computer has a $TLB,$ which holds $32$ (virtual page, physical page frame) pairs, and can do a lookup in $1\: nsec.$ What hit rate is needed to reduce the mean overhead to $2\: nsec?$

1 vote

The Effective instruction time $=1 \mathrm{ \times h + (1+5) \times(1-\mathrm h)},$ where $\mathbf h$ is the $\textbf{hit rate}$.

$\therefore 1\times \mathrm h + 6 -6\times \mathrm h = 2 \\ \Rightarrow \mathrm h = 0.8$

$\therefore$ The hit rate needed is $\mathbf{0.8}$



edited by
0
effective instruction time = 1*h + (1+5)*(1-h)

please correct me if i was wrong
0
Why $1+5$?
0
when we have an tlb miss we have to look up the TLB so it takes 1 nsec to do that
0
What if you are simultaneously looking at both the places?
0
If we look at TLB then we can know that whther it was a miss or hit. If it was a miss then we will read from the page table
0
Yeah right!

## Related questions

1
66 views
How can the associative memory device needed for a $TLB$ be implemented in hardware, and what are the implications of such a design for expandability?
Write a program that can be used to compare the effectiveness of adding a tag field to $TLB$ entries when control is toggled between two programs. The tag field is used to effectively label each entry with the process id. Note that a nontagged $TLB$ can be ... your simulation behaves as expected for a simple (but nontrivial) input example. Plot the number of $TLB$ updates per $1000$ references.
Consider the following C program: int X[N]; int step = M; /* M is some predefined constant */ for (int i = 0; i < N; i += step) X[i] = X[i] + 1; If this program is run on a machine with a $4-KB$ page size and $64$-entry $TLB,$ what values ... $TLB$ miss for every execution of the inner loop? Would your answer in part $(a)$ be different if the loop were repeated many times? Explain.