计组之存储系统

存储器概述

分类

1.按在计算机中的作用(层次)分类

  • 主存储器。CPU可以直接随机地对其进行访问,也可以和高速缓冲存储器(Cache)及辅助存储器交换数据。
  • 辅助存储器。辅存的内容需要调入主存后才能被CPU访问。
  • 高速缓冲存储器。位于主存和CPU之间,现代计算机通常将它们制作在CPU中。

|---------|--------------|---------------------------------|-----------------------------------|
| | 别名 | 用途 | 特点 |
| 主存储器 | 主存,内存储器(内存) | 用来存放计算机运行期间所需的程序和数据 | 容量较小、存取速度较快、每位的价格较高。 |
| 辅助存储器 | 辅存,外存储器 (外存) | 用来存放当前暂时不用的程序和数据,以及一些需要永久性保存的信息 | 容量大、存取速度较慢、单位成本低。 |
| 高速缓冲存储器 | Cache | 用来存放当前 CPU经常使用的指令和数据 | Cache的存取速度可与CPU的速度相匹配,但存储容量小、价格高。 |

2.按存储介质分类

  • 存储器可分为磁表面存储器(磁盘、磁带)
  • 磁芯存储器
  • 半导体存储器(MOS型存储器、双极型存储器)
  • 光存储器(光盘)。

3.按存取方式分类

  • 随机存储器(RAM)。 RAM又分为静态RAM和动态RAM
  • 只读存储器(ROM)。
  • 串行访问存储器。包括:顺序存取存储器(如磁带)与直接存取存储器(如磁盘、光盘)。
  • 顺序存取存储器 的内容只能按某种顺序存取,存取时间的长短与信息在存储体上的物理位置有关,其特点是存取速度慢。
  • 直接存取存储器 既不像RAM那样随机地访问任何一个存储单元,又不像顺序存取存储器那样完全按顺序存取,而是介于两者之间。存取信息时通常先寻找整个存储器中的某个小区域(如磁盘.上的磁道),再在小区域内顺序查找。

|------------|-------------------------------------------------|
| | 特点 |
| 随机存储器(RAM) | 随机存取,而且存取时间与存储单元的物理位置无关读写方便、使用灵活,主要用作主存或高速缓冲存储器 |
| 只读存储器(ROM) | 只能随机读出而不能写入,信息一旦写入存储器就固定不变,即使断电,内容也不会丢失 |
| 串行访问存储器 | 对存储单元进行读/写操作时, 需按其物理位置的先后顺序寻址 |

4.按信息的可保存性分类

  • 断电后,存储信息即消失的存储器,称为易失性存储器,如RAM。
  • 断电后信息仍然保持的存储器,称为非易失性存储器,如ROM、磁表面存储器和光存储器。
  • 若某个存储单元所存储的信息被读出时,原存储信息被破坏,则称为破坏性读出;
  • 若读出时,被读单元原存储信息不被破坏,则称为非破坏性读出。
  • 具有破坏性读出性能的存储器,每次读出操作后,必须紧接一个再生的操作,以便恢复被破坏的信息。

存储器的性能指标

存储器有3个主要性能指标,即存储容量、单位成本和存储速度。这3个指标相互制约,设

计存储器系统所追求的目标就是大容量、低成本和高速度。

  • 存储容量=存储字数x字长(如1Mx8位)。单位换算: 1B (Byte, 字节)=8b (bit, 位)。.
  • 单位成本:每位价格=总成本/总容量。
  • 存储速度:数据传输率=数据的宽度/存取周期(或称存储周期)。
  • ①存取时间(Tg):存取时间是指从启动一次存储器操作到完成该操作所经历的时间,分为读出时间和写入时间。
  • ②存取周期(Tm):存取周期又称读写周期或访问周期。它是指存储器进行- -次完整的读写操作所需的全部时间,即连续两次独立访问存储器操作(读或写操作)之间所需的最小时间间隔。
  • ③主存带宽(Bm):主存带宽又称数据传输率,表示每秒从主存进出信息的最大数量,单位为字/秒、字节/秒(B/s) 或位/秒(b/s)。
  • 存取时间不等于存取周期,通常存取周期大于存取时间。

多级层次的存储系统

相联存储器是按( 内容指定方式和地址指定方式相结合 )进行寻址的存储器。

设机器字长为64位,存储容量为128MB,若按字编址,它可寻址的单元个数是16M

主存储器

DRAM和SRAM

主存储器由DRAM实现,靠处理器的那一层(Cache) 则由SRAM实现

DRAM常用的刷新方式有3种:

  • 集中刷新:指在一个刷新周期内,利用一段固定的时间,依次对存储器的所有行进行逐一再生。
  • 分散刷新:把对每行的刷新分散到各个工作周期中。
  • 异步刷新:异步刷新是前两种方法的结合。

|------|--------|-------------------------------------------|
| | 是否有死时间 | 特点 |
| 集中刷新 | 有 | 优点是读写操作时不受刷新工作的影响;缺点是在集中刷新期间(死区)不能访问存储器 |
| 分散刷新 | 没有 | 优点是没有死区;缺点是加长了系统的存取周期,降低了整机的速度。 |
| 异步刷新 | 缩短死时间 | 既可缩短"死时间",又能充分利用最大刷 新间隔为2ms的特点,提高了整机的工作效率 |

SRAM例题 :某一SRAM芯片,其容量为1024x8位,除电源和接地端外,该芯片的引脚的最小数目为(A)。

A.21 B.22 C.23 D.24

芯片容量为1024x8位,说明芯片容量为1024B,且以字节为单位存取,即地址线数要10根

(1024B = 2^10B)。 8位说明数据线要8根,加上片选线和读/写控制线(读控制为RD、写控制为WE),因此引脚数最小为10 + 8 +1+2 = 21根

注意:读写控制线也可共用一根,但题中无20选项,做题时应随机应变。
DRAM例题 :某一DRAM芯片,采用地址复用技术,其容量为1024x8 位,除电源和接地端外,该芯

片的引脚数最少是( ) (读写控制线为两根)。

A.16.

B.17

C.19

D.21

1024x8位,因此可寻址范围是1024B = 210B,按字节寻址。采用地址复用技术时,通过行通

选和列通选分行、列两次传送地址信号,因此地址线减半为5根,数据线仍为8根;加上行通选和列通选及读/写控制线(片选线用行通选代替)4根,总共是17根

注意SRAM和DRAM的区别,DRAM采用地址复用技术,而SRAM不采用

只读存储器

ROM器件的优点:

  1. 结构简单,所以位密度比可读写存储器的高。

  2. 具有非易失性,所以可靠性高

ROM的类型

根据制造工艺的不同,ROM可分为

  • 掩模式只读存储器(MROM)
  • 一次可编程只读存储器(PROM)
  • 可擦除可编程只读存储器(EPROM)
  • Flash 存储器
  • 固态硬盘(SSD)。

|-------------------------------|---------------------------------|-------------------------------------------|
| | 写入限制 | 特点 |
| 掩模式只读存储器 | 半导体制造厂按用户提出的要求在芯片的生产过程中直接写入 | 优点是可靠性高,集成度高,价格便宜;缺点是灵活性差。 |
| 一次可编程只读存储器 | 允许用户利用专门的设备(编程器)写入自己的程序 | 允许用户利用专门的设备(编程器)写入自己 的程序,一旦写入,内容就无法改变。 |
| 可擦除可编程只读存储器 | 不仅可以由用户利用编程器写入信息,而且可以对其内容进行多次改写 | 由用户利用编程器写入信息,可以对其内容进行多次改写,编程次数有限,且写入时间过长。 |
| Flash存储器 | 在线进行快速擦除与重写 | 可在不加电的情况下长期保存信息,又能在线进行快速擦除与重写 |
| 固态硬盘(Solid State Drives, SSD) | 保留了 Flash存储器长期保存信息、快速擦除与重写的特性 | 读写速度快、低功耗的特性,缺点是价格较高 |

多模块存储器

多模块存储器是一种空间并行技术,利用多个结构完全相同的存储模块的并行工作来提高存储

器的吞吐率。常用的有单体多字存储器和多体低位交叉存储器

单体多字存储器

单体多字系统的特点是存储器中只有一个存储体,每个存储单元存储m个字,总线宽度也为m

物个字。一次并行读出m个字,地址必须顺序排列并处于同一存储单元。

多体并行存储器

器由多体模块组成。每个模块都有相同的容量和存取速度,各模块都有独立的读写控制电路、地址寄存器和数据寄存器。它们既能并行工作,又能交叉工作。

  • 高位交叉编址(顺序方式):填满一个模块,再填下一个
  • 低位交叉编址(交叉方式):讲究的是雨露均沾

高位交叉存储器在单个存储器中的字是连续存放的,不满足程序的局部性原理;

而低位交叉存储器是交叉存放,很好地满足了程序的局部性原理

主存器与CPU的连接

这部分啊,还得自己做题,自己算

主存容量的扩展

  • 位扩展法
  • 字扩展法
  • 字位同时扩展法

存储芯片的地址分配和片选

线选法

  • 线选法用除片内寻址外的高位地址线直接(或经反相器)分别接至各个存储芯片的片选端,当某地址线信息为"0"时,就选中与之对应的存储芯片。这些片选地址线每次寻址时只能有一位有效
  • 优点:不需要地址译码器,线路简单。
  • 缺点:地址空间不连续,选片的地址线必须分时为低电平(否则不能工作),不能充分利用系统的存储器空间,造成地址资源的浪费。

译码片选法

  • 译码片选法,即用一片74LS138作为地址译码器,则A15 A14 A13=000时选中第一片,
  • A15 A14 A13=001时选中第二片,以此类推(即3位二进制编码)。

存储器与CPU的连接

  1. 合理选择存储芯片
  2. 地址线的连接
  3. 数据线的连接
  4. 读/写命令线的连接
  5. 片选线的连接

外部存储器

磁盘存储器

最小读写单位是一个扇区

磁盘存储器的优点:

  • ①存储容量大,位价格低;
  • ②记录介质可重复使用;
  • ③记录信息可长期保存而不丢失,甚至可脱机存档;
  • ④非破坏性读出,读出时不需要再生。

缺点:存取速度慢,机械结构复杂,对工作环境要求较高。

1.磁盘存储器

(1)磁盘设备的组成

① 硬盘存储器的组成。

  • 硬盘存储器由磁盘驱动器、磁盘控制器和盘片组成。·、

②存储区域。

  • 磁头数(Heads)
  • 柱面数(Cylinders)
  • 扇区数(Sectors)

(3)磁盘的性能指标

①记录密度

  • 道密度(60道/cm)、位密度(100bit/cm)和面密度,面密度是位密度和道密度的乘积。

②磁盘的容量

  • 格式化后的容量比非格式化容量要小。

③平均存取时间。

  • 平均存取时间由寻道时间(磁头移动到目的磁道的时间)、旋转延迟时间(磁头定位到要读写扇区的时间)和传输时间(传输数据所花费的时间)三部分构成。由于寻道和找扇区的距离远近不一,故寻道时间和旋转延迟时间通常取平均值。

④数据传输率。

  • 磁盘存储器在单位时间内向主机传送数据的字节数,称为数据传输率。假设磁盘转数为r转/秒,每条磁道容量为N字节,则数据传输率为Dr=rN

(4)磁盘地址

若系统中有4个驱动器,每个驱动器带一个磁盘,每个磁盘256个磁道、16个盘面,每个盘面划分为16个扇区,则每个扇区地址要18位二进制代码,其格式如下图所示。

(5)硬盘的工作过程

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

2.磁盘阵列

  • 越往下,可靠性越高
  • RAID0:无冗余和无校验的磁盘阵列。
  • RAID1:镜像磁盘阵列。
  • RAID2:采用纠错的海明码的磁盘阵列。
  • RAID3:位交叉奇偶校验的磁盘阵列。
  • RAID4:块交叉奇偶校验的磁盘阵列。
  • RAID5:无独立校验的奇偶校验磁盘阵列。

固态硬盘

  • 固态硬盘基于闪存技术,没有机械部件,随机读写不需要机械操作,因此速度明显高于磁盘
  • SSD的缺点是容易磨损 ,随机写很慢

【2015统考真题】若磁盘转速为7200转/分,平均寻道时间为8ms,每个磁道包含1000个扇区,则访问一个扇区的平均存取时间大约是()。

A.8.1msB. 12.2msC.16.3msD. 20.5ms

高速缓冲器

这个人写得好:计组------彻底搞懂cache主存映射以及cache容量的计算_cache总容量怎么算-CSDN博客

我这里就放两个例题:

|----|---------|------|
| 标记 | cache行号 | 块内地址 |
| 17 | 10 | 5 |

主存快大小32B,所以块内地址为5位,2^5=32

一共32KB的数据区除以一个主存快大小32B=1K=2^10,所以行号这部分就是10

最后求标记:32-10-5=17

回写策略(脏位)要一位

有效位占一个

共计:17+1+1+32*8=275
​​​​​​

|----|----|------|
| 标记 | 组号 | 块内地址 |
| 20 | 6 | 6 |

还是先从主存块抓起:

64B=2^6,所以块内地址占6位

求组号:

32KB除以64=2^9个行,2^9除以8=3^6,所以组号是6,(因为8路嘛,一组就有八个行,就得除以8)

标记:

32-6-6=20

比较器个数就是几路,8路所以就需要8个

比较器的位数是标记位:20

在组相联映射的Cache 中,"比较器"用于并行地比较分组中所有Cache行的Tag标记位与欲访问物理地址的Tag标记位,因此比较器的个数就是分组中的Cache行数8,比较器的位数就是Tag标记位数20。

相关推荐
小光学长10 分钟前
基于vue框架的的流浪宠物救助系统25128(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
数据库·vue.js·宠物
零炻大礼包1 小时前
【SQL server】数据库远程连接配置
数据库
zmgst1 小时前
canal1.1.7使用canal-adapter进行mysql同步数据
java·数据库·mysql
随心............1 小时前
python操作MySQL以及SQL综合案例
数据库·mysql
€☞扫地僧☜€1 小时前
docker 拉取MySQL8.0镜像以及安装
运维·数据库·docker·容器
CopyDragon1 小时前
设置域名跨越访问
数据库·sqlite
xjjeffery1 小时前
MySQL 基础
数据库·mysql
写bug的小屁孩1 小时前
前后端交互接口(三)
运维·服务器·数据库·windows·用户界面·qt6.3
恒辉信达2 小时前
hhdb数据库介绍(8-4)
服务器·数据库·mysql
齐 飞2 小时前
MongoDB笔记01-概念与安装
前端·数据库·笔记·后端·mongodb