2012-09-27 62 views
3

多個內核可以同時讀取同一個RAM位置嗎?我特別感興趣的是x86體系結構CPU。同一個CPU上的兩個不同內核的內部緩存是否可以同時從相同的RAM位置填充?多個內核可以同時讀取相同的RAM位置嗎?

+1

這取決於你的意思是「在同一時間」 - 只能有一個總線讀取週期從DRAM在任何給定的時間,但核心之間的緩存監聽邏輯將負責緩存一致性。 –

+0

@保羅R:以「在同一時間」我的意思是在時間X,做在從地址ADDR兩個核的負載將加載在兩個芯的寄存器在ADDR的值。 –

+0

@Lyth在下面給出了一個很好的答案,但簡短的回答是:不能從一個地址加載兩個核心是一個總線讀取週期。 –

回答

5

總之,他們可以獨立地讀出並高速緩存將被獨立地填充,但位置可以在共享的L3高速緩存預加載。同步不保證精確的時鐘週期,但內存狀態對應用程序是一致的和透明的。有由烏利齊·德雷珀,這是一個必須閱讀記憶的優秀文章:http://lwn.net/Articles/250967/

+0

感謝您的答覆和文章! –

+0

哇,看起來確實是一個超級綜合性的文章,絕對是它的書籤。 –

相關問題