内存仲裁器保护多少字节?

时间:2010-09-28 04:19:43

标签: architecture memory-management hardware linux-kernel linux-device-driver

内存仲裁器保护多少字节?

在阅读“理解Linux内核,第3版”第2章第2.1节时,我遇到以下声明:
在多处理器系统中,所有CPU通常共享相同的内存;这意味着RAM芯片可以由独立的CPU同时访问。因为必须串行地执行RAM芯片上的读或写操作,所以在总线和每个RAM芯片之间插入称为存储器仲裁器的硬件电路。它的作用是在芯片空闲时授予对CPU的访问权限,如果芯片正忙于为另一个处理器提供请求,则将其延迟。

我在这里有一些问题:
。 ram芯片有多少字节? (似乎这个问题等于“内存仲裁器保护多少字节?”)
。正如我所说,“我的电脑有1G内存”。这是否意味着“1 G内存”由许多内存芯片组成。

3 个答案:

答案 0 :(得分:0)

这实际上取决于您的计算机具有什么RAM。 大多数较新的计算机最低1GB,通常是1GB的RAM,允许您通过购买更多的棒来升级。仲裁器只是保护两个cpu不会同时尝试从RAM写入/读取。所以本质上它保护计算机中的全部RAM。

答案 1 :(得分:0)

当你得到一个2 GB的RAM时,它由较小的RAM芯片组成。你可以看看这个,如果你拿出来看看它。

保护级别可能比完整芯片小得多。你问的问题不完全是Linux问题。它完全取决于机器的架构。我的猜测是访问是以缓存行粒度进行仲裁的。对于大多数现代x86 CPU,这是64字节对齐。你必须检查确切的数字。

如果有人知道的话,请指正。

答案 2 :(得分:0)

“仲裁者”不在RAM芯片内;它是内存一致性的一部分,现在可能在CPU芯片内部。

至于粒度 - 我猜它是L3缓存线,通常是64字节。