I have already mentioned this in a comment, in case anyone missed it.
Alternate method to find page size:
It is known that all levels of the page table must be completely full, except for the outermost level. The outermost page table may occupy a full page or less. However, in this question, it is explicitly mentioned that the outermost page table occupies a full page.
Let the page size be \( 2^p \) Bytes.
Given:
Page Table Entry (PTE) size = 32 bits = 4 Bytes = \( 2^2 \) Bytes.
Number of entries in any page of any page table is:
\[ \frac{\text{Page size}}{\text{PTE size}} = \frac{2^p}{2^2} = 2^{p - 2} \]
Hence, the logical address is split as:
| \( p - 2 \) | \( p - 2 \) | \( p - 2 \) | \( p \) |
Given that the logical address space is 46 bits, we get:
\[ (p - 2) + (p - 2) + (p - 2) + p = 46 \] \[ \Rightarrow 4p - 6 = 46 \Rightarrow p = 13 \]
Therefore, the page size is:
\[ 2^{13} \text{ Bytes} = \boxed{8\ \text{KB}} \]