电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

SDRAM的结构、时序与性能的关系


发布日期:2023/3/7 9:40:51
 

我们现在要重要分析一下SDRAM的时序与性能之间的关系它不在局限于芯片本身而是从整体的内存系统去分析这也是广大DIYer所关心的 话题比如CL值对性能的影响有多大几乎是每个内存论坛都会有讨论今天我们就详细探讨一下其中的很多内容同样适用于DDR与RDRAM这里需要强调 一点对于内存系统整体而言一次内存访问就是对一个页的访问这个页的定义已经在解释Full Page含义时讲明了由于在PBank中每个芯片的寻址都是一样的所以可以将页访问“浓缩”等效为对每芯片中指定行的访问这样可能比较好理解 但为了与官方标准统一在下文中会经常用页来描述相关的内容请读者注意理解

影响性能的主要时序参数

所谓的影响性能是并不是指SDRAM的带宽频率与位宽固定后带宽也就不可更改了但这是理想的情况在内存的工作周期内不可能总处于数据传输的状态因为要有命令寻址等必要的过程但这些操作占用的时间越短内存工作的效率越高性能也就越好

非数据传输时间的主要组成部分就是各种延迟与潜伏期通过上文的讲述大家应该很明显看出有三个参数对内存的性能影响至关重要它们是tRCDCL和tRP每条正规的内存模组都会在标识上注明这三个参数值可见它们对性能的敏感性

以内存最主要的操作——读取为例tRCD决定了行寻址(有效)至列寻址(读/写命令)之间的间隔CL决定了列寻址到数据进行真正被读取所花 费的时间tRP则决定了相同LBank中不同工作行转换的速度现在可以想象一下读取时可能遇到的几种情况(分析写入操作时不用考虑CL即可)

要寻址的行与LBank是空闲的也就是说该LBank的所有行是关闭的此时可直接发送行有效命令数据读取前的总耗时为tRCD+CL这种情况我们称之为页命中(PHPage Hit)

要寻址的行正好是前一个操作的工作行也就是说要寻址的行已经处于选通有效状态此时可直接发送列寻址命令数据读取前的总耗时仅为CL 这就是所谓的背靠背(Back to Back)寻址我们称之为页快速命中(PFHPage Fast Hit)或页直接命中(PDHPage Direct Hit)

要寻址的行所在的LBank中已经有一个行处于活动状态(未关闭)这种现象就被称作寻址沖突此时就必须要进行预充电来关闭工作行再对新行发送行有效命令结果总耗时就是tRP+tRCD+CL这种情况我们称之为页错失(PMPage Miss)

显然PFH是最理想的寻址 情况PM则是最糟糕的寻址情况上述三种情况发生的机率各自简称为PHR——PH RatePFDR——PFH RatePMR——PM Rate因此系统设计人员(包括内存与北桥芯片)都尽量想提高PHR与PFHR同时减少PMR以达到提高内存工作效率的目的

增加PHR的方法

显然这与预充电管理策略有 着直接的关系目前有两种方法来尽量提高PHR自动预充电技术就是其中之一它自动的在每次行操作之后进行预充电从而减少了日后对同一LBank不 同行寻址时发生沖突的可能性但是如果要在当前行工作完成后马上打开同一LBank的另一行工作时仍然存在tRP的延迟怎么办? 此时就需要LBank交错预充电了

VIA的路交错式内存控制就是在一个LBank工作时对下一个要工作的LBank进行预充电这样预充电与数据的传输交错执行当访 问下一个LBank时tRP已过就可以直接进入行有效状态了目前VIA声称可以跨PBank进行路内存交错并以LRU算法进行预充电管 理

有关LBank交错预充电(存取)的具体执行在本刊年第期已有详细介绍这里就不再重复了

LBank交错自动预充电/读取时序图(可点击放大)LBank 与LBank 实现了无间隔交错读取避免了tRP对性能的影响 三增加PFHR的方法

无论是自动预充电还是交错工作的方法都无法消除tRCD所带来的延迟要解决这个问题就要尽量让一个工作行在进行预充电前尽可能多的接收多个工作命令以达到背靠背的效果此时就只剩下CL所造成的读取延迟了(写入时没有延迟)

如何做到这一点呢?这就是北桥芯片的责任了在上文的时序图中有一个参数tRAS(Active to Precharge Command行有效至预充电命令间隔周期)它有一个范围对于PC标准一般是预充电命令至少要在行有效命令个时钟周期之后发出最长间隔 视芯片而异(基本在ns左右)否则工作行的数据将有丢失的危险那么这也就意味着一个工作行从有效(选通)开始可以有ns的 持续工作时间而不用进行预充电显然只要北桥芯片不发出预充电(包括允许自动预充电)的命令行打开的状态就会一直保持在此期间的对该行的任何读写操 作也就不会有tRCD的延迟可见如果北桥芯片在能同时打开的行(页)越多那么PFHR也就越大需要强调的是这里的同时打开不是指对多行同时寻址 (那是不可能的)而是指多行同时处于选通状态我们可以看到一些SDRAM芯片组的资料中会指出可以同时打开多少个页的指标这可以说是决定其内存性能 的一个重要因素

Intel 芯片组MCH的资料其中表明它可以支持个页面同时处于打开状态

但 是可同时打开的页数也是有限制的从SDRAM的寻址原理讲同一LBank中不可能有两个打开的行(SAMP只能为一行服务)这就限制了可同时 打开的页面总数以SDRAM有个LBank北桥最多支持个PBank为例理论上最多只能有个页面能同时处于打开的状态而如果只有一个 PBank那么就只剩下个页面因为有几个LBank才能有同时打开几个行而互不干扰Intel 的MHC虽然可以支持个打开的页面那也是指个PBank的情况下(MCH只支持个PBank)可见已经将同时打开页数 发挥到了极致

不过同时打开页数多了也对存取策略提出了一定的要求理论上要尽量多地使用已打开的页来保证最短的延迟周期只有在数据不存在(读取时) 或页存满了(写入时)再考虑打开新的指定页这也就是变向的连续读/写而打开新页时就必须要关闭一个打开的页如果此时打开的页面已是北桥所支持的最大 值但还不到理论极限的话就需要一个替换策略一般都是用LRU算法来进行这与VIA的交错控制大同小异

所谓的影响性能是并不是指SDRAM的带宽频率与位宽固定后带宽也就不可更改了但这是理想的情况在内存的工作周期内不可能总处于数据传输的状态因为要有命令寻址等必要的过程但这些操作占用的时间越短内存工作的效率越高性能也就越好

非数据传输时间的主要组成部分就是各种延迟与潜伏期通过上文的讲述大家应该很明显看出有三个参数对内存的性能影响至关重要它们是tRCDCL和tRP每条正规的内存模组都会在标识上注明这三个参数值可见它们对性能的敏感性

以内存最主要的操作——读取为例tRCD决定了行寻址(有效)至列寻址(读/写命令)之间的间隔CL决定了列寻址到数据进行真正被读取所花 费的时间tRP则决定了相同LBank中不同工作行转换的速度现在可以想象一下读取时可能遇到的几种情况(分析写入操作时不用考虑CL即可)

要寻址的行与LBank是空闲的也就是说该LBank的所有行是关闭的此时可直接发送行有效命令数据读取前的总耗时为tRCD+CL这种情况我们称之为页命中(PHPage Hit)

要寻址的行正好是前一个操作的工作行也就是说要寻址的行已经处于选通有效状态此时可直接发送列寻址命令数据读取前的总耗时仅为CL 这就是所谓的背靠背(Back to Back)寻址我们称之为页快速命中(PFHPage Fast Hit)或页直接命中(PDHPage Direct Hit)

要寻址的行所在的LBank中已经有一个行处于活动状态(未关闭)这种现象就被称作寻址沖突此时就必须要进行预充电来关闭工作行再对新行发送行有效命令结果总耗时就是tRP+tRCD+CL这种情况我们称之为页错失(PMPage Miss)

显然PFH是最理想的寻址情况PM则是最糟糕的寻址情况上述三种情况发生的机率各自简称为PHR——PH RatePFDR——PFH RatePMR——PM Rate因此系统设计人员(包括内存与北桥芯片)都尽量想提高PHR与PFHR同时减少PMR以达到提高内存工作效率的目的

上一篇:UNS.exe是什么进程?

下一篇:百度指数榜单属性是什么