Have a Question?

如果您有任务问题都可以在下方输入,以寻找您想要的最佳答案

内存是什么原理,DRAM SRAM 区别 原理

内存是什么原理

题图来自Unsplash,基于CC0协议

导读

  • 内存工作原理 存储单元 寻址 读写过程
  • DRAM SRAM 区别 原理
  • 内存 地址映射 缓存 命中率
  • 内存芯片 结构 行地址列地址 刷新
  • 计算机内存 层次结构 寄存器 缓存 主存
  • 计算机内存是CPU与外部存储(如硬盘)之间的中间桥梁,它直接与CPU交互,为数据处理提供高速访问能力。其核心原理建立在通过存储单元阵列存储数据,利用地址总线进行精准定位。

    每个存储单元默认存储一个位(bit),但实际应用中通常以字节(byte)为单位处理,因此内存通过矩阵形式组织存储单元,每个单元有一个唯一的地址码。在进行读操作时,内存控制器向内存发送包含目标地址的命令。内存芯片内部有一个地址解码器(Address Decoder),它会将这个地址划分为行地址和列地址,并驱动行选通(Row Address Strobe, RAS)和列选通(Column Address Strobe, CAS)信号。首先,命中目标对应的存储行,这通常涉及激活行上的开关晶体管以连接公共数据线,随后数据被从该行的各个列读出至数据线,最终经由数据总线返回到CPU。写操作类似,地址确定目标位置后,除了地址信息外,还会传送待写入的数据,同样通过行列地址选通到目标存储单元进行写入,更新其内部状态(如改变晶体管导通状态或电容电荷状态)。

    内存的核心家族主要有DRAM和SRAM两种。SRAM(静态随机存取存储器)通过激发晶体管构成的多路交叉开关电路(如一个4晶体管6栅极结构)来保持比特状态,无需定期刷新就能长期维持数据,但其结构昂贵,集成度相对较低,主要用于高速缓存等对速度敏感的核心区域。DRAM(动态随机存取存储器)则使用电容来存储每个位的信息,电容充放电代表0和1。电容天然不稳定,会随时间失去电荷导致数据丢失,因此DRAM必须依赖定期的刷新操作来重新充电保抬数据。虽然单个位存储成本更低,集成度高,但速度限制和刷新需求使得它主要用于构成系统的主要内存容量。

    为了平衡速度、成本和容量,计算机采用内存层次结构。第一层是寄存器(如CPU内部的缓存),速度最快,但容量最小。紧随其后的是不同级别的高速缓存(L1、L2、L3 Cache),其中L1缓存通常采用SRAM技术,L2/L3可能部分使用更快的Buffer或少量DRAM缓存,但主流的L2 L3还是大量依赖DRAM技术以提供更大的容量和相对合理的成本。最外层的主存则主要由构成的大量DRAM芯片组成,负责存储操作系统、应用程序和用户数据。CPU每次访问数据时,首先检查缓存(各级Cache),如果在L1、L2或L3命中,则直接获取数据,速度极快。如果未在缓存中找到,就会触发Cache Miss,然后内存控制器从主存(物理地址空间对应的位置)读取数据,并将其放入缓存中以备下次访问,同时操作系统可能进行地址映射,将逻辑地址或虚拟地址转换为物理的内存地址(若存在虚拟内存机制,则可能先经过MMU, Memory Management Unit转换)。这种分层设计利用了局部性原理(时空局部性),使得CPU可以以接近寄存器的速度访问远超寄存器容量的数据。

    具体从物理内存芯片看,DRAM通常采用平面工艺,存储单元阵列被蚀刻成一个又一个细小的单元,每个单元原本是一个带掺杂的N型或P型浮空栅极电容。访问时,除了列地址,行地址通常是串行送入到行地址寄存器的,然后一次解码所有行地址位确定目标行。列地址则是在收到RAS有效之后,结合现行激活的行地址一起在列地址锁存器中解码出具体的列位置,然后拉低Column Strobe信号从选通的列中读取数据。这就是所谓的行-列访问模式,这也是DRAM速度相对较慢的原因之一,因为它要求寻址至少需要两次信号(RAS和CAS)和一定的预充电时间。正是与DRAM的速度相比,其包含的相同数量的位就比DRAM芯片贵很多。 这些元素共同构成了从高速寄存器、多级缓存到庞大但速度适中的主存的概念,构成了计算机数据存储和访问的基础。

    © 版权声明

    本文由盾科技原创,版权归 盾科技所有,未经允许禁止任何形式的转载。转载请联系candieraddenipc92@gmail.com