記憶體階層與效能
讓兩個程式在同一個核心上交替執行時,有時會比各自單獨執行更慢。從快取的角度來看,下列何者是最恰當的說明?
- A因為交替執行時,各自所執行的指令數本身會增加為2倍
- B因為交替執行時,快取的容量會被重新設定為一半
- C因為自己的資料被對方的資料逐出,重新讀取的次數增加
查看答案與解析
正確答案:C. 因為自己的資料被對方的資料逐出,重新讀取的次數增加
切換程式後,快取或TLB會被對方程式所使用的資料佔滿,輪到自己再次執行時,所需的資料已被逐出。因此,單獨執行時會命中的存取發生未命中,需要花時間從主記憶體重新讀取資料。切換的間隔越短,這個影響越大。執行的指令數不變,快取的容量也不會被重新設定。這是共用快取所造成的影響。
- A. 各自的指令數不會改變。
- B. 快取的容量不會改變。
- C. 正確。被對方的資料逐出,重新讀取的未命中增加。