記憶體階層與效能

加大快取的容量時,命中時間一般會如何變化?連同理由一起,下列何者正確?

  1. A變短。因為放入的資料越多,搜尋的時間越少
  2. B不變。因為命中時間僅由快取行大小決定
  3. C容易變長。因為佈線與選擇的電路變大
查看答案與解析

正確答案:C. 容易變長。因為佈線與選擇的電路變大

加大快取會降低未命中率,但記憶單元陣列變大使佈線變長,索引的選擇與輸出的選擇電路也隨之變大,所以命中時間容易變長。因此L1保持在數十KB左右的小容量,而大容量則由L2或L3來確保,採取多層的架構。命中時間不會變短,也並非僅由快取行大小決定。容量是由未命中率與命中時間的平衡來決定的。

  • A. 加大之後搜尋時間不會變短,反而會變長。
  • B. 命中時間也會受容量與相聯度影響。
  • C. 正確。佈線與選擇的電路變大,命中時間容易延長。
練習這個領域 前往領域頁面

記憶體階層與效能的其他題目

  1. 走訪上述鏈結串列的處理,比讀取相同元素數量的陣列容易大幅變慢,其原因為下列何者?
  2. 一次未命中讀取64位元組的快取行,主記憶體的等待時間為100 ns時,若同時能處理的未命中只有1個,讀取頻寬只有約0.64 GB/s。若能同時處理10個未命中,頻寬約為多少?(假設沒有其他限制)
  3. 寫出一次寫入後暫時不會再讀回的大量資料時,使用不經過快取的儲存(非暫存儲存,non-temporal store)的主要優點為下列何者?
  4. 快取的命中率為95%時,未命中率為多少?
  5. 從主記憶體載入未命中的快取行時,先送出CPU所需的字組(word),其餘的稍後再送的手法為下列何者?

這個領域的比較