2016-11-23 69 views
0

我研究了一些关于内存合并的论文和书籍,但是我仍然对虚拟地址的内存请求是合并还是物理地址的内存请求会合并?内存与物理地址或虚拟地址合并?

由于内存合并意在减少对内存设备的内存访问,随后降低延迟。这个过程通常由MMU(内存管理单元)实现。但是我没有发现任何明确的断言,说它将内存请求与虚拟或物理地址结合起来。但考虑到其目的,虚拟地址在转换为物理地址后可能不会相邻。所以,我猜它是指物理地址。

是否有人熟悉这个领域?提前致谢!!!

回答

0

为了被聚结的地址必须是局部密切(读:彼此相邻)在主存储器,所以它们必须是物理地址。

但是,在大多数体系结构中,只要没有页面边界交叉,连续虚拟地址也是连续的物理地址。

当跨越页面边界时,不能保证物理地址是连续的,甚至不能保证硬件支持合并。

尽管每个体系结构都是唯一的,并且在这个意义上,对于您的问题没有一般答案,但内存联合是负责与内存通信的单元的一个功能。 因此它发生在比MMU操作更低的层次上,并且对于它们来说是透明的。


不同存储器架构具有“后续的”或“关闭”地址的不同的概念。

在系统尺寸4KiB页数和一个线程访问i 0FFEh过0FFFH1000H1001H越过0FFFH1000H作为这两个地址之间的页边界属于不同的页面。然而00FEH00FFH0100H0101H总是不断,无论映射。