内存仲裁器保护多少字节?
在阅读“理解linux内核,第三版”第2章第2.1节时,我遇到了以下陈述:
在多处理器系统中,所有CPU通常共享相同的内存;这意味着RAM芯片可以由独立的CPU并发访问。由于RAM芯片上的读或写操作必须串行执行,因此在总线和每个RAM芯片之间插入了称为存储器仲裁器的硬件电路。它的作用是在芯片空闲时授予对CPU的访问权限,并在芯片忙于处理另一个处理器的请求时延迟访问。
这里我有几个问题:
。一个ram芯片有多少字节?(这个问题似乎等于“内存仲裁器保护多少字节?”)
。就像我说的,“我的电脑有1G的内存”。这是否意味着“1G内存”是由许多ram芯片组成的?
发布于 2010-09-28 12:36:50
这真的取决于你的计算机有什么内存。大多数较新的电脑都有最低1 1GB的内存,通常是1 1GB的记忆棒,你可以通过购买更多的记忆棒来升级。仲裁器只是防止两个cpu同时尝试写入/读取RAM。因此,从本质上讲,它可以保护计算机中的全部RAM。
发布于 2010-09-29 05:47:23
当你得到一个2 GB的RAM时,它是由更小的RAM芯片组成的。如果你把棍子拿出来看,你就能看到这个。
保护级别可能比完整的芯片要小得多。您提出的问题并不完全是Linux的问题。这完全取决于机器的架构。我的猜测是,访问是以高速缓存线粒度进行仲裁的。对于大多数现代x86 CPU,这是64字节对齐的。你得检查一下确切的数字。
如果有人知道的更好,请纠正我。
发布于 2017-06-06 19:25:45
“仲裁器”不在RAM芯片中;它是内存一致性的一部分,现在可能在CPU芯片中。
至于粒度-我猜它是L3缓存线,所以通常是64字节。
https://stackoverflow.com/questions/3809650
复制相似问题