目錄
緩存預取
編輯緩存預取是計算機處理器用來通過在實際需要之前將指令或數據從其較慢的內存中的原始存儲中提取到較快的本地內存中來提高執行性能的技術(因此稱為“預取”)。大多數現代計算機處理器都具有快速和本地緩存,其中預取的數據一直保存到需要時才保留。預取操作的源通常是主存儲器。由于其設計,訪問高速緩存存儲器通常比訪問主存儲器快得多,因此預取數據然后從高速緩存中訪問數據通常比直接從主存儲器訪問數據快許多數量級。可以使用非阻塞緩存控制指令來完成預取。
數據與指令緩存預取
編輯緩存預取可以將數據或指令提取到緩存中。
- 指令預取在需要執行指令之前先提取指令。xxx個使用某種形式的指令預取的主流微處理器是Intel?8086(六個字節)和Motorola?68000(四個字節)。近年來,所有高性能處理器都使用預取技術。
硬件與軟件緩存預取
編輯緩存預取可以通過硬件或軟件來完成。
- 基于硬件的預取通常是通過在處理器中具有專用的硬件機制來完成的,該機制xxx正在執行的程序所請求的指令或數據流,基于該流識別出程序可能需要的下幾個元素,然后預取到處理器的緩存中。
- 基于軟件的預取通常是通過讓編譯器分析代碼并在編譯本身期間在程序中插入其他“預取”指令來完成的。
硬件和軟件預取的比較
編輯- 盡管軟件預取需要程序員或編譯器干預,但硬件預取需要特殊的硬件機制。
- 軟件預取僅在常規數組訪問的循環中有效,因為程序員必須手工編寫預取指令。而硬件預取器則根據程序在運行時的行為動態地工作。
- 與軟件預取相比,硬件預取還具有較少的CPU開銷。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/117146/