计算机组成原理-第七章复习

三层次存储系统

三层次存储系统指CACHE-主存-辅存存储系统。

目的:解决高速度、大容量和低成本间的矛盾。

主存-辅存层次

解决容量和成本间的矛盾。

CACHE-主存层次

解决速度和成本间的矛盾。

CACHE工作原理

工作原理也就是层次存储系统能发挥效用的原因,如下:

根据程序访问的局部性,如果当前正在执行的程序和数据存放在CACHE中,当程序运行时,不必从主存储器取指令和数据,访问CACHE即可。

程序访问的局部性

在一个较短的时间间隔内,程序访问的地址(程序、指令的地址和数据的地址)往往集中制存储器逻辑地址空间的很小范围内。

三种地址映像方式

地址映像:主存地址映像到Cache

直接映像

  • 优点

    实现简单,只需利用主存地址按某些字段直接判断,即可确定所需字块是否已在cache中

  • 缺点

    不够灵活,不能用替换算法

全相联映像

  • 优点

    最灵活,可以使用任何替换算法,理论上命中率高

  • 缺点

    成本最高,每个Cache块都要用一个运算器

组相联映像

组间直接映像,组内全相联映像

  • 优缺点

    是直接映像和全相联映像的折衷方案,性能处于前两种之间。

替换算法

FIFO

把最先调入cache的字块替换出去

LRU

把近期最少使用的字块替换出去。

这需要一张表来记录cache中各字块的使用情况,把最近使用的字块放到表的最上边,其他的向下顺移。

虚拟存储器

虚拟存储器拥有辅存的容量,接近主存的速度和辅存的单位成本。

存储管理

段式管理

利用程序的模块化形状,把主存按段分配

  • 优点
    • 段的分界和程序的自然分界相对应
    • 段的逻辑独立性使它易于编译、管理、修改和保护,也易于重复调用。
  • 缺点
    • 容易在段间留下许多零碎的存储空间,造成空间浪费。

页式管理

主存物理空间被划分为等长的页

  • 优点

    与段式管理相比,空间浪费要小得多

  • 缺点

    处理、保护和共享都不如段式来得方便

段页式管理

程序按模块分段,段内再分页出入内存仍以页为单位,用段表和页表进行两级管理(每段一个页表)

页式存储器

虚地址高位字段为虚页号,低位字段为页内字地址。

假设页表保存在内存中,那么访问存储器时首先要查页表(需要访问主存),得到实地址后,再次访问主存才能完成读写操作,这样相当于主存速度降低了一半

解决办法:使用快慢表,快表是慢表(主存中的页表)的小小的副本。

查表时,用虚页号同时去查快表和慢表,如果在快表中找到,就将对应的实页号送入实主存地址寄存器,并使慢表的查找作废;找不到时,就要花费一个访问主存时间查慢表,从中查到实页号送入实存地址寄存器,并将此虚页号和对应的实页号送入快表,替换快表中某一行内容(这也使用替换算法)。

段页式虚拟存储器


作者:@臭咸鱼

转载请注明出处:https://chouxianyu.github.io

欢迎讨论和交流!