作者svanavs (svanavs)
看板Grad-ProbAsk
标题Re: [理工] [OS]-Virtual Memory
时间Tue Sep 15 18:35:15 2009
※ 引述《yesa315 (XD)》之铭言:
: Consider a logical-address of 2048 pages of 1024 words (4 bytes) each,
: mapped onto a physical memory of 64 frames. Please answer the following
: questions assuming that the smallest memory allocation unit is one byte
: (8 bits).
: (c)Assuming a 2-level page table is used and the first-level table has 32
: entries, what is the minimal amount of memory (in bytes) required by the
: page tables?
: 可以计算出每个page=1kb 共有2048个pages 以1-level来计算
一个page应该是4KB
level-1 32 entries => level-2 2 entries per page
level-1 entry size = 1 bit
level-2 entry size = 6 bits (2^6 = 64)
since smallest mem allocation = 1 byte , one byte per entry
32 + 32*2 = 96 bytes
: table size=2048*6(entries)bits 以上one-level的算法没错吧?
: (64 frames=2^6)
: 再来是2-level的所有table size p1=5 bit p2=6 bit
: 再算第一level的table size时 我就卡住了到底它的每个entry大小为何呢?
: 且如何计算第一level的table size大小呢呢?
: 谢谢
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.189.62
1F:推 yesa315:打太快key错1k XD 依你这样说最多也只要1 BYTE吧? 只有6 09/15 20:24
2F:→ yesa315:BIT而以不是吗 ? 那如果把Page no加入考量 则level-1是否 09/15 20:26
3F:→ yesa315:为 [5 bit + 1 bit(entry)]*32 而level-2为[6+6 bit]*2^6? 09/15 20:28
4F:→ yesa315:突然想到 你是不是把Page no也加进来算 5+1 bit 约1 byte? 09/15 20:30
5F:→ yesa315:6+6bit 约2byte 这样来解是你的答案就合理 09/15 20:30
6F:→ yesa315:但是答案我认为是 32*1 + 2^6*2 = 160 bytes 09/15 20:32