考研408-计算机组成原理-存储系统

存储系统

一、基本概念
  1. Cache主存系统的效率e=访问Cache的时间/平均访存时间

  2. DRAM:利用存储元电路中的栅极电容上的电荷来存储信息

    • 采用地址复用技术,地址线是原来的1/2,地址信号分行、列两次传送
    • 容易集成,价位低,容量大,功耗低,速度慢于SRAM
    • 电容电荷必须刷新保持信息,有三种刷新方式:
      1. 集中刷新:固定时间(通常2ms)对存储器所有行进行逐一再生,并停止对存储器的所以读写操作,有死区
      2. 分散刷新:将刷新分散在各个工作周期中,加长了系统的存取周期,降低整机的速度
      3. 异步刷新:结合两者,但没有消除死区
    • 刷新对于CPU透明,不依赖外部访问
    • 提高刷新存储器的带宽,可以采用的技术:
      1. 采用高速DRAM芯片
      2. 采用多体交叉存储结构
      3. 刷新存储器至显示控制器的内部总线宽度加倍
      4. 采用双端口存储器将刷新端口和更新端口分开
  3. SRAM与DRAM特点在这里插入图片描述

  4. 只读存储器:结构简单,非易失性,可靠性

    • MROM:掩模式只读存储器,厂商在生产过程中写入
    • PROM:一次可编程只读存储器,利用专门设备下入自己的程序,只能写一次
    • EPROM:可擦除可编程只读存储器,编写次数有限,写入时间过长
      • UVEPROM:紫外线擦除
      • E 2 E^2 E2PROM:电擦除
    • Flash Memory:闪速存储器,不加电长期保存信息,在线可以快速擦除和重写
    • SSD:固态硬盘,固态电子存储芯片阵列制成的硬盘,由控制单元和存储单元组成
  5. 常见信号(低电平有效)

    • CS:地址片选信号
    • WE:写命令信号
    • RD:读命令信号
    • MREQ:访存控制信号
  6. 对于双端口RAM,两个端口对同一主存操作有以下4种情况:

    1. 不同时对同一地址单元存取数据(不出错)
    2. 同时对同一地址段单元读出数据(不出错)
    3. 同时对同一地址单元写入数据(写入错误)
    4. 同时的操作,一个写数据,一个读数据(读出错误)
    • 可以通过置“忙”信号来暂时关闭端口
  7. 直接映射、全相联映射、N路组相联映射对比:

    • 直接映射命中率最低,全相联映射命中率最高
    • 直接映射判断开销最小、时间最短,全相联映射的判断开销最大、所需时间最长
    • 直接映射标记的额外空间开销最少,全相联映射标记占用额外空间最大
  8. Cache写策略:非写分配发与全写法合用、写分配发与写回法合用

    1. 写命中

      • 全写法:数据同时写入Cache和主存

      • 写回法:只修改Cache,通过给Cache行添加‘脏位’来判断是否修改过

    2. 写不命中

      • 写分配法:加载主存中的块到Cache中,然后更新Cache块

      • 非写分配法:值写入主存,不调块

  9. 虚地址、逻辑地址: 用户编程允许涉及的地址 ; 虚拟空间、程序空间:虚地址对应的存储空间

    实地址、实地址空间:主存地址空间 ;

二、理解的思想
  1. 对于任何存储器,在读写操作后,都需要一段恢复内部状态的复原时间

  2. 主存和Cache之间的数据调动由硬件自动完成,对所有程序员都透明;主存和辅存之间的数据调动则是由硬件和操作系统共同完成,对应用程序员透明。

  3. 数据线的宽度与MDR的宽度相同,地址线的宽度与MAR的宽度相同

  4. 芯片的引脚一般包括数据线、地址线、片选先、读/写控制线

  5. 位扩展法一次选中所有的芯片,字扩展法选中部分芯片

  6. 考虑到存储器扩展的需要,MAR应该保证能访问整个主存地址空间,即MAR位数决定了主存地址空间的大小

  7. 时间局部性是指最近的未来要用的信息

  8. CPU与Cache、主存之间的数据交换以字为单位,而Cache与主存之间的数据交换以Cache块为单位

  9. 各层次的存储系统不是孤立工作的,三级结构的存储系统是围绕主存储器来组织、管理和调度的存储器系统,它们既是一个整体,又要遵循系统运行的原理,包括包含性原则。

  10. CPU访存先到Cache中查看主存地址是否存在,所以发送的是主存的物理地址。只有在虚拟存储器中,CPU发送的才是虚拟地址。

  11. 磁盘地址是外存地址,外出中程序由操作系统调用至主存中执行,因此CPU不可能直接访问磁盘。

  12. Cache缺失只需要访问主存,缺页需要访问磁盘,后者开销大。

  13. 直写策略需要同时写快速存储器和慢速存储器,但写磁盘比写主存慢很多,所以在Cache-主存层次,Cache可以采用直写策略,而主存-外存(磁盘)层次,修改页面内容总是采用回写策略。

  14. 虚拟存储器由主存和联机工作的辅存共同组成,对于应用程序员透明。Cache全由硬件实现,对所有程序员透明

  15. 实际物理存储层次上,所编程序和数据在操作系统的管理下,先送入磁盘,然后操作系统将当前运行需要的部分调入主存,供CPU使用,其余部分留在磁盘中

  16. 物理地址由实页号和页内地址拼接;虚地址分为虚页号、页内地址

  17. 页面太小会导致页表增大,不能充分利用访存的空间局部性来提高命中率;页面设置太大会导致页面剩余空间较大,浪费较多的存储空间,还使页面调入调出的时间增加。

  18. Cache行太大导致失效损失变大,如果未命中会导致需要话更多时间从主存读块,而且Cache的项数变少,命中可能性变少

三、易错点
  1. 磁带和磁盘的存储方式

    • 磁带:顺序存储
    • 磁盘:直接存储,先搜寻某个区域,再在该区域中顺序查找
  2. SARM和DRAM都是断电内容消失,但只有DRAM需要刷新

  3. 随机存储和随机存储器(RAM)不同,只读存储器(ROM)也是随机存储,支持随机存储的不一定是RAM

  4. 高位交叉编址时,CPU按顺序访问存储模块,即不能并行访问,不能提高存储器的吞吐率;低位交叉编址又可以称作交叉存储器,可以并行访问,带宽被提高

  5. Cache中存放的是主存中部分信息的副本,不能认为存储系统的总容量是Cache与主存的相加

  6. 写回式中标记项加一个一致性控制位

  7. 页表长久存放在主存中,用来将虚拟地址转换到物理地址,记录程序虚页调入主存时被安排在主存中的位置

  8. 带TLB虚拟存储器的CPU访存过程

    在这里插入图片描述

    在这里插入图片描述

    序号1:无需访问主存

    序号2:访问一次主存

    序号3:访问一次主存

    序号4:访问两次主存

    序号5:至少访问两次主存,并且访问磁盘

  9. Cache缺失处理由硬件完成;缺页处理由软件完成,即“缺页异常处理程序“;TLB缺失则两者都可能

  10. 虚拟存储器系统不命中对系统性能影响更大

  11. Cache缺失首先程序计数器会恢复当前指令的值,然后对主存进行读操作。将读入的指令写入Cache,更改有效位和标记位,最后重新执行当前指令。

四、冷知识
  1. 主存储器由DRAM实现,靠处理器的Cache由SRAM实现,都是易失性
  2. DRAM的成本低于SRAM,因为它用了更多的硅
  3. 全写法又叫直通法,write-through
  4. TLB使用可静态存储器(SRAM)实现,Cache有SRAM组成。DRAM肯定不用于两者
五、经典题目

(异步刷新与集中刷新)

在这里插入图片描述

在这里插入图片描述

(交叉存储的访问)

在这里插入图片描述

在这里插入图片描述

(物理地址和逻辑地址的有效位数)

在这里插入图片描述

在这里插入图片描述

(Cache的结构)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

(全写法与写回法的选择)

在这里插入图片描述

在这里插入图片描述

(综合考察)

在这里插入图片描述

在这里插入图片描述

(虚拟存储器与物理存储器)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 8
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值