为什么 RAM(任何类型)的访问时间减少如此缓慢?

电器工程 内存 速度 DDR 潜伏
2022-01-13 01:42:07

本文显示 DDR4 SDRAM 的带宽大约是 DDR1 SDRAM 的 8 倍。但是从设置列地址到数据可用的时间只减少了10%(13.5ns)。快速搜索显示,async 的访问时间最快。SRAM(18 岁)是 7ns。为什么 SDRAM 访问时间下降得这么慢?原因是经济的、技术的还是根本的?

3个回答

这是因为增加 DRAM 的带宽比减少延迟更容易也更便宜。要从开放的 ram 行中获取数据,需要大量的工作。

列地址需要解码,选择要访问的线路的多路复用器需要被驱动,数据需要通过芯片移动到输出缓冲器。这需要一点时间,特别是考虑到 SDRAM 芯片是在为高 ram 密度而不是高逻辑速度量身定制的工艺上制造的。要增加带宽,比如说使用 DDR(1、2、3 或 4),大多数逻辑都可以加宽或流水线化,并且可以以与上一代相同的速度运行。唯一需要更快的是 DDR 引脚的 I/O 驱动程序。

相比之下,为了减少延迟,需要加快整个操作,这要困难得多。最有可能的是,部分 ram 需要在类似于高速 CPU 的工艺上制造,从而大大增加了成本(高速工艺更昂贵,而且每个芯片需要经过 2 个不同的工艺)。

如果将 CPU 缓存与 RAM 和硬盘/SSD 进行比较,则存储容量大和存储速度快之间存在反比关系。L1$ 非常快,但只能容纳 32 到 256kB 的数据。之所以这么快,是因为它很小:

  • 它可以放置在非常靠近使用它的 CPU 的位置,这意味着数据必须经过更短的距离才能到达它
  • 它上面的电线可以做得更短,这再次意味着数据通过它所需的时间更少
  • 它不占用太多面积或许多晶体管,因此在速度优化的过程中制造它并使用存储的每比特大量功率并不是那么昂贵

随着层次结构的上移,每个存储选项的容量都会变大,但面积也会变大,并且离使用它的设备越远,这意味着设备必须变慢。

C_Elegans提供了部分答案——很难减少内存周期的整体延迟。

答案的另一部分是,在现代分层内存系统(多级缓存)中,内存带宽对整体系统性能的影响比内存延迟要大得多,因此这是所有最新开发工作的重点。

在许多进程/线程并行运行的通用计算以及嵌入式系统中都是如此。例如,在我做的高清视频工作中,我不关心毫秒级的延迟,但我确实需要数 GB/秒的带宽。

我没有那么多见解,但我希望它是一点点。

经济的

对于大多数计算机/电话来说,速度已经绰绰有余。为了更快的数据存储,开发了 SSD。人们可以(几乎)实时使用视频/音乐和其他速度密集型任务。因此,对速度的要求并不高(天气预报等特定应用除外)。

另一个原因是处理非常高的 RAM 速度,需要快速的 CPU。这伴随着大量的电力使用。由于在电池设备(如手机)中使用它们的趋势阻止了使用非常快的 RAM(和 CPU),因此制造它们在经济上也没有用处。

技术的

通过减小芯片/IC 的尺寸(现在是纳米级),速度提高了,但并不显着。它更常用于增加 RAM 的数量,这需要更困难(也是经济原因)。

基本的

举个例子(两者都是电路):获得更高速度的最简单方法(由 SSD 使用)是将负载分散到多个组件上,这样“处理”速度也会增加。比较使用 8 个 U 盘同时读取并合并结果,而不是一个接一个地从 1 个 U 盘读取数据(需要 8 倍的时间)。