2017-02-14 117 views
0

我解決了一些問題,其中頁表條目大小隻需要26位 - 對於物理地址是22位,對於髒位等則只需要4位。然而,它被取整爲32--因爲26不是2的冪。一定是簡單的我錯過了,但爲什麼我們必須這樣做呢?謝謝!頁表條目大小 - 爲什麼是2的冪次?

回答

1

我想在這裏,你需要認識到,頁表條目需要像任何其他數據片段一樣訪問。通常,這意味着它需要適合一個字節或一個字。

現在字節只保存8位,所以沒有足夠的空間。對於很多機器(我懷疑你的機器),字數是32位。

因此頁表項分配了32位空間。

0

頁表項中的條目數量和大小是兩件事。顯然,大小等於條目數乘以單個條目的大小。頁表條目在那裏告訴你哪個虛擬頁面映射到哪個物理頁面。這意味着,您在頁表條目中需要的條目數是,您擁有的虛擬頁數。這可以通過將總的可尋址空間除以頁面的大小來計算。 (例如,32位地址和4k頁面大小爲我們提供了2個電源20個條目),條目的虛擬部分將是20位。物理部分條目的大小由可用物理內存決定。通常頁面大小保持不變。通過這種方式,您可以計算單個條目所需的位數。然後你可以乘以項目的數量,你有總大小。

相關問題