2012-11-05 71 views
2

是否可以像主存儲器一樣使用CPU緩存?例如在那裏保存變量?可編程CPU高速緩存?

我實驗室的CPU有大量的三級緩存(Xeon E5),nvidia的GPU具有可管理的共享內存/緩存,並且這種可編程緩存支持的性能保障有很多技巧,有沒有辦法與CPU的大量緩存一樣嗎?

+0

CPU已經爲你做到了,透明 - 你希望實現什麼? –

+0

將它們用作非常快速的存儲 – user0002128

+0

這已經發生,透明 - 這就是緩存的重點 - 你認爲你可以做得更好嗎? –

回答

1

我懷疑一個體面的編譯器能夠更有效地使用緩存,而不需要付出很多努力就可以做到。

+0

我相信現在的編譯器在微觀層次上可以非常高效,但我學到了一些緩存算法,其中大部分都非常簡單,我懷疑是通過啓用可編程緩存就像nvidia的共享本地內存一樣,更多的宏觀層次可以應用優化。 – user0002128

2

我認爲你正在尋找一種帶有「暫存器內存」的處理器,這種處理器通常由GPU /矢量處理器用來代替更復雜的緩存協議。這是您在Nvidia GPU上引用的「可編程緩存」。

據我所知,x86處理器沒有這個功能,但是看到帶有可用作暫存器RAM的「核心耦合」低延遲SRAM模塊的ARM處理器很常見。

2

在像MIPS這樣的體系結構中,可以使用特權指令'鎖定'cachelines。這樣緩存可以被讀/寫,並且在LRU期間不會被刷新。它類似於處理器中的scratchpad ram。