Segmentation
Consider a virtual memory architecture with the following parameters:
-
44 bit virtual addresses
-
virtual addresses that can address up to 16M segments
-
256 gigabytes (GB) of physical memory
-
the segment tables are stored in physical memory (RAM)
-
segment tables can start only on a 64 byte boundary
-
segments can start only on a 64 byte boundary
-
there are no permission or other extra bits.
Show how a virtual address gets mapped into a physical address.
Be sure to show
-
how the various fields of each address are interpreted;
-
the size of each field (in bits);
-
the maximum number of entries the Segment Table can hold;
and
-
the maximum size in bytes possible for the Segment Table;
-
where any checks should be made for faults (invalid addresses).
Draw and label a diagram to answer this question.
The segment table has 224 (16M) entries, and an entry is 32+20 bits, which
rounds up to 7 bytes.
So the table has a maximum size of
7 × 224 bytes.