2015-04-21 2 views
1

У меня есть задание с следующим запросом:Расчет размера таблицы страниц

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.
Виртуальный номер страницы = бит
Виртуальные страницы = 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 байт физической памяти.

+0

Значит, количество физических страниц просто равно 2 на физический номер страницы? У меня создалось впечатление, что он был умножен на количество виртуальных страниц. – user1888527

+1

Число физических страниц равно 2 на количество физических битов страницы, которое равно 2. Или, другими словами, это размер физической памяти, деленный на размер страницы. –

Смежные вопросы