我解決了一些問題,其中頁表條目大小隻需要26位 - 對於物理地址是22位,對於髒位等則只需要4位。然而,它被取整爲32--因爲26不是2的冪。一定是簡單的我錯過了,但爲什麼我們必須這樣做呢?謝謝!頁表條目大小 - 爲什麼是2的冪次?
0
A
回答
1
我想在這裏,你需要認識到,頁表條目需要像任何其他數據片段一樣訪問。通常,這意味着它需要適合一個字節或一個字。
現在字節只保存8位,所以沒有足夠的空間。對於很多機器(我懷疑你的機器),字數是32位。
因此頁表項分配了32位空間。
0
頁表項中的條目數量和大小是兩件事。顯然,大小等於條目數乘以單個條目的大小。頁表條目在那裏告訴你哪個虛擬頁面映射到哪個物理頁面。這意味着,您在頁表條目中需要的條目數是,您擁有的虛擬頁數。這可以通過將總的可尋址空間除以頁面的大小來計算。 (例如,32位地址和4k頁面大小爲我們提供了2個電源20個條目),條目的虛擬部分將是20位。物理部分條目的大小由可用物理內存決定。通常頁面大小保持不變。通過這種方式,您可以計算單個條目所需的位數。然後你可以乘以項目的數量,你有總大小。
相關問題
- 1. 爲什麼磁盤塊的大小應該是2的冪?
- 2. 爲什麼環形緩衝區大小必須是2的冪?
- 3. 爲什麼InSampleSize需要是2的冪?
- 4. 爲什麼HashMap要求初始容量是2的冪次?
- 5. Andengine,平鋪紋理大小需要是2的冪次?
- 6. 整數的大小不是2的冪,是否有意義?
- 7. Opengl - 爲什麼normalize()不是冪等的?
- 8. 什麼是最大的SQL表大小
- 9. 字體大小-2是什麼意思?
- 10. 頁面大小和頁面表項大小有什麼區別
- 11. 爲什麼opengl只有紋理大小是2的冪時才能正確渲染?
- 12. 爲什麼java中的字符大小是2個字節?
- 13. 爲什麼SQL條目寫成大寫?
- 14. 爲什麼我的2D列表最多容納2個條目
- 15. 將C++結構填充爲2的冪
- 16. 爲什麼只有主內存大小才能確定頁表項的大小?
- 17. 爲什麼這個結構大小3而不是2?
- 18. 計算5的3次冪,但返回0.爲什麼?
- 19. 計算2級頁表的大小
- 20. 什麼是大小爲在Matlab
- 21. 如何獲得2的更高次冪?
- 22. 確定在java中num是否是2的冪次?
- 23. 爲什麼尺寸冪爲2的數組較慢?爲什麼我會獲得動態性能?
- 24. 爲什麼空的H2數據庫大小爲2 MB?
- 25. 將一組正方形分成2的冪的公式是什麼? (Javascript)(帆布)
- 26. C#數學問題:2的最小冪比X大嗎?
- 27. 這些表爲什麼是相同的大小?
- 28. C#爲什麼表單大小(this.Size)大於表單最大大小(this.MaximumSize)?
- 29. 數據類型應該是SQL Server中2的冪的大小嗎?
- 30. 什麼是圖像大小?