SDRAM存储器提供商通常使用高级数据传输速率来指定设备规范。如,如果供应商将产品命名为DDR3-1600,则意味着它将为SDRAM设备指定1600 MT / s的峰值传输速率。然这些设备达到了指定的传输速率,但它们无法保持在实际工作负载中。因是线路地址冲突,数据总线转换损失,写入检索等。降低了设备的最大传输速率。糟糕的是,随着新一代SDRAM的快速诞生,上述性能下降的不利影响将进一步加剧。此目的,使用简单顺序调度算法的存储器控制器可以实现基本上小于指定峰值的持续传输速率。是,使用更高级的重新排序规划技术可以克服这些性能下降因素,并确保您的内存提供真实应用程序支持的出色数据传输速率。借Virtex™-6,赛灵思推出了首款针对FPGA优化的重组DDR SDRAM内存控制器。的控制器使Virtex-6用户能够利用最新一代DDR SDRAM技术的高容量,高性能和低功耗。
表面上看,DDR SDRAM器件只不过是一个读/写存储器。实际上,目前的DDR SDRAM器件非常复杂。DDR SDRAM必须生成非常精确的地址,命令和数据序列,同时满足大量时序要求。在DDR SDRAM中实现高性能,恒温阀芯还必须在尽可能短的时间内执行指令流水线。响SDRAM DDR内存内外存储性能的衰减因子有哪些特征?为什么峰值传输速率的增加会增加其影响?等待RAS到CAS延迟时间的地址(即行地址和列地址选通之间的时钟周期数),然后发送地址列和读或写命令。

了满足这种需求,您必须等待CAS延迟,然后对数据进行采样以读取或提供写入。据传输完成后,控制器发出预充电命令以关闭活动线路。预充电间隔之后,控制器可以发出另一个激活命令。后,控制器可以在没有预加载激活序列的情况下发出多个读或写命令。
种情况通常称为快速页面访问。于快速页面模式避免了耗时且耗能的预充电序列,因此非常有效,但是这种访问仅限于相同的线路地址。果工作负载需要访问多个不同的线路地址,则必须在每次访问之间生成启用/预加载序列。这种情况下,持续传输速率将更低,甚至远低于最大传输速率。DDR SDRAM被组织(或分割)成一系列相同大小的几乎独立的区域。

DDR3 DRAM有8个库。问不同的库可能会重叠。如,如果工作负载要求在读取存储体1之后立即读取库2,则存储控制器首先向存储体1发送线路地址和激活命令,然后发送地址在RAS到CAS延迟之后,控制器发送列的地址和第一次读取的命令,然后是列的地址和第二次的命令读取,等待CAS延迟,然后连续发送两次数据。设工作负载通过上述两个库,则可以扩展峰值传输速率。了避免由于线路地址冲突导致的显着性能下降之外,重组存储器控制器还可以处理由于写入恢复和总线转换引起的性能下降。现更高DRAM性能的最佳方法是尝试将工作负载置于快速页面模式或移动银行模式。
是,这种方法在许多情况下是不可行的。理器通常会以这种方式生成难以管理的近随机工作负载。果工作负载需要在同一个库中连续访问不同的行地址(地址冲突),然后访问另一个库,则简单序列存储控制器将所有三个访问序列化。于第二次访问需要在充电之前进行激活过程,因此可能导致效率显着降低。一方面,存储器控制器可以按顺序发送用于第一次访问的激活命令,然后发送用于第三次访问的激活命令。叠这些访问可以提高效率。2说明了这个概念。图所示,先运行它,然后将第二个请求移动到第三次。以看出,重组序列首先作为顺序完成。了避免由地址冲突导致的显着性能下降之外,重新组织的内存控制器还可以处理由写恢复和总线转换引起的性能下降。写周期结束时,DRAM正在向阵列写入数据。
然可以以峰值速度处理相邻的写操作,但是写操作之后的读操作必须等到DRAM阵列中的写完全完成。引起了写恢复规范的问题。DDR SDRAM在两个方向上使用共享总线结构。线的一端连接到控制器,另一端通常连接到两到四个双列直插式存储器模块(DIMM)。线的电气长度约为5英寸,导致总线传输延迟约为1ns。总线驱动器停止驱动时,总线上会形成短期脉冲干扰。常,毛刺将消失两倍于总线的延迟时间。DDR SDRAM协议的嵌入式数据前导码包括DDR SDRAM时钟或两个单元插槽。导码中没有数据传输。
果同一读取器将数据发送到两个相邻地址,则可以删除前导码。际上,如果必须达到峰值传输速率,则必须删除前导码。恢复和数据总线缓解对性能有重大影响。单的顺序存储控制器完全受工作负载的影响。一种类型的读/写工作负载的持续执行可导致性能显着低于最大传输速率。

是,重组的内存控制器可以根据总线驱动程序对访问进行分组。过简单的单库配置,重新组织的内存控制器可以集中读取和写入组,然后以突发模式发出它们。过多库配置,重组后的存储控制器可以组织每个库的访问,组读取,并以突发模式发送它们。3显示了重新排序对避免由总线转换和写恢复引起的性能下降的影响。此示例中,从存储区0开始的顺序读取与对存储区1的顺序写入一起完成。过使用两个DMA控制器读取和写入存储器,可以轻松生成此类工作负载。
顺序情况下,每次读写转换都会导致总线带宽显着降低。组可以避免这些损失并大幅提高吞吐量。读和写作过程的重组往往会导致腐败和数据差距。于相同的地址,在读操作之前预取写操作会破坏存储器的内容,应该避免。休止地延迟读取操作可能导致数据不足并且应该避免。某些应用程序重新排序存储控制器返回的数据可能是个问题。解决问题也很简单,只需向存储控制器分配一个新命令即可返回发送指令缓冲区。某些边缘情况下,重组可能会增加某些读取访问的延迟。是,重组可以提高效率并减少内存控制器占用空间,从而减少读取的平均延迟。
1显示了DDR SDRAM技术的发展。表选择了DDR1,DDR2和DDR3的一些值得注意的规格。定的速度等级旨在反映中等寿命和大批量生产。输速率以几何速率增加,而中央外围设备的特性(例如RAS周期)增加得非常缓慢,并且写入恢复根本没有改善。间隔而言,每个设备代的相对性能降低得到显着改善。他DDR SDRAM参数也具有类似的度量特性。表中选择的三个参数仅用于说明目的。序和重新排序模式让我们来看看两个工作负载场景,它们说明了新的Virtex-6 DDR SDRAM内存控制器的功能。于设备以顺序或重组模式运行,因此重新排序的效果是显而易见的。一种工作负载模型有两种主要的控制模式。一种母版制作是CPU通过矩阵执行代码序列。组中的“步长”产生指向单个库的存储请求,但行地址随每个请求而增加。个“坏步骤”形成一个请求流,该请求流由指向单个DRAM库但具有不同行地址的许多读取组成。一种母版制作方法是DMA引擎生成指向不同DRAM库的简单串行读取访问流。序模式和重组模式实际上将执行不全局相同的请求流。DRA的线路周期时间限制了CPU流量的完成率。时,DMA工作负载可以单独处理。

顺序模式下,DMA流根据CPU流量进行序列化。重新排序模式下,DMA流将有用的作业插入到未使用的DQ总线周期中。于CPU流的流速受到DRAM线的循环时间的限制,因此这不允许显着的改进。是,如果使用重新排序,则DMA流的执行率将增加。二种工作负载模式使用两个DMA引擎,一个用于生成串行读取流,另一个用于生成串行写入流。设存储控制器交替地接收读请求或写请求。
避免进一步冲突,所有读取都指向存储区0,第0行。有条目都指向存储区1,第1行。们在关闭重新排序功能的情况下运行每个工作负载,然后重新启用该功能。

组。们使用默认存储控制器设置,但禁用了刷新,ZQ和其他DRAM维护功能。2总结了稳定运行后两个样本工作负载的有效性。们通过将携带有效载荷的单位时隙数除以给定时段内的单位时隙总数来计算效率。启用重组功能时,存储控制器的效率显着提高。着峰值数据速率的不断增加,未测量DDR SDRAM参数的趋势将继续增长。
来的存储控制器需要不断改进其规划算法,以充分利用未来DDR SDRAM设备的潜力。
本文转载自
恒温阀芯 https://www.wisdom-thermostats.com
