多级的cache结构与命中率的关系
为增加计算机系统中的cache容量,通常可以在已有的cache存储器系统之外,再增加一个容量更大的cache。此时原有cache为第一级cache(例如奔腾机微处理机芯片内的cache),新增加的cache则成为第二级的cache。
第二级cache的容量比第一级cache的容量要大得多,在第一级cache中保存的信息也一定保存在第二级cache中,但保存有比第一级cache中更多的信息。当CPU访问第一级cache出现缺失情况时,就去访问第二级cache。
若第一级、第二级cache的命中率为90%,则它们合起来后的命中率为1-(1-90%)×(1-90%)=99%,而不会是81%。
Cache替换算法
随机替换(RAND)
■随机找一个Cache块进行替换,比较盲目。
先进先出算法(FIFO)
■将最早调入Cache的字块替换出去,采用循环电路容易实现,开销小。
最近最少使用算法(LRU)
■需要计算字块的使用次数,开销大,但平均命中率比FIFO要高。
改写主存储器的策略
若 CPU 改写了 Cache 一单元内容(写命中)后且尚未改变主存相应单元内容,则出现数据不一致性。有两种解决办法:
■直接改写主存单元内容(Write Through): 简便易行,数据一致性容易保证,但可能带来系统运行效率不高的问题,Cache对写操作没有提高性能。
■拖后改写主存单元内容(Write Back):一直拖到有另外的设备要读该内容过时的主存单元时,则首先停止这一读操作,接下来改写主存内容,之后再起动已停下来的读操作。矛盾是如何检查是否是读无效内存单元的操作,这是通过监视地址总线完成的,记下无效单元地址用于比较。控制复杂些,但可以提供更高的系统运行效率。
如果CPU写内存的数据不在Cache中(写缺失)那么怎么处理呢?
■按写分配法 vs.不按写分配法
CACHE 接入系统的体系结构
侧接法:像入出设备似的连接到总线上,优点是结构简单,成本低,缺点是不利于降低总线占用率。

CACHE 接入系统的体系结构
隔断法:把原来的总线打断为两段,使 CACHE 处在两段之间。优点是有利于提高总线利用率,支持总线并发操作;缺点是结构复杂,成本较高。

本章主要内容
高速缓冲存储器(Cache)
■高速缓存的基本运行原理
■高速缓存的3种映像方式
■高速缓存使用中的几个问题
虚拟存储器
■虚拟存储器概述
■段式存储管理
■页式存储管理
虚拟存储器概述
虚拟存储器是指用磁盘的存储空间来弥补主存空间的不足,使得程序人员能够使用比主存实际空间更大的存储空间来编写和运行程序。
根据“程序运行的局部性原理”,只把一小段时间内用到的程序和数据装入主存;其他程序和数据在操作系统的支持下,在磁盘和主存之间按程序运行的需要自动成批量地完成交换。
虚拟存储器经常使用两种基本管理技术,核心问题都在于处理数据的存放与调度。
■段式存储管理
■页式存储管理 综合起来:段页式存储管理
段式存储管理
段是程序模块化设计的结果,即把程序中逻辑上相对独立的部分设计为不同的段,再经过连接程序连接成更大的程序。此时用段作为信息调入主存的单位是合适的,以段为单位分配与管理主存储器被称为段式存储管理。
段式存储管理的核心问题在于设立和管理段表;段表也是主存中的可再定位的一段信息,用于变换程序中的虚地址(逻辑地址)为主存单元的实地址(物理地址)。
段式存储管理

|