计算机组成原理-Part3——存储系统

[TOC]

存储系统基本概念

存储器的层次结构

  • image-20211018200033029
  • 辅存中的数据要调入主存后才能被 CPU 访问
  • 主存—辅存:实现虚拟存储系统,解决了主存容量不够的问题
  • Cache—主存:解决了主存与 CPU 速度不匹配的问题

存储器的分类

  1. 层次:
    • 高速缓存(Cache)
    • 主存储器(主存、内存)
    • 辅助存储器(辅存、外存)
  2. 存储介质:
    • 半导体存储器(主存、Cache)
    • 磁表面存储器(磁盘、磁带)
    • 光存储器(光盘)
  3. 存取方式:
    • 随机存取存储器(Random Access Memory,RAM)(内存)
      • 只读存储器 ROM 也是随机存取方式
    • 串行访问存储器:读写某个存储单元所需时间与存储单元的物理位置有关
      • 顺序存取存储器(Sequential Access Memory,SAM)(磁带):读写一个存储单元所需时间取决于存储单元所在的物理位置
      • 直接存取存储器(Direct Access Memory,DAM)(磁盘):既有随机存取特性,也有顺序存取特性。先直接选取信息所在区域,然后按顺序方式存取。
    • 相联存储器(Associative Memory),即可按内容访问的存储器(Content Addressed Memory,CAM):可以按照内容检索到存储位置进行读写,“快表”就是一种相联存储器。
  4. 信息的可更改性:
    • 读写存储器(Read/Write Memory):即可读、也可写(磁盘、内存、Cache)
    • 只读存储器(Read Only Memory):只能读,不能写(实体音乐专辑通常采用 CD-ROM、实体电影采用蓝光光碟、BIOS 通常写在 ROM 中)
  5. 信息的可保存性:
    • 断电后,存储信息消失的存储器——易失性存储器(主存、Cache)
    • 断电后,存储信息依然保持的存储器——非易失性存储器(磁盘、光盘)
    • 信息读出后,原存储信息被破坏——破坏性读出(如 DRAM 芯片,读出数据后要进行重写)
    • 信息读出后,原存储信息不被破坏——非破坏性读出(如 SRAM 芯片、磁盘、光盘)

存储器的性能指标

  1. 存储容量:存储字数(MDR)×字长(MAR)。
  2. 单位成本:每位价格=总成本/总容量。(每个 bit 位的成本)
  3. 存储速度:数据传输率=数据的宽度/存储周期。
    • 数据的宽度=存储字长
    • 数据传输率=主存带宽

image-20211018202338820

  • 存取时间(Ta):指从启动一次存储器操作到完成该操作所经历的时间,分为读出时间和写入时间。
  • 存取周期(Tm):又称读写周期访问周期。它是指存储器进行一次完整的读写操作所需的全部时间,即连续两次独立地访问存储器操作(读或写操作)之间所需的最小时间间隔。
    • 存取周期=存取时间+恢复时间
  • 主存带宽(Bm):又称数据传输率,表示每秒从主存进出信息的最大数量,单位为字/秒、字节/秒(B/s)或位/秒(b/s)。

主存储器的基本组成

半导体元件的原理

  • image-20211018203602384
  • MOS 管相当于一种电控开关,输入电压达到某个阈值时,MOS 管就可以接通
  • 之所以是按存储字读写,是因为一个存储单元共用一条线来控制 MOS 管,只能同时读取或同时写入一个字

存储芯片的基本原理

  • image-20211018204801463
  • 头上划线表示该信号低电平有效
  • 引脚与数据线
    • 地址线
    • 数据线
    • 片选线:一块内存条可能有多块存储芯片
      • CS:Chip-Select;CE:Chip-Enable(两种表示方式皆可,当有上划线则表示低电平有效)
      • 对选中存储芯片的片选线给予低电平,对未选中的给予高电平
    • 读写线
      • 当使用不同数量的读写线,则对外暴露的引脚是不一样的
      • 使用 WE(Write Enable)、OE,则两根读写线
      • 使用 WE或WR 则一根读写线(低电平写,高电平读)
  • 译码器驱动电路:将地址信号转化成字选通线的高低电平
  • 存储矩阵(存储体):由多个存储单元构成,每个存储单元又由多个存储元构成

如何实现不同的寻址方式

  • image-20211018223923446
  • 一般以字节编址,即每个字节对应一个地址。同时也能够支持按半字、字、双字寻址
  • 存储单元的长度并不影响按何种方式寻址,但是一次读写数据必须按字为单位
  • n 根地址线能够寻 2^n^ 个存储单元

SRAM 和 DRAM

  • 随机存取存储器(Random Access Memory,RAM)
    • Dynamic Random Access Memory,即动态RAM
    • Static Random Access Memory,即静态RAM
    • DRAM 用于主存SRAM 用于 Cache
  • 核心区别:存储元不一样
    • DRAM芯片:使用栅极电容存储信息
    • SRAM芯片:使用双稳态触发器存储信息

存储元件不同导致的特性差异

栅极电容

image-20211019205541116

  • 存储状态
    • 1:电容内存储了电荷
    • 0:电容内未存储电荷
  • 读出状态
    • 读出 1:MOS 管接通,电容放电,数据线上产生电流
    • 读出 0:MOS 管接通后,数据线上无电流
  • 特点
    • 电容放电信息被破坏,是破坏性读出。所以,读出后应有重写操作,也称“再生”
    • 读写速度更慢
    • 制造成本更低,集成度高,功耗低

双稳态触发器

image-20211019205912531

  • 存储状态
    • 1:A 高电平 B 低电平
    • 0:A 低电平 B 高电平
  • 读出状态
    • 读出 0:BL 为低电平,BLX 无信号
    • 读出 1:BLX 为低电平,BL 无信号
  • 特点
    • 读出数据,触发器状态保持稳定,是非破坏性读出无需重写
    • 读写速度更快
    • 制造成本更高,集成度低,功耗大

DRAM 和 SRAM 对比(高频)

类型特点 SRAM(静态 RAM) DRAM(动态 RAM)
存储信息 触发器 电容
破坏性读出
读出后需要重写
运行速度 man
集成度
发热量
存储成本
易失/非易失性存储器 易失(断电后丢失信息) 易失(断电后丢失信息)
需要刷新 不需要 需要
送行列地址 同时送 分两次送
常用与制作 Cache 主存

DRAM 的刷新

image-20211019220838787

  • 为什么刷新?

    • 双稳态(静态RAM,SRAM)只要不断电,触发器的状态就不会改变。所以不需要刷新
    • 栅极电容(动态RAM,DRAM)电容内的电荷只能维持 2ms。即便不断电,2ms 后信息也会消失。所以,2ms 之内必须“刷新”一次(给电容充电)
  • 多久需要刷新一次?刷新周期:若题目没有指明,则一般为 2ms

  • 每次刷新多少存储单元?以行为单位,每次刷新一行存储单元

    • 为什么要用行列地址?减少选通线的数量。拆分为行列地址(DRAM行、列地址等长
  • 如何刷新?有硬件支持,读出一行的信息后重新写入,占用1个读/写周期(存取周期)

  • 在什么时刻刷新?

    • 假设 DRAM 内部结构排列成 128×128 的形式,读/写周期 0.5us。2ms 共 2ms / 0.5us = 4000 个周期
  • image-20211019215622587

  • “刷新”由存储器独立完成,不需要 CPU 控制。

DRAM 的地址线复用技术

  • SRAM 同时送行列地址DRAM 分两次送行列地址
  • 同时送指的是将地址的前后两部分同时送给行地址译码器和列地址译码器。这样的话,地址有 n 位,就要设计 n 根地址线
  • 但是 DRAM 的存储容量较大。所以将地址线、引脚减半,先将前半部分送入行地址缓冲器,再将后半部分送入列地址缓冲器

只读存储器 ROM

各种 ROM

  1. MROM(Mask Read-Only Memory)——掩模式只读存储器
    • 厂家按照客户需求,在芯片生产过程中直接写入信息,之后任何人不可重写(只能读出)
    • 可靠性高、灵活性差、生产周期长、只适合批量定制
  2. PROM(Programmable Read-Only Memory)——可编程只读存储器
    • 用户可用专门的PROM写入器写入信息,写一次之后就不可更改
  3. EPROM(Erasable Programmable Read-Only Memory)——可擦除可编程只读存储器
    • 允许用户写入信息,之后用某种方法擦除数据,修改次数有限,写入时间很长
    • UVEPROM(ultraviolet rays)——用紫外线照射8~20分钟,擦除所有信息
    • EEPROM(也常记为E2 PROM,第一个E是Electrically)——可用“电擦除”的方式,擦除特定的字
  4. Flash Memory ——闪速存储器(注:U盘、SD卡就是闪存)
    • 在EEPROM 基础上发展而来,断电后也能保存信息,且可进行多次快速擦除重写
    • 注意:由于闪存需要先擦除在写入,因此闪存的“写”速度要比“读”速度更慢
    • 每个存储元只需单个MOS管,位密度比RAM高
  5. SSD(Solid State Drives)—— 固态硬盘
    • 由控制单元+存储单元(Flash 芯片)构成,与闪速存储器的核心区别在于控制单元不一样,但存储介质都类似,可进行多次快速擦除重写
    • SSD速度快、功耗低、价格高。
    • 手机辅存也使用Flash 芯片,但相比SSD使用的芯片集成度高、功耗低、价格贵
  • 很多 ROM 芯片虽然名字是“Read-Only”,但很多 ROM 也可以“写”
  • RAM(Random Access Memory)芯片是易失性的,ROM(Read-Only Memory)芯片是非易失性的。很多 ROM 也具有“随机存取”的特性

计算机内的重要 ROM

  • image-20211019223754947
  • 针对问题
    • 断电后,RAM内数据全部丢失
    • 操作系统安装在辅存
  • 主板上的 BIOS 芯片(ROM),存储了“自举装入程序”,负责引导装入操作系统(开机)
  • 逻辑上,主存由 RAM+ROM 组成,且二者常统一编址
  • 我们常说“内存条”就是“主存”,但事实上,主板上的 ROM 芯片也是“主存”的一部分

主存储器与 CPU 的连接

单块存储芯片与 CPU 的连接

  • 针对问题:想要扩展主存字数

    • 改进方向:字扩展
    • 连接多块存储芯片来扩展主存字数
  • 针对问题:想要扩展存储字长

    • 改进方向:位扩展
    • 一个存储字长是 8bit,而数据总线一般有 64bit
    • 为了尽可能发挥数据总线的性能,要保持数据总线宽度=存储字长,提高一次读写的数据量
  • 现在 MDR 和 MAR 常集成于 CPU 内部,存储芯片内只需要一个普通的寄存器(暂存输入输出数据)

    • image-20211020121325377
    • CPU 和主存之间通过数据总线地址总线控制总线连接
    • image-20211020123151574
    • 对外暴露的引脚:地址线+数据线+片选线+读写控制线

多块存储芯片与 CPU 的连接

位扩展法

  • image-20211020130901005
  • nk×m 位的存储芯片,集合成 k×(m×n) 的芯片

字扩展法

线选法
  • image-20211020131651225
  • n 条线可提供 n 个片选信号
  • nk×m 位的存储芯片,集合成 (n×k)×m 的芯片
片选法
  • image-20211020131755343
  • n 条线可提供 2^n^ 个片选信号
  • nk×m 位的存储芯片,集合成 (n^2^×k)×m 的芯片
  • 要注意译码器的接线,若 A15 无接线,则 A15 取值与地址无关
线选法 译码片选法
n 条线 -> n 个片选信号 n 条线 -> 2^n^ 个片选信号
电路简单 电路复杂
地址空间不连续 地址空间连续

字位扩展法

  • image-20211020133531141
  • 同时扩展字位

译码器知识补充

  • image-20211020135655208
  • 低电平有效还是高电平有效,在译码器与存储芯片之间是相互协调同步的,都带圈或都不带圈。带圈则低电平,否则高电平。
  • 译码器会有一个或者多个使能端,带圈则低电平,否则高电平。
    • CPU 可使用译码器的使能端控制片选信号的生效时间
    • 保证地址的信号稳定之后,再由 MREQ 发出存储器请求信号,然后译码器发出片选信号
  • RAM的读周期
    • image-20211020135621066

双端口 RAM 和多模块存储器

存取周期

  • image-20211020140333261
  • 存取周期:可以连续读/写的最短时间间隔
    • 存取周期T = 存取时间r + 恢复时间
  • DRAM 芯片的恢复时间比较长,有可能是存取时间的几倍(SRAM的恢复时间较短)
    • 如:存取时间为 r,存取周期为 T,T=4r
    • 针对问题:多核CPU都要访存;CPU 读写速度比主存快很多,而主存恢复时间太长

双端口 RAM

  • image-20211020140651218
  • 作用:优化多核 CPU 访问一根内存条的速度
  • 需要有两组完全独立的数据线、地址线、控制线
  • CPU、RAM 中控制电路也更复杂
  • 两个端口对同一主存操作有以下 4 种情况:
    1. 两个端口同时对不同的地址单元存取数据。
    2. 两个端口同时对同一地址单元读出数据。
    3. 两个端口同时对同一地址单元写入数据。 (禁止)
    4. 两个端口同时对同一地址单元,一个写入数据,另一个读出数据。(禁止)
  • 置“busy”信号为 0,由判断逻辑决定暂时关闭一个端口(即被延时)

多模块存储器

多体并行存储器

  • image-20211020151139894

  • 高位交叉编址更慢低位交叉编址更快

  • 为什么要探讨“连续访问”的情况?诸如数组、程序代码,都是在连续空间中存储的。

  • 低位交叉编址

    • 采用“流水线”的方式并行存取(宏观上并行访问 m 个模块,微观上串行访问 m 个模块)
    • 宏观上,一个存储周期内,m 体交叉存储器可以提供的数据量为单个模块的 m 倍。
  • 应该取多少个存储体?

    • 存取周期为 T,存取时间总线传输周期)为 r,为了使流水线不间断,应保证模块数 m≥T/r
    • 存取时间:存储体的性能瓶颈。总线传输周期:将数据传给 CPU 所需要的时间
      • 虽然意义不同,但都代表了 CPU 存取一次的时间都不可能低于 r
    • image-20211020151753136
  • 通过地址 x,确定为第几个存储体

    • 通过二进制 体内地址+体号 中的体号确定
    • 通过十进制对地址取余 x%m

单体多字存储器

  • 每次并行读出 m 个连续的
  • 总线宽度也要扩展成 m
  • 速度效率因为是一次读出 m 个字,所以跟多体并行存储器是差不多的
    • 但是相比多体并行存储器,单体多字存储器更加不灵活

Cache 的基本概念和原理(高频)

高速缓冲存储器 Cache

  • 针对问题:双端口 RAM、多模块存储器提高存储器的工作速度,但与 CPU 差距依然很大
  • 改进方向:更高速的存储单元 Cache 和存储体系的改善“Cache-主存”层次
  • 依据:程序访问的局部性原理
  • Cache 的工作原理:
    • Cache 被集成在CPU内部,Cache 用 SRAM 实现,速度快,成本高。
    • 将可能会被经常用到的代码/数据复制一份到 Cache

局部性原理

  • image-20211020221430934
  • 空间局部性:在最近的未来要用到的信息(指令和数据),很可能与现在正在使用的信息在存储空间上是邻近的
    • Eg:数组元素、顺序执行的指令代码
  • 时间局部性:在最近的未来要用到的信息,很可能是现在正在使用的信息
    • Eg:循环结构的指令代码
  • 基于局部性原理,可以把 CPU 目前访问的地址“周围”的部分数据放到 Cache 中
  • 程序 B 按“列优先”访问二维数组,空间局部性更差,更难利用 Cache 的优势

性能分析

  • 设 tc 为访问一次 Cache 所需时间,tm 为访问一次主存所需时间
  • 命中率 H:CPU 欲访问的信息已在 Cache 中存在的比率
  • 缺失(未命中)率 M:1 - H
  • “Cache—主存”系统的平均访问时间 t 为:
    • 先访问 Cache,若 Cache 未命中再访问主存:t = H * tc + (1 - H) * (tc + tm)
    • 同时访问 Cache 和主存,若 Cache 命中则立即停止访问主存:t = H * tc + (1 - H) * tm

存储空间分块

  • image-20211020223722710
  • 主存与 Cache 之间以“块”为单位进行数据交换。
  • 主存地址可以看作为:块号 + 块内地址
  • 操作系统中,通常将主存中的“一个”也称为“一个页/页面/页框
  • Cache 中的“”也称为“
  • 每次被访问的主存块,一定会被立即调入 Cache
  • Cache 的块和主存的块大小相等

Cache 和主存的映射方式

Cache 中存储的信息

  • 针对问题:如何确定 Cache 与主存的数据块对应关系
  • Cache 中存储的信息:有效位(0/1标记是否有效)+ 标记(来自主存的块号)+ 块数据
  • image-20211021090740397

全相联映射

  • image-20211021092031684
  • 映射规则:主存块可以放在 Cache 的任意位置
  • 优点:Cache 存储空间利用充分,命中率高
  • 缺点:查找标记慢,可能要遍历所有行
  • CPU 访存:
    • 将想要访问的主存地址的前 22 位主存块号,对比 Cache 中所有块的标记
    • 若标记匹配且有效位=1,则 Cache 命中,访问块内地址为 001110 的单元。
    • 若未命中或有效位=0,则正常访问主存

直接映射

  • image-20211021093735633
  • 映射规则:每个主存块只能放到一个特定的位置:Cache块号 = 主存块号 % Cache总块数
  • 优点:对于任意地址只需要比对一遍标记,速度最快
  • 缺点:即使其他地方有空闲 Cache 块,但是不一定能使用。存储空间利用不充分,命中率低
  • 优化标记:
    • Cache总块数=2^n^ 则主存块号末尾 n 位直接反映它在 Cache 中的位置
    • 其主存块号的其余位即为标记
  • CPU 访存:
    • 根据主存块号的后 3 位确定 Cache 行
    • 若主存块号的前 19 位与 Cache 标记匹配且有效位=1,则 Cache 命中,访问块内地址为 001110 的单元。
    • 若未命中或有效位=0,则正常访问主存

组相连映射

  • image-20211021094545290
  • 映射规则:Cache 块分为若干组,每个主存块可放到特定分组中的任意一个位置:组号 = 主存块号 % 分组数
  • n 路组相联映射——每 n 个Cache 行为一组
  • 优点:是前两种的折中方式
  • CPU 访存:
    • 根据主存块号的后 2 位确定所属分组号
    • 若主存块号的前 20 位与分组内的某个标记匹配且有效位=1, 则 Cache 命中,访问块内地址为 001110 的单元。
    • 若未命中或有效位=0,则正常访问主存

Cache 替换算法

  • image-20211021204805492

  • 针对问题:Cache 很小,主存很大。如何替换满 Cache 的块数据

  • 抖动现象频繁的换入换出现象(刚被替换的块很快又被调入)

  • 随机算法RAND, Random)—— 若 Cache 已满,则随机选择一块替换。

    • 评价::实现简单,但完全没考虑局部性原理,命中率低,实际效果很不稳定
  • 先进先出算法FIFO, First In First Out)—— 若 Cache 已满,则替换最先被调入 Cache 的块

    • 评价::实现简单,依然没考虑局部性原理,最先被调入 Cache 的块也有可能是被频繁访问的
  • 近期最少使用算法LRU, Least Recently Used )—— 为每一个 Cache 块设置一个“计数器”,用于记录每个 Cache 块已经有多久没被访问了。当 Cache 满后替换“计数器”最大的

    • 机器实现:
      • 命中时,所命中的行的计数器清零比其低的计数器加1,比其高的不变
      • 未命中且还有空闲行时,新装入的行的计数器置0,其余非空闲行全加1;
      • 未命中且无空闲行时,计数值最大的行的信息块被淘汰,新装行的块的计数器置0,其余全加1。
    • 刷题策略:当需要确定替换谁时,在“依次访问主存块”列表向前数 n 位,最后一个即为淘汰项
    • Cache 块的总数=2^n^,则计数器只需 n 位。且 Cache 装满后所有计数器的值一定不重复
    • 评价:
      • 基于“局部性原理”,近期被访问过的主存块,在不久的将来也很有可能被再次访问,因此淘汰最久没被访问过的块是合理的。LRU 算法的实际运行效果优秀,Cache 命中率高
      • 但若被频繁访问的主存块数量 > Cache 行的数量,则有可能发生“抖动”,如:{1,2,3,4,5,1,2,3,4,5,1,2…}
  • 最不经常使用算法LFU, Least Frequently Used )—— 为每一个 Cache 块设置一个“计数器”,用于记录每个 Cache 块被访问过几次。当 Cache 满后替换“计数器”最小的

    • 若有多个计数器最小的行,可按行号递增、或 FIFO 策略进行选择
    • 计数器范围可能会很大
    • 评价:曾经被经常访问的主存块在未来不一定会用到(如:微信视频聊天相关的块),并没有很好地遵循局部性原理,因此实际运行效果不如 LRU
  • 最常考察的是近期最少使用算法 LRU,同时也不太会考察计数器,掌握刷题策略即可

Cache 写策略

  • 针对问题:CPU 修改了 Cache 中的数据副本,如何确保主存中数据母本的一致性?
  • 读操作不会导致数据不一致性,所以只需要讨论写操作

写命中

全写法

  • image-20211021212957934
  • 全写法(写直通法,write-through) —— 当CPU对Cache写命中时,必须把数据同时写入 Cache 和主存,一般使用写缓冲(write buffer)
  • 访存次数增加,速度变慢,但更能保证数据一致性
  • 使用写缓冲时:CPU 写的速度很快,若写操作不频繁,则效果很好。若写操作很频繁,可能会因为写缓冲饱和而发生阻塞。

写回法

  • image-20211021212704830
  • 写回法(write-back) —— 当 CPU 对 Cache 写命中时,只修改 Cache 的内容,而不立即写入主存,只有当此块被换出时才写回主存
  • 要新增一个脏位,表示是否经过修改
  • 减少了访存次数,但存在数据不一致的隐患

写不命中

写分配法

  • image-20211021213711247
  • 写分配法(write-allocate)——当 CPU 对 Cache 写不命中时,把主存中的块调入 Cache,在 Cache 中修改。通常搭配写回法使用

非写分配法

  • image-20211021213515741
  • 非写分配法(not-write-allocate)——当 CPU 对 Cache 写不命中时只写入主存,不调入Cache。搭配全写法使用
    • 全写法—— 当 CPU 对 Cache 写命中时,必须把数据同时写入Cache和主存,一般使用写缓冲
    • 只有“读”未命中时才会调入 Cache

多级 Cache

  • image-20211021213826421
  • 各级 Cache 之间常采用“全写法+非写分配法”。保证数据一致性。
  • Cache-主存 之间常采用“写回法+写分配法”。减少访存次数。

页式存储器

页式存储

  • 页式存储系统:
    • 一个程序(进程)在逻辑上被分为若干个大小相等的页面
    • 页面大小与块的大小相同
    • 每个页面可以离散地放入不同的主存块中,从而提高主存的利用率。
  • CPU 执行的机器指令中,使用的是“逻辑地址”,因此需要通过“页表”将逻辑地址转为物理地址
    • 逻辑地址(虚地址):程序员视角看到的地址
      • 逻辑地址= 逻辑页号+页内地址(虚地址=虚页号+页内地址)
    • 物理地址(实地址):实际在主存中的地址
      • 物理地址= 主存块号+页内地址(实地址=实页号+页内地址)
    • 页表的作用:记录了每个逻辑页面存放在哪个主存块中
    • image-20211021220933259

地址变换过程

  • image-20211021221504428
  • 快表是一种“相联存储器”,可以按内容寻访
  • 快表中存储的是页表项的副本;Cache中存储的是主存块的副本。

虚拟存储器

页式虚拟存储器

  • image-20211021231033684
  • 有效位:这个页面是否已调入主存
  • 脏位:这个页面是否被修改过
  • 引用位:用于“页面置换算法”,比如,可以用来统计这个页面被访问过多少次
  • 物理页:即主存块号
  • 磁盘地址:即这个页面的数据在磁盘中的存放位置

段(页)式虚拟存储器

  • image-20211021231601239
  • 页式虚拟存储器——拆分成大小相等的页面
  • 段式虚拟存储器——按照功能模块拆分。如:#0 段是自己的代码,#1 段是库函数代码,#2 段是变量
  • 段页式虚拟存储器——把程序按逻辑结构分段,每段再划分为固定大小的页,主存空间也划分为大小相等的页。
    • 程序对主存的调入、调出仍以页为基本传送单位。
    • 每个程序对应一个段表,每段对应一个页表。
    • 虚拟地址:段号+段内页号+页内地址

习题课

3.1.3

  1. 存取方式与存储方式

    • 存取方式:随机存取、串行(顺序)存取、直接存取
    • 存储方式:顺序、链式、索引、散列

    存储器分类:

    • image-20211225164146029
  2. 磁盘属于:串行访问存储器 - 直接存取存储器

    • image-20211225164339641
  3. 存取周期 = 存取时间 + 恢复时间

  4. 注意单位

  5. 相联存储器工作方式:

    • image-20211225165429253
  6. image-20211225165555408

  7. 数据传输率 = 传输数据量 / 耗时

    • 1s = 1×10^3^ms = 1×10^6^us = 1×10^9^ns

3.2.2

  1. image-20211225181430102
  2. 存储系统:cache、主存、辅存
  3. 同 1
  4. image-20211225181742673

大题

  1. 规范解法:

    • image-20211225182731893

    cache/主存系统访问效率

    • image-20211225183010512

    变体

    • image-20211225183145205

3.3.4

  1. image-20211225200305039

  2. 地址线取决于寻址单元的个数;数据线取决于每个存储单元的容量,即存储字长。

  3. 原理:

    • 利用存储元电路中栅极电容上的电荷来存储信息

    特点:

    • 相对比于SRAM,需要刷新,刷新对CPU是透明的,以行为单位
    • 地址复用技术,地址线是原来的1/2,且地址信号分行和列传送
  4. image-20211225200915238

  5. RAM:都是易失性存储器

    ROM:都是非易失性存储器

  6. DRAM:

    • 这里片选线是由行列通选来代替了

    • image-20211225201345205

  7. 注意 1M=2^20^

  8. 随机存储器 RAM、只读存储器 ROM 都是使用半导体来制作

    只读存储器发展出擦写功能,但写的速度远小于读

  9. 同 7

  10. image-20211225202117993

  11. 主存需要由 RAM 和 ROM 一起组成。

  12. 同 14;EPROM 不能取代 RAM

  13. 如果工作中内容会产生变化,则不能拿来当做存储器

  14. Synchronous Dynamic Random Access Memory。同步动态随机存储器,与CPU时钟严格同步

大题

    • image-20211225203422410 image-20211225203422410
    • ①采用高速DRAM芯片;②采用多体交叉存储结构;③刷新存储器至显示控制器的内部总线宽度加倍;④采用双端口存储器将刷新端口和更新端口分开。

  1. 刷新和地址数据线无关

    • image-20211225204309552
    • image-20211225204537007
    • 题意下的物理实现:一根选通线控制两行单元
      • image-20211225205100904

3.4.5

3.5.3

3.6.6

3.7.6