推 yupog2003: TLB跟cache都hit應該是1+1=2ns? 02/01 21:00
→ yupog2003: TLB miss但cache hit,應該是1+5*4+1=22ns? 02/01 21:00
→ yupog2003: ㄟ不對我一定算錯,我再想想 02/01 21:01
→ yupog2003: 一個page table entry的大小會是4 bytes嗎? 02/01 21:09
→ yupog2003: 如果是的話應該就是我上面寫的答案,可是PPN+valid bit 02/01 21:10
→ yupog2003: 感覺要33bits?還是我想太多了... 02/01 21:10
推 lion83395: 張凡給的答案和yu大一樣 2/22 02/01 21:16
推 myandy408: ppn不是不包含page offset嗎?為什麼是4個byte呢 02/01 21:31
推 yupog2003: 我也有同樣的疑問,如果page size是8KB=2^13B,那 02/01 21:45
→ yupog2003: 32-13=19,19+1(valid bit)=20bits,也不到4bytes 02/01 21:46
→ yupog2003: 我剛剛會想說4 bytes單純只是因為32bits=4bytes,可是 02/01 21:55
→ yupog2003: 顯然不是這樣看的 02/01 21:56
→ yupog2003: 還是說這裡的page table可以直接把virtual address轉成 02/01 21:57
→ yupog2003: physical address而不是把VPN轉成PPN?這樣就會是4byte 02/01 21:58
→ Awweeesome: 答案給1+15+1=17ns 02/01 22:13
推 yupog2003: A大這個答案比較符合我後來的想法 02/01 22:25
→ Awweeesome: 不好意思 可以請教你後來的做法嗎~ 感激不盡 02/01 22:45
→ yupog2003: 先進TLB找PPN,因TLB在cache,所以花1ns 02/01 22:47
→ yupog2003: 但找不到,所以去memory,因為PPN需19bit,加上valid 02/01 22:47
→ yupog2003: bit共20bit,因為byte addressable,所以20bit在memory 02/01 22:48
→ yupog2003: 中會佔用3bytes,從memory讀3bytes出來需5*3=15ns 02/01 22:49
→ yupog2003: 費盡一番功夫總算拿到physical address了,接下來去 02/01 22:49
→ yupog2003: cache找data,發現cache hit只要再1ns,所以1+15+1=17 02/01 22:49
→ yupog2003: 去memory的原因是因為page table在memory,剛剛忘了說 02/01 22:50
→ Awweeesome: 太感謝yu大大了 感激不盡>< 02/01 22:52