内存仲裁器保护多少字节?
内存仲裁器保护多少字节?
在阅读“理解 Linux 内核,第 3 版”第 2 章第 2.1 节时,我遇到以下语句:
在多处理器系统中,所有CPU通常共享相同的内存;这意味着 RAM 芯片可以由独立的 CPU 同时访问。由于RAM芯片上的读或写操作必须串行执行,因此在总线和每个RAM芯片之间插入了一个称为存储器仲裁器的硬件电路。它的作用是,如果芯片空闲,则授予对 CPU 的访问权限;如果芯片正忙于处理另一个处理器的请求,则延迟访问。
在这里我有一些问题:
。 RAM芯片有多少字节? (似乎这个问题等于“内存仲裁器保护多少字节?”)
。正如我所说,“我的电脑有 1G 内存”。这是否意味着“1G内存”是由许多RAM芯片组成的?
How many bytes does memory arbiter protect?
While reading "Understanding the linux kernel, 3rd edition" chapter 2, section2.1, I encounter the following statement:
In multiprocessor systems, all CPUs usually share the same memory; this means that RAM chips may be accessed concurrently by independent CPUs. Because read or write operations on a RAM chip must be performed serially, a hardware circuit called a memory arbiter is inserted between the bus and every RAM chip. Its role is to grant access to a CPU if the chip is free and to delay it if the chip is busy servicing a request by another processor.
Here i have some questions:
. how many bytes does a ram chip have? (Seem that this question is equal to "How many bytes does memory arbiter protect?" )
. as i said, "My PC has 1G memory". Does this means that the "1 G memory" is comprised of many ram chips.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这实际上取决于您的计算机有多少内存。 大多数较新的计算机至少配备 1GB 内存,通常是 1GB 内存条,允许您通过购买更多内存条进行升级。仲裁器只是保护两个 cpu 避免同时尝试从 RAM 写入/读取。因此,从本质上讲,它可以保护计算机中的全部 RAM。
It really depends on what RAM your computer has. Most newer computers come with 1GB minimum an it's usually a 1GB stick of RAM that allows you to upgrade by buying more sticks. The arbiter simply protects two cpu's from trying to write/read from RAM at the same time. So in essence it protects the full amount of RAM in your computer.
当您拥有一根 2 GB RAM 时,它是由较小的 RAM 芯片组成的。如果你把棍子拿出来看看,你就能看到这一点。
保护级别可能比完整芯片小得多。你问的问题不完全是 Linux 问题。这完全取决于机器的架构。我的猜测是访问是在缓存行粒度上进行仲裁的。对于大多数现代 x86 CPU,这是 64 字节对齐的。您必须检查确切的数字。
如果有人知道更好,请纠正我。
When you get one 2 GB stick of RAM, it's made up of smaller chips of RAM. You can see this if you take the stick out and look at it.
The level of protection is probably something much smaller than a full chip. What you're asking is not a Linux question exactly. It depends entirely on the architecture of the machine. My guess is that access is arbitrated at a cache line granularity. For most modern x86 CPUs, this is 64 bytes aligned. You'll have to check for the exact number.
If someone knows better, please correct me.
“仲裁者”不在 RAM 芯片内部;它是内存一致性的一部分,现在可能在 CPU 芯片内部。
至于粒度 - 我猜它是 L3 缓存行,所以通常是 64 字节。
The "arbiter" is not inside the RAM chips; it's a part of memory coherency stuff, nowadays probably inside the CPU chips.
As for granularity - I'd guess it's L3 cacheline, so usually 64 bytes.