计算机组成原理复习提纲三(存储器)

时间:2024-03-28 17:17:35

第4章 存储器

1.存储系统层次结构的概念,掌握缓存-主存和主存-辅存层次作用,以及程序访问的局部性原理与存储系统层次结构的关系。

存储器分类

  • 按存储介质分类: 存储介质是指能寄存”0”、“1”两种代码并能区分两种状态的物质或元器件。

    • 半导体存储器(易失):TTL、MOS
    • 磁表面存储器(非易失):磁头、载磁体
    • 磁芯存储器(非易失):硬磁材料、环装原件
    • 光盘存储器(非易失)
  • 按存取方式分类

    • 存取时间与物理地址无关(随机访问)
      • 随机存储器RAM在程序执行过程中可读可写
      • 只读存储器ROM在程序的执行过程中只读
    • 存取时间与物理地址有关(串行访问)
      • 顺序存取存储器 磁带
      • 直接存取存储器 磁盘
  • 按在计算机的作用分类

    计算机组成原理复习提纲三(存储器)

存储器的层次结构

  • 存储器三个特性的重要关系

    计算机组成原理复习提纲三(存储器)
  • 缓存-主存层次和主存-辅存层次

    缓存-主存层次主要解决CPU和主存速度不匹配问题;

    主存-辅存层次主要解决存储系统的容量问题.

    主存与Cache之间的信息调度功能全部由硬件自动完成. 而主存与辅存之间的信息调度目前广泛采用虚拟存储技术实现, 即将主存与辅存的一部分通过软硬结合的技术组成虚拟存储器, 程序员可使用这个比主存实际空间(物理地址空间)大得多的虚拟地址空间(逻辑地址空间)编程.

    计算机组成原理复习提纲三(存储器)
程序访问的局部性

程序访问的局部性原理是指在一小段时间内, 最近被访问过的程序和数据很可能再次被访问; 在空间上, 这些被访问的程序和数据往往集中在一小片存储区; 在访问顺序上, 指令顺序执行比转移执行的可能性大( 大约5: 1). 存储系统中Cache-主存层次采用了程序访问的局部性原理.

2.熟知主存储器的基本组成;掌握主存中存储单元地址的分配(对于一定容量的存储器,按字节访问和按字访问的寻址范围是不同的。)、主存的技术指标以及提高访存速度的措施。

主存的基本组成

计算机组成原理复习提纲三(存储器)

主存与CPU的联系

计算机组成原理复习提纲三(存储器)

主存中存储单元地址的分配

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

  • 高位字节地址为字地址和低位字节地址为字地址

    计算机组成原理复习提纲三(存储器)
求按字节寻址和按字寻址范围的方法
计算机组成原理复习提纲三(存储器)

主存技术指标

主存的主要技术指标是存储容量和存储速度

  • 存储容量: 主存 存放二进制代码的总位数

    $存储容量 = 存储单元个数 \times 存储字长 $

    ()=×8存储容量(字节总数) = 储存单元的个数 \times \frac{存储字长}{8}

  • 存储速度

    存储速度是由存取时间和存取周期表示的.

    • 存取时间: 是指启动一次存储器操作(读或写)到完成该操作所需的全部时间.
      • 读入时间
      • 写入时间
    • 存取周期: 是指存储器进行两次连续独立的存储操作(读或写)所需的最小间隔时间.
  • 存取器带宽

    单位时间内存储器存取的信息量. 单位, 位/秒字节/秒字/秒

存储器与CPU的连接

存储容量扩展

1K×8位: 1K表示10根地址线, 8位表示8根数据线.

4K×8位: 4K表示12根地址线, 8位表示8根数据线.

  • 位扩展(增加存储字长):例如,用两片1K×4位芯片可组成一片1K×8位的存储器
  • 字扩展(增加存储字的数量):例如,用两片1K×8位芯片可组成一片2K×8位的存储器
  • 字、位扩展(既增加存储字的数量,又增加存储字长):例如,用8片1K×4位芯片可组成一片4K×8位的存储器
存储器与CPU的连接
  • 地址线的连接:存储芯片的容量不同,其地址线数也不同,CPU的地址线数往往比存储芯片地址线多很多。通常总是将CPU地址线的低位与存储芯片的地址线相连。
  • 数据线的连接:CPU的数据线数与存储芯片的数据线数也不一定相等。
  • 读/写命令线的连接:CPU读/写命令线一般可直接与存储芯片的读/写控制端相连,通常高电平为读,低电平为写。
  • 片选线的连接:片选线的连接是CPU与存储芯片正确工作的关键。
  • 合理选择存储芯片:合理选择存储芯片主要是指存储芯片类型(RAM或ROM)和数量的选择。

提高访存速度的措施

  1. 采用高速器件

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

  3. 调整主存结构

    • 单体多字系统

      采用这种方法的前提是: 指令和数据在主存内必须是连续存放的, 一旦遇到转移指令, 或者操作数不能连续存放, 这种方法效果就不明显.

      计算机组成原理复习提纲三(存储器)
    • 多体并行系统

      • 高位交叉 顺序编址, 各个体并行工作

        • 数据组织特点: 相邻地址的数据处于同一存储体
        • 一个地址寄存器
        • 多模块串行(局部性原理)
        • 性能无提升
        • 扩充容量方便
        计算机组成原理复习提纲三(存储器)
      • 低位交叉 各个体轮流编址

        • 数据组织特点: 相邻地址处于不同存储器中
        • 每个存储体均需地址寄存器
        • 多模块并行(局部性原理)
        • 性能提升
        • 扩充容量方便
        计算机组成原理复习提纲三(存储器)

3.掌握Cache的工作原理以及Cache的基本结构。

Cache工作原理

  1. 主存和缓存的编址
    计算机组成原理复习提纲三(存储器)
  2. 命中与未命中

    缓存共有C块, 主存共有M块 M >> C

    • 命中 主存块 调入 缓存

      主存块与缓存块 建立 了对应关系

      标记记录与某缓存块建立了对应关系的主存块号

    • 未命中 主存块 未调入 缓存

      主存块与缓存块 未建立 对应关系

  3. Cache的命中率和平均访问时间

    Cache命中率: CPU欲访问信息在Cache中的比率, 命中率与Cache容量块长有关.

    计算机组成原理复习提纲三(存储器)
  4. Cache-主存系统的效率

    效率与命中率有关

    计算机组成原理复习提纲三(存储器)

Cache的基本结构

计算机组成原理复习提纲三(存储器)
  1. Cache存储体

    Cache存储体以块为单位与主存交换信息, 为加速Cache与主存之间的调动, 主存大多采用多体结构, 且Cache访问的优先级最高.

  2. 地址映射变换机构

    地址映射变换机构是将CPU传来的主存地址转换为Cache地址.

  3. 替换机构

    当Cache内容已满, 无法接受来自主存块的信息时, 就由Cache内的替换机构按一定的替换算法来确定应从Cache内移出哪个块返回主存, 而把新的主存块调入Cache.

  4. Cache读写操作
    • 计算机组成原理复习提纲三(存储器)
      • 写直达法

        写操作时数据既写入Cache又写入主存

        写操作时间就是访问主存的时间,读操作时不涉及对主存的写操作,更新策略比较容易实现。

      • 写回法

        写操作时只要把数据写入Cache而不写入主存,当Cache数据被替换出去时才写回主存。

        写操作时间就是访问Cache的时间,读操作Cache失效发生数据替换时,被替换的块需要写回主存,增加了Cache的复杂性。

Cache的改进

  • 增加Cache的级数
    • 单一缓存:片载(片内)Cache
    • 两级缓存:片外Cache
  • 统一缓存和分立缓存
    • 统一缓存:是指指令和数据都存放在同一缓存内的Cache;
    • 分立缓存:是指指令和数据分别存放在两个缓存中,一个称为指令Cache,一个称为数据Cache。

4.深刻理解Cache-主存地址映射(包括直接映射、全相联映射和组相联映射),能熟练设计主存地址字段的分配和计算Cache-主存系统的命中率以及效率。

直接映射

工作原理
  • 主存分块, Cache行, 两者大小相同;

  • 主存分块后还将以Cache行数据为标准进行分区, Cache分为4行, 第61个字的主存地址为:

    000011 11 01 ( 区号, 区内块号, 块内地址), 主存地址从一维变为三维;

  • 映射算法: Cache共n行, 主存地j块号映射到Cache的行号为:

    i = j mod n , 即主存的数据块映射到Cache特定行.

直接映射的特点
  • Cache利用率低
  • 块冲突高
  • 淘汰算法简单
应用场合
  • 大容量Cache
计算机组成原理复习提纲三(存储器)

全相联映射

工作原理
  • 主存分块, Cache行, 两者大小相同;
  • 设每块4个字, 主存大小为1024字, 则第61个字的主存地址为:00001111 01 (块号 块内地址)
  • 主存分块后地址就从一维变成二维
  • 映射算法: 主存的数据块可映射到Cache任意行, 同时将该数据块地址对应行的标记存储体中保存.
特点
  • Cache利用率高
  • 块冲突率低
  • 淘汰算法复杂
应用场合
  • 小容量Cache
计算机组成原理复习提纲三(存储器)

组相联映射

工作原理
  • 主存分块, Cache行, 两者大小相同;

  • Cache分组(每组中包含k行), 本例假定k=4

  • 主存分块后还将以Cache组数为标准进行分组;

  • 每块4个字, 主存大小为1024个字, Cache分为2组, 第61个字的主存地址为:

    0000111 1 01 (主存组号, Cache组号, 块内地址) ,主存地址从一维变为三维;

  • 映射算法: Cache共n组, 主存第j块号映射到Cache的组号为:

    i = j mod n, 即主存的数据块映射到Cache特定组的任意行

特点
  • 位于全相联与直接相联之间
应用场景
  • 中容量Cache
计算机组成原理复习提纲三(存储器)

替换策略

  1. 先进先出
  2. 近期最少使用
  3. 随机法