计算机组成原理之存储系统

文章目录

  • 存储系统
    • 存储器的层次结构
      • 存储器的分类
        • 按作用分类
        • 按存储介质分类
        • 按存取方式分类
        • 按信息的可保存性分类
      • 存储器的性能指标
    • 存储器的层次化结构
      • 多级存储系统
    • 半导体随机存储器
      • 半导体存储芯片
        • 半导体存储芯片的基本结构
        • 74138 译码器
      • SRAM 和 DRAM
        • SRAM 工作原理
        • DRAM 工作原理
          • 刷新方式
        • 存储器的读写周期
      • 只读存储器
        • 只读存储器(ROM)的特点
        • ROM 的类型
    • 主存储器与 CPU 的连接
      • 连接原理
      • 主存容量的扩展
        • 位扩展法
        • 字扩展法
        • 字位同时扩展法
      • 存储芯片的地址分配和片选
        • 线选法
        • 译码片选法
    • 高速缓冲存储器
      • 程序访问的局部性原理
      • Cache 基本工作原理
      • cache 和主存的映射方式
        • 直接映射
        • 全相联映射
        • 组相联映射
        • 地址结构
      • Cache 中主存块的替换算法
      • Cache 写策略
        • 写命中
        • 写不命中

存储系统

存储器的层次结构

存储器的分类

按作用分类

  1. 主存储器(主存、内存)
    • 存放机损及运行期间所需的大量程序和数据
    • cpu 可直接访问,也可以和高速缓冲存储器交换数据
    • 容量较小、存取速度慢、每位价格较高
  2. 副助存储器(外存)
    • 存放当前暂时用不到的程序和数据,永久性保存的信息
    • 不能与 CPU 交换信息
    • 容量极大、存取速度慢、单位成本高
  3. 高速缓冲存储器(Cache)
    • 存放正在执行的程序段和数据
    • 容量小,价格高

按存储介质分类

  • 磁表面存储器
  • 磁芯存储器半导体存储器
  • 光存储器

按存取方式分类

  1. 随机存储器(RAM)
    • 任何一个单元的内容可以随机存取,存取时间与存储器单元的物理位置无关
    • 读写方便、使用灵活
    • 用作主存或高速缓冲存储器
    • 分为静态 RAM(触发器原理寄存信息)、动态 RAM(电容充电原理寄存器)
  2. 只读存储器(ROM)
    • 存储器的内容只能随机读出而不能写入
    • 信息一旦写入就固定不变
  3. 串行访问存储器
    • 按照物理位置的先后顺序寻址(磁带、磁盘)

按信息的可保存性分类

  1. 易失性存储器(RAM)
  2. 非易失性存储器(ROM)

存储器的性能指标

  • 存储容量:存储字长 x 字长
  • 单位成本:每位成本=总成本/总容量
  • 存储速度:数据传输率=数据的宽度/存储周期

存储器的层次化结构

多级存储系统

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4FsqR2Mp-1588078776416)(存储器的层次结构.jpg)]

半导体随机存储器

半导体存储芯片

半导体存储芯片的基本结构

  1. 存储矩阵:大量相同的位存储单元组成
  2. 译码驱动电路:将地址总线的地址信号翻译成对应的存储单元的选通信号
  3. 读写电路:读写放大器+写入电路
  4. 读写控制线:决定芯片进行读/写操作
  5. 片选线:确定那个芯片被选中
  6. 地址线:单向输入,位数与存储字的个数有关
  7. 数据线:双向,位数与读出、写入的数据位数有关

74138 译码器

将二进制编码译码为 0~7的十进制数值

SRAM 和 DRAM

SRAM 工作原理

  • 双稳态触发器(六管 MOS)来记忆信息
  • 只要电源被切断原来保存的信息就会丢失,属于易失性半导体存储器
  • 存取速度快,集成度低,功耗大,一般用来组成高速缓冲存储器

DRAM 工作原理

  • 利用栅极电容上的电荷存储信息,分为三管式、单管式
  • 采用地址复用技术,地址信号分行、列两次传送
  • 容易集成、价位低、容量大、功耗低,存取速度比 SRAM 慢,组成大容量存储系统
刷新方式
  1. 集中刷新
    在一个刷新周期内,利用一段固定的时间,依次对所有行进行逐一再生
    • 优点: 读写操作时不受刷新工作的影响,存取速度高
    • 缺点:在集中刷新期间不能访问存储器
  2. 分散刷新
    把每行的刷新分散到各个工作周期中,一个存储器的系统工作周期前半部分用于正常读、写、保持,后半部分用于刷新某一行,增加了系统的存取周期
    • 优点: 没有死区
    • 缺点:加长了系统的存取周期,降低了整机的速度
  3. 异步刷新
    将刷新周期除以行数,得到两次刷新之间的时间间隔 t, 利用逻辑电路每隔 t 时间产生一次刷新请求
    • 避免 CPU 等待过长的时间,减少刷新的次数,提高整机效率

注意:

  • 刷新对 CPU 透明
  • 动态 RAM 刷新单位是行,刷新操作只需要行地址

存储器的读写周期

只读存储器

只读存储器(ROM)的特点

  1. 结构简单,位密度比可读写存储器高
  2. 具有非易失性,可靠性高

ROM 的类型

  1. 掩模式只读存储器(MROM)
    可靠性高,集成度高,灵活性差
  2. 一次可编程只读存储器(PROM)
  3. 可擦除可编程只读存储器(EPROM)
    编程次数有限。写入时间过长
  4. 闪速存储器(Flash Memory)
  5. 固态硬盘(SSD)

主存储器与 CPU 的连接

连接原理

  1. 主存储器通过数据总线、地址总线、控制总线与 CPU 连接
  2. 数据总线的位数与工作频率的乘积正比于数据传输率
  3. 地址总线的位数决定了可寻址的最大内存空间
  4. 控制总线(读/写)指出了总线的周期类型好而本次输入输出操作的 完成时刻

主存容量的扩展

位扩展法

字扩展法

字位同时扩展法

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

线选法

芯片 A 14 A_{14} A14 ~ A 11 A_{11} A11
1# 1110
2# 1101
3# 1011
4# 0111

优点:不需要译码器,线路简单
缺点:地址空间不连续,不能充分利用系统的存储器空间,造成地址资源的浪费

译码片选法

高速缓冲存储器

程序访问的局部性原理

  • 空间局部性
  • 时间局部性

Cache 基本工作原理

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yd8qEqJl-1588078776418)(Cache基本结构.png)]

  • 通常由 SRAM 构成
  • Cache和主存都被分成若干大小相等的块,每块由若干子街组成,块的长度称为块长(Cache 行长)
  • 保留主存最活跃的若干块副本

cache 和主存的映射方式

  • cache 要为每块增加一个标记,指明是主存那一块副本
  • 设置一个有效位说明标记是否有效

直接映射

j = i % 2 c j=i \% 2^c j=i%2c
j j j:cache 块号
i i i:主存块号
2 c 2^c 2c:Cache 总块数

地址结构:

主存字块标记 cache 字块地址 字块内地址

全相联映射

把主存数据块装入 cache 的任何位置

  • 优点:灵活,冲突概率低,空间利用率高
  • 缺点:地址变换速度慢,实现成本高

地址结构:

主存字块标记 字块内地址

组相联映射

j = i % Q j=i\%Q j=i%Q
j j j:缓存的组号
i i i:主存的块号
Q Q Q:cache的组数

地址结构

主存字块标记 组地址 字块内地址

Cache 中主存块的替换算法

  1. 随机替换算法
  2. 先进先出算法
  3. 近期最少使用算法
  4. 最不经常使用算法

Cache 写策略

写命中

  1. 全写法
    把数据同时写入 cache 和主存
    • 优点: 实现简单,随时保持主存数据的正确性
    • 缺点:增加了访存次数,降低了 cache 的效率
  2. 写回法
    只有当此块被换出才写入主存
    • 存在不一致的隐患,必须设置一个标志位反映此块是否被 CPU 修改过

写不命中

  1. 写分配法
    加载主存中的块到 cache 中,更新这个 cache 块
    • 缺点:每次不命中都需要从主存中读取一块
  2. 非写分配法
    只写入主存,不进行调块

你可能感兴趣的:(计算机组成原理)