記憶體階層與效能

硬體預取特別容易發揮效果的存取為下列何者?

  1. A以固定間隔(步幅,stride)依序讀取陣列的存取
  2. B從頭開始逐一元素走訪鏈結串列的存取
  3. C以隨機的鍵值查找雜湊表的存取
查看答案與解析

正確答案:A. 以固定間隔(步幅,stride)依序讀取陣列的存取

硬體預取器會找出先前存取位址的規律(連續或固定間隔),預測接下來的位址並事先載入。以固定步幅讀取陣列的存取容易預測,效果很大。鏈結串列在讀取目前元素之前,無法得知下一個元素的位址,沒有規律因此無法預測。以隨機鍵值參照雜湊表,位址同樣沒有規律,效果也很小。

  • A. 正確。規則間隔的存取容易預測,效果很大。
  • B. 在讀取目前元素之前無法得知下一個位址,因此無法預測。
  • C. 位址沒有規律,所以效果很小。
練習這個領域 前往領域頁面

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

  1. 插入軟體預取指令時,關於要預先讀取多遠之後的資料(預取距離)的說明,下列何者正確?
  2. 在上述迴圈中,int為4位元組、快取行為64位元組,陣列不在快取中且起始位置對齊快取行邊界,若沒有預取,讀取陣列時的未命中率為多少?
  3. 矩陣乘法等所使用的迴圈分塊(loop blocking,亦稱tiling)的主要目的為下列何者?
  4. 如上將僅加總x座標的處理,改寫成陣列結構(各成分分別放入不同的陣列)後容易變快,其原因為下列何者?
  5. 將快取分為指令用(I快取)與資料用(D快取)的L1快取,其主要優點為下列何者?

這個領域的比較