追踪我们:
Follow us on LinkedIn Follow us on Twitter Like us on Facebook Subscribe to our channel on YouTube Follow us on Tumblr
分享:
| More

模块线程化

概述

通过将并行化应用于模块数据访问,模块线程化可提高内存模块的吞吐量和能效。该创新技术将模块分割为两个单个内存通道,并将命令交叉到各自通道中。这使得传输尺寸更小,并降低了行激活功率,与传统的 DIMM 模块相比,带宽增加 50%,内存功率降低 20%。

典型的 DRAM 运行

多核处理和密集型图形计算处理器的最新趋势对 DRAM 内存子系统性能要求日益增高。多线程计算和图形不仅需要更高的内存带宽,而且会更多地访问更小的数据碎片。然而,随着数据传输变小,对于每一代 DRAM 而言,难度也日益加大。尽管内存接口越来越快,但主内存核心的频率相对没有变化。因此,DRAM 实施了核心预取,当内存核心发现有更大的数据量时,会将数据序列化至更快的片外接口,从而有效地增加访问粒度。目前的 DDR3 DRAM 中,接口速度和核心速度之间的差距使核心预取的比率为 8:1,并且在未来的 DRAM 中,预计将达到 16:1。随着预取比率和传输尺寸的增加,会使计算效率下降,尤其是多线程和图形工作负荷计算,因为这些对更小数据片的访问率的需求更大。

当今的计算平台中,内存子系统通常实施 DIMM,拥有 64 位宽的数据总线和 28 位的命令/地址/时钟总线。标准的 DDR3 DIMM 模块中,使用单个命令/地址 (C/A) 并发访问模块单位内所有的设备。示例的模块配置,在印有电路的模块机板上,并行地组装了 8 个 DDR3 组件,并且拥有 64 字节的最小有效数据传输。

效率提高

多线程工作负载和更小传输通过将模块分割为两个独立的内存通道,并在线路组中多路传输命令(与传统模块相同,但每个内存通道分别拥有独立的芯片选择),从而实现更高的效率。线程化模块中,可以独立地访问每一侧模块,从而将标准单通道模块的最小传输量减少一半。

Module threading

功率降低

线程化模块可以降低主内存访问的功率。对于传统的 8 设备模块,全部 8 个 DRAM 通过 8 个设备上的读/写 (COL) 操作激活 (ACT)。线程化模块或双通道模块可以通过只激活 4 个设备,然后对其进行 2 个连续的读或写操作,即可完成相同的数据传输。由于每次访问时,只激活了 4 个而非 8 个设备,因此线程化模块或双通道模块在实现相同的带宽时,使设备行激活功率减少一半。在内存系统中,这使模块总功率降低约 20%。

带宽提高

线程化模块的另一个优点是,能够在高数据率下,不断提高带宽。由于 DRAM 设备的功率限制,很多现代业界标准的 DRAM 都有带宽限制。从采用 DDR3 一代开始的 DRAM,仅有少量库可以访问,为的是保护 DRAM 上的功率交付网络并为内存核心保持稳定的电压。该参数称为 tFAW(4 个激活窗口期),仅允许在滚动的 tFAW 窗口中激活 4 个库。

对于计算系统,如果在给定的 tFAW 期内,已经发出了 4 个窗口激活的命令,那么 tFAW 会限制内存控制器发出更多的行激活命令。这会使内存控制器停止并导致数据带宽丢失。以 1600Mbps 数据率运行的 DDR3 DRAM 会因该限制或其他限制而最多丢失 50% 的持续数据带宽。由于线程化模块中激活的 DRAM 比传统模块中的少,因此线程模块的持续带宽不会受到核心参数的限制。

sustained bandwidth comparison

摘要

  • 模块线程化能够提高传输效率、减小访问粒度,同时能够保持模块的商品化成本结构。
  • 模块线程化能使行激活数减半,从而使总内存功耗降低 20%。
  • 模块线程化将模块传输带宽提高到 64 字节,比目前 DDR3 模块(受到核心参数 tFAW 和 tRRD 的限制)提高 50%。