Расчет размера таблицы страниц
У меня есть задание со следующей подсказкой:
The page size for a virtual memory system is 8KB.
The instruction TLB is direct-mapped with 2 sets and each block contains one translation.
^(I don't believe this is relevant for the following 3 questions, as there are two more questions about the TLB)
The number of bits in a virtual address is 20.
The number of bits in a physical address is 15.
(1) What is the number of virtual pages?
Я думаю, что я понял это.
Размер страницы = 8 * 2^10 = 8192
поэтому смещение 13 bits
,
Номер виртуальной страницы = 20 - 13 = 7
биты
Виртуальные страницы = 2^7
страницы
(2) What is the number of physical pages?
Здесь я немного растерялся. Я думаю, что я должен добавить действительные, грязные и ссылочные биты к номеру физической страницы (который 2
, от 15 - 13
). тем не мение 5 * 2^7 = 640 bytes
, который кажется невероятно маленьким.
(3) How many bits are used in the virtual address for the page offset?
Ответ выше, кажется, 13 bits
,
Кто-нибудь может указать мне правильное направление? Спасибо!
1 ответ
Действительные, грязные и ссылочные биты находятся в записи таблицы страниц, но не являются частью битов адреса. Поэтому, используя ваши результаты, есть 2^2
или же 4
физические страницы.
Да, это кажется маленьким, но понимаю, что есть только 2^15
или же 32K
байты физической памяти.