看板 Grad-ProbAsk 關於我們 聯絡資訊
先謝謝您幫忙解答 根據洪兔題庫 (1) 2^28 * 35 bits 他的 35 是用 32+3 算出來的,可是我覺得應該是 20+3 吧 所以第一題我跟你想的一樣,我會寫 2^28 * 23 bits (2) 1. 此程式占 16 MB / 4096 B = 2^12 pages 2. virtual addr space長這樣 : 12 + 16 + 12 bit 3. 一個 page table entry 占 32 bits level 1 僅占一個 entry = 32+1 bits level 2 有 2^12 個 entry = 2^12 * 32 bits total = 33 bits + 2^15 Bytes 第二小題我不懂的地方在於 一個 page table entry 應該占 20 bits 吧? 還有 level 2 應該是 2^16 個 entry 吧 所以如果是我,我會寫 21 bits + 2^16 * 20 bits 不過這樣的話,題目的 for a running process allocated three contiguous 16 MB memory blocks 這句就沒用到了 不管怎麼樣還是不太懂第二小題阿 @_@" ※ 引述《gensim (...)》之銘言: : ※ 引述《nowar100 (拋磚引玉)》之銘言: : : 計算page table的東西 : : http://www.lib.ntust.edu.tw/tpaper/pdf/m950903.pdf : : 想問第六題要怎麼解 : : 謝謝 : a) Block size = 4096 byte = 2^12 byte : => offset bit = 12 : virtual page number bit = 40-12 = 28 : physical page number bit = 32-12 = 20 : the size of a page table = (2^28)*(20+3) = (2^28)*23 bit : b) 使用2 level page table : => virtual address 變為 p1=12bit p2=16bit offset=12bit : 16MB/(2^12) = 2^12 Blocks : 2^12<2^16 第一層的一個entry可以對映一個16MB : 所以16MB需要第2層配置 2^12*(28+1) = (2^12)*29 bit : 需要3塊16MB的記憶體 所以第1層配置 3*16 = 48 bit : 不知道對不對 麻煩會的人更正一下吧 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.93.39