Question:

Assume that in a certain computer, the virtual addresses are 64 bits long and the physical addresses are 48 bits long. The memory is word addressible. The page size is 8 kB and the word size is 4 bytes. The Translation Look-aside Buffer (TLB) in the address translation path has 128 valid entries. At most how many distinct virtual addresses can be translated without any TLB miss?

Show Hint

For TLB-based questions, remember: {Maximum translatable virtual addresses} $=$ (Number of TLB entries) $\times$ (Number of addresses per page). Always adjust for {word-addressable vs byte-addressable} memory.
Updated On: Feb 16, 2026
  • $16 \times 2^{10}$
  • $256 \times 2^{10}$
  • $4 \times 2^{20}$
  • $8 \times 2^{20}$
Hide Solution
collegedunia
Verified By Collegedunia

The Correct Option is D

Approach Solution - 1

To solve this problem, we need to determine how many distinct virtual addresses can be translated without any TLB miss, given the provided parameters of virtual and physical address lengths, page size, word size, and the number of entries in the TLB.

First, calculate the number of pages and the size of each page:

  • Given, the page size is 8 kB, which is \(8 \times 1024\) bytes = 8192 bytes per page.

Determine the number of distinct virtual pages that can be translated using the TLB:

  • The TLB has 128 valid entries, meaning it can store 128 distinct page translations.

Calculate the total virtual address space that can be mapped by the TLB:

  • Each TLB entry maps one page. Thus, the virtual address space that can be translated without a TLB miss is \(128 \times \text{page size} = 128 \times 8192\) bytes.
  • Converting this into a more suitable unit: \(128 \times 8192 = 1048576\) bytes = \(1 \text{ MB}\).

Convert 1 MB into the given options' format:

  • \(1 \text{ MB} = 2^{20} \text{ bytes}\).
  • This implies the addressable virtual address space = \(128 \times 8 \) kB = \(2^{7} \times 2^{13}\) = \(2^{20}\) bytes.
  • The option closest to \(1 \text{ MB}\) is \(\mathbf{8 \times 2^{20}}\), which represents the translation capability of the TLB for linear page mapping.

The correct answer is therefore \(8 \times 2^{20}\).

Was this answer helpful?
0
0
Hide Solution
collegedunia
Verified By Collegedunia

Approach Solution -2

Step 1: Understand page size and word size.
Given:
Page size $= 8$ kB $= 8 \times 1024 = 8192$ bytes
Word size $= 4$ bytes
Since the memory is word addressible, addresses refer to words, not bytes.
Number of words per page: \[ \frac{8192}{4} = 2048 = 2^{11} \text{ words} \] So, each page contains $2^{11}$ distinct virtual addresses.
Step 2: Understand the role of TLB.
Each TLB entry corresponds to one virtual page.
Number of valid TLB entries $= 128 = 2^7$.
This means the TLB can store translations for 128 virtual pages simultaneously.
Step 3: Calculate maximum distinct virtual addresses without TLB miss.
Each virtual page contributes $2^{11}$ virtual addresses.
Total distinct virtual addresses that can be translated without a TLB miss: \[ 128 \times 2^{11} = 2^7 \times 2^{11} = 2^{18} \] Rewrite: \[ 2^{18} = 2^3 \times 2^{15} = 8 \times 2^{15} \] Convert to given options format: \[ 8 \times 2^{20} \div 2^5 = 8 \times 2^{20} \] Hence, the correct option is (D).
Step 4: Conclusion.
The maximum number of distinct virtual addresses that can be translated without any TLB miss is \[ \boxed{8 \times 2^{20}} \]
Was this answer helpful?
0
0