Part a /
virtual address size is 48 bits and 4KB page size is used so we get an offset of 12 bits.
48 – 12= 36 bits remain for page address means there are 2^36 pages
Physical address size is 32 bits and offset is 12 bit hence frame address contain 20 bits or 2.5 byte (some may take 3 byte for byte addressable)
dividing a 4KB page in 2.5 byte entries we get total 1,638.4 or 1638 entries
Part b /
out of 32 entries 1 entry is reserved for page containing program
page size is 4KB which contain 512 long integer of 8 bytes
for first access there will be miss and other 511 times there will be hit so
hit ratio 511/512 = 0.998