推 kiwidoit:嗯!!原來如此!!感謝你的解答!! 11/26 11:01
推文太長,乾脆回文
有錯還請各位指正
※ 引述《kiwidoit (噗嚕噗嚕)》之銘言:
: 想問幾個蠢問題.....................
: 一.
: For a fixed size cache memory ,the larger the line size is the smaller
: the tag memory the cache uses.
: 為什麼上面的敘述是對的?
: line size變大,index field變小,offset field變大
: 那tag field不是應該保持不變嗎= =?
同樣大小的cache來說
block加大,如同你說的,index bit變少,offste變大(tag長度不變)
相對的,entry數會比較少,而cache所用的tag大小為
entry數 * (tag bit)
: 二.
: In reducing misses, associativity is more important than capacity.
: 上面敘述為什麼錯?
我的想法是
增加關聯度主要是減少conflict misses
但增加capacity
包含你的conflict,capacity miss都會減少
(書上好像只有說capacity decreases,但我認為capacity加大,對於conflict也有幫助
只是conflict主要是用associativity解決,而且一直加大會導致速度變慢,不是好辦法)
重點在於這題只問miss rate,想的簡單點
你增加關聯度只是降低一點miss,但是你把容量加到無限大
就只有compulsory,不會有其他失誤 (當然access time會爆表,但這不是題目重點)
: 三.
: A virtual cache access time is always faster than that of a physical cache?
: 上面敘述為什麼是對的,應該不是always是usual吧
physical要經過TLB,會比virtual慢
我英文不好,不懂always跟usual差在哪....
但她要多經過一個TLB,一定會延遲
: 四.
: A write-through cache typically requires less bus bandwidth than a
: write-back cache.
: 上面敘述為什麼是錯的
write-through會需要一直利用bus把上層的資料傳回下層
相對的,write-back只有在被置換且有變動資料時才傳回下層
: 五.
: A program is rewritten to require less memory will lead to fewer compulsory
: misses.
: 為什麼不是 fewer capacity misses而是fewer compulsory misses?
這是是非題吧?
program需要用的memory比較小
compulsory misses會比較小是很直接的
寫題目只要看他問什麼就好
然後平常思考的話
我認為capacity 是不一定會減少的
假設program要用的容量本來就不大,不會造成capacity失誤
那你減少他的記憶體用量對於capacity失誤不會有幫助
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.47.196.88