第3章 存储系统.

Slides:



Advertisements
Similar presentations
第五章 存储系统 5.1 存储器的构成 5.2 存储系统的构成 5.3 Cache 5.4 虚拟存储器.
Advertisements

第6章 存储系统 6. 1 存储器的分类与性能评价 6. 2 存储器访问的局部性原理与 层次结构存储系统 6. 3 半导体存储器
计算机系统结构 (第9讲).
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
第四章 存储系统 4-1 存储系统概论 4-2 RAM(随机读写存储器) 4-3 ROM(只读存储器) 4-4 高速缓冲存储器(Cache)
第6章 微机存储器系统 存储器是计算机中存储信息的部件。它可以把需要CPU处理的程序和原始数据存储起来,处理时自动而连续地从存储器中取出程序中的指令并执行指令规定的操作。程序执行过程中的数据也可利用存储器保存起来。这就是说,计算机每完成一条指令,至少有一次为了取指而访问存储器。
计算机系统结构 第五章 存储系统.
第5章 存储器 本章学习主要内容为: 存储器的分类及性能指标。 存储器的分级结构。 常用存储芯片与CPU的接口特性。 存储器的接口设计。
计算机原理及系统结构 第三十一讲 主讲教师:赵宏伟                 学时:64.
第 6 章 存储系统 ——本章主要介绍三级存储体系的含义,及存储器的逻辑设计方法。
第四章 存储系统 计算机科学技术系 2006 年 4 月.
第三章 存储系统 现代计算机系统都以存储器为中心 在计算机运行过程中,存储器是各 种信息存储和交换的中心。
实验四 利用中规模芯片设计时序电路(二).
第6章 存储系统 计算机教学实验中心.
5.4 顺序脉冲发生器、 三态逻辑和微机总线接口 顺序脉冲发生器 顺序脉冲 计数型 分类 移位型.
第五章 存储层次 5.1 存储器的层次结构 5.2 高速缓冲存储器基本知识 5.3 降低Cache不命中率的方法
第6章 存储器和高速缓存技术.
半导体存储器 第四章 半导体存储器.
第 4 章 主存储器与存储体系 计算机的工作依赖于存储器中的程序和数据,存储器的容量和性能对于整个系统的性能至关重要。 本章教学内容
计算机组成原理第四章 知识点一:存储系统层次结构和评价方法 主讲教师:吴非.
第五章 存储器 本章要点: ♦ 现代高档微机系统的存储器体系结构 ♦ 半导体存储器的分类与选用原则 ♦ 存储器芯片与CPU的接口特性
Cache综合应用案例 某计算机的主存地址空间大小为256 MB,按字节编址。指令Cache和数据Cache分离,均有8个Cache行,每个Cache行大小为64 B,数据Cache采用直接映射方式。现有两个功能相同的程序A和B,其伪代码如下所示: 程序A: int a[256][256]; …… int.
3.1 存储器的构成 3.2 存储系统的构成 3,3 Cache 3,4 虚拟存储器
§3 高速缓冲存储器(Cache) 工作原理和基本结构 地址映象与变换 Cache存储器的LRU替换算法的硬件实现
第七章 单片机存储器的扩展.
第 5 章 存 储 器 中国科学技术大学 何克东.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
版权所有,引用请注明出处 第四章、存储系统 原著 谭志虎 主讲(改编) 蒋文斌.
第3章 存储系统 现代计算机系统以存储器为中心 3.1 存储系统原理 3.2 虚拟存储器 3.3 高速缓冲存储器(Cache)
第一节 存储器概述 一、存储器分类 访问方式的随机 SRAM 访问位置的随机 RAM DRAM 存 储 器 系 统 主存(内存)
第五章 存储系统 半导体存储器概述 系统内存扩充 高速缓冲存储器 虚拟存储器 PC系列机中的主存储器 习题与思考 上一章 目 录 帮助
第六章 存贮器 6.1 存储器概述 6.2 随机存取存储器(RAM) 6.3 只读存储器(ROM) 6.4 CPU与存储器的连接.
4.1 概述 4.2 主存储器 4.3 高速缓冲存储器 4.4 辅助存储器.
第 6 章 存储系统 6.1 概述 存储器的层次结构 存储器的分类 存储器的基本组成
第四章 存 储 器 4.1 概述 4.2 主存储器 4.3 高速缓冲存储器 4.4 辅助存储器.
计算机组成原理 武汉科技大学 计算机科学与技术学院
存储系统.
第3章 存储系统 本章内容: 存储器概述 随机读写存储器 只读存储器和闪速存储器 高速存储器 cache存储器 虚拟存储器 存储保护.
微机原理与接口技术 第5章 80X86_88存储系统 黄强 深圳大学 信息工程学院.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
computer organization principle
第4章 存 储 器 4.1 概述 4.2 主存储器 4.3 高速缓冲存储器 4.4 辅助存储器 本章主要知识点小结.
逆向工程-汇编语言
CPU结构和功能.
第12章 半导体存储器 孙卫强.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
计算机组成与系统结构 陈泽宇 副教授.
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
微机系统的组成.
顺序表的删除.
第5章 存储器 5.1 存储器概述 5.2 半导体存储芯片结构及使用 位系统的存储器接口.
WPT MRC. WPT MRC 由题目引出的几个问题 1.做MRC-WPT的多了,与其他文章的区别是什么? 2.Charging Control的手段是什么? 3.Power Reigon是什么东西?
(Random Access Memory)
第三章 MCS 51的硬件结构.
第二章 补充知识 2.1 总线和三态门 一、总线(BUS) 三总线结构 数据总线DB(Data Bus)
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
iSIGHT 基本培训 使用 Excel的栅栏问题
长春理工大学 电工电子实验教学中心 数字电路实验 数字电路实验室.
第六章 記憶體.
《数字电子技术基础》(第五版)教学课件 清华大学 阎石 王红
段式存储管理(Segmentation)
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
第 6 章 存储系统 ——本章主要介绍三级存储体系的含义,及存储器的逻辑设计方法。
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
第九章 存储器和可编程逻辑器件 本章主要内容 半导体存储器 只读存储器 随机存取存储器 存储器容量的扩展 可编程逻辑器件
DSP技术与应用 电子与信息技术系.
Presentation transcript:

第3章 存储系统

本章提要: 存储器基本概念; 半导体存储器的组成、结构、性能、以及工作原理; 三级存储系统及其他提高主存性能的方法; Cache存储系统地址映象及变换方法、块替换算法、一致性问题; 虚拟存储系统的工作原理、页面替换算法; 并行存储器、双端口存储器、相联存储器的工作原理;

主要章节 3.1 存储器概述 3.2 主存储器 3.3 高速缓冲存储器 3.4 虚拟存储器 3.5 高速存储器 3.6 存储保护

3.1 存储器概述 随着计算机应用的深入和外围设备的发展,计算机系统逐渐形成以存储器为中心的系统结构 。 3.1.1 存储器分类 3.1 存储器概述 随着计算机应用的深入和外围设备的发展,计算机系统逐渐形成以存储器为中心的系统结构 。 3.1.1 存储器分类 3.1.2 存储器分级结构

3.1.1 存储器分类 在一台计算机中,通常有多种存储器并存 (1) 存储介质 : 磁性材料存储器、半导体存储器、激光存储器等; 3.1.1 存储器分类 在一台计算机中,通常有多种存储器并存 (1) 存储介质 : 磁性材料存储器、半导体存储器、激光存储器等; (2)存储方式: 随机存取存储器、只读存储器、串行访问存储器; (3)功能作用: 通用寄存器、 Cache、主存储器、辅助存储器;

3.1.2 存储器分级结构 为了解决存储器高速度、大容量、低成本矛盾,逐渐形成了层次结构式的存储体系; 3.1.2 存储器分级结构 为了解决存储器高速度、大容量、低成本矛盾,逐渐形成了层次结构式的存储体系; 由容量、速度和价格均不相同的存储器用硬件、软件或软硬件相结合的方法连接起来构成一个存储系统; 从整体看,该存储系统存取速度相当于速度最快的那个存储器,存储容量取决于容量最大的那个存储器,每位平均价格接近最便宜的那个存储器。

三级存储器系统

(1)主存-辅存层次 信息交换通过辅助软、硬件实现 ; 速度接近于主存,但容量却等于辅存,而且每位平均价格也接近于廉价的辅存的平均价格 ; 解决存储器的大容量要求和低成本之间的矛盾 ;

主存-辅存存储层次

(2)Cache-主存层次 主存与Cache之间的信息交换由专门的部件(辅助硬件)控制进行 ,辅助硬件通常用组合逻辑实现 ; 从CPU的角度看,Cache-主存层次其等效的存取速度接近于Cache,存储容量与每位平均价格则接近于主存; 解决了速度与成本之间的矛盾;

Cache-主存存储层次

Cache、主存、辅存性能比较 速度 容量 物理 实现 与CPU的关系 功能 Cache 高 小 SRAM CPU直接访问 主存 中 存储器 速度 容量 物理 实现 与CPU的关系 功能 Cache 高 小 SRAM CPU直接访问 存放当前运行中最可能频繁使用的程序段和数据,是主存中部分内容的复制 主存 中 DRAM 存放处于运行状态的程序和数据 辅存 低 大 磁、光存储器 CPU不能直接访问 存放暂不执行的程序和数据,起支援主存的作用 Cache、主存、辅存性能比较

3.2 主存储器 由于指令的执行速度基本上取决于存储器的访问速度,因此,主存的性能已经成为影响整个系统最大吞吐量的决定性因素。 3.2 主存储器 由于指令的执行速度基本上取决于存储器的访问速度,因此,主存的性能已经成为影响整个系统最大吞吐量的决定性因素。 3.2.1 主存储器的性能参数 3.2.2 随机读/写存储器 3.2.3 只读存储器

3.2.1 主存储器的主要性能参数: B(字节) 1Byte=8bit 计算机中信息的存储单位 : 3.2.1 主存储器的主要性能参数: 计算机中信息的存储单位 : (1) 位(bit)、字节(Byte)、字(Word); B(字节) 1Byte=8bit KB(千字节) 1KB=210Byte=1024Byte MB(兆字节) 1MB=210KB=1024KB GB(吉字节) 1GB=210MB=1024MB TB(太字节) 1TB=210GB=1024GB (2) 主存容量:存储器中能存储的信息总数量简称为存储容量,以字节为单位 ;

存储器的编址方式 不同的计算机,存储器的编址方式有所不同,一个存储单元可能包含若干个能够独立编址的字节 (1)字节编址方式 计算机可寻址的最小信息单位是 “字节” ,称为“字节可寻址”计算机

存储器的编址方式 (2)字编址方式 某些计算机可寻址的最小信息单位是一个存储字,相邻的存储器地址表示相邻存储字,这种机器称为“字可寻址”机器。

存储器的编址方式 (3)双字编址方式 “信息的整数边界”条件可以作为机器进行检错的一种方法。

地址和容量的计算 (1)已知地址线,求寻址空间; 例1、若地址线有32根,则它的寻址空间为多大? 解:32根地址线有最多232B的寻址能力。 232B=232/210KB =222/210MB =212/210GB =4GB(4096MB)

地址和容量的计算 (2)已知起始地址和末地址,求存储空间; 例2、从编号为3000H~3FFFH的地址中,包含了多少个单元? 解: 3FFFH-3000H+1H =FFFH+1H =1000H=1×163Byte =4096Byte=4KB

地址和容量的计算 (3)已知存储容量和起始地址,求末地址 ; 例3、有一个32KB的存储器,用十六进制对它的地址进行编码,起始编号为0000H,末地址为多少? 解: 0000H+32KB-1H=32KB-1H =(32×210)-1=25×210-1=215-1 =1000,0000,0000,0000B-1 =8000H-1=7FFFH

存储器的存取速度 (1)存储器存取时间(Memory Access Time)又称存储器访问时间,是指从启动一次存储器操作到完成该次操作所经历的时间间隔。 (2)存储器存储周期(Memory Cycle Time)连续两次访问存储器之间所需最小时间间隔。存储周期略大于存取时间,是衡量计算机性能的一个标准。 (3)存储带宽:存储器被连续访问时所提供的数据传输速率

主存储器的基本操作 主存与CPU的连接

主存储器的基本操作 (1)读操作 CPU需要把信息字的地址送到MAR,经地址总线送往主存储器; CPU从控制线Read发一个“读”请求; CPU等待从主存储器发来的回答信号,通知CPU“读”操作完成; 主存储器通过Ready线做出回答,若Ready信号为“1”,说明存储字的内容已经读出,并放在数据总线上,送入MDR; 读数操作完成。

主存储器的基本操作 (2)写操作 CPU先将信息字在主存中的地址经MAR送地址总线,并将信息字送MDR; 控制线Write发出“写”命令; 主存储器从数据总线接收到信息字并按地址总线指定的地址存储,然后经Ready控制线发回存储器操作完成信号; 写数操作完成;

3.2.2 随机读/写存储器 存储元是存储器中的最小存储单位。它的基本作用是存储一位二进制信息。 存储元材料或电路须具备的基本功能: 3.2.2 随机读/写存储器 存储元是存储器中的最小存储单位。它的基本作用是存储一位二进制信息。 存储元材料或电路须具备的基本功能: 具有两种稳定状态; 两种稳定状态经外部信号控制可以相互转换; 经控制,能读出其中的信息; 无外部原因,其中的信息能长期保存。

静态存储器 (1)存储单元 T1、T2为工作管 T3、T4为负载管 T5、T6称为门控管

静态存储器 将字选择线W置高电位,存储单元被选中。 写操作:将位线D、D’ 分别送高电位和低电位,或分别送低电位和高电位,便可迫使触发器状态发生变化,从而把信息写入存储单元。 读操作:根据两条位线中哪一条有负脉冲来判断触发器的状态。

静态存储器 (2)静态存储器结构 存储体 地址译码电路 驱动器 读/写电路 控制电路

动态存储器 (1)存储单元 T1、T2为工作管 T5、T6称为门控管 利用T1、T2管的栅极与衬底间的电容C1、C2上所存电荷的状态来存储二进制信息。

动态存储器 写操作: 写“1”时,字选择线W为高电位,同时D’为高电位,D为低电位。由于T5、T6管导通,D’的高电位加至Q点,使C1充电至高电位。同时位线D的低电位加至Q点,使C2放电(原状态为0时)或不充电(原状态为1时)。于是Q点为高电位,Q点为低电位,实现写“1”。 写“0”时,字选择线W为高电位,同时D为高电位,D’为低电位即可。

动态存储器 读操作: 字选择线W、位线D和D’都加高电位。假定该存储元原存信息为“1”,此时T1导通,T2截止,为低电位而Q为高电位,位线D有电流经T5、T1接地,位线D’上无电流。若原存信息为“0”,位线D’有电流经T6、T2接地,而D线上无电流。因此,D线有电流表示读1,D’线上有电流表示读0。

动态存储器 为了进一步提高集成度,可以只用一个MOS管和一个电容来实现一位二进制信息的存储。

动态存储器 (2)动态存储器结构 动态MOS芯片和静态MOS芯片的不同点: 数据输入DIN和数据输出DOUT是分开的而且可以锁存; 该片控制信号只有WE,没有片选信号CS; 地址线也作刷新用,刷新时地址计数,逐行刷新;

动态存储器 (3)存储控制 刷新 :由外界按一定规律将信息再生,使其保持鲜明的“0”、“1”状态; 刷新周期:从上一次对整个存储器刷新结束到下一次对整个存储器刷新一遍为止,这段时间也称为再生周期,一般为2ms。 动态MOS存储器采用“读出”方式进行刷新

动态存储器 集中刷新方式 在一个刷新周期内,利用一段固定的时间,依次对存储器的所有行逐一再生在此期间停止对存储器的读和写。缺点是在刷新期间不能进行存取访问,存在“死”时间,有时会影响计算机系统的正常工作。

动态存储器 分散刷新方式 把存储器的系统工作周期分为两部分:前半部分用于正常读、写或保持,后半部分用于再生某一行,对每一行的再生被分散到了各个工作周期。刷新过于频繁,使存储器不能高速工作。

动态存储器 异步刷新方式 将刷新周期除以行数,得到两次刷新操作之间的时间间隔,在此时间内的前段用于读/写/保持,后段用于刷新一行,利用逻辑电路每隔时间t产生一次刷新请求。它将死时间降到最低,即充分利用了2ms的刷新周期,又保证了系统的速度。

双极型存储器 (1)存储单元 T1和T2为两个双发射极晶体管,它们的基极和集电极交叉相连,构成一个触发器。

存储器容量扩展 (1)位扩展 位扩展指的是加大字长。位扩展的连接方式是将多片存储器的地址、片选、读/写端相应并联,数据端单独引出。

存储器容量扩展 (1)位扩展 例4、用16K×1位芯片组成16K×8位的RAM存储器。 解:由题可知,该芯片只需按要求增加字长。

位扩展

存储器容量扩展 (2)字扩展 字扩展指的是增加存储器中字的数量。静态存储器进行字扩展时,将各芯片的地址线、数据线、读/写控制线并联,而由片选信号来区分各芯片的地址范围。

存储器容量扩展 (2)字扩展 例5、用16K×8位芯片组成64K×8位的RAM存储器。 解:由题可知,该芯片只需增加容量。 该64K×8位存储器需要用4个16K×8位芯片。数据线D0~D7与各片的数据端相连,地址总线低位地址A0~A13与各芯片的14位地址端相连,而两位高位地址A14、A15经过译码器和4 个片选端相连。

字扩展

存储器容量扩展 (3)字位扩展 同时扩充存储器的字长和字的数量。 动态存储器一般不设端CS,但可用RAS端来扩展字数

存储器容量扩展 (3)字位扩展 例6、用16K×4位芯片组成64K×8位的RAM存储器。 储器共需要 个芯片。

字位扩展

读写操作时序 静态存储器的片选、写允许、地址和写入数据在时间配合上有一定要求。 静态存储器读时序

静态存储器写时序

动态存储器读时序

动态存储器写时序

3.2.3 只读存储器 (1)掩膜只读存储器MROM(Masked ROM) (2)可编程序的只读存储器PROM(Programmable ROM) (3)可擦除可编程只读存储器EPROM(Erasable Programmable ROM) (4)电可擦除可编程只读存储器EEPROM(Electrically Erasable Programmable ROM)

3.3 高速缓冲存储器(Cache) 3.3.1 工作原理 3.3.2 主存与Cache的地址映射 3.3.3 Cache的替换算法 3.3.1 工作原理 3.3.2 主存与Cache的地址映射 3.3.3 Cache的替换算法 3.3.4 Cache的写操作策略

基本概念 局部性原理:在任一短的时间周期内,程序对存储器地址的访问往往局限在逻辑地址空间的一个很小范围内,而对此范围之外的地址访问甚少,对数据代码的访问具有相对集中的倾向。这种现象就称为数据引用的局部性。 块(Block):相邻两级间的信息交换单位,块的大小通常以在主存的一个存储周期内可以访问到的数据长度为限。

基本概念 命中率H:CPU产生的有效地址可以直接在高层存储器中访问到的概率; 失配损失:用低层存储器中相应块替换高层存储器中的块,并将访问数据传送到请求访问的设备的时间,由访问时间和传送时间两部分组成。

Cache的基本设计问题: 映象方式:相邻两级存储器中块的对应关系,一般通过某个函数来描述,如何确定两级之间地址映象的函数? 映象机构:映象方式的具体实现,在程序执行过程中,如何实现映象地址的转换? 替换策略:发生失配而对应候选块又都是有效块,如何选择有效候选块将之淘汰出去? 写策略:写操作时采用什么策略保证两级存储器间的数据一致性,写操作失配时是否将访问块调入高层存储器?

3.3.1 工作原理 Cache存储器介于CPU和主存之间,它的工作速度数倍于主存,全部功能由硬件实现,并且对程序员透明的。

Cache和对应的地址格式

Cache命中率计算 在程序执行期间,设Cache完成存取的总次数为Nc,主存完成存取的总次数为Nm,则命中率H可以定义为: (公式3.1)

Cache命中率计算 若命中时的Cache访问时间为Tc,失配时的主存访问时间为Tm,失配率为1-H,则Cache-主存层次的平均访问时间Ta可以定义为: (公式3.2)

Cache命中率计算 令主存与Cache的访问时间的比率,则访问效率η可以定义为: (公式3.3)

Cache命中率计算 例7、 假定某程序被执行时,命中Cache完成的存取次数为1900次,失配完成的存取次数为100次,已知ρ=5,求该存储系统的访问效率。 解:由题可知,Nc=1900,Nm=100,ρ=5,

3.3.2 主存与Cache的地址映射 在选取地址映象方法要考虑的主要因素: 地址变换的硬件容易实现; 地址变换的速度要快; 主存空间利用率要高; 发生块冲突的概率要小 假设主存空间被分为2m个块,字块大小为2b个字: Bm(0),Bm(1),…,Bm(i),…Bm(2m-1) Cache存储空间被分为2c个同样大小的块: Bc(0),Bc(1),…,Bc(j),…Bc(2c-1)

地址映象 (1)直接映象(Direct Mapped) 映象规则:主存中一块只能映象到Cache的一个特定的块中。 映象函数 : j = i mod 2c 其中:j是Cache的字块号、i是主存的字块号。 整个Cache地址与主存地址的低位部分完全相同。

直接映象Cache组织

直接映象地址变换

(1)直接映象 优点:地址映象最简单,不须比较查找, 只需利用主存地址按某些字段直接判断,即可确定所需字块是否已在Cache存储器中,实现简单,速度快。 缺点:不够灵活,Cache存储空间得不到充分利用,命中率低。

地址映象 (2)全相联映象(Fully Associative) 映象规则:主存中的任意一块都可以映象到Cache中的任意一块。 用硬件实现非常复杂,在虚拟存储器中,全部由软件实现

全相联映象 Cache组织

全相联映象地址变换

(2)全相联映象 优点:映象方式最灵活,可以充分利用Cache的空间; 缺点:结构复杂、地址映象速度慢、成本高,是一个理想的方案,基本不能采用。

地址映象 (3)组相联映象(Set Associative) 映象规则:主存和Cache按同样大小划分成块,还按同样大小划分成组,从主存的组到Cache的组之间采用直接映象方式,在两个对应的组内部采用全相联映象方式 映象函数 :j=(imod 2c-r)×2r +g 0≤j≤2c-1,0≤i≤2m-1,0≤g≤2r - 1 其中j是Cache的字块号、i是主存的字块号,g是位于上述范围内的可选参数

组相联映象地址变换

(3)组相联映象 优点:块的冲突概率比较低;块的利用率大幅度提高;块失效率明显降低 缺点:实现难度和造价要比直接映象方式高 当r=0时,R=20=1,就成为直接映象方式,即直接相联方式为1路组相联; 当r=c时,R=2c=C就是全映象方式,即全相联方式为C路组相联。

3.3.3 Cache的替换算法 替换算法:也称替换策略,发生失配而对应候选块又都是有效块时,需要淘汰一个下一段时间内不再被访问字块或很久才进行下一次访问的有效的候选字块,让位于一个新的字块。全部用硬件加以实现。

替换算法 (1)最优替换算法 (OPT OPTimal replacemant algorithm): 考虑替换候选块: 最近刚刚使用过的候选字块; 最远的将来才被访问的候选字块。 假定将要访问的地址序列是A,Z,B,Z,C,A,D,E,F,G,H

OPT替换算法登记表

替换算法 (2)近期最少使用算法 (LRU Least Recently Used algorithm) 考虑替换候选块:近期最少使用的候选字块。 这种算法既充分利用了历史信息,又反映了程序的局部性,当分组容量加大时,能提高LRU替换算法的命中率。但实现起来非常困难,因此,经常会使用简化后的LRU算法。

LRU替换算法登记表

替换算法 (3)先进先出算法 (FIFO First-In First-Out algorithm) 考虑替换候选块:最近刚刚使用过的候选字块。 这种算法只利用历史信息,不反映程序的局部性,比较容易实现。但在分组容量不大的情况下,对于嵌套结构的程序的访问命中率不如LRU替换算法高。

替换算法 (4)随机算法(RAND Random algorithm) 这种算法不考虑使用情况,在组内随机选择一块来替换。算法简单,容易实现,即没有利用历史信息,也没有反映程序的局部性,命中率低,其性能比根据使用情况的替换算法要差些。

3.3.4 Cache的写操作策略 两个Cache目录的写操作系统

Cache的一致性问题 造成Cache与主存的不一致的原因: 由于CPU写Cache,没有立即写主存 由于IO处理机或IO设备写主存 (1) 写回法 (抵触修改法,Write-Back) CPU数据只写入Cache,不写入主存 (2)写通过法 (写直达法,Write-through ) CPU在执行写操作时,把数据同时写入Cache和主存。

写回法与写直达法的优缺点比较: 可靠性,写直达法优于写回法 与主存的通信量, WB少于WT 控制的复杂性, 写直达法比写回法简单 硬件实现的代价, 写回法要比写直达法好 写Cache的两种方法: (1)不按写分配法:在写Cache不命中时,只把所要写的字写入主存。 (2)按写分配法:在写Cache不命中时,还把一个块从主存读入Cache。 目前,在写回法中采用按写分配法,在写直达法中采用不按写分配法。

3.4虚拟存储器 3.4.1 虚拟存储器的基本概念 3.4.2 段式虚拟存储器 3.4.3 页式虚拟存储器 3.4.4 段页式虚拟存储器 3.4.1 虚拟存储器的基本概念 3.4.2 段式虚拟存储器 3.4.3 页式虚拟存储器 3.4.4 段页式虚拟存储器 3.4.5 虚拟存储器的工作过程 3.4.6 替换算法

3.4.1 虚拟存储器的基本概念 虚拟存储系统的信息传送单位: 段、页和段页 虚拟存储系统有两大主要特点: 3.4.1 虚拟存储器的基本概念 虚拟存储系统的信息传送单位: 段、页和段页 虚拟存储系统有两大主要特点: 允许用户用比主存空间大得多的空间来访问主存; 每次访存都要进行虚实地址的转换。

虚拟存储器地址变换结构

3.4.2 段式虚拟存储器 基本思想:利用程序的模块化性质,按程序的逻辑结构将主存的物理空间划分成的多个相对独立部分,以段为单位分配内存,每段分配一个连续的内存区,然后通过地址映射机构把段式虚拟地址转换成实际的内存物理地址。由于各段长度不等,所以这些存储区的大小不一,同一程序所包含的各段在物理存储上可以不连续。

段表地址格式

段式虚拟存储器地址变换

段式管理系统 地址变换: 由用户号U找到段表基址寄存器 将段表基地址与虚地址中的段号S相加,得到相应的段表地址 访问该段表地址,判断特征位为1,命中,把段始地址与虚地址中的段内偏移D拼接组成实存地址 据此实存地址访问主存

段式管理系统 优点: 程序的模块化性能好 便于程序和数据的共享 程序的动态链接和调度比较容易 便于实现信息保护 缺点: 要求有更多的硬件支持,成本高。 系统管理难度高、开销大。 碎片问题严重,空间浪费大,主存利用率低

3.4.3 页式虚拟存储器 基本思想:把虚拟地址空间划分成一个个固定大小的块,每块称为一页,把主存的物理空间也按虚拟地址空间同样的大小划分为等长的固定区域,称为页面。虚拟地址空间中的页称为虚页,主存地址空间中的页称为实页。页是一种逻辑上的划分,可以由系统软件任意指定

页表地址格式

页式虚拟存储器地址变换

页式管理系统 地址变换: 通过用户号U找到与对应的基址寄存器 从这个基址寄存器中读出页表起始地址 访问页表得到主存页号P,与虚地址中的页内偏移D拼接得到主存实地址。

页式管理系统 优点: 页表相对比较简单 地址变换的速度比较快 对磁盘的管理比较容易 有效解决碎片问题,主存利用率比较高 缺点: 模块化性能不好 系统开销比较大 页表很长,需要占用很大的存储空间

3.4.4 段页式虚拟存储器 设计思想:用分段产生程序和数据的逻辑结构,然后将段分成固定大小的页面调进调出主存,同时又可以按段实现共享和保护。用户按照程序段来编写程序,每个程序段分成几个固定大小的页。

段页式存储格式

段页式虚拟存储器地址变换

段页式管理系统 地址变换: 先查段表,得到该程序段的页表起始地址和页表长度 再查页表找到要访问的主存实页号 最后把实页号P与页内偏移D拼接得到主存的实地址。

段页式管理系统 优点: 反映了程序的逻辑结构,有利于段的动态增长以及共享和内存保护 有效地克服了碎片,提高了存储器的利用率 缺点: 地址映象过程中需要多次查表,导致管理软件增加,复杂性和系统开销随之增加 需要的硬件以及占用的内存也有所增加

3.4.5 虚拟存储器的工作过程 以页式虚拟存储管理系统为例: 地址变换:

3.4.6 替换算法 颠簸(Thrashing):多用户设计虚拟存储系统环境中,当系统在重负荷时,会进入不稳定状态,其基本特征是常用的页面在主存和辅存之间频繁地调进调出。避免颠簸的一个有效方法是估算工作集的大小和内容,并把整个工作集装入主存。

管理策略 基于工作集特征的存储器管理策略为: 当发生页故障时,把新的一页加入工作集; 页故障之前的一定时间内没有被访问的页面中,选择近期最少使用的页并删除,如果在所有页面都被访问过,则不删除任何页面,让工作集再扩大一页; 如果在一定时间内,工作集中有两个或更多的页没有被访问过,则删除两个近期最少使用的页,这有利于压缩被分配的页数,有效控制存储空间的利用率。

虚拟存储器替换策略 例8、一个循环程序,依次使用P1,P2,P3,P4四个页面,分配给这个程序的主存页面数为三个。给出FIFO、LRU、OPT 三种页面替换算法对这三页主存的使用情况,包括调入、替换和命中等。 解:由分析可知,在该例中,除OPT算法外,FIFO和LRU算法总是发生下次就要使用的页面本次被替换出去的情况,这就是“颠簸”现象。

三种替换算法对同一地址流的调度情况

3.5 高速存储器 相对于常规存储器来说,为了扩充主存空间,提高存储系统的访问速度,提出了多种并行、高速存储器。 3.5.1 多模块交叉存储器 3.5.2 双端口存储器 3.5.3 相联存储器

3.5.1 多模块交叉存储器 多模块交叉存储器将大容量主存分成多个独立的、容量相同的存储模块,每个模块都有自己的读写控制线路、地址寄存器和数据寄存器。CPU可以同时访问多个模块,实现重叠和交叉存取,从而提高整个系统的平均访问速度。

高位交叉编址

低位交叉编址

存取控制方式 四体交叉访问时序图

3.5.2 双端口存储器 双端口存储器是一种并行存储器 特点: 有两组相互独立的读写控制电路,每组读写控制电路称为一个端口 任何一个端口都有单独的一组数据总线和地址总线,控制总线包括片选信号CE,读/写信号R/W,输出允许信号OE 具有访问允许信号BUSY,实现访问禁止/允许

双端口存储器

访问优先仲裁 仲裁方法: (1)CE判断:如果地址匹配且在CE之前有效,则芯片上的控制逻辑在CEL(左端口片选)和CER(右端口片选)之间进行判断来选择端口; (2)地址有效判断:如果CE在地址匹配之前变有效(低电平),则芯片上的控制逻辑在左、右地址之间进行判断来选择端口。

3.5.3 相联存储器 比较数据寄存器CR:用于存放要比较的数据或要检索的内容; 屏蔽寄存器MR:与CR配合实现对比较数的部分内容进行的检索; 字选择寄存器WSR:用来确定哪些字参与检索; 查找结果寄存器SRR:用于表明满足要求的比较结果;

相联存储器

3.6 存储保护 作用: 保护系统软件不被破坏,限制用户对系统区域的访问。 防止用户程序非法访问另一用户主存区域 防止因一个用户程序出错而导致其它用户的程序和数据意外受损。 管态:是指执行操作系统或管理程序时所处的状态,也称特权状态 目态:是执行用户程序时所处的状态

3.6.1 存储区域保护 (1)页表保护方式 段表、页表保护适用于没形成主存地址前的保护。 (2)键保护方式 3.6.1 存储区域保护 (1)页表保护方式 段表、页表保护适用于没形成主存地址前的保护。 (2)键保护方式 键保护方式可以防止因地址变换过程中形成的错误主存地址导致对其他程序区域的影响。 (3)环保护方式 环状保护方式可以做到对正在执行的程序本身进行保护。

3.6.2 访问方式保护 主存的访问方式: 读(R) 写(W) 执行(E),指将主存信息作为指令使用 访问方式保护: 3.6.2 访问方式保护 主存的访问方式: 读(R) 写(W) 执行(E),指将主存信息作为指令使用 访问方式保护: R、W、E三种以及由这三种方式形成的逻辑组合。

第三章 课后练习 End