目錄
緩存控制指令
編輯在計算中,高速緩存控制指令是嵌入中的提示指示一個的流處理器旨在改善的性能的硬件緩存,使用預知所述的存儲器訪問模式由所提供的程序員或編譯器。通過對工作集提供更好的控制,它們可以減少緩存污染、減少帶寬需求、避開等待時間。大多數緩存控制指令不會影響程序的語義,盡管有些會。
緩存控制指令的替代品
編輯自動預取
近年來,隨著Intel和ARM越來越先進的應用處理器設計將更多的晶體管用于加速用傳統語言編寫的代碼,例如執行自動預取,并帶有可實時檢測線性訪問模式的硬件,緩存控制指令已變得不那么流行。然而,這些技術對于具有不同吞吐量與等待時間權衡的,面向吞吐量的處理器可能仍然有效,并且可能更愿意為執行單元投入更多的空間。
便簽本存儲器
某些處理器支持暫存器?可放入臨時存儲器,并在需要時直接進行內存訪問(DMA)以與主存儲器之間來回傳輸數據。Cell處理器和某些嵌入式系統使用此方法。這些允許對內存流量和位置進行更好的控制(因為通過顯式傳輸來管理工作集),并且無需在多核計算機中使用昂貴的緩存一致性。
缺點是需要使用截然不同的編程技術。很難適應用傳統語言(例如C和C ++)編寫的程序,這些程序為程序員提供了大地址空間的統一視圖(這是由高速緩存模擬的一種幻覺)。傳統的微處理器可以更輕松地運行遺留代碼,然后可以通過緩存控制指令來加速遺留代碼,而基于暫存器的機器則需要從頭開始進行專用編碼才能實現均勻功能。高速緩存控制指令特定于特定的高速緩存行大小,實際上,該大小可能在同一體系結構系列的幾代處理器之間有所不同。緩存還可以幫助合并來自不太可預測的訪問模式的讀取和寫入(例如,在紋理映射期間),而暫存器DMA需要重新設計算法以實現更可預測的“線性”遍歷。
因此,盡管數據流模型(例如TensorFlow)可能更適合,但此類暫存器通常更難以與傳統編程模型一起使用。
向量獲取
向量處理器(例如,現代圖形處理單元(GPU)和Xeon Phi)使用大規模并行處理來實現高吞吐量,同時解決了內存延遲問題(減少了對預取的需求)。并行發出許多讀取操作,以供隨后調用計算內核使用。計算可能會被擱置以等待將來的數據,而執行單元則致力于處理來自已經出現的過去請求數據中的數據。對于程序員來說,這更容易與適當的編程模型(計算內核)結合使用,但是更難于應用于通用編程。
缺點是許多臨時狀態的副本可能會保存在處理元件的本地內存中,等待數據傳輸。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/117149/