计算机组成原理知识点总结——第三章存储系统

目录

  • 一、基本概念
  • 二、半导体随机存储器
    • (一)主存储器的基本组成
    • (二)⭐SRAM和DRAM⭐
    • (三)只读ROM芯片
  • 三、主存储器与CPU的连接
    • (一)主存容量扩展
  • 四、双端口RAM和多模块存储器
    • (一)双端口RAM
    • (二)⭐多模块存储器⭐
  • 五、磁盘存储器
    • (一)外存储器
    • (二)磁盘存储器
    • (三)磁盘阵列RAID
    • (四)小节脑图
  • 六、⭐固态硬盘SSD(新出考点)⭐
  • 七、⭐⭐高速缓冲器⭐⭐
    • (一)Cache的基本概念和原理
    • (二)⭐⭐Cache和主存的映射方式⭐⭐
    • (三)⭐Cache的替换算法⭐
    • (四)Cache的写策略
      • 写命中
      • 写不命中
      • 多级Cache
      • 小节脑图
  • 八、⭐虚拟存储器⭐
    • (一)⭐页式存储器⭐
    • (二)虚拟存储系统

一、基本概念

1、存储的层次化结构
在辅存里的数据要调入主存后才能被CPU访问
计算机组成原理知识点总结——第三章存储系统_第1张图片
主存——辅存:实现虚拟存储系统,解决了主存容量不够的问题
Cache——主存:解决了主存与CPU速度不匹配的问题

2、存储器的分类
按层次分类
高速缓存和主存储器能被CPU直接读写,辅助存储器需读入主存或高速缓存才能够被CPU读写。

  • 高速缓存(Cache)
  • 主存储器(主存、内存)
  • 辅助存储器(辅存、外存)

按存储介质分类

  • 半导体存储器(主存、Cache)
  • 磁表面存储器(磁盘、磁带)
  • 光存储器(光盘)

按存取方式分类

  • ⭐随机存取存储器RAM⭐(内存条):读写任何一个存储单元所需时间都相同,与存储单元所在的物理位置无关
  • 顺序存取存储器SAM(磁带):读写一个存储单元所需时间取决于存储单元所在的物理位置。
  • 直接存取存储器DAM(磁盘):既有随机存取特性、也有顺序存取特性。先直接选取信息所在区域,然后按顺序方式存取。
  • 相联存储器CAM(快表):可以按照内容检索到存储位置进行读写。

⭐存取速度:RAM>DAM>SAM⭐

按信息的可更改性

  • 读写存储器——即可读、也可写(如:磁盘、内存、Cache)
  • 只读存储器——只能读,不能写

按信息的可保存性

  • 易失性存储器——断电后、存储信息消失的存储器(主存、Cahce)
  • 非易失性存储器——断电后、存储信息依然保持的存储器(磁盘、光盘)

3、存储器的性能指标

  • 存储容量——存储字数X字长
  • 单位成本——每位价格=总成本/总容量
  • 存储速度——数据传输率=数据的宽度(存储字长)/存储周期

计算机组成原理知识点总结——第三章存储系统_第2张图片

  • 存取时间Ta——存取时间是指从启动一次存储器操作到完成该操作所经历的时间,分为读出时间和写入时间。

  • 存取周期Tm——存取周期又称为读写周期或访问周期。它是指存储器进行一次完整的读写操作所需的全部时间,即连续两次独立地访问存储器操作(读或写操作)之间所需的最小时间间隔。

主存带宽Bm——主存带宽又称数据传输率,表示每秒从主存进出信息的最大数量,单位为字/秒、字节/秒(B/s)或位/秒(b/s)

二、半导体随机存储器

(一)主存储器的基本组成

1、存储器的组成
计算机组成原理知识点总结——第三章存储系统_第3张图片
计算机组成原理知识点总结——第三章存储系统_第4张图片
⭐数据总线宽度=存储字长⭐
地址总线连接CPU,需要查询的数据地址存入MAR地址寄存器,当传入过来的电平稳定后,控制电路打开译码器开关,选择线路,有几个存储单元就有多少个地址,选择地址后通高电平,当存储单元中的每位电平输出到MDR数据寄存器中并且稳定后,控制电路允许数据传输到数据总线中。CS和CE为芯片选择信号,一个内存条中有多个存储芯片块,当CS或CE通低电平时表示选择该块存储芯片。一个存储芯片中至少有一条读写控制线。
⭐总容量=存储单元个数x存储字长=2nx8bit;⭐

⭐⭐芯片引脚数目=片选线+读写控制线+地址总线+数据线+供电引脚+接地引脚⭐⭐

2、⭐寻址⭐
当存储器总容量为1KB时
⭐按字节寻址⭐:1K个单元,每个单元1B
按字寻址:256个单元、每个单元4B
按半字寻址:512个单元、每个单元2B
按双字寻址:128个单元,么个单元8B

3、小节脑图
计算机组成原理知识点总结——第三章存储系统_第5张图片

(二)⭐SRAM和DRAM⭐

⭐RAM芯片——易失性,断电后数据消失⭐
1、⭐⭐高频考点:DRAM和SRAM的对比⭐⭐

核心区别——存储元不一样

  • DRAM芯片:使用栅极电容存储信息
  • SRAM芯片:使用双稳态触发器存储信息

计算机组成原理知识点总结——第三章存储系统_第6张图片
DRAM&SRAM
计算机组成原理知识点总结——第三章存储系统_第7张图片
2、⭐DRAM的刷新⭐
DRAM电容上的电荷只能够维持1~2ms,即使不断电,超过维持时间信息也会自动消失,所以每隔一段时间必须刷新,一般为2ms。
刷新由存储器独立完成,不需要CPU控制。

分散刷新

  • 每次读写完都刷新一行
  • 系统的存取周期变为1us
  • 前0.5us时间用于正常读写,后0.5us用于刷新某行。全程只有2000个周期在读写。
    计算机组成原理知识点总结——第三章存储系统_第8张图片

集中刷新

  • 2ms内集中安排时间全部刷新。
  • 系统的存取周期还是0.5us,有一段时间专门用于刷新,这段时间系统无法访问存储器,称为访存“死区”
    计算机组成原理知识点总结——第三章存储系统_第9张图片

⭐异步刷新⭐

  • 2ms内每行刷新1次即可
  • 2ms内需要产生128次刷新请求,每隔2ms/128=15.6us一次,每15.6us内又0.5us用于刷新,会产生0.5us的“死时间”,可以在译码或其他空闲时间内进行刷新。
    计算机组成原理知识点总结——第三章存储系统_第10张图片

3、DRAM的地址复用技术
计算机组成原理知识点总结——第三章存储系统_第11张图片
⭐先发送行地址,再发送列地址,然后在进行查询,分两次发送能够减少地址线,引脚数目减半。⭐

(三)只读ROM芯片

⭐⭐ROM芯片——非易失性,断电后数据不会丢失⭐⭐

1、了解各种ROM

  1. MROM——掩模式只读存储器
    常见按照客户需求,在芯片生产过程中直接写入信息,之后任何人不可重写,只能读出
    特点:可靠性高、灵活性差、生产周期长、只适合批量定制
  2. PROM——可编程只读存储器
    用户可用专门的PROM写入器写入信息,写一次之后就不可更改
  3. EPROM——可擦除可编程存储器
    允许用户写入信息,之后用某种方法擦除数据,可进行多次重写
    UVEPROM——紫外线照射8~20分钟,擦除所有信息
    EEPROM——可用电擦除的方式,擦除特定的字
  4. Flash Memory——闪速存储器(U盘、SD卡)
    断电后也能保存信息,且可以进行多次快速擦除重写
    闪存需要先擦除再写入,因此闪存的“写”速度比“读”速度更慢
  5. SSD——固态硬盘
    由控制单元+存储单元构成,与闪速存储器的核心区别在于控制单元不一样,但存储介质都类似,可进行多次快速擦除重写。SSD速度快、功耗低、价格高。

2、计算机内部重要的ROM
主板上的BIOS芯片(ROM),存储了“自举装入程序”,负责引导装入操作系统(开机)
计算机组成原理知识点总结——第三章存储系统_第12张图片
注意,BIOS也是属于主存的一部分。

3、小节脑图
计算机组成原理知识点总结——第三章存储系统_第13张图片

三、主存储器与CPU的连接

(一)主存容量扩展

1、位扩展
计算机组成原理知识点总结——第三章存储系统_第14张图片
2、⭐字扩展⭐
计算机组成原理知识点总结——第三章存储系统_第15张图片
线选法&译码片选法
计算机组成原理知识点总结——第三章存储系统_第16张图片
注:线选法的地址空间不连续,译码片选法地址空间连续,使用译码器控制地址。

3、字位同时扩展

计算机组成原理知识点总结——第三章存储系统_第17张图片
4、译码器
注意译码器的接口是高电平有效还是低电平有效,接口带圈圈的则代表低电平有效。
计算机组成原理知识点总结——第三章存储系统_第18张图片
片选有效信号与**MREQ(有横杠,低电平有效)**有关,因为只有当CPU访问内存时,才要求选中存储芯片。若CPU访问I/O,则MREQ(有横杠)为高,表示不要求存储器工作。
计算机组成原理知识点总结——第三章存储系统_第19张图片

5、小节脑图
计算机组成原理知识点总结——第三章存储系统_第20张图片

四、双端口RAM和多模块存储器

计算机组成原理知识点总结——第三章存储系统_第21张图片
存取周期:可以连续读/写的最短时间间隔
DRAM芯片的回复时间比较长,有可能是存取时间的几倍(SRAM的恢复时间较短)

(一)双端口RAM

计算机组成原理知识点总结——第三章存储系统_第22张图片
作用⭐优化多核CPU访问一根内存条的速度⭐
需要有两组完全独立的数据线、地址线、控制线。CPU、RAM中也要有更复杂的控制电路。
两个端口对同一主存操作有以下4种情况

  1. 两个端口同时对不同的地址单元存取数据
  2. 两个端口同时对同一地址单元读出数据
  3. 两个端口同时对同一地址单元写入数据——造成写入错误
  4. 两个端口同时对同一地址单元,一个写入数据,另一个读出数据——造成读写错误。

⭐解决办法⭐:置”忙“信号为0,由判断逻辑决定暂时关闭一个端口(即被延时),未被关闭的端口正常访问,被关闭的端口延长一个很短的时间段后再访问。类似操作系统的”读者-写者问题“。

(二)⭐多模块存储器⭐

1、多体并行存储器
高位与低位交叉编制的区别就是存储体号在地址编号的高位还是低位。
计算机组成原理知识点总结——第三章存储系统_第23张图片

假设每个存储体存取周期为T,存取时间为r,假设T=4r,若需要连续访问00000、00001、00010、00011、00100四个存储单元时的,高位和低位交叉编址的区别。
计算机组成原理知识点总结——第三章存储系统_第24张图片
因为是连续访问连续的地址,一个存储体,读完之后,需要3r的时间进行恢复,所以高位地址连续地址存储在一个存储体中,需要等待存储体恢复,得到的时间就是要5T,低位交叉编址存储体地址以行排列,连续的地址在不同存储体商,当1r读取完抵第一个存储体上的数据后,可以直接访问下一个准备好的存储体进行访问,无需等待,需要的耗时就是2T。
⭐低位交叉编址存储体读取n各存储字耗时=T+(n-1)r⭐

⭐⭐存取周期为T,存取时间(总线传输周期)为r,为了使流水线不间断(可以一直存取),应保证存储体数m>=T/r⭐⭐
计算机组成原理知识点总结——第三章存储系统_第25张图片
2、 单体多字存储器
计算机组成原理知识点总结——第三章存储系统_第26张图片

小节脑图
计算机组成原理知识点总结——第三章存储系统_第27张图片

五、磁盘存储器

(一)外存储器

计算机的外存储器又称为辅助存储器,目前主要使用磁表面存储器。
所谓“磁表面存储”,是指把某些磁性材料薄薄地涂在金属铝或塑料表面上作为载磁体来存储信息。磁盘存储器、磁带存储器和磁鼓存储器均属于磁表面存储器。
计算机组成原理知识点总结——第三章存储系统_第28张图片
⭐每次读和写都是以1bit进行的。⭐
优点

  1. 存储容量大、位价格低
  2. 记录介质可以重复使用
  3. 记录信息可以长期保存而不丢失,甚至可以脱机存档
  4. 非破坏性读出读出时不需要再生。

缺点

  1. 存取速度慢
  2. 机械结构负责
  3. 对工作环境要求较高

(二)磁盘存储器

1、磁盘设备的组成
磁盘驱动器:核心部件是磁头组件和盘片组件,温彻斯特盘是一种可移动头固定盘片的硬盘存储器。
计算机组成原理知识点总结——第三章存储系统_第29张图片
磁盘控制器:是硬盘存储器和主机的接口,主流的标准由IDE、SCSI、SATA等
计算机组成原理知识点总结——第三章存储系统_第30张图片
计算机组成原理知识点总结——第三章存储系统_第31张图片
2、磁盘的性能指标

  1. 磁盘的容量
    一个磁盘所能存储的字节总数称为磁盘容量。磁盘容量由非格式化容量和格式化容量之分。
  2. 记录密度
    记录密度是指盘片单位面积上记录的二进制的信息量,通常以道密度、位密度和面密度表示
    道密度是沿磁盘半径方向单位长度上的 磁道数;
    位密度是磁道单位长度上能记录的二进制代码位数
    面密度是位密度和道密度的乘积。
  3. ⭐⭐平均存取时间⭐⭐
    平均存取时间=寻道时间(磁头移动到目的磁道)+旋转延迟时间(磁头定位到所在扇区)+传输时间(传输数据所花费的时间)
    计算机组成原理知识点总结——第三章存储系统_第32张图片
  4. 数据传输率
    磁盘储器在单位时间内向主机传送数据的字节数,称为数据传输率。
    假设磁盘转数为r(转/秒),每条磁道容量为N个字节,则数据传输率为Dr=rN

3、磁盘地址
计算机组成原理知识点总结——第三章存储系统_第33张图片

4、硬盘的工作过程
硬盘的主要操作是寻址、读盘、写盘。每个操作都对应一个控制字,硬盘工作时,第一步是取控制字,第二步是执行控制字。
硬盘属于机械式不见,其读写操作是串行的,不可能在同一时刻读写同步,也不可能在同一时刻读两组数据或写两组数据。

(三)磁盘阵列RAID

是将多个独立的物理磁盘组成一个独立的逻辑盘,数据在多个物理盘上分割交叉存储、并行访问,具有更好的存储性能、可靠性、和安全性。

  1. RAID0:无冗余和无校验的磁盘阵列——没有容错能力
  2. RAID1:镜像磁盘阵列——容量减少一半
    计算机组成原理知识点总结——第三章存储系统_第34张图片
  3. RAID2:采用纠错的海明码的磁盘阵列
    计算机组成原理知识点总结——第三章存储系统_第35张图片
  4. RAID3位交叉奇偶校验的磁盘阵列
  5. RAID4块交叉奇偶校验的磁盘阵列
  6. RAID5:无独立校验的奇偶校验磁盘阵列

⭐自上向下可靠性越高。⭐

(四)小节脑图

计算机组成原理知识点总结——第三章存储系统_第36张图片

六、⭐固态硬盘SSD(新出考点)⭐

计算机组成原理知识点总结——第三章存储系统_第37张图片
1、固态硬盘的结构

固态硬盘的读写单位以页为单位计算机组成原理知识点总结——第三章存储系统_第38张图片

七、⭐⭐高速缓冲器⭐⭐

(一)Cache的基本概念和原理

1、工作原理
当一个应用程序被启动时,系统将程序指令代码等信息从辅存中存入的主存中,但是CPU的运行速度很快,主存的速度相对较慢,所以会有一个Cache高速缓冲器,Cache将该程序当前需要重复调用的指令内容存入到Cache中,CPU从Cache抽调指令和数据进行处理。
计算机组成原理知识点总结——第三章存储系统_第39张图片
实际上,Cache被集成在CPU内部,Cache用SRAM实现,速度快,成本高。
2、局部性原理

  1. 空间局部性
    在最近的未来要用到的信息(指令和数据),很可能与现在正在使用的信息在存储空间上是相邻的。
  2. 时间局部性
    在最近的未来要用到的信息,很可能是现在正在使用的信息。

计算机组成原理知识点总结——第三章存储系统_第40张图片
如上图所示,数据在内存中是连续存在,相邻部分的数据元素很有可能被访问到,将这些存放到Cache中,这既是空间局部性。而for循环中的sum在接下来的循环中还是会被访问到,所以这个求和指令会被放入Cache中,这就是时间局部性。

3、⭐⭐性能分析⭐⭐
计算机组成原理知识点总结——第三章存储系统_第41张图片
tc 为访问一次Cache所需时间,tm 为访问一次主存所需时间。
命中率H:CPU欲访问的信息已在Cache中的比率
缺失(未命中)率M=1-H
Cache——主存系统的平均访问时间t为:

  • 先访问Cache,未命中再访问主存的情况——t=Htc+(1-H)(tc+tm)
  • 同时访问Cache和主存的情况—— t=Htc+(1-H)*tm

例题
计算机组成原理知识点总结——第三章存储系统_第42张图片
4、小节脑图
计算机组成原理知识点总结——第三章存储系统_第43张图片

(二)⭐⭐Cache和主存的映射方式⭐⭐

1、全相联映射(随意放)
计算机组成原理知识点总结——第三章存储系统_第44张图片
优点:Cache存储空间利用充分,命中率高;
缺点:查找”标记“最慢,有可能需要对比所有行的标记

2、直接映射(只能放固定位置)
当对应Cache块有内容时,即使别的Cache块有空闲位也不能放置,只能对对应的空闲块进行覆盖。
若Cache总块数=2n,则主存块号末尾n位直接反映它在Cache中的位置
,将主存块号的其余位作为标记即可。
计算机组成原理知识点总结——第三章存储系统_第45张图片
优点:对于任意一个地址,只需要对比一个”标记“,速度最快;
缺点:Cache存储空间利用不充分,命中率低
3、组相联映射(可放到特定分组)
计算机组成原理知识点总结——第三章存储系统_第46张图片
优点:另外两种方式的折中,综合效果较好。

4、小节脑图
计算机组成原理知识点总结——第三章存储系统_第47张图片

(三)⭐Cache的替换算法⭐

这一小节和操作系统页面置换算法很像,挺简单的。
1、随机算法(RAND)
若Cache已满,则随机选择一块替换
计算机组成原理知识点总结——第三章存储系统_第48张图片
实现简单,但完全没有考虑局部性原理,命中率低,实际效果很不稳定。
其实就是当Cache块满了就随机换掉一块。

2、先进先出算法(FIFO)
若Cache已满,则替换最先被调入的Cache的块。
计算机组成原理知识点总结——第三章存储系统_第49张图片
如上图,当第4号块存入Cache后,Cache块满了,后面访问块5的时候,已经没有Cache块可以用了,于是将最先放入的块1替换掉。
实现简单,最开始按#0#1#2#3放入Cache,之后轮流替换#0#1#2#3。FIFO依然没考虑局部性原理,最先被调入的Cache的块也有可能是被频繁访问的。容易出现抖动现象。
抖动现象:频繁的换入换出现象(刚被替换的块又很快被调入)。

3、⭐⭐近期最少使用(LRU)⭐⭐
为每一个Cache块设置一个"计数器”,用于记录每个Cache块已经有多久没被访问了。当Cache满后替换“计数器”最大。(近期没有被访问过的先换出去)
计算机组成原理知识点总结——第三章存储系统_第50张图片
基于“局部性原理”,近期被访问过的主存块,在不久的将来也很有可能被再次访问,因此淘汰醉酒没被访问过的块是合理的。LRU算法的实际运行效果优秀,Cache命中率高。若被频繁访问的主存块数量>Cache行的数量,则有可能放生“抖动”,如{1,2,3,4,5,1,2,3,4,5,1,2,……}

4、最不经常使用算法(LFU)
为每一个Cache块设置一个“计数器”,用于记录每个Cache块被访问过几次。当Cache满后替换“计数器”最小的。(Cache块被访问的次数最小的)
计算机组成原理知识点总结——第三章存储系统_第51张图片
曾经被经常访问的主存块在未来不一定会用到,并没有很好的遵循局部性原理,因此实际运行效果不如LRU。

5、小节脑图
计算机组成原理知识点总结——第三章存储系统_第52张图片

(四)Cache的写策略

写命中

1、写回法
当CPU对Cache写命中时,只修改Cache的内容,而不立即写入主存,只有当此块被换出时才写回主存。
计算机组成原理知识点总结——第三章存储系统_第53张图片
设置一位“脏位”表示该Cache块是否被修改过。
减少了访存次数,但存在数据不一致的隐患

2、全写法(写直通法)
当CPU对Cache写命中时,必须把数据同时写入写入Cache和主存,一般使用写缓冲。
计算机组成原理知识点总结——第三章存储系统_第54张图片
写缓冲使用SRAM实现,写入速度块。使用写缓冲,与CPU写的速度很快,若写操作不频繁,则效果好。若写操作很频繁,可能会因为写缓冲饱和而发生阻塞。

写不命中

1、写分配法
当CPU对Cache写不命中时,把主存中的块调入Cache,在Cache中修改。通常搭配写回法一起使用。
计算机组成原理知识点总结——第三章存储系统_第55张图片
2、非写分配法
当CPU对Cache写不命中时,只写入主存,不调入Cache。通常搭配全写法使用。
计算机组成原理知识点总结——第三章存储系统_第56张图片

多级Cache

现代计算机常采用多级Cache
离CPU越近的速度越快,容量越小
离CPU越远的速度越慢,容量越大
计算机组成原理知识点总结——第三章存储系统_第57张图片

小节脑图

计算机组成原理知识点总结——第三章存储系统_第58张图片

八、⭐虚拟存储器⭐

(一)⭐页式存储器⭐

1、基本概念
分页:将程序分成大小相等的页面。
页是存储系统:一个程序(进程)在逻辑上被分为若干个大小相等的“页面”,“页面”大小与“块”的大小相同。每个页面可以离散地放入不同的主存块中。

逻辑地址(虚地址):程序员视角看到的地址
物理地址(实地址):实际在主存中的地址
计算机组成原理知识点总结——第三章存储系统_第59张图片
CPU执行的机器指令中,使用的是”逻辑地址“,因此需要通”页表“将逻辑地址转为物理地址。
⭐页表的作用⭐:记录了每个逻辑页面存放在哪个主存块中。

2、地址变换过程(增加TLB)
概念

  • 相当于引入了一个Cache称为快表(TLB),每次在慢表中访问到逻辑页面的时候,将页表项放入快表,当查询逻辑地址的时候,都先进入快表查找是否有页表项。

快表是一种”相联存储器“,可以按内容寻访。
快表使用SRAM,慢表使用DRAM。

快表只能保存慢表的某一部分信息,跟Cache一样,当存满的时候要进行替换
计算机组成原理知识点总结——第三章存储系统_第60张图片
⭐注意区别⭐:快表中存储的是页表项的副本:Cache中存储的是主存块的副本。

3、小节总结计算机组成原理知识点总结——第三章存储系统_第61张图片
⭐逻辑地址=逻辑页号+页内地址(虚地址=虚页号+页内地址)⭐
⭐物理地址=主存块号+页内地址(实地址=实页号+页内地址)⭐

(二)虚拟存储系统

虚拟存储器系统和上面的主存和Cache的存储方式很相似,是辅存和主存之间的存储过程。辅存内的数据遵循局部性原则存入主存,原理基本相似

1、页式虚拟存储器
将辅存中某程序进行分块,然后局部性原则放入主存,页面替换算法原理也类似。同样也有”脏位“等字段。
计算机组成原理知识点总结——第三章存储系统_第62张图片
计算机组成原理知识点总结——第三章存储系统_第63张图片

主存——辅存:实现了虚拟存储系统,解决了主存容量不够的问题
Cache——主存:解决了主存与CPU速度不匹配的问题。

2、段式虚拟存储器

按照功能模块拆分,每个段长都不一样。
计算机组成原理知识点总结——第三章存储系统_第64张图片
因为每一个段长不一样,所以段表中有段长字段,而且主存地址中不再分块。
计算机组成原理知识点总结——第三章存储系统_第65张图片

3、段页式虚拟存储器
把程序按逻辑结构分段,每段再划分为固定大小的页,主存空间页划分为大小相等的页,程序对主存的调入、调出仍以页尾基本传送单位。每个程序对应一个段表,每段对应一个页表。
计算机组成原理知识点总结——第三章存储系统_第66张图片

虚拟地址:段号+段内页号+页内地址。

你可能感兴趣的:(考研笔记,开发语言,职场和发展,经验分享)