所以我剛纔讀到虛擬地址被分成1頁和2頁偏移量。虛擬內存中頁面大小的關鍵點
我也讀過頁碼指示你能夠找到正確的頁面和偏移量來獲得你想獲得物理內存的正確的「字節」。 因此,例如在4KB
大小的頁面,我們有12bits
保留作爲偏移自2^12 = 4096
,這是4KB
。
我明白了。但我不明白使用頁面的原因。 我的意思是,使用4KB
大小的頁面或8KB
大小的頁面,爲什麼我們不能使用1byte
大頁面?
我想這可能會使所有的字節逐字節讀寫,你可以說它會減慢速度。
但是,我們不是已經做了同樣的事情,首先找到頁面並找到與偏移量正確的字節?
想出大於1byte
的頁面的動機是什麼? 我得到使用虛擬內存的原因:避免交換。但爲什麼我們不能用更小,更直接的一個字節大小的頁面來做到這一點?
摘自[「數據中心計算機在CPU設計中的現代挑戰.Dick Sites。Google Inc. February 2015」](http://www.pdl.cmu.edu/SDI/2015/slides/DatacenterComputers.pdf):slide 27 「L1緩存大小=關聯性*頁面大小 - 需要大於4KB的頁面; 256 x 4KB的翻譯緩衝區覆蓋 僅1MB的內存 - 需要大於4KB的頁面; 256KB的RAM @ 4KB:64M頁面 - 需要大於4KB頁面「,幻燈片29」CPU設計中的現代挑戰•大量內存•更多軟件預取•更大的頁面大小「 – osgx
這非常有幫助。謝謝! – Joseph
有關L1大小=關聯*頁大小的更多詳細信息:它允許緩存具有VIPT速度,但沒有同名/同義詞別名,因此它也是PIPT。請參閱https://www.ece.cmu.edu/~ece447/s13/lib/exe/fetch.php?media=onur-447-spring13-lecture24-advancedcaching-afterlecture.pdf。另請參閱https://stackoverflow.com/questions/39436982/virtually-addressed-cache –