为什么不使用 PCI-E M.2 空间作为 RAM?

为什么不使用 PCI-E M.2 空间作为 RAM?

M.2 连接器可以使用 PCI-e 2.0 和 3.0,最高可达 16 Gb/s (131,072 mb/s)。理论上只有最强大和最昂贵的 DDR4 才能超过该速度。根据维基百科,PCI-e 4.0 计划为 32 gb/s。

DDR4 数据传输速率:

DDR4 2133:17.0 GB/s
DDR4 2400:19.2 GB/s
DDR4 2666:21.3 GB/s
DDR4 3200:25.6 GB/s

就我而言,我的主板仅支持高达 2133 MHz 的 DDR3,这比我的 M.2 慢

是否可以将 PCI-e M.2 SSD 完全用作 RAM?包括虚拟 RAM。

答案1

16 GB/s?哎,我们可以做得更好。把 microSD 卡装上一卡车,然后开到你家邻居家。这样,你的带宽就PB/s 数量级。没有人介意等待数百万毫秒来查看他们是否能够将光标移动到正确的按钮上,对吧?

好吧,这是一个极端的例子,但它说明了当你只关注带宽而忽略数据传输性能的另一半:延迟时会发生什么。

这里有各种数据访问延迟的详细分析堆栈溢出。重要的一点是,RAM 延迟以数百纳秒为单位,而 SSD 延迟以数十微秒为单位。因此,当您的 1 GHz CPU 需要缓存中没有的内容时,它不必等待 100 个时钟周期,而是必须等待 10000 个或更多时钟周期。这需要花费大量时间来完成其他工作。

事实上,M.2 SSD 的带宽并没有你想象的那么大。M.2 插槽最多仅支持x4 PCI-E 通道,根据 PCI-E 4.0 标准,带宽限制为~7.9 GB/秒而远期的 PCI-E 5.0 标准可能将达到 15.8 GB/s。

至于虚拟内存,是的,与 HDD 类似,我们可以使用 SSD 作为虚拟内存,但请记住这是作为 RAM 的扩展,而不是替代。

其他值得关注的事情:AMD 宣布GPU 配备一对 PCI-E x4 M.2 SSD板载 RAID-0。这不是 GPU 内存的替代品(其带宽以数百 GB/s 为单位),而是作为存储驱动器(它以存储驱动器的形式呈现给操作系统)。这主要意味着 GPU 可以从驱动器获取数据,而无需主板 PCI-E 接口的任何开销。这导致与系统驱动器的通信速度从 900 MB/s 增加到与板载驱动器的通信速度约 4 GB/s,尽管没有指定系统驱动器是否也是 RAID-0。

相关内容