避免一級快取載入未命中
這是關於最小化數據的記憶體佔用量的棘手的老問題。它要求瞭解一級快取的佈局與體系結構、軟體設計人員安排數據結構與訪問例程的方式,以及它們在編譯的程式碼中的安排情況。這裡是一些有助於提高命中率(從而提高效能)的辦法,按照實現難度的遞增順序給出:
首先,找出系統上快取的大小。最簡便的方法是使用 support.intel.com 上提供的“英特爾(R) 處理器頻率標識實用程式”(搜索 "processor frequency id")。如果未提供適合您系統的這個實用程式,請參閱程式設計師參考手冊,以獲取 CPUID 指令的有關資訊,幫助找出快取的大小。
嘗試模組化、循環互換、循環時滯與合併等優化技術。備註:這些方法最好由編譯器實現。
優化數據結構,對於採用“超執行緒技術”的處理器,使之可放入 1/4 到 1/2 的一級快取;對於不採用“超執行緒技術”的處理器,使之可放入 1/2 的快取。
如需有關優化技術的詳細資訊,請參閱 Intel(R) Pentium(R) 4 and Intel(R) Xeon(TM) Processor Optimization Manual(英特爾(R) 奔騰(R) 4 與英特爾(R) 至強(TM) 處理器優化手冊)的第 7 章。