一. 概述

1. 定义:

存储器是计算机系统中的记忆设备,用来存放程序和数据

2. 作用:

  1. I/O设备要与存储器交换信息
  2. 多处理机系统中,各处理机都要与主存交换信息,而且各处理机在相互通信中,也都需要共享存放在存储器中的数据

3. 存储器的分类:

(1). 按存储介质分类

存储介质是指能寄存0、1两种代码并能区别两种状态的物质或元器件

计算机组成原理——存储器_主存

(2). 按存取方式分类

计算机组成原理——存储器_数据_02

(3). 按在计算机中的作用分类

计算机组成原理——存储器_缓存_03

4. 存储器的层次结构

存储器有3个性能指标:速度、容量、每位价格
速度越高,位价越高
容量越大,位价越低
容量越大,速度越低

  1. 这三者之间的关系
  2. 计算机组成原理——存储器_主存_04

  3. 各部件主要作用:
寄存器:制作在CPU中,其中数直接在CPU内部参与运算
高速缓存cache:也制作在CPU中,速度快于内存,容量小于内存
内存:存放将要参与运行的程序和数据,可以直接和CPU交换信息
辅助存储器:用来存放暂时未用到的程序和数据文件,CPU不能直接访问辅存,辅存只能与主存交换信息
  1. 存储系统的层次结构体现在:缓存-主存 、 主存-辅存
  2. 计算机组成原理——存储器_主存_05

  • 缓存-主存层次:主要解决CPU和主存速度不匹配的问题
缓存的速度比主存的速度高,只要将CPU近期需要的数据调入缓存,
然后CPU在从缓存中取走数据,提高CPU的访存速度。
但是缓存容量小,需要不断从主存中调入数据,使原来的信息被替换掉,这些都是由硬件自动完成。
  • 主存-辅存层次:主要解决存储系统的容量问题
辅存的速度低,不能和CPU直接交换信息,但它的容量大,存放了许多暂时用不到的信息。
当CPU需要的时候,将这些内容调入主存,供CPU直接访问,这两者之间的数据调动也是有硬件直接完成

计算机组成原理——存储器_缓存_06

> 通过分类:主存、缓存、辅存来分别介绍以下几种存储器

计算机组成原理——存储器_主存_07

二. 主存储器

1. 概述

计算机组成原理——存储器_缓存_08

(1). 主存的基本结构

计算机组成原理——存储器_缓存_09

(2). 存储单元地址的分配

主存各存储单元的空间位置是由单元地址号来表示的,而地址总线是用户来指出存储单元地址号的,根据该地址可读出或写入一个存储字。

计算机组成原理——存储器_主存_10


举例:

计算机组成原理——存储器_主存_11

(3). 主存的技术指标

计算机组成原理——存储器_数据_12

2. 半导体存储芯片简介

(1). 半导体存储芯片的基本结构

计算机组成原理——存储器_主存_13

存储芯片片选线的作用:

计算机组成原理——存储器_数据_14

(2). 半导体存储芯片的译码驱动方式

计算机组成原理——存储器_数据_15


计算机组成原理——存储器_数据_16

3. 主存储器分类

计算机组成原理——存储器_缓存_17

1. 随机存储器RAM

静态RAM
(1). 静态RAM的基本电路

存储器中用于寄存0、1代码的电路称为存储器的基本单元电路

计算机组成原理——存储器_主存_18

  1. 读操作
由于静态RAM是用触发器工作原理存储信息,因此即使信息读出后,它任保持其原状态,不需要再生。
但掉电后原存信息丢失,故它属于易失性半导体存储器

计算机组成原理——存储器_缓存_19

  1. 写操作

计算机组成原理——存储器_主存_20

(2). 静态RAM芯片举例

计算机组成原理——存储器_缓存_21

(3). 静态RAM读/写时序
动态RAM
(1). 动态RAM的基本单元电路

计算机组成原理——存储器_主存_22

(2). 动态RAM芯片举例
  1. 三管动态RAM芯片
  2. 单管动态RAM芯片
(3). 动态RAM时序
(4). 动态RAM刷新

刷新的过程实质上是先将原存信息读出,再由刷新放大器形成原信息并重新写入的再生过程

  1. 为什么需要刷新
由于存储单元被访问是随机的,有可能某些存储单元长期得不到访问,不进行存储器的读/写操作,其存储单元内的原信息将会慢慢消失。
所以必须采用定时刷新的方法,规定在一定时间内,对动态RAM全部基本单元电路必作一次刷新
一般刷新周期为2ms
刷新是一行一行的进行,必须在刷新周期内,用专门的刷新电路来完成对基本单元电路的逐行刷新
  1. 刷新的方式
  • 集中刷新
  • 计算机组成原理——存储器_缓存_23

  • 分散刷新
  • 计算机组成原理——存储器_数据_24

  • 异步刷新
  • 计算机组成原理——存储器_缓存_25

动态RAM与静态RAM的比较

计算机组成原理——存储器_缓存_26

2. 只读存储器ROM

对半导体ROM而言,基本器件为两种:MOS型和TTL型

(1). 用户的需求变化

计算机组成原理——存储器_数据_27

(2). 只读存储器ROM的作用

只读存储器的特点是只能读出而不能写入信息,通常在电脑主板的ROM里面固化一个基本输入/输出系统,称为BIOS(基本输入输出系统)。其主要作用是完成对系统的加电自检、系统中各功能模块的初始化、系统的基本输入/输出的驱动程序及引导操作系统。

(3). 只读存储器ROM的发展

计算机组成原理——存储器_缓存_28

计算机组成原理——存储器_缓存_29


计算机组成原理——存储器_主存_30


计算机组成原理——存储器_缓存_31


计算机组成原理——存储器_数据_32

注:闪存比较适合作为一种高密度、非易失的数据采集和存储器件
在便携计算机,工控系统及单片机系统中大量应用,近年来被用于微信计算机中存放输入输出驱动程序和参数(BIOS系统)

闪存经过不断的发展,大容量逐渐取代磁盘,不断升级的闪速存储器做成了固态硬盘(SSD)

4. 存储器与CPU的连接

CPU执行的指令和需要的数据都保存在主存储器当中,运行结果也需要保存在主存储器当中,因此必须实现CPU和主存储器的正确连接,才能实现CPU和主存储之间的信息交换

通常CPU的地址线条数比较多,寻址空间范围大,由于单个存储芯片的容量总是有限的,很难满足实际的需要,所以要构成一个主存储器需要多个存储芯片共同组成,称为存储容量的扩展。

(1). 存储容量的扩展

1. 位扩展
  1. 目的
    增加存储字长
  2. 如何进行位扩展
  3. 计算机组成原理——存储器_数据_33

2. 字扩展
  1. 目的
    增加存储字的数量
  2. 如何进行位扩展
  3. 计算机组成原理——存储器_数据_34

3. 字和位同时扩展
  1. 目的
    既增加存储字的数量,又增加存储字长
  2. 如何实现?
  3. 计算机组成原理——存储器_数据_35

(2). 存储器与CPU的连接

1. 基本方法

计算机组成原理——存储器_主存_36

  1. 地址线的连接
  2. 数据线的连接
  3. 读写命令线的连接
  4. 片选线的连接
  5. 合理选择存储芯片
  6. 时序、负载
2. 举例

5. 存储器的校验

在计算机运行过程中,由于种种原因致使数据在存储过程中可能出现差错,为了能及时发现错误并及时纠正错误,通常可将数据配成汉明编码

6. 提高访存速度的措施

(1). 采用高性能存储芯片

计算机组成原理——存储器_缓存_37

(2). 采用层次结构:Cache-主存

(3). 调整主存结构

方式一:单体多字系统

计算机组成原理——存储器_主存_38

方式二:多体并行系统

三. 高速缓冲存储器

计算机组成原理——存储器_缓存_39

1. 概述

(1). 为什么需要用Cache

  1. 在多体并行存储系统中,由于I/O设备向主存请求的级别高于CPU访存,这就出现了CPU等待I/O设备访存的现象,致使CPU空等一段时间,甚至可能等待几个主存周期,从而大大降低了CPU的工作效率
  2. 主存的速度提高始终跟不上CPU的发展。
  3. Cache的出现使CPU可以不直接访问主存,而与高速Cache交换信息
CPU从主存取指令或取数据,在一定时间内,只是对主存局部地址区域的访问
原因是:指令和数据在主存中都是连续存放的,有些指令和数据往往会被多次调用(子程序、循环程序、一些常熟)
这就使的程序访问具有局部性原理(CPU在执行程序时,访存具有相对局部性)

由于这个原因我们就可以将CPU近期要使用的程序和数据提前放到Cache中,就可以使CPU在一定时间内只访问Cache

(2). Cache的工作原理

1. 主存和缓存的编址

计算机组成原理——存储器_缓存_40

2. 命中与未命中

CPU访问Cache命中:

CPU欲访问主存某个字时,所需的字已在缓存中,CPU可直接访问Cache(CPU和Cache之间通常一次传送一个字)

CPU访问Cache未命中

CPU所要访问的字不在Cache内,此时需将该字所在的主存整个字块一次调入Cache中(Cache与主存之间是字块传送)
3. 如何判断所读的信息是否已在缓存中

因为缓存块数C远小于主存块数M,因此一个缓存块可以不断的更新所对应的主存块,所以每个缓存块需要设一个标记,用来表示当前存放的是哪一个主存块

标记的内容对应于主存块的编号(也就是主存地址的高m位),来判断所读的信息是否在缓存中

4. Cache的命中率

定义:指CPU要访问的信息已在Cache内的比率

计算机组成原理——存储器_数据_41


计算机组成原理——存储器_缓存_42

(3). Cache的基本结构

计算机组成原理——存储器_数据_43

主要由:Cache存储体、地址映射变换机构、Cache替换机构等几大模块组成

  1. Cache存储体
  2. 地址映射变换机构
  3. Cache替换机构

(4). Cache的读写操作

计算机组成原理——存储器_主存_44


计算机组成原理——存储器_主存_45

(5). Cache 的改进

计算机组成原理——存储器_缓存_46

2. Cache-主存地址映射

定义:由主存地址映射到Cache地址称为地址映射

方式:

1. 直接映射

计算机组成原理——存储器_缓存_47

2. 全相联映射

计算机组成原理——存储器_缓存_48

3. 组相联映射

计算机组成原理——存储器_数据_49

3. 替换策略

产生的原因:当新的主存块需要调入Cache并且它的可用空间位置又被占满时,需要替换掉Cache的数据,这就产生了替换算法问题

直接映射的Cache中:由于某个主存块只与一个Cache字块有映射关系,因此替换策略简单

组相联和全相联映射的Cache中:主存块可以写入Cache中的若干位置,这就出现了替换掉哪一个字块的问题

(1). 先进先出(FIFO)算法

(2). 近期最少使用(LRU)算法

(3). 随机法

四. 辅助存储器

1. 概述

(1). 辅存存储器的特点

辅助存储器又称外存

它不直接与CPU交换信息

它与主存一起组成了存储器系统的主存-辅存层次

与主存相比,辅存的特点:具有容量大、速度慢、价格低、可脱机保存信息等特点,属于非易失性存储器

(2). 磁表面存储器的主要技术指标

计算机组成原理——存储器_缓存_50

2. 磁记录原理和记录方式

(1). 磁记录原理

(2). 磁表面存储器记录方式

3. 辅存存储器的分类

计算机组成原理——存储器_缓存_51

4. 辅存存储器的发展史

计算机组成原理——存储器_主存_52