计算机组成与体系结构虚拟存储器_第1页
计算机组成与体系结构虚拟存储器_第2页
计算机组成与体系结构虚拟存储器_第3页
计算机组成与体系结构虚拟存储器_第4页
计算机组成与体系结构虚拟存储器_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

虚拟存储器1)虚拟存储器虚拟存储器是一种容量非常大的存储器的逻辑模型,不是任何实际的物理存储器。它借助于磁盘等辅助存储器来扩大主存容量,使之为更大或更多的程序所使用。它指的是主存-外存层次。以透明的方式给顾客提供了一种比实际主存空间大得多的程序地址空间。虚拟存储器的基本概念2)地址空间及地址虚拟地址空间 用来编写程序的地址空间,与此相对应的地址称为虚拟地址或逻辑地址。主存地址空间 存储、运行程序的空间,其对应的地址称为主存物理地址或实地址。辅存地址空间 磁盘存储器的地址空间,是用来寄存程序的空间,对应的地址称为辅存地址或磁盘地址虚拟地址由编译程序生成,是程序的逻辑地址,其地址空间的大小受到辅助存储器容量的限制。主存地址(物理地址)由CPU地址引脚送出,用于访问主存的地址。

①把程序中近来常用的部分驻留在高速的存储器中

②一旦这部分变得不常用了,把它们送回到低速的存储器中

③这种换入换出是由硬件或操作系统完毕的,对顾客是透明的

④力图使存储系统的性能靠近高速存储器,价格靠近低速存储器3)虚拟存储系统与Cache存储系统的关系相似点:都基于局部性原理Cache与虚拟存储器的主要区别存储系统Cache体系虚拟存储器要达到的目标提高(主存)速度扩大(主存)容量实现方法全部硬件软件为主,硬件为辅透明性对系统和应用程序员仅对应用程序员两种存储系统的重要区别:4)虚拟存储器工作原理在执行程序时,容许将程序的一部分调入主存,其他部分保留在辅存。即由操作系统的存储管理软件先将目前要执行的程序段(如主程序)从辅存调入主存,临时不执行的程序段(如子程序)仍保留在辅存,当需要执行寄存在辅存的某个程序段时,由CPU执行某种程序调度算法将它们调入主存。虚拟存储器由硬件和软件(操作系统)自动实现对存储信息的调度和管理。5)虚拟存储器的基本信息传送单位块是主存与辅存之间数据传送的基本单位。根据对虚拟存储器不一样的管理方式,块可以详细化为页、段和段页三种形式。分页存储管理以页为基本单位的虚拟存储器叫页式虚拟存储器。程序虚地址分为两个字段:高位字段为虚页号,低位字段为页内地址。虚地址到实地址之间的变换由页表来实现。虚地址是编写程序时的逻辑地址,实地址是主存可访问的地址。页表中存在着逻辑页号和物理页号的对应关系,并且有标志与否装入主存的有效位!页表是一张寄存在主存中的虚页号和实页号的对照表,记录着程序的虚页调入主存时被安排在主存中的位置。

02341虚页号实页号装入位0211112034140023411)地址映像逻辑空间页表物理空间

2)地址变换用户号虚页号页内偏移Pa

装实修入位页号改位Pa+实页号实地址多顾客地址寄存于内存的页表页内偏移n是表长,Pa是页表起始地址页基址表n例1:在一种采用页式管理的虚拟存储器中,假设程序的地址空间由4个页面构成,第0个页面映象到内存的第2个页框架,第1个页面映象到内存的第6个页框架,第2个页面映象到内存的第7个页框架,第3个页面映象到外存。画出地址映象关系以及地址映象措施。主存页号

主存地址空间

虚存页号

程序地址空间0011227用户号例2:一种虚拟存储器有8个页面,页面大小为1024字,内存有4个页面框架。页表的内容为

虚页号 实页号

0 3

1 1

2 -

3 -

4 2

5 -

6 0

7 -

对应于虚拟地址4098的主存地址是什么?解:4098÷1024=4......2,因此虚页号为4,页内地址为2。从表中查得实页号为2,实际地址为2×1024+2=2050页表基址寄存器页表基地址逻辑页号页内地址000000101010110虚存地址装入位主存页号0*****1101011110101001010*****┆┆110101010110主存地址物理页号页内地址

页表(在主存中)图页式虚拟存储器地址变换3)页式管理的评价长处:①主存运用率高②页表相对比较简朴③地址变换速度快④辅存管理轻易缺陷:①程序的模块化性能不好②页表长,需要占用很大的存储空间分段存储管理由于一般程序都具有一定的模块性。一种复杂的大程序都可以划提成多种逻辑上相对独立的模块,模块间的界面和调用关系是可以清晰定义的。这些模块可以是主程序、过程,也可以是某类元素的集合。因此,分段管理是按顾客的规定提出来的。每段的虚拟地址都从0开始,每段均有自己的段号。每段在主存的起始位置由段表或段寄存器来表明。段表(驻留在内存):为了把程序虚地址变换成主存实地址,需要一种表用来指明各段在主存中的位置。段表中每一行记录了某个段对应的若干信息,包括:段号、装入位、段起点和段长等,根据需要还可以在段表中增长其他信息。CPU通过访问段表,判断该段与否已调入主存,并完毕逻辑地址与物理地址之间的转换。段1段2段3段4段51K2K3K1K2K段号段长装入位起点11K102033K15K4052K11K段1段5段301K3K5K8K-1段表中,装入位为1表达该段已调入主存,为0则表达该段不在主存中。因段的长度可大可小,因此段表需要有长度指示。1)地址映像逻辑空间段表物理空间2)地址变换 编程使用的虚地址包括两部分:高位是段号,低位是段内地址。多顾客地址用户号段号段内偏移段表基址寄存器As+

段号起点装段长入位+实地址As基址段表长012n-1寄存于内存的段表段式虚实地址转换示例段表长度段表起始地址位移量100段号2<

越界920020038000500240006001600010000段地址段长段号+8100主存段表虚地址物理地址3)段式管理的评价长处:①段的逻辑独立性强,便于共享。②便于程序和数据共享③程序的动态连接和调度比较轻易④便于实现信息保护缺陷:①地址变换时间长②主存运用率低③辅存管理难度大例如:在一种段映象的虚拟存储器中,假设程序地址空间有三个段,段的长度分别为1K、2K和1K,其中第0段映象到内存中以6000为起始地址的位置,第1段映象到内存中以3000为起始地址的位置,第2段映象到内存中以1000为起始地址的位置。画出地址映象关系以及地址映象措施。解:顾客号顾客按照程序段来编写程序,每个程序段提成几种固定大小的页。基本思想----将虚拟存储空间按段式管理,而主存空间按页式管理,存在虚空间的程序按逻辑关系分段,每一段又可提成固定大小的页。主存则只提成若干相似大小的页。段页式存储管理如下图所示,一种顾客程序由三个独立的程序段构成。0号程序段的长度为12KB,由于页的长度是4KB,因此,恰好提成3页。1号程序段的长度为10KB,也提成3页,其中最终一页有2KB是挥霍的。2号程序段的长度为5KB,提成2页,其中背面一页挥霍3KB。地址变换措施: 多顾客系统中,需要三层表,记录有关信息,包括段表基址表、段表、页表。

(1)先查段表,得到该程序段的页表起始地址和页表长度,

(2)再查页表找到要访问的主存实页号,

(3)最终把实页号p与页内偏移d拼接得到主存的实地址装入修改实页号标志基号D段号S页内偏移d页内偏移0/11pA实页号p虚页号PAs装入1修改0/1页表地址ApAs转换后援缓冲器(TLB)/快表由于页表一般在主存中,因而虽然逻辑页已经在主存中,也至少要访问两次物理存储器才能实现一次访存,这将使虚拟存储器的存取时间加倍。为了防止对主存访问次数的增多,可以对页表自身实行二级缓存,把页表中的最活跃的部分寄存在高速存储器中,构成快表。这个专用于页表缓存的高速存储部件一般称为转换后援缓冲器(TLB)。保留在主存中的完整页表则称为慢表。转换后援缓冲器(TLB)/快表页面替代算法及其实现措施页面替代发生时间:

当发生页面失效时,要从磁盘中调入一页到主存。假如主存所有页面都已经被占用,必须从主存储器中淘汰掉一种不常使用的页面,以便腾出主存空间来寄存新调入的页面。评价页面替代算法好坏的原则:一是命中率要高二是算法要轻易实现 虚拟存储器中,主存页面的替代,一般用软件实现(1)随机算法(RAND) 算法简朴,轻易实现;

没有运用历史信息,没有反应程序的局部性,命中率低。(2)先进先出算法(FIFO)

比较轻易实现,运用了历史信息,没有反应程序的局部性。

最先调入主存的页面,很也许也是常常要使用的页面。(3)近期至少使用算法(LFU) 既充足运用了历史信息,又反应了程序的局部性,但需要很长的计数器和时钟,实现起来困难。(4)最优替代算法(OPT)

是一种理想化的算法。用来作为评价其他页面替代算法好坏的原则。例1:

一种程序共有5个页面构成,程序执行过程中的页地址流如下:

P1,P2,P1,P5,P4,P1,P3,P4,P2,P4

假设分派给这个程序的主存储器共有3个页面。给出FIFO、LRU、OPT三种页面替代算法对这3页主存的使用状况,包括调入、替代和命中等。设正在处理器上执行的一种进程的页表如下(十进制,起始页/块号为0):虚页号状态位访问位修改位物理块号01104111172000-310024000-51010使用字节地址,且页面大小为1024。问虚地址5499、3221的物理地址?在某段式存储管理系统中,有一作业的段表如下:段号段长主存始址状态

0200600015085002100100003150-1

求逻辑地址[0,65],[1,55],[2,90]及[3,20]对应的主存地址。在采用分页存储管理系统中,虚拟地址长度为18位,其中11至17位表达页号,0到10位表达页内位移。若有一作业的各页依次放入内存中2,3,7号页中,请问:(1)虚拟存储器分为多少页?每页多大?容量为多少K?(2)逻辑地址1500在实页号是多少?对应的物理地址为多少?虚拟存储器工作的全过程虚拟存储器两大特点1)容许顾客用比主存空间大的多的空间来访问主存。2)每次访存都要进行虚实地址的转换。虚拟存储器的管理由硬件(MMU)和软件(操作系统)共同实现。由于虚存地址空间比主存地址空间大得多,就必须根据某种规则把按逻辑地址编写的程序装入到主存储器中去,并将逻辑地址转换成对应的主存物理地址,程序才能运行,这一过程称为地址转换。对虚拟存储器来说,程序员按虚存储空间编制程序,在直接寻址方式下由机器指令的地址码给出地址。这个地址码就是虚地址,可由虚页号及页内地址构成,如下所示: 虚地址虚页号Nv页内地址Nr这个虚地址实际上不是辅存的实地址,而是辅存的逻辑地址。以磁盘为例,按字编址的实地址Nd如下:磁盘机号磁头号柱面号块号块内地址Nd:Nvd虚拟存储器每次访问主存时,都要先通过虚地址到主存实地址的内部地址变换,若该页不在主存,则要产生缺页中断,到辅存中调页,此时要先进行虚地址到辅存实地址的外部地址变换。内部地址变换 多顾客虚拟地址中的页内偏移D直接作为主存实地址中的页内偏移d 查找内页表,找到虚页号对应的主存实页号 主存实页号p与它的页内偏移d直接拼接起来就得到主存实地址A用户号U虚页号P页内偏移D多用户虚拟地址Av实页号p页内偏移d主存地址A辅存一般按信息块编址,而不是按字编址,使磁盘存储器的块大小等于虚页面的大小,就可采用页表的方式完毕虚地址到辅存实地址的变换。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论