计算机组成原理15-存储系统05

上传人:kms****20 文档编号:51478518 上传时间:2018-08-14 格式:PPT 页数:33 大小:540.50KB
返回 下载 相关 举报
计算机组成原理15-存储系统05_第1页
第1页 / 共33页
计算机组成原理15-存储系统05_第2页
第2页 / 共33页
计算机组成原理15-存储系统05_第3页
第3页 / 共33页
计算机组成原理15-存储系统05_第4页
第4页 / 共33页
计算机组成原理15-存储系统05_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《计算机组成原理15-存储系统05》由会员分享,可在线阅读,更多相关《计算机组成原理15-存储系统05(33页珍藏版)》请在金锄头文库上搜索。

1、系 统 总 线存储器 运算器 控制器 接口与通信 输入/输出设备林楠办公室:211办公电话:0371-63888959电子邮件: 计算机组成原理 第四章 存储系统第四章 存储器1、存储储器的分类类 2、存储储器的层层次结结构(三级级存储储系统统) 3、主存储储器(内存 Main memory) 4、高速缓缓冲存储储器(Cache) 5、虚拟拟存储储器(Virtual Memory)辅助存储器第四章 存储器5、虚拟拟存储储器5.1、虚拟拟存储储器的基本概念5.2、页页式虚拟拟存储储器5.3、段式虚拟拟存储储器5.4、段页页式虚拟拟存储储器虚拟存储器虚拟存储器是指主存- 辅存层次存取系统,借助于硬

2、磁盘等辅助存储器来扩大主存容量,因为CPU只能执行调入主存的程序,所以称“虚拟存储器”。虚拟存储器是一个大容量的存储逻辑模型,不是实际的物理存储器。物理地址:由CPU地址引脚送出的,用于访问主存的地址。逻辑地址:由编译程序生成,是访问程序的逻辑地址,其地址空间大小受到辅助存储器容量的限制。Cache - 主存层次 与 主存 - 辅存层次 的 地址变换映射方式和替换策略都相同,都是基于程序局部性原理。5.1、虚拟存储器的基本概念两个存储层次的区别是:1)主存-Cache主要用来弥补主存和CPU之间的速度差距,主存-辅存主要用来弥补主存的容量不足。2)主存的读写时间是Cache读写时间的5-10倍

3、,而硬磁盘的读写时间是主存的千倍,所以主存未命中,系统相对性能损失大。3)CPU与主存、Cache之间有直接访问通路,与辅存没有。4)主存-Cache之间地址变换、数据替换全部由硬件实现,对程序员完全透明。主存-辅存之间地址变换、数据替换由操作系统中的存储管理软件辅助一些硬件共同实现,对系统程序员可见。(所以,这部分内容也放在操作系统中讲。)两个存储层次遵循的共同原则是: 把程序最近、最常用的部分留在高速存储器中,变得不常用了,再送 回到低速存储器中,使存储系统的性能接近高速,价格接近低速。5.1、虚拟存储器的基本概念主存 - 辅存层次的基本数据传送单位可采用几种不同的方案:段、页、段页。CP

4、UCacheSRAM主存DRAM主存字地址字块字辅存虚拟 存储器(硬磁盘)段页读取时间短, 传送的数据少读取时间长, 传送的数据多5.1、虚拟存储器的基本概念第四章 存储器5、虚拟拟存储储器5.1、虚拟拟存储储器的基本概念5.2、页页式虚拟拟存储储器5.3、段式虚拟拟存储储器5.4、段页页式虚拟拟存储储器虚拟存储器页式虚拟存储器:以页为基本单位与主存交换数据。主存空间也分成同样大小的页。 主存分成的页为实页,虚拟存储器分成的页为虚页,程序虚地址分为两个字段:高位字段为虚页号,低位字段为页内地址。程序实地址分为两个字段:高位字段为实页号,低位字段为页内地址。由于虚页与实页大小一样,所以页内地址是

5、相等的。虚页号与实页号之间的变换是通过查找 主存中的页表来实现的。5.2、页式虚拟存储器虚页号页内地址实页号页内地址优点:页面的起点和终点地址是固定的,方便造页表,新页调入主存也很容易掌握,页外空间浪费少。 缺点:处理、保护、共享都不方便。5.2、页式虚拟存储器页面大小一样页表在主存中,增加了访问主存次数,即使命中也要先访问主存中的 页表,再访问主存单元,所以把页表最活跃部分放在Cache中组成 快表。快表由硬件构成,减少了访问主存的时间开销。5.2、页式虚拟存储器实页号+页内地址 拼接得内存实地址。页内地址实页号 页内地址装入标志 1 1 1虚地址实地址页表基址寄存器0 1 2实页号 2 6

6、 7页表地址(主存中)虚页号页表起始地址虚页号页表起始地址按照页表起始地址 +虚页号查找页表, 得到实页号。例1:在一个采用页式管理的虚拟存储器中,假设程序的地址空间由4个页面组成,请画出它们之间的映像方式。第0页映象到第2个主存页中,第1页映象到第6个主存页中,第2页映象到第7个主存页中,第3页映象到辅存。0 1 2 3 4 5 6 70 1 2 3内存页地址空间程序页地址空间5.2、页式虚拟存储器页内地址实页号 页内地址装入标志 1 1 1虚地址实地址页表基址寄存器012实页号 2 6 7页表地址(主存中)虚页号页表起始地址虚页号页表起始地址5.2、页式虚拟存储器例1:在一个采用页式管理的

7、虚拟存储器中,假设程序的地址空间由4个页面组成,请画出它们之间的映像方式。第0页映象到第2个主存页中,第1页映象到第6个主存页中,第2页映象到第7个主存页中,第3页映象到辅存。例2、一个存储系统有32位程序地址空间(虚地址),一页容量为1KB,主存容量为 8MB,问:1)虚页号字段多少位?页表将有多少行?2)页表每行多少位?页表的容量为多少字节?解: 1) 页容量为 1KB=210 B,所以页内地址为10位,虚页号为 32-10=22位,页表长度为 222 = 4M 行。2)主存容量为 8MB=223B,主存中的页数有:223/210 = 213个。即主存中实页号为13位,再加上装入位和访问控

8、制等信号,假如页表的每一记录为16位,页表容量为 4M*2B=8MB。 页表(主存中)装入位主存页号虚页号页内地址虚地址10224M 实页号页内地址实地址1013165.2、页式虚拟存储器13位0000011111111000000011页表(主存中) 11 00装入标志 1 1 00011页表 访问 地址虚地址实地址页表基址寄存器305H 307H实页号 0001 11000000 011111 1110 00005.2、页式虚拟存储器虚页号页内地址实页号页内地址例3、采用页式虚拟存储器,页表索引地址由页表基址寄存器和虚页号拼接而成,已知某程序中一条指令的虚地址是00 0001 1111 1

9、110 0000,页表起始地址为0011,页面大小1K,页表中相关单元最后4位(实页号)为:33E0H300H3FFH例4、在一个页式管理虚拟存储器中,虚拟存储器有8页,主存有4页。1)假设程序的第0个页面映象到主存的第3页,程序的第2个页面映象到主存的第1页,程序的第3个页面映象到主存的第0页,程序的第6个页面映象到主存的第2页。试画出地址映象方式。虚页页号装入标标志实页实页 号 000111 0010 010101 011100 1000 1010 110110 11105.2、页式虚拟存储器2)如果要访问的程序第4个页面映象到外存,那么如果将第4个页面调入主存,如何改变页表供CPU访问呢

10、?解:根据最近最少使用算法 LRU算法,假如主存的第3个页框架是近期最少使用的,则第3个页框分配给第4个页面,在缺页中断下,启动输入输出系统,将虚地址指示的虚页整页调入主存,同时将页表内容改动如下:虚页页号装入标标志实页实页 号 000111 0010 010101 011100 1000 1010 110110 1110虚页页号装入标标志实页实页 号 0000 0010 010101 011100 100111 1010 110110 11105.2、页式虚拟存储器调出调入第四章 存储器5、虚拟拟存储储器5.1、虚拟拟存储储器的基本概念5.2、页页式虚拟拟存储储器5.3、段式虚拟拟存储储器5

11、.4、段页页式虚拟拟存储储器虚拟存储器由于程序都具有一定的模块性,一个复杂的大程序可划分成多个逻辑 上相对独立的模块,模块之间的界面和调用关系是可以清楚定义的。 这些模块可以是子程序、过程、也可以是某类元素的集合。在段式虚拟存储器中,段是按照程序的逻辑结构划分的,各段的长度 因程序各异而不同。(因此,分段管理是按用户的要求提出来的。)编程使用的虚地址包含两部分:高位是段号,低位是段内地址。为了把虚地址变换成主存实地址,需要一个段表;段表也是一个段,驻留在主存中。段表指明各段在主存中的位置:每段的名称、段起点、段长度等。5.3、段式虚拟存储器段号段内地址虚地址段式管理5.3、段式虚拟存储器段大小

12、不一样000段起始地址段起始地址段起始地址段号段表起始地址段表(主存中)主存地址装入标志段表起始地址段表访问 地址虚地址实地址段表基址寄存器段号段起始地址不能拼接只能相加。 因段大小不一样。 段内地址位数不定。CPU根据虚地址访问,段表的起始地址+段号,形成访问段表对应存储 单元的地址,然后根据表内装入位判断该段是否已经调入主存,如果 已经调入,从段表中读出该段在主存中的起始地址,与段内地址相加 ,得到对应的主存实地址。5.3、段式虚拟存储器+段内地址段基址 寄存器段表(主存中)段表起始地址虚地址段表基址寄存器2装入 1 11段起始地址 75K 200K 0 1019K段长 20K 40K5K

13、1 25段 1 段 2间隙段 5间隙段 7段 4内存实地址20K75K200K 0K5K1019K213K实地址= 200K+13K+213K- 40-13 判断越界中断5.3、段式虚拟存储器(实例)213K段表起始地址0K40K0K段式管理优点:段的分界与程序的自然分界相对应,所以具有逻辑独立性,易于程序的编译、管理、修改和保护,也便于多道程序共享。某些类型的段具有动态可变长度,允许自由调度以便有效利用主存空间。缺点:因为段的长度各不同,起点和终点不定,给主存空间分配带来麻烦,容易在段间留下许多零碎的存储空余空间,造成浪费。5.3、段式虚拟存储器页式存储器,碎片存在页内。(一个大程序可能分4

14、.6个页面) 段式存储器,碎片存在段外。(一个大程序分不同大小的段)段外的碎片操作系统可以收集,页内碎片不好收集。第四章 存储器5、虚拟拟存储储器5.1、虚拟拟存储储器的基本概念5.2、页页式虚拟拟存储储器5.3、段式虚拟拟存储储器5.4、段页页式虚拟拟存储储器虚拟存储器段页式管理:结合分段和分页方法。在分段管理方法中,存储器与硬盘交换数据是以可变长的段为单位。对于容量比较大的段来讲,一次分配整个一段的主存空间不太灵活, 因为这一大段程序中(现在执行的和没有执行的)都调入内存。因此我们可以把程序按模块分段,段内再分页,进入主存以页为单位。用段表和页表进行两级定位管理。虚拟存储器地址分成3部分:

15、段号,页号,页内地址。段号页内地址页号5.4、段页式虚拟存储器页0 页1 页0 页1 页2 页3 页0 页1段0段1段2段表(主存中)装入段表地址虚地址段表基址寄存器段起始地址 +装入实页号页表(主存中)页内地址实地址实页号5.4、段页式虚拟存储器页0 页1 页0 页1 页2 页3 页0 页152H54H40H内存实地址页内地址段表起始地址虚页号段号段基址 寄存器段表起始地址段号本章小结:第四章 存储器1、存储储器的分类类 2、存储储器的层层次结结构(三级级存储储系统统) 3、主存储储器(内存 Main memory) 4、高速缓缓冲存储储器(Cache) 5、虚拟拟存储储器(Virtual

16、Memory)辅助存储器本章小结:存储器的基本结构 ( 功能 结构 ) 存储器功能:存放程序和数据装置,并满足计算机在执行过程中能够随机访问这些程序和数据。 设计思路:存放数据(一个一个的存取)程序(一条一条的存取)将每个存储单元赋予编码(单元地址)地址放哪?设置 地址寄存器 MAR按地址访问在地址寄存器和存储体之间是否加 地址译码器?决定于地址给出方式:直接给出 / 编码给出编码给出(加地址译码器)存(写入)取(读出)访问设置一个存储体,并将存储体分成若干个存储单元。存取存在两个问题数据存放为读出和写入的数据设置数据缓冲寄存器操作区分加读写控制线路(R/W控制)存储器基本结构:存储体 地址寄存器 地址译码器 数据缓冲寄存器 读写控制线路设计思路:本章小结:存储器的基本结构 存储

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号