“二級快取”載入未命中事件有幾個錯誤(在下文解釋),導致使用這個特定的事件時,很難獲取二級快取載入未命中造成的實際影響的精確值。使用“現行非預取讀取(此處理器)”事件會好一些。此事件已經是“基本效能調整事件”組的一部分。“英特爾(R) 調優助手”在稱為“片內整合快取載入未命中”的細節中報告此事件的影響。如果已經使用“基本效能調整事件”組執行採樣,但“片內整合快取載入未命中”細節沒有出現,而是出現“二級快取載入未命中”,則很可能是遇到一個或多個下文所述的錯誤,導致假統計過量情況。
二級快取載入未命中可能會對效能造成明顯的負面影響。工作數據集太大而無法放入二級快取內。打開“超執行緒技術”時,工作數據集在兩個執行緒之間共享,因此它應該控制為可放入 1/4 到 1/2 的二級快取內。對於“未”啟用“超執行緒技術”的系統,工作數據集應控制為可放入 1/2 的二級快取內。二級快取未命中的懲罰比一級快取未命中的大很多,記住這點非常重要。
對於採用“超執行緒技術”的系統或多處理器系統,估計的影響代表總計處理器時間影響(系統上所有邏輯/物理處理器之和),而不是“實際執行”時間影響。因此,在採用“超執行緒技術”的系統或多處理器系統上,很可能會看到細節的時間影響大於對負載實際執行時間的影響。請注意,在單處理器系統上,處理器時間與實際執行時間相同。
備註:此指標在假設未配備三級快取的情況下計算。如果分析的數據是在配備三級快取的英特爾(R) 處理器大快取產品上捕獲的,則這個估計的影響實際上可以忽略。
英特爾(R) 奔騰(R) 4 處理器能夠取得高效能的方法之一是,樂觀地假設有一種能實現更佳效能的條件。它實現這點的方法之一是預測分支的結果,並且在分支得到解析之前,憑推測沿一條路徑執行。另一種方法是無序執行某些記憶體操作。有些記憶體相關的效能監視事件同時統計推測性操作以及非推測性操作,因此產生的計數比不統計推測性操作時的更大。無序執行記憶體操作會導致更多的推測性操作(計為事件),這可能會導致計數比未發生此推測時獲得的計數值更大。例如,處理器可能會嘗試憑推測無序執行載入。假設提前執行(無序)載入將不命中快取,但稍後執行(有序)則會命中快取。例如,因為在較早的時間,早先對相同快取線的訪問仍在進行,但會在稍後將數據填入快取,因此可能發生這種情況。由於推測的緣故,這裡會發生快取未命中,而如果沒有推測,則不會發生此事件。從體系結構的角度看,這是統計過量的情況:即使在沒有推測時指令不會遇到快取未命中,但由於推測活動,指令也會報告說遇到快取未命中。事實上,它是微體系結構級發生的事件的精確表示:此指令確實導致了快取未命中。在極少數的情況下,統計過量可能非常明顯。這些情況通常涉及指針跟蹤程式碼,如引用另一個記憶體位置的記憶體引用等。