![DDR4 模块/库管理](https://linux22.com/image/1428818/DDR4%20%E6%A8%A1%E5%9D%97%2F%E5%BA%93%E7%AE%A1%E7%90%86.png)
我对 DDR4 的工作原理有些困惑。我不太熟悉 DDR 细节或内存控制器细节。到目前为止,DDR4 的宣传无处不在,DDR4 的传输速率会随着我主板上的每个模块而累积。例如,如果我有 4 个模块,每个模块的容量为 4GB,假设传输速率为 20GB/秒。如果 4 个存储体都已填满,我的传输速率最终将达到 80GB/秒。在我看来,只有当我的应用程序使用整个 16GB 的 RAM 时,这种方法才有效。但是,如果我的应用程序只使用 2GB,传输速度能有多快呢?
是否存在某种内部逻辑将 2GB 平等分配给所有 4 个存储体?如果是,谁来做?
我的观点是:例如,如果我需要在
- DDR3-2133,16GB,由 2 个模块组成
- DDR4-2133,容量为 16GB,由 4 个模块组成
假设价格相同,但 DDR3 的时序比 DDR4 好得多。每个模块的传输速率相同。如果应用程序分配的数据不超过模块的容量,并且没有平均分配给其他模块,那么 DDR3 将是更好的选择,因为时序更好,而 DDR4 不会带来任何优势,对吗?
我发现的最好的文献是这但它并没有告诉我们内存是如何管理的
我希望这里有人可以解释一下细节:-)
答案1
内存管理由操作系统处理。
内存管理函数跟踪每个内存位置的状态(已分配或空闲)。它确定如何在竞争进程之间分配内存,决定谁获得内存、何时获得内存以及允许获得多少内存。分配内存时,它确定将分配哪些内存位置。它跟踪何时释放或取消分配内存并更新状态。
正如 Ramhound 所说,DDR4 的优势显而易见,尤其是性能更好、功耗更低。就性能而言,这些优势将高度依赖于您的使用情况。除非您使用高度专业化的软件,否则选择 DDR4 内存不会获得太多好处。