Memory SystemsCache, DRAM, Disk翻译学习DRAM部分(八)

      本章的文本将探讨在更大的内存系统中多个DRAM设备的构建、组织和操作。本章涵盖了术语、拓扑结构以及各种类型的内存模块的组织。

10.1 Conventional Memory System

      在图10.1中,多个DRAM设备被连接在一起,形成一个由单个内存控制器管理的内存系统。在现代计算机系统中,一个或多个DRAM内存控制器(DMC)可以包含在处理器封装中,或者集成到位于处理器封装之外的系统控制器中。无论DRAM内存控制器的位置如何,其功能是接受对内存中给定地址的读取和写入请求,将请求翻译为一个或多个命令发送到内存系统,按正确的顺序和正确的时序向DRAM设备发出这些命令,并代表处理器或系统中的I/O设备检索或存储数据。系统控制器的内部结构将在另一章中进行详细介绍。本章重点介绍了多设备内存系统中DRAM设备的组织结构。

图10.1:通过DRAM内存控制器连接到一个处理器的多个DRAM设备。

10.2 Basic Nomenclature 常用的名词

     在本节中,定义了“通道”(channel)、“排”(rank)、“银行”(bank)、“行”(row)和“列”(column)的用法,并且在本章和随后的章节中的讨论将遵循本章中的用法。

10.2.1 Channel

    理解:一个DMC就是一个channel

FIGURE 10.2: Systems with a single memory controller and different data bus widths.

FIGURE 10.3: Systems with two independent memory controllers and two logical channels of memory.

10.2.2 Rank

    图10.5显示了一个由2个rank组成的内存系统。实际上,内存组是一个或多个DRAM设备的“组合”,它们在响应特定命令时以同步方式运行。然而,术语“bank”已经用于描述DRAM设备内独立DRAM阵列的数量。为了减少术语的混淆,现在使用术语“rank”来表示在内存系统中以同步方式响应给定命令的一组DRAM rank。

     图10.5说明了在传统DRAM内存系统拓扑结构中2个内存组的配置。在传统DRAM内存系统拓扑结构中,地址和命令总线连接到内存系统中的每个DRAM 颗粒,但宽数据总线被分区并连接到不同的DRAM设备上。在这种传统系统拓扑中,内存控制器使用芯片选择信号来选择响应给定命令的适当的DRAM设备组。

在现代内存系统中,通常会将多个DRAM设备分组在一起,以提供给定内存系统所需的数据总线宽度和容量。例如,为了形成72位宽的数据总线,需要在一个内存组中使用18个每个带有4位宽数据总线的DRAM设备。相比之下,不需要太多容量或数据总线宽度的嵌入式系统通常在每个内存组中使用较少的设备,有时每个组中只使用一个设备。

理解:rank相当于把一个channel的一组数据和地址线可以不同时驱动多组设备,这样可以实现系统级的interleaving。

FIGURE 10.5: Memory system with 2 ranks of DRAM devices.

10.2.3 Bank

正如前面所述,单词“bank”曾被用来描述DRAM设备内部一组独立的内存阵列,以及一组DRAM设备集体响应命令。在本章中,单词“bank”仅用于表示DRAM设备内部一组独立的内存阵列。
     图10.6显示了一个具有4个DRAM阵列组的SDRAM设备。现代DRAM设备包含多个bank,因此可以并行地访问不同的DRAM阵列。在这种设计中,每个内存bank都是一个独立的阵列,可以处于不同的行访问周期阶段。某些共享资源,如允许访问数据引脚的I/O门控,必须在不同的bank之间共享。但是,多bank架构允许对不同的bank进行命令(如读取请求)进行流水线处理。某些命令,如刷新命令,也可以并行在多个bank中执行。通过这种方式,多个bank可以独立运行或同时运行,具体取决于命令。例如,给定的DRAM设备内的多个bank可以相互独立地激活,受到DRAM设备的功耗限制,可能规定了在一定时间内这些激活可以发生多接近。根据DRAM设备的设计,可以并行地对给定DRAM设备中的多个bank进行预充电或刷新。
理解:一个bank中可以有多个DRAM array,个数就是该颗粒的数据位宽。比如说X4表示一个bank中有4个array;X8表示一i个bank中有8个array。一个bank中的array是并行访问操作的。
FIGURE 10.6: SDRAM device with 4 banks of DRAM arrays internally.

10.2.4 Row

在DRAM设备中,一行(row)只是一组存储单元,可以在响应行激活命令时并行激活。在使用传统系统拓扑结构的DRAM内存系统中,例如SDRAM、DDR SDRAM和DDR2 SDRAM内存系统,通常会并行连接多个DRAM设备在给定的内存rank中。

图10.7展示了如何并行连接DRAM设备以形成一个内存rank。DRAM设备连接为在同步操作的DRAM设备rank中的效果是,行激活命令将在给定rank内的所有DRAM设备中激活相同的地址行。这个安排意味着从内存控制器的角度来看,一行的大小只是给定rank中所有DRAM设备的大小,即一行在给定的DRAM设备中的大小乘以给定rank中的DRAM设备数量,并且DRAM行跨越给定rank中多个DRAM设备。

一行(row)也被称为DRAM页(page),因为行激活命令实质上会将一页的内存缓存在感知放大器(sense amplifiers)中,直到DRAM内存控制器发出后续的预充电命令。已经提出了各种方案来利用DRAM页级别的局部性。然而,利用DRAM页级别的局部性的问题之一是,DRAM页的大小取决于DRAM设备和内存模块的配置,而不是处理器的架构页大小。

FIGURE 10.7: Generic DRAM devices with 4 banks, 8196 rows, 512 columns per row, and 16 data bits per column.

10.2.5 Column

      在DRAM内存系统中,数据的一列(column)是内存的最小可寻址单元。图10.8说明,在像图10.5所示的内存系统中,例如SDRAM和DDRx3 SDRAM具有类似拓扑结构的内存系统,一列数据的大小与数据总线的宽度相同。在Direct RDRAM设备中,一列被定义为16字节的数据,每个读命令从Direct RDRAM设备的每个物理通道中提取长度为16字节的单个数据列。

     节拍(beat)指的是数据总线上的数据变化。在SDRAM内存系统中,每个时钟周期有一个数据变换,因此每个时钟周期传输一拍的数据。在DDRx SDRAM内存系统中,每个时钟周期可以发生两次数据传输,因此在单个时钟周期内传输两拍的数据。使用"beat"这个术语避免了在DDRx SDRAM设备中过度使用"cycle"这个词。

FIGURE 10.8: Classical DRAM system topology; width of data bus equals column size.

10.3 Memory Modules

就是不同内存条的构造,SIMM DIMM RDIMM SO-DIMM
具体怎么回事,后面有时间记录。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二哈哈黄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值