2016-11-23 152 views
0

我研究了一些關於內存合併的論文和書籍,但是我仍然對虛擬地址的內存請求是合併還是物理地址的內存請求會合並?內存與物理地址或虛擬地址合併?

由於內存合併意在減少對內存設備的內存訪問,隨後降低延遲。這個過程通常由MMU(內存管理單元)實現。但是我沒有發現任何明確的斷言,說它將內存請求與虛擬或物理地址結合起來。但考慮到其目的,虛擬地址在轉換爲物理地址後可能不會相鄰。所以,我猜它是指物理地址。

是否有人熟悉這個領域?提前致謝!!!

回答

0

爲了被聚結的地址必須是局部密切(讀:彼此相鄰)在主存儲器,所以它們必須是物理地址。

但是,在大多數體系結構中,只要沒有頁面邊界交叉,連續虛擬地址也是連續的物理地址。

當跨越頁面邊界時,不能保證物理地址是連續的,甚至不能保證硬件支持合併。

儘管每個體系結構都是唯一的,並且在這個意義上,對於您的問題沒有一般答案,但內存聯合是負責與內存通信的單元的一個功能。 因此它發生在比MMU操作更低的層次上,並且對於它們來說是透明的。


不同存儲器架構具有「後續的」或「關閉」地址的不同的概念。

在系統尺寸4KiB頁數和一個線程訪問i 0FFEh過0FFFH1000H1001H越過0FFFH1000H作爲這兩個地址之間的頁邊界屬於不同的頁面。然而00FEH00FFH0100H0101H總是不斷,無論映射。