资讯动态

计算机组成原理:存储器运作原理详解

发布时间:2026/10/26 18:16:09 来源:尧图企业网站定制
一、为什么存储器是计算机的“记忆中枢”在计算机组成原理中存储器承担着保存程序和数据的关键职责。CPU 的运算速度再快如果没有可靠的存储体系支撑指令无法取入、结果无处存放整台机器也无法运转。理解存储器的运作原理本质上就是理解“数据如何被写入、如何被读出、如何被高效调度”这一整套机制。本文从存储器的层次结构出发逐步拆解存储单元的组织方式、读写时序、地址译码、刷新机制以及缓存与主存之间的协同关系帮助读者建立完整的存储器运作模型。二、存储器的层次结构现代计算机采用多级存储层次用容量、速度和成本的折中换取整体性能。典型层次自上而下为寄存器、高速缓存Cache、主存内存、辅存磁盘、SSD。层次典型介质访问速度容量特点寄存器触发器1 个时钟周期内几十到几百字节速度最快由编译器分配CacheSRAM几个时钟周期KB 到 MB 级对程序员透明由硬件管理主存DRAM几十到上百个时钟周期GB 级程序运行的主要空间辅存磁盘 / SSD毫秒到微秒级TB 级非易失容量大层次结构的核心思想是局部性原理程序在一段时间内倾向于访问相对集中的地址空间。正是这种时间局部性和空间局部性使得“把热数据放在快而小的存储器中”成为可行且高效的策略。三、存储单元与地址组织3.1 存储元与存储单元存储器的最小信息单位是存储元一个存储元保存 1 位二进制数据。若干个存储元组成一个存储单元通常以字节8 位为基本编址单位。每个存储单元都有一个唯一编号即地址。3.2 地址译码CPU 访问存储器时给出地址存储器内部通过地址译码器把二进制地址转换为具体的行、列选择信号。以n位地址为例可寻址2^n个单元。地址译码方式主要有两种单译码线性译码一个地址对应一条字选择线结构简单但地址位数多时译码器规模急剧膨胀。双译码矩阵译码把地址分为行地址和列地址分别译码后在交叉点选中存储单元大幅减少选择线数量是大容量存储器的常用方案。3.3 存储矩阵存储体通常组织为二维矩阵行选通线与列选通线交叉处即为一个存储单元。读写时行译码选中整行列译码选中具体列二者共同确定目标单元这种结构兼顾了容量与访问效率。四、存储器的读写运作过程4.1 读操作时序读操作的目标是把指定地址中的数据取出送到数据总线。典型流程如下CPU 将地址送上地址总线同时发出读控制信号。地址译码器完成译码选中目标存储单元。存储单元中的数据经读出放大器放大后送到数据总线。CPU 在数据稳定后采样数据总线完成一次读取。从地址有效到数据稳定输出所需的时间称为存取时间两次独立读写之间必须间隔的最小时间称为存取周期。存取周期通常略大于存取时间因为存储器需要恢复时间。4.2 写操作时序写操作的目标是把数据总线上的数据写入指定地址。流程为CPU 将地址送上地址总线将数据送上数据总线。发出写控制信号。地址译码选中目标单元写驱动电路把数据写入存储元。数据写入稳定后撤销写信号完成一次写入。4.3 读写控制信号存储器芯片通常提供片选信号CS、读使能OE、写使能WE。只有当片选有效时芯片才响应总线操作这也是多芯片扩展容量的基础。五、随机存储器 RAM 的运作原理5.1 SRAM静态随机存储器SRAM 的每个存储元由 6 个晶体管构成的双稳态触发器保存数据。只要供电存在数据就能稳定保持无需刷新。其特点是速度快、功耗相对较高、集成度低因此主要用作 Cache。5.2 DRAM动态随机存储器DRAM 用电容存储电荷来表示 0 和 1一个存储元通常只需 1 个晶体管加 1 个电容。电容会漏电电荷无法长期保持因此必须周期性刷新。刷新原因电容电荷泄漏若不补充将导致数据丢失。刷新方式集中刷新、分散刷新、异步刷新。异步刷新把刷新操作均匀分散到刷新周期内兼顾了刷新需求与正常访问。刷新特点刷新按行进行只做“读出再写回”不经过数据总线也不改变存储内容。DRAM 集成度高、成本低是主存的主流介质。其行列地址通常复用同一组引脚通过行地址选通RAS和列地址选通CAS分两次送入以减少引脚数量。六、只读存储器 ROM 的运作原理ROM 在断电后仍能保持数据常用于存放固件和启动程序。按可编程程度可分为掩膜 ROM出厂时写入不可修改。PROM用户可一次性编程。EPROM可用紫外线擦除后重写。EEPROM / Flash电可擦写Flash 是现代固件存储的主力。Flash 的读写以块为单位擦除、以页为单位编程这一特性直接影响了文件系统和固态硬盘的运作方式。七、存储器容量扩展单颗存储芯片容量有限实际系统需要通过扩展组成更大的存储空间常见方式有三种7.1 位扩展当芯片的字长不足时用多片芯片并行连接共同组成更宽的数据字。例如用 8 片 1 位芯片组成 8 位字长各片共享地址线和片选信号分别提供数据总线的一位。7.2 字扩展当芯片的存储单元数量不足时用多片芯片扩展地址空间。高位地址经译码后产生各芯片的片选信号低位地址直接连到各芯片实现地址空间的划分。7.3 字位同时扩展实际系统往往同时进行字扩展和位扩展先按位扩展组成所需字长再按字扩展组成所需容量。八、Cache 与主存的协同运作8.1 映射方式Cache 容量远小于主存需要建立主存块到 Cache 行的映射关系直接映射主存块只能放到唯一确定的 Cache 行硬件简单但冲突率高。全相联映射主存块可放到任意 Cache 行冲突率低但比较电路复杂。组相联映射折中方案组间直接映射、组内全相联是现代 Cache 的主流选择。8.2 替换算法与写策略当 Cache 行被占满时需要替换常用算法有随机替换、先进先出FIFO和最近最少使用LRU。写策略方面写直达同时更新 Cache 和主存实现简单但写流量大写回只更新 Cache 并置脏位待替换时再写回主存能显著减少主存写次数。8.3 一次访存的完整路径flowchart TD A[CPU 发出虚拟地址] -- B[MMU 地址转换] B -- C{查 TLB} C --|命中| D[得到物理地址] C --|未命中| E[查页表] E -- D D -- F{查 Cache} F --|命中| G[返回数据给 CPU] F --|未命中| H[访问主存] H -- I[按块调入 Cache] I -- G这条路径清晰地体现了存储层次的分工TLB 加速地址转换Cache 加速数据访问主存提供容量支撑三者协同才能让 CPU 尽可能少地等待。九、性能指标与优化思路衡量存储器性能的常用指标包括存取时间、存取周期、带宽和命中率。其中平均访问时间可近似表示为平均访问时间 命中率 × Cache 访问时间 (1 - 命中率) × 主存访问时间由此可见提升命中率对整体性能影响巨大。常见优化手段包括增大 Cache 容量、优化块大小、提高相联度、改进替换算法以及通过程序局部性优化减少不必要的访存。十、总结存储器的运作原理可以概括为一条主线地址译码定位单元读写控制完成数据交换层次结构借助局部性原理提升整体效率。SRAM 与 DRAM 的介质差异决定了 Cache 与主存的分工ROM 与 Flash 保证了非易失存储的可靠性而容量扩展、映射方式与替换策略则把单颗芯片组织成完整的存储系统。掌握这些机制后再去看 CPU 流水线中的访存停顿、程序性能分析中的缓存未命中率就能理解其背后的硬件根源这也是计算机组成原理学习中极具价值的一环。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑