7.1 DRAM Basics: Internals, Operation
这两段截图是《Memory Systems》一书中关于 DRAM 最基础定义的阐述。我为您提供翻译和深度解读:1. 中文翻译图1:随机存取存储器(RAM)如果每一位使用一个单一的晶体管-电容器对,则被称为动态随机存取存储器(DRAM)。图 7.3 在右下角展示了 DRAM 存储单元的电路。这个电路之所以是“动态的”(Dynamic),是因为用于存储电子的电容器并非理想的器件,它们最终会漏电。图2:因此,为了保留 DRAM 中存储的信息,每个电容器必须被周期性地刷新(Refresh)(即,读取并重新写入)。2. 深度技术解读这两段话定义了 DRAM 的“灵魂”——也是它为什么叫做**“动态”**(Dynamic)的原因。理解这一点,是理解整个 DRAM 子系统所有复杂时序和功耗来源的基础。🔬 核心构成:1T1C(单管单电容)原文提到“一个单一晶体管-电容器对”,业界称之为1T1C 单元。这是现代 DRAM 的绝对统治级结构:晶体管(开关):负责控制信号的读写通路。电容器(仓库):负责存储实际的电荷(代表 0 或 1)。这种设计的巨大优势是集成密度极高,成本很低(一个比特只需要几个器件),所以 DRAM 才能做成几 GB 甚至几十 GB 的“巨型”内存条。⚠️ “动态”的物理根源:电容漏电“动态”这个命名不是指的访问方式,而是指它的“易失性”。如果把它比作一个桶,SRAM 是一个密封很好的水桶,倒进去的水可以长久保持在原位。而 DRAM 是一个底部有小孔的桶(电容器非理想,存在漏电流)。你刚往里灌满水,它就会慢慢渗漏掉。致命后果:如果不采取措施,几毫秒到几百毫秒后,电容里的电就漏光了,原来存的 1 就会变成 0,数据就丢了。🔄 核心机制:刷新(Refresh)既然桶漏了,解决办法就是定期“补水”。这就是刷新(Refresh)。动作:控制器必须强制把每个存储单元的数据读出来,放大,再写进去。这一过程在整个芯片运行期间不断循环。代价:刷新操作会占用宝贵的带宽和相当可观的功耗。据书中描述,在空闲系统中,刷新功耗可能占到总功耗的三分之一。颠覆性认知:这实际上意味着,DRAM 芯片内部在执行周期性的后台“物理维护”任务,与 CPU 请求的数据活动竞争资源。这正是许多 DRAM 时序参数(如tRFC——Refresh Cycle Time)的物理来源。💡 实际启示对于系统设计者来说,这两段话指向一个现实结论:你不能把 DRAM 当作一个“只响应请求”的普通逻辑芯片。在设计内存控制器时,你必须:预设漏电模型:知道数据过一段时间会自己消失,必须留出硬件资源和时间窗口来执行刷新。权衡功耗与性能:刷新频率是固定的(通常 64ms 或 32ms 全局刷一次),如果降低刷新频率可以省电,但会有数据丢失的风险;如果提高刷新频率,会消耗更多总线带宽。理解时序参数:书中后面提到的所有复杂的tRC(行周期时间)、tRAS等,很大程度上都是围绕着这个“电容放电-补电”的物理过程而定义的。这是对DRAM物理结构的基础介绍,使用了非常形象的**“曼哈顿城市街道”类比**。我为您提供翻译与深度解读。1. 中文翻译图1:每个DRAM芯片内部都包含一个或多个存储阵列(memory arrays),即由存储单元构成的矩形网格,每个单元存储一位数据。因为这些阵列是矩形网格,所以最好用典型的网格结构概念来理解它们。一个好的类比是曼哈顿的街道布局:大道(avenues)呈南北走向,街道(streets)呈东西走向。当一个人想要在这样的城市中指定一个会合地点时,只需指定一条街道和一条大道的交叉口,地点就能被明确无误地确定。图2:内存阵列的组织方式正好与此类似,只不过曼哈顿是围绕“街道”和“大道”来组织的,而内存阵列是围绕**“行”(rows)和“列”(columns)**来组织的。图7.3展示了一个DRAM芯片存储阵列的图片,上面标出了行和列。通过指定行地址和列地址(即向DRAM提供行地址和列地址),内存控制器就可以访问DRAM芯片内部的一个单个存储单元,从而读取或写入那里存储的数据。2. 深度技术解读这两段话不仅是基础概念的科普,更是理解整个DRAM访问协议和时序的基石。📍 核心类比:曼哈顿坐标系统作者通过“曼哈顿网格”的比喻,将你(内存控制器)引导到一个具体地点的过程,映射到了DRAM内部庞大存储阵列的寻址方法上:街道(Street) ⇔ 行(Row):横向的线路。大道(Avenue) ⇔ 列(Column):纵向的线路。会合地点 ⇔ 存储单元(Storage Cell):存储1位数据的物理位置。这个类比之所以精彩,是因为它巧妙地解释了为什么DRAM的访问是分两步走的。🧩 两步寻址机制:先选行,再选列与SRAM那样的“给一个地址,直接输出数据”的简单方式不同,DRAM的寻址逻辑是分层的:行激活(Row Activation):控制器发送一个行地址。DRAM内部电路会“打开”这一整行的开关,将这一行中成千上万个存储单元的数据全部“倒”到一组特殊的缓冲电路中(称为读出放大器/Sense Amplifiers)。列访问(Column Access):控制器随后发送一个列地址。从刚才已经被激活的那一行(即已经被缓冲的那成千上万个数据)中,选出一个或一小部分具体的数据,通过芯片引脚发送回去。🔌 为什么这样设计?这种“选行 - 选列”的二维寻址方式,是DRAM为追求高密度而必须付出的成本代价:节省引脚:如果把行地址和列地址一次发送完,需要很多根引脚。分两次复用相同的地址引脚,可以大大减少芯片的封装尺寸和成本。充分利用空间:曼哈顿道路的类比让我们直观地看到,这是一种极其高效的二维坐标定位方式。💡 对系统设计者的启示这段基础描述直接引出了后续所有复杂时序参数的根源:如果你的内存控制器发起了新的请求,并且这个请求恰好落在同一个行里,它只需要做第二步(列访问),速度非常快(这叫Page Hit/行命中)。如果请求落在不同的行,控制器必须把刚才那个行“关掉”,再激活新的行(Precharge + Activate),这需要耗费相当长的时间(这叫Page Miss/行缺失)。这一“曼哈顿网格”结构,是理解DRAM为什么既有“随机访问”能力,又在局部连续访问时表现更佳(利用行缓存原理)的核心钥匙。好的,这是对图 7.3 的中文翻译和专业技术解读。1. 中文翻译图注(底部文字):图 7.3:DRAM 内部结构的基本组织。DRAM 存储阵列是一个存储单元的网格,其中每个数据位(bit)存储在一个“行”和“列”的交点处。图中各标签翻译:DRAM:整个大框代表 DRAM 芯片内部。Data In/Out Buffers:数据输入/输出缓冲器(负责外部接口与内部电路的桥梁)Column Decoder:列解码器(负责选择哪一列的数据输出)Sense Amps:读出放大器/灵敏放大器(用于感知和放大微弱的存储信号)Memory Array:存储阵列(存储数据的核心二维网格)Row Decoder:行解码器(负责激活选择哪一行)… rows …:表示水平方向的“行”。… columns …:表示垂直方向的“列”。Storage Cell and its Access:存储单元及其访问机制(右侧圆圈放大示意图)Word Line:字线(连接某一行的控制线)Bit Line:位线(连接某一列的读写数据线)a transistor:一个晶体管(作为控制开关)a capacitor:一个电容(用于存储电荷,表示 bit 的 0 或 1)2. 深度技术解读这张图是所有后续章节中最核心的 DRAM 物理基础。如果不理解这个 1T1C(单管单电容)阵列架构,就无法理解为什么 DRAM 有那么多复杂的时序参数。🔬 1. 核心存储单元:为什么它是“动态”的?图中右侧放大圆环展示了一个1T1C 存储单元(1 Transistor + 1 Capacitor)。电容(a capacitor):它就像一个微小的电池,储存电荷。如果里面有电荷,代表逻辑“1”;没有电荷,代表逻辑“0”。晶体管(a transistor):它像一个开关,控制电容与外界(位线)的连接。当需要读/写这个单元时,晶体管开关打开,电荷流入/流出电容。为什么是“动态”?:因为电容会漏电(不是完美的绝缘体),电荷会逐渐流失。如果不“充电”,数据会自己消失。这就是为什么 DRAM 需要周期性刷新(Refresh)。📍 2. “曼哈顿”网格寻址图中左侧展示的 Memory Array(存储阵列)是一个巨大的二维矩阵。字线(Word Line, 水平):当行解码器(Row Decoder)激活某一条字线时,整行的晶体管开关全部打开。位线(Bit Line, 垂直):当某一行打开后,该行所有存储单元中的数据(电荷)全部涌入垂直的位线。读出放大器(Sense Amps):因为一个单元里的电荷极其微弱(只有几万个电子),如果没有特殊的电路,根本检测不到变化。Sense Amps 的作用就是感知并放大这些微弱的电压变化,将其放大到标准的 0/1 电平。它是“行缓存”的物理基础。🚚 3. 访问顺序:先选行,再选列这解释了软件层面对 DRAM 访问的两个基本命令:行激活(RAS,Row Address Strobe):先给一个行地址,Row Decoder 激活某一行。整行数据被“搬运”到 Sense Amps。这是一个耗时长的过程(因为它要移动几千个比特)。列读取(CAS,Column Address Strobe):在行激活完成后,Column Decoder 从 Sense Amps 中挑选出那几千个比特中的一个(或一小段),通过 Data Buffer 发送出去。这一步速度很快。💡 现实设计启示这张图解释了为什么 DRAM 的时序参数如此复杂。例如:tRCD(RAS 到 CAS 延迟):就是“先激活行,再到数据准备好”的等待时间。tRC(行周期时间):就是“激活一行 - 读取 - 关闭并准备下一行”完整的物理周期。页命中(Page Hit)加速:如果你的下一次访问在同一行,DRAM 系统可以跳过行激活,直接做列读取。这是现代内存控制器进行复杂调度的物理原理。这是关于DRAM内部组织方式和如何通过位宽来对DRAM进行分类的说明。以下是翻译与深度解读。1. 中文翻译第一段:一种表征(分类)DRAM的方式是基于其内部存储阵列的数量。存储芯片内部的阵列可以以几种不同的方式工作:它们可以协调一致地工作,可以完全独立地工作,也可以介于两者之间。如果存储器阵列设计为统一动作,它们就作为一个整体来运行,每当存储控制器访问该DRAM时,芯片通常传输或接收与该阵列数量相同比特位的数据。例如,在一个简单的组织结构中,一个x4 DRAM(发音为“by four”)表明该DRAM至少有四个存储阵列,且其列宽度为4位(即每次列读或写操作都传输4位数据)。在一个x4 DRAM部件中,四个阵列各自读取1位数据,共同协同,因此每次控制器发出列读请求时,该部件就会向总线上发送4位数据。第二段:同样,一个x8 DRAM表明该DRAM至少有八个存储阵列,且列宽度为8位。图7.4展示了x2、x4和x8 DRAM的内部组织结构。在过去的二十年里,数据输出位宽更宽的DRAM已经出现,x16和x32部件现已十分常见,主要应用于高性能场景中。2. 技术解读:位宽(xN)如何影响性能这段文字解释了一个非常核心的概念:DRAM的“位宽(Bit Width)”与其内部并行机制。📦 核心概念:xN 代表什么?x4、x8、x16 并不是指芯片存储的总容量,而是指它的“数据总线宽度”
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2631833.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!