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

本文深入探讨了存储系统,包括主存的简单模型和寻址概念,半导体存储器的类型如RAM和ROM,以及高速缓冲存储区(Cache)的工作原理。介绍了地址映射方式如全相连映射、直接映射和组相连映射,并讨论了虚拟存储器的逻辑模型。此外,还涵盖了存储器的层次结构、容量扩展和一致性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

存储系统

在这里插入图片描述

一、主存简单模型及寻址的基本概念

  • 多个存储元构成存储单元
  • 多个存储单元构成存储体
  • 从一个存储单元读出数据叫存储字,字的长度由该存储单元单元有多少个存储元决定——存储字长

  • 片选线(高电平/低电平有效):控制电路开关

在这里插入图片描述

存储器芯片的基本结构

在这里插入图片描述

寻址

在这里插入图片描述

二、半导体存储器

  1. 基本结构

    在这里插入图片描述

  2. RAM随机存储器——易失性存储器

    在这里插入图片描述

    1. DRAM的刷新

      在这里插入图片描述

      在这里插入图片描述

    2. SRAM的读周期

      在这里插入图片描述

  3. ROM

    • 存放一些固定使用,不能丢失的数据信息

      在这里插入图片描述

三、基本概念

功能:存放二进制信息

  1. 分类

    • 层次

      • 高速缓冲存储器(cache)——cpu调用,离Cpu最近
      • 主存储器(主存,内存)——cpu调用
      • 辅助存储器(辅存,外存)——通过IO设备
    • 材料

      • 磁表面存储器(磁盘——直接存取:定位到一个小区域后顺序存取,磁带——顺序存取)
      • 磁芯存储器
      • 半导体存储器——随机存取:存取时间与存储单元位置无关
      • 光存储器

    在这里插入图片描述

  2. 性能指标

    在这里插入图片描述

  3. 层次化结构

    在这里插入图片描述

四、主存与CPU的连接

  1. 主存容量扩展

    • 位扩展

      在这里插入图片描述

    • 字扩展

      • 线选法

      在这里插入图片描述

      • 译码器

        在这里插入图片描述

        在这里插入图片描述

      • 字位同时扩展

        在这里插入图片描述

        在这里插入图片描述

        在这里插入图片描述

五、双口RAM与多模块存储器

​ 提高存储器的工作速度

​ 利用存取周期中的恢复时间

  1. 双端口RAM

    在这里插入图片描述

  2. 多模块存储器

    在这里插入图片描述

    • 多体并行存储器

      在这里插入图片描述

      • 流水线

        在这里插入图片描述

        m太小:m0还处于恢复时间

        m太大:其他存储体还在启动时间,不能立刻启动m0

        在这里插入图片描述

        补充:可以并行工作时,如果总线宽度为mW时,可以同时取出长度为m W的数据

六、高速缓冲存储区

一、局部性原理及性能分析

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

时间局部性:在最近的未来要用到的信息,很可能是现在正在使用的信息

命中率H:Cpu欲访问的信息已在Cache中的比率

缺失率M:1-H

以块为单位放入Cache

在这里插入图片描述

在这里插入图片描述

二、地址映射方式

  1. 主存中的块放在Cache的哪个位置

    • 空位随意放:全相连映射

      在这里插入图片描述

    • 对号入座:直接映射

      在这里插入图片描述

    • 按号分组,组内随意放:组相连映射

      在这里插入图片描述

      在这里插入图片描述

  2. 满了/对应位置被占用了如何处理

    • 随机(RAND)算法

    • 先进先出(FIFO)算法

      可能会把需要经常使用的程序块作为最早进入Cache替换掉

    • 近期最少使用(LRU)算法

      堆栈类算法

      每行设置计数器,每次命中清零

    • 最不经常使用(LFU)算法

      每行设置计数器,每次命中+1

      全相连映射时:

      相联存储器:并行比较标记,若标记与当前将要访问的地址的标志相同,且有效位为1,则命中

      在这里插入图片描述

      直接映射时:

      相联存储器:根据映射到的Cache块号比较标记,若标记为相同且有效位为1,则命中,若不同,直接替换

      在这里插入图片描述

      二路组相连时:

      相联存储器:根据映射到的Cache块号比较标记,若标记为相同且有效位为1,则命中,若不同,而有效位为1,根据替换策略替换

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      LFU——见操作系统

  3. 修改Cache中的内容后,如何保持主存中相应内容的一致性

    命中

    • 全写法(write-through)

      写命中时,必须把数据同时写入Cache和主存中,一般使用写缓冲(会溢出)

    • 写回法(write-back)

      脏位:标记是否被修改

      当Cpu对Cahce写命中时,只修改Cache的内容,不立刻写入主存,只有当此块被换出时才写回主存

    未命中

    • 写分配法(write-allocate)

      把主存中的块调入Cache,在Cache中修改。配合写回法使用

    • 非写分配法(not-write-allocate)

      只写入主存,不调入Cache。配合全写法使用

    多级Cache

    在这里插入图片描述

    在这里插入图片描述

    三、Cache容量计算

    在这里插入图片描述

七、虚拟存储器——逻辑模型

​ 提高存储系统的容量

在这里插入图片描述

  1. 地址转换

    • 页式虚拟存储器

      在这里插入图片描述

    • 段式虚拟存储器

      在这里插入图片描述

    • 段页式虚拟存储器

      在这里插入图片描述

  2. 虚拟存储器的访问过程

    在这里插入图片描述

    在这里插入图片描述

    TLB缺失:快表未命中——有效位为0

    快表为慢表的副本,慢表有可能命中,查询慢表,若慢表未命中,辅存调用更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值