60,647 views
30 votes
30 votes
The memory capacity in bits for performing the operation y = f (x) using the table lookup method, where x is an 8-bit number and y is a 16-bit number, is equal to:

a) 4096
b) 2048
c) 128
d) 8
e) 16

User Alex Kartishev
by
2.8k points

1 Answer

20 votes
20 votes

Answer:

The page field is 8-bit wide, then the page size is 256 bytes.

Using the subdivision above, the first level page table points to 1024 2nd level page tables, each pointing to 256 3rd page tables, each containing 64 pages. The program's address space consists of 1024 pages, thus we need we need 16 third-level page tables. Therefore we need 16 entries in a 2nd level page table, and one entry in the first level page table. Therefore the size is: 1024 entries for the first table, 256 entries for the 2nd level page table, and 16 3rd level page table containing 64 entries each. Assuming 2 bytes per entry, the space required is 1024 * 2 + 256 * 2 (one second-level paget table) + 16 * 64 * 2 (16 third-level page tables) = 4608 bytes.

First, the stack, data and code segments are at addresses that require having 3 page tables entries active in the first level page table. For 64K, you need 256 pages, or 4 third-level page tables. For 600K, you need 2400 pages, or 38 third-level page tables and for 48K you need 192 pages or 3 third-level page tables. Assuming 2 bytes per entry, the space required is 1024 * 2 + 256 * 3 * 2 (3 second-level page tables) + 64 * (38+4+3)* 2 (38 third-level page tables for data segment, 4 for stack and 3 for code segment) = 9344 bytes.

Step-by-step explanation:

16 E the answer

User Daveloyall
by
3.0k points