§2 虚拟存储器 1961年英国曼彻斯特大学Kilbrn等人提出 70年代广泛地应用于大中型计算机系统中 目前许多微型机也开始使用虚拟存储器

Slides:



Advertisements
Similar presentations
定 格 入 格 破 格 —— 新诗仿写复习训练 仿照下列句子,再把 “ 人生 ” 比喻成 “ 大海 ”“ 天空 ” , 造两个句子。 如果说人生是一首优美的乐曲,那么痛苦则 是其中一个不可或缺的音符。 参考答案: 1 、如果说人生是一望无际的大海,那么挫折则 是其中一个骤然翻起的浪花。 2 、如果说人生是一片湛蓝的天空,那么失意则.
Advertisements

等可能性事件的概率(二) 上虞春晖中学数学组欢迎你! 1 本课件制作于 §10.5 等可能事件 的概率 ( 二 )
历尽九九八十一难, 唐僧四人终于到达天竺, 取得真经,完成任务。 四人想着难得到天竺一趟, 不如在此游览一番。
足太阴脾经在足大趾与足阳明胃经衔接, 在胸部与手少阴心经相接。 联系的脏腑器官有 咽、舌,属脾,络胃,注心中。 络脉从本经分出,走向足阳明经,进入腹腔,联络肠胃。 经别结于咽,贯舌本。 经筋结于髀,聚于阴器,上腹,结于脐,散于胸中。 第四章 足太阴经络与腧穴 第一节 足太阴经络.
第6章 存储系统 6. 1 存储器的分类与性能评价 6. 2 存储器访问的局部性原理与 层次结构存储系统 6. 3 半导体存储器
中共盘县发展和改革局党组主体责任落实情况报告
我们毕业了 毕业留念册 再见老师 姓名:黄巧灵 班级:六(1)班 毕业时间:2012年6月.
学校秋季常见传染病的防控 武进区疾病预防控制中心 防疫科.
广州宜家选址分析 0连锁 李若谷 陈玉风 黄小飞 蓝柔盈.
兵车行 杜甫 福州十一中语文组 林嵘臻.
王同学的苦恼﹗ MC 4.1 诚可贵﹗.
小猪.
第二章 城市轨道交通系统的构成 城市轨道交通系统的分类 2.1 2.2 车辆与车辆段 2.3 轨道交通限界
2011届高三地理高考复习课件 拉丁美洲 高三地理备课组.
103年度學生健康檢查.
从永磁体谈起.
3.1.1 随机事件的概率(一).
科學論文 鰂魚涌街的衛生情況 作者:廖梓芯 學校:北角官立上午小學 班級:P.5A.
白海豚的分布范围.
2007金坛房地产市场调研报告.
第7章 存储系统.
综合实践活动 设计与实践案例 ——《感恩父母》主题班会.
第四章 存储系统 4-1 存储系统概论 4-2 RAM(随机读写存储器) 4-3 ROM(只读存储器) 4-4 高速缓冲存储器(Cache)
CHAPTER 9 虛擬記憶體管理 9.2 分頁需求 9.3 寫入時複製 9.4 分頁替換 9.5 欄的配置法則 9.6 輾轉現象
超视距安保防范系统 克拉玛依市格恩赛电子科技有限公司 2015年8月.
門神 在傳統觀念中,門是居住環境中與外界相通的出入口,具有重要的屏障作用。門神顧名思義就是護宅守門的神仙,每逢過年,上至天子百官下至普通百姓,家家戶戶必在門上張貼門神,以保一家平安。 門神種類主要有宅第大門上將軍武門神、內室門戶上祈福文門神,還有童子門神、仙子門神等,形象豐富多樣,皇家貴戚還往往在畫上瀝粉貼金,十分吉祥喜慶。
电磁铁.
第二十章 第3节 电磁铁 电磁继电器.
第四章 存储系统 计算机科学技术系 2006 年 4 月.
专题三 生物圈中的绿色植物.
《成佛之道》序~第三章 圓融 /
长江.
第三章 存储系统 现代计算机系统都以存储器为中心 在计算机运行过程中,存储器是各 种信息存储和交换的中心。
陆路交通发达,公路、铁路交通为主,基本上没有水运
第二章 工程造价计价依据第一节 施工定额 概 述 工作时间的研究分析 劳动定额 材料消耗定额
诸葛亮广场.
操作系统 Operating System.
神 山 圣 湖.
世界地理总论 人文地理概况.
第四章 水域生物群.
第五章 资源分配与调度 (一) 资源管理功能 (二) 资源分配的机构和策略 (三) 死锁概念.
大气的受热过程 周南中学.
贵州讲解.
第四章 存储器管理.
第一章 体育统计的基本知识 主讲教师:王丽艳 徐栋.
第七章 固定资产 第一节 固定资产概述 第二节 固定资产的确认和初始计量 第三节 固定资产的后续计量 第四节 固定资产清查与期末计价
提升课堂质量 助推教师成长 促进教学改革 “一师一优课,一课一名师”活动总结 河南省实验小学.
第六课 我们的 中华文化.
第六章 技术创新与经济增长 本章主要问题 ---技术创新过程 ---技术创新分类 ---技术创新动力源 ---技术创新影响因素
合肥公交集团 营运效能分析报告 营 运 服 务 部.
新疆旅游资源 ——伊犁哈萨克自治州.
沟壑纵横的 沟壑纵横的黄土高原(用稿) 黄土高原.
霸气车辆.
100學年度土木工程系專題研究成果展 題目: 指導老師:3223 專題學生:2132、2313 前言: 成果: 圖1 圖2 方法與流程:
第五章 存储系统 半导体存储器概述 系统内存扩充 高速缓冲存储器 虚拟存储器 PC系列机中的主存储器 习题与思考 上一章 目 录 帮助
信息存储与管理 国家天文台 (科技处)信息与计算中心.
排列组合 1. 两个基本原理 分类加法计数原理 分步乘法计数原理.
第四章 存储器管理 4.1 存储器的层次结构 4.2 程序的装入和链接 4.3 连续分配方式 4.4 基本分页存储管理方式
主存管理 第6章 主存管理.
第三节 常见天气系统.
计算机系统结构(2012年春) ----存储层次: Cache基本概念
一、只要內心平靜, 生活中到處都有樂趣, 不論是在庭院中觀賞花卉、在靜夜裡讀書,或者是在郊外欣賞黃昏的稻田風光,李慈銘的︿越縵堂日記﹀裡傳達了這樣的訊息。 二、而劉鶚的︿大明湖﹀,則是帶我們到風景勝地大明湖,去領略湖光山色之美。 兩篇文章都表現出生活中的閒情逸趣,也啟迪我們要沉澱心靈,多與大自然接觸。
2.3 平面与回转体表面相交 回转体截切的基本形式 截平面 截平面 截交线 截交线.
第六章 記憶體.
國民年金 np97006.
第五章 虚 拟 存 储 器 5.1 虚拟存储器概述 5.2 请求分页存储管理方式 5.3 页面置换算法 5.4 “抖动”与工作集
百艳图.
知识点4---向量的线性相关性 1. 线性相关与线性无关 线性相关性的性质 2..
「同根同心」- 交流計劃 廣州及珠三角經濟發展兩天考察團 2016
第六章 直接成本法.
Presentation transcript:

§2 虚拟存储器 1961年英国曼彻斯特大学Kilbrn等人提出 70年代广泛地应用于大中型计算机系统中 目前许多微型机也开始使用虚拟存储器 §2 虚拟存储器 1961年英国曼彻斯特大学Kilbrn等人提出 70年代广泛地应用于大中型计算机系统中 目前许多微型机也开始使用虚拟存储器 是进一步完善主存-辅存存储层次,解决主存容量提出的。

虚拟存储器的特点 多个进程可以共享主存空间 程序员不必做存储管理工作 采用动态再定位,简化了程序的装入

目录 不同的虚拟存储管理方式 页式虚拟存储器构成 页式虚拟存储器实现中的问题

虚拟地址空间 实际地址空间 压缩 映射

不同的虚拟存储管理方式 通过增设地址映像表机构来实现程序在主存中的定位。这种定位技术是将程序分割成若干较小的段或页,用相应的映像表机构来指明程序的某段或某页是否已装入内存。 段式管理 页式管理 段页式管理

段式管理 段为程序的逻辑单位 段表,本身也是段,常驻内存,也可以在辅存,需要时调入主存。 能使大程序分模块编制,并行编程,缩短时间 段表结构: 段名、地址、装入位、段长、访问方式。 段表基址寄存器:指明段表的启始地址。 能使大程序分模块编制,并行编程,缩短时间 便于几道程序共用已在内存内的程序和数据; 各段是按其逻辑特点组合的,容易以段为单位实现存储保护。人工建立。

+ 3k A 4 1.5k 0段 1段 2段 3段 4段 5段 6段 1k 2k 4k a 7 1 6 5 3 2 5k 段名 地址 装入位 1 + 6 5 3 2 5k 段名 地址 装入位 段长 访问方式 已装入 段表长度 段表基地址 段表基址寄存器 实主存空间 A道程序的 程序空间 A道程序的段表 2.5k

段号 段长 起址 主程序 (0段) 1k 8k 8k 1k 1 500 16k 9k 1段 2 200 9k 500 3 200 30k 16k 2段 200 30k 3段 程序 空间 200 主存储器

地址映象方法:每个程序段都从0地址开始编址,长度可长可短,可以在程序执行过程中动态改变程序段的长度。 地址变换方法: 由用户号找到基址寄存器 从基址寄存器中读出段表的起始地址 把起始地址与多用户虚地址中段号相加得到段表地址 把段表中给出的起始地址与段内偏移D相加就能得到主存实地址

多用户 虚地址 用户号U 段号S 段内偏移D 主存实地址 As 1 6 As 2 1 3 n-1 4 段表 长度 段表 基址 段名 起始 地址 装入 位 段长 访问 方式 段表基址寄存器 一个用户(一道作业)的段表

段式管理优缺点 优点 缺点 程序的模块化性能好 便于程序和数据的共享 程序的动态链接和调度比较容易 便于实现信息保护 地址变换所花费的时间比较长,做两次加法运算 主存储器的利用率往往比较低 对辅存(磁盘存储器)的管理比较困难

段分配算法 首先分配:顺序扫描可用区域表,当找到第一个不小于调 入段长度的可用区时,立即分配。 最佳分配:先扫描全部可用区域表,然后寻找一个可用区进行分配,使之分配后段间可用区零头最小。

举例 主存 程序 (a)需依次调入 D、E、F段 (b)首先分配法 D、E、F段全被调入 (c)最佳分配法 F段无法调入 C B A D E 0.5k 3k 7k 8k 10k C B A D E F 1k 2.5k 2k 主存 程序 4k 6.5k 5.5k 9k (a)需依次调入 D、E、F段 (b)首先分配法 D、E、F段全被调入 (c)最佳分配法 F段无法调入

页式管理 页式虚拟存储器把虚拟地址空间划分成一个个固定大小的块,每块称为一页,把主存储器的地址空间也按虚拟地址空间同样的大小划分为页。页是一种逻辑上的划分,它可以由系统软件任意指定。 虚拟地址空间中的页称为虚页,主存地址空间中的页称为实页。 每个用户使用一个基址寄存器(在CPU内),通过用户号U可以直接找到与这个用户程序相对应的基址寄存器,从这个基址寄存器中读出页表起始地址。访问这个页表地址,把得到的主存页号p与虚地址中的页内偏移直接拼接起来得到主存实地址。

页式管理 把主存空间和程序空间机械地等分成固定大小的页,按顺序编号; 页表。如下图。 特点: 页表项简单,查找速度快; 页面大小固定不利于系统的效率, 有些系统可调整其大小。例:MC88200 应用程序 4kb 系统程序512kb 页式管理在存储空间较大时,由于页表过大,效率降低。 存储空间的保护困难。

D b Nv Nr nr nv 7 6 D道程序页表 2 7 1 6 D道程序页表 A B C 4k-1 32k-1 程序标志号 A B C 1 2 4k D道程序 程序空间 虚存页号 A B C 4k-1 32k-1 D 程序标志号 b Nv Nr nr nv 7 6 D道程序页表 虚存 页号 主存 起点 装如 位 访问 方式 专用 基号 虚页号 页内偏移 实页号 1 2 4k D道程序 程序空间 虚存页号 A B C 4k-1 32k-1 2 7 1 6 D道程序页表 虚存 页号 主存 起点 装如 位 访问 方式 专用

X Nv Nr x nv nr 由u转换成基号b 1 多用户 虚地址 用户标志u 用户虚页号 页内位移 多用户虚页号 某道程序的地址 页表基址寄存器 nv nr 实页号 装入位 1 已装入 主存 主存地址寄存器

举例 虚地址空间32位,页面大小为1kb(10位) 页表地址段将达22位, 32-10=22 页表的长度为4兆行(222 =4096k=4M) 如主存容量为8MB 则页表字段为13位,每行为2+1字节 则页表容量为 4MB*3=12MB>主存容量

页号 主存页号 0页 1 1页 2 2页 3 页表 3页 用户程序 主存储器 页式虚拟存储器的地址映象

用户号U 虚页号P 页内偏移D 实页号p 页内偏移d Pa Pa 2 p 装入 修改 主存页号 标志 页表基址 页表

页式管理的优缺点 优点 缺点 主存储器的利用率比较高 页表相对比较简单 地址变换的速度比较快 对磁盘的管理比较容易 程序的模块化性能不好 页表很长,需要占用很大的存储空间。

段页式管理 页式:对应用程序员完全透明,由系统划分. 硬件较少,地址变换速度快, 调入操作简单,静态连接程序; 段式:段独立,有利于程序员灵活实现段的连接、段的扩大/缩小和修改,而不影响其他段,易于针对其特定类型实现保护,把共享的程序或数据单独构成一个段,从而易于实现多个用户、进程对共用段的管理,动态连接程序; 特点:访存两次。 段页式:把实存机械地等分成固定大小的页,程序按模块分段,每个段又分成与主存页面大小相同的页。

地址变换方法: 先查段表,得到该程序段的页表起始地址和页表长度 再查页表找到要访问的主存实页号 最后把实页号p与页内偏移d拼接得到主存的实地址。

用户号U 段号S 虚页号P 页内偏移 实页号p 页内偏移 As A As 1 0/1 Ap 1 p 0/1 装入 修改 页表 地址 装入 实页号 修改 标志

页式虚拟存储器构成

u Nv’ Nr nr nv 虚存总空间 多用户虚地址Ns 2Nr 直接 实存地址np 2Nv页包括2u个 实存空间 用户,每个用户

地址映象和变换 地址映象:是将每个虚存单元按某种规则(算法)装入(定位于)实存,即建立多用户虚地址Ns与实存地址np之间的对应关系。 页面争用(实页冲突):发生两个以上的虚页想要进入主存中同一个页面位置的现象。

地址变换的原则 减少实页冲突 硬件少、成本低 实现方便、变换速度快。 由于虚存空间远远大于实存空间,因此页式虚拟存储器常采用全相联映像。

全相联映像 任何虚页可以映象装入到任何实页位置。冲突概率最低。 虚存 主存 每道程序任何 虚页可映像到 任何实页位置 页0 页1 页2 页面位置0 页面位置1

全相联映像的页表法 页表法 nv 装入位 2u+Nv行

全相联映像的相联目录表法 相联目录表法 u+Nv nv 2nv行 相联比较

页表法与相联目录表法的比较   页表法 相联目录表法 访问方式 地址 内容 存储容量 存取速度 慢 快 入口个数 入口宽度

替换算法 页面替换发生时间: 当发生页面失效时,要从磁盘中调入一页到主存。如果主存所有页面都已经被占用,必须从主存储器中淘汰掉一个不常使用的页面,以便腾出主存空间来存放新调入的页面。 替换算法的确定 主存的命中率 是否便于实现,软、硬件成本

页面替换算法的使用场合 虚拟存储器中,主存页面的替换,一般用软件实现 Cache块替换一般用硬件实现 虚拟存储器的快慢表中,快表存储字的替换,用硬件实现 虚拟存储器中,用户基地址寄存器的替换,用硬件实现 在有些虚拟存储器中目录表的替换

替换算法(续) 随机算法(Random ,RAND):用软的或硬的随机数产生器来形成主存重要被替换页的页号。 简单,易于实现 没有利用历史信息 命中率低,很少使用 先进先出算法(First-In First-Out ,FIFO):选择最早装入主存的页作为被替换的页。 配置计数器字段 虽然利用历史信息,但不一定反映出程序的局部性

替换算法(续) 近期最少使用算法(Least Recently Used ,LRU):选择近期最少访问的页作为被替换的页。 配有计数器字段。 比较正确反映程序的局部性。 优化替换算法(Optimal Replacement Algorithm, OPT):是在时刻t找出主存中每个页将要用到时刻ti,然后选择其中ti-t最大的那一页作为替换页。 理想化算法

举例1 设有一道程序,有1至5共5页,执行时的地址流为: 2,3,2,1,5,2,4,5,3,2,5,2 分别采用FIFO、LRU、OPT算法。

说明 命中率与地址流有关 命中率与分配给程序的主存页数有关。 例如:一个循环程序,FIFO、LRU的命中率明显低于OPT。(下一张) 颠簸现象:连续不断出现页面失效。 命中率与分配给程序的主存页数有关。 主存页数增加,LRU命中率提高,至少不会下降,而FIFO不一定。(P115,图4.17)

举例 一个循环程序,依次使用P1,P2,P3,P4四个页面,分配给这个程序的主存页面数为3个。FIFO、LRU和OPT三种页面替换算法对主存页面的调度情况如下图所示。在FIFO和LRU算法中,总是发生下次就要使用的页面本次被替换出去的情况,这就是“颠簸”现象。

举例2 一个程序共有5个页面组成,程序执行过程中的页地址流如下: P1, P2, P1, P5, P5, P1, P3, P4, P3, P4 假设分配给这个程序的主存储器共有3个页面。给出FIFO、LRU、OPT 三种页面替换算法对这3页主存的使用情况,包括调入、替换和命中等。

堆栈型替换算法的定义 对任意一个程序的页地址流作两次主存页面数分配,分别分配m个主存页面和n个主存页面,并且有m≤n。如果在任何时刻t,主存页面数集合Bt都满足关系:Bt(m)Í Bt(n),则这类算法称为堆栈型替换算法。

堆栈型算法的基本特点 随着分配给程序的主存页面数增加,主存的命中率也提高,至少不下降。 提出使系统性能可以更优的动态算法。 LRU、OPT都是堆栈型算法 FIFO是非堆栈型算法 提出使系统性能可以更优的动态算法。 由操作系统来动态调节分配给每道程序的实页数。

虚拟存储器工作的全过程 书中 P117-118

页式虚拟存储器实现中的问题 页面失效的处理 页面失效会在一条指令的分析或执行过程中发出。 页面失效时一种故障,不是一般的中断; 注意保护现场,采用后援寄存器技术、预判技术; 选择合适的替换算法;

页式虚拟存储器实现中的问题 提高虚拟存储器等效访问速度的措施 要求:提高命中率,加快访存时间; 命中率受很多因素影响,如:地址流、页面调度策略、替换算法、页面大小、主存容量等。 访存时间,解决Ns-np的转换。 快表:相联目录表,慢表:页表 快表-慢表存储层次的替换算法一般采用LRU法。

实页号 用户号U 页内偏移D p 虚页号P 多用户 虚地址 快表(按内容相联访问) 页内偏移d 实页号p 多用户虚页号 U, P 主存实地址 装入 1 慢表

散列函数 目的:把相联访问变成按地址访问,从而加大快表容量 散列(Hashing)函数:Ah=H(Pv), 20位左右  5~8位 采用散列变换实现快表按地址访问 避免散列冲突:采用相等比较器 地址变换过程:相等比较与访问存储器同时进行

实页号 用户号U 页内偏移D p 虚页号P 多用户 虚地址 按地址访问的快表 页内偏移d 实页号p 多用户虚页号 Pv 主存实地址 散列变 换(硬 件实现) 相等比较 查慢表 快表地址 Ah 快表 命中

虚拟存储器举例 I BM370/168计算机的虚拟存储器快表结构及地址变换过程。虚拟地址长36位,页面大小为4KB,每个用户最多占用4K个页面,最多允许16个用户,但同时上机的用户数一般不超过6个。 采用了两项新的措施: 采用两个相等比较器 用相联寄存器组把24位用户号U压缩成3位

页式虚拟存储器实现中的问题 影响主存命中率CPU效率的某些因素 程序地址流、替换算法、实页数、页面调度策略 页面大小通常为1KB到4KB。 H S1:某道程序的主存容量 Sp:页面大小 S1一定时: Sp由小增大,H逐渐增大 增达到最大值,下降。 增大S1可增大Sp。 2S1 S1 页面大小Sp

主存容量与命中率的关系 1.0 命中率 H 主存容量S 主存命中率H随着分配给该程序的主存容量S的增加而单调上升。 在S比较小的时候,H提高得非常快。随着S的逐渐增,H提高的速度逐渐降低。当S增加到某一个值之后,H几乎不再提高。 命中率 H 主存容量S 1.0

页面调度方式与命中率的关系 请求式: 预取式: 当使用到的时候,再调入主存 在程序重新开始运行之前,把上次停止运行前一段时间内用到的页面先调入到主存储器,然后才开始运行程序。 可以避免在程序开始运行时,频繁发生页面失效的情况。 如果调入的页面用不上,浪费了调入的时间,占用了主存资源。