2015-03-13 106 views
0

Cortext-A9中的「獨佔二級高速緩存」會提高性能嗎? ARM Cortext-A9技術參考手冊對「專用L2高速緩存」有一些解釋:Cortex-A9獨有二級高速緩存設置的性能

8.1.5。獨有的L2高速緩存 Cortex-A9處理器可以連接到支持獨佔高速緩存模式的L2高速緩存。這種模式必須在Cortex-A9處理器和L2高速緩存控制器中都被激活。

在此模式下,Cortex-A9處理器和L2高速緩存的數據高速緩存是獨佔的。任何時候,給定的地址都緩存在L1數據緩存或L2緩存中,但不能同時緩存在兩者中。這大大增加了連接到Cortex-A9處理器的L2高速緩存的可用空間和效率。當選擇獨佔高速緩存配置時:

  1. 修改數據高速緩存行替換策略,以便受害者線總是被驅逐到L2存儲器,即使它是乾淨的。
  2. 如果二級高速緩存控制器中的某條線路髒了,則從處理器對該地址的讀取請求會導致回寫到外部存儲器並向處理器進行行填充。
+3

表現總是'它取決於'。你獲得更多的緩存內存。但是,沖洗/清潔和無效操作變得更加複雜。您需要將「提高績效」這個問題部分細化爲有意義的內容。一些OS *模式*的上下文切換可能會變得更加複雜。你的問題比大多數人都要聰明得多。不幸的是,目前的形式很難回答。 – 2015-03-13 20:26:50

回答

0

獨佔高速緩存的主要優點是可以最大限度地提高高速緩存容量:高速緩存在緩存層次結構中的唯一數據總量等於每個高速緩存級別的總和。另一方面,如果您有一個包容性高速緩存層次結構,其中最後一級高速緩存包含較低級別,則緩存層次結構中緩存的唯一數據總量等於最後一級的大小緩存。

這兩種方案都有優點和缺點,最好的設置非常依賴於您的工作負載。