第三章
3.1 存储系统基本概念 重点
存储的分类 按照存取方式
随机存取存储器(RAM) 内存
顺序存取存储器(SAM)磁带
直接存取存储器(DAM)磁盘
SAM和DAM都属于串行访问存储器

按照信息读出后 原信息是否被破坏
DRAM芯片 破坏性读出 磁盘光盘
SRAM芯片 非破坏性读出

存储性能指标 容量 数据传输速率即带宽 存储周期

3.2 主存

主存储器的基本组成

一次读写的完整流程是什么样的

豆包总结
一次读操作完整流程

  1. CPU 把内存地址送入 MAR,通过地址总线发给存储芯片。
  2. 地址送到芯片内部译码器,译码选中存储矩阵某一行(存储单元)
  3. 片选信号,把这块芯片激活。
  4. 发读控制信号 O E \overline{OE}
  5. 被选中一行全部 bit,经过读写电路送上数据总线,送入 MDR,CPU 拿到数据。

一次写操作完整流程

  1. 地址从 MAR 经地址总线送入芯片,译码选中目标存储单元。
  2. 片选信号有效,激活芯片。
  3. CPU 要写的数据放到 MDR,送到数据总线
  4. 发写控制信号 W E \overline{WE}
  5. 数据总线上的数据,写入存储矩阵选中行的存储元。

注意点 区分片内地址和片选地址
片选是外部电路 拿高位地址生成 所有芯片全部收到全部地址 包括没选中的芯片 但是片选无效

这里就可以联想下一个知识点

存储扩展的两种方式

  1. 位扩展 扩充字长
  2. 字扩展 这就是上面的方式 片选目标的芯片

寻址方式
按字节寻址 按字寻址 按半字寻址 按双字寻址

SRAM和DRAM
DRAM 用于主存 SRAM用于cache

重点:SRAM和DRAM对比

对比点整理
豆包整理

  1. ✅SRAM:静态,触发器,6MOS,非破坏读,不需要刷新,速度快,做 Cache。知道 BL、BLX 是一对互补位线即可 集成低 发热量大
  2. ✅DRAM:动态,栅极电容,1MOS + 电容,破坏性读出,读后重写再生,还要定时刷新,集成度高,做主存。集成高 发热量小
    补充集成高低的意思
    同一个芯片上能装更多的bit 意味这集成度高 不难想象DRAM的集成度更高
    注意“DRAM 集成度高,因此存取速度更快” → ❌错,集成度高≠速度快,DRAM 速度反而比 SRAM 慢。

补充发热量的意思
SRAM 不是读写的时候才耗电,静态保持数据的时候就在持续耗电发热。 双稳态触发器里面,始终有管子处于导通,一直有电流在回路流动,只要通电维持数据,就持续消耗电能

DRAM
电容保存电荷,静态(不读不写)的时候几乎没有电流;只有读写、刷新瞬间才有电流。
大部分时间几乎不耗电,所以整体发热量小,功耗低

补充送行列地址的区别
DRAM 芯片引脚数量有限,为了减少芯片引脚,行地址、列地址复用同一组地址线
SRAM:同时送 SRAM 的行地址、列地址有分开独立的两组地址引脚,行、列地址同一时刻一起送入芯片,一次性译码。

同:全都是易失存储器

选择会考零碎的概念区别
大题考DRAM 刷新的三种方式:集中式、分散式、异步刷新 算刷新间隔 刷新开销

  1. 以行为单位 每次刷新一行
    引出一个知识点 为什么要区分行列地址 -- 减少选通线的个数

‼️‼️注意二维译码减少选通线和 地址线复用 一定要好好区分 在脑中多过几次

芯片把地址拆成行地址、列地址,内部做行译码、列译码
减少芯片内部的行 / 列选通线(字线)数量
发生在芯片内部电路,外部引脚不受影响
选通线的数量 是有多少个存储单元或者存储元(看具体题目)就有多少根
引脚的数量是存储单元的对数 也就是地址线的位数
芯片把地址拆成行地址、列地址 并不能减少引脚的数目
让引脚数目减少的是行列地址复用 引脚减半

  1. 刷新的方式

豆包口诀:
DRAM 电容会漏电,二毫秒内全行刷;
集中刷新死区长,分散刷新速度垮;
异步分摊最实用,按行刷新别管列。

ROM
只读存储器 ROM
可能的考法 区分几类ROM 区分和RAM的区别

5 类 ROM 简单区分(必背)

  1. MROM(掩膜 ROM):工厂出厂时硬件光刻做好内容,用户完全不能改写
  2. PROM(一次可编程 ROM):用户可以烧录仅此 1 次,烧完再也改不了。
    EPROM(Erasable Programmable Read-Only Memory)——可擦除可编程只读存储器允许用户写入信息,之后用某种方法擦除数据,可进行多次重写
  3. UVEPROM(紫外线擦除):紫外线照射整片芯片,整片全部擦除,可以反复烧写;不能按字节擦除,必须全片擦。
  4. 闪存(Flash Memory):属于E²PROM 进化版;可以按块 / 按页擦除,不用整片擦;可以快速改写,断电不丢数据。
  5. SSD 固态硬盘不是芯片,是成品设备,由多颗 Flash 闪存芯片 + 主控 + 缓存组装而成。

⚠️易错:SSD≠闪存,闪存是芯片,SSD 是用闪存做出来的磁盘形态设备。

双端口RAM和 多模块存储器

先明白这两个东西是干嘛的 DRAM芯片恢复时间比较长有可能是存取时间的几倍

但是多核cpu都要方寸 而且CPU的读写速度比主存快很多

双端口RAM了解即可

多模块存储器 也分为两种

  1. 多体并行存储器
  2. 单体多字存储器

多体并行存储器
可以理解为多个内存条
有两种编址方式: 高位交叉和低位交叉

重点是分析连续访问多个地址的存取时间
假如T=4r T是存取周期 r是存取时间
高位交叉:连续读5个单位的数据高位交叉就是 5*T
低位交叉:在T=4r的情况下 如果刚好使用4个内存条 那么前4个也就是前(n-1)读取时间就是每过r就读入一块数据最后一块数据的读取需要一整个T 即(n-1)r+T
这就是流水线的思量
所以可以推出来 要想一个流水线不中断 m≥T/r 小于时 需要等待 大于时 某个体会闲置

还有一种 单体多字存储器
豆包补充关于单体多字的说明
硬件:只有 1 套存储阵列(“单体”),但是存储体内部,每个存储单元存 m 个字。总线宽度拉宽为 m 个字

一次读m个字 靠加宽总线来拿更多数据

和位扩展有点像 但是 位扩展是凑一个字的bit 单体多字是直接一次读出m个字
缺点:如果程序不是顺序连续读,性能很差。

⚠️注意 对于多体并行存储器和字扩展的一点说明

多个存储器如果只按照高位交叉编址组织 就只是扩充容量 相当于字扩展
但是如果编址方式采用了低位交叉编址就可以即扩容又提高读写速度 !注意这里 确实可以提速 但是只有连续、成块访问的时候才能发挥高速效果

3.2 主存储器和cpu的连接

这一讲其实就是详细探讨 存储器的字扩展和位扩展

⚠️ 关于控制信号 CS和CE片选信号 以及流程的说明

存储器读操作 信号完整流程

前提:存储器芯片:地址线A、数据线D(双向)、片选 C S \boldsymbol{\overline{CS}} (低有效)、读写控制 W E \boldsymbol{\overline{WE}} (高读、低写)。
考试核心:信号先后顺序、哪些信号由 CPU 发出、什么时候数据稳定出现在数据总线、片选的作用