記憶體階層與效能
一次未命中讀取64位元組的快取行,主記憶體的等待時間為100 ns時,若同時能處理的未命中只有1個,讀取頻寬只有約0.64 GB/s。若能同時處理10個未命中,頻寬約為多少?(假設沒有其他限制)
- A0.064 GB/s
- B0.64 GB/s
- C6.4 GB/s
查看答案與解析
正確答案:C. 6.4 GB/s
頻寬可由同時處理中的資料量除以等待時間求得(利特爾法則,Little's law)。未命中只有1個時為 64 B ÷ 100 ns = 0.64 GB/s,若能同時處理10個,則為 10 × 64 B ÷ 100 ns = 6.4 GB/s。要用盡主記憶體的頻寬,除了縮短等待時間之外,同時處理許多未命中的記憶體階層平行度(memory-level parallelism)不可或缺。0.64 GB/s仍是同時只有1個時的值,0.064 GB/s則是反過來除以10的值。
- A. 0.064 GB/s不是乘以10,而是變成十分之一的值。
- B. 0.64 GB/s是只能同時處理1個時的值。
- C. 正確。10 × 64 B ÷ 100 ns = 6.4 GB/s。