计算机组成原理 学习总结 3.7  虚拟存储器

3.7 虚拟存储器

3.7.1 虚拟存储器的基本概念

虚拟存储器的使用
物理内存容量有限,难以满足实际使用的需要;
利用辅存空间,将数据在辅存与主存之间调度;
用户实际访问的仍然是主存,利用辅存的部分空间保存暂时不用的主存内的数据;
实地址与虚地址
实地址(物理地址):主存空间的地址,对应于物理内存;
虚地址(逻辑地址):用户编程可用的地址,对应于虚拟存储器;
再定位:虚地址到实地址的转换过程;

虚存的使用过程
用户程序按照虚地址存放在辅存中;
程序运行时,将程序或程序的一部分从辅存调入实存;
同时更新页表/段表;
CPU执行程序访存
CPU发出虚地址;
 查询页表/段表,判断是否命中实存;
 若命中,则将虚地址转换成实地址,访问实存;
 若未命中,则执行调度算法,将辅存中的内容调入实存,再访问实存;
虚存对于应用程序员来说是透明的; 对于系统程序员来说是不透明的。
在这里插入图片描述

Cache与虚存

相同点
目的相同:构成一个具有高速度、大容量、低成本的存储系统;
原理相同:慢速存储器与快速存储器之间的数据调度;
不同点
侧重点不同:cache侧重于速度,虚存侧重于容量;
未命中时数据访问不同: cache未命中,可以直接访问主存; 主存未命中,需要先调入主存,再访问;
透明性不同:cache由硬件系统管理,完全透明; 虚存对于存储管理系统程序员不透明;
未命中的损失不同:主存未命中损失大于Cache未命中;

3.7.2 页式虚拟存储器

虚存空间与主存空间按照同样的容量(页)划分;
虚存空间的页被称为逻辑页;主存空间的页被称为物理页;
页表:保存逻辑页与物理页的对应关系;
每个进程对应一个页表;
每个逻辑页有一个表项;
逻辑页调入物理页时,写该表项;
地址变换时,根据虚页号查该表;
命中时,将虚地址中的虚页号替换为主存页号,然后访问主存;

关于页表

页表保存在主存中,页表起始地址保存在寄存器中;
页表大小与该进程的虚拟空间大小有关;
若某进程虚地址空间2GB,页大小512B,则页表所需的存储单元数目为231/29=4M;
二级页表结构
页表进行分页管理,活跃部分保存在主存中,其他部分保存在辅存中;
反向页表
每个物理页对应一个页表表项,地址转换时,按内容检索页表中是否存在虚页号,以确定是否命中,并进行地址转换;

TLB(转换后援缓冲器,快表)

在这里插入图片描述

虚拟存储器、TLB和Cache的关系

在这里插入图片描述

3.7.3 段式虚拟存储器和段页式虚拟存储器

段式虚拟存储器
段:程序的自然分界;
例如8086中的代码段、数据段等;
虚地址格式
段表
段页式虚拟存储器
段式与页式虚拟存储器的结合;
实存分页,程序先分段,段内再分页;
按页进行数据调度,按段进行编程、保护和共享;

CPU访问存储器的时间是由存储器的容量决定的,存储容量越大,访问存储器所需要的时间越长。
错误。
CPU可直接访问的是随机存储器,随机存储器是按地址访问的,其访问时间和存储容量无关。
半导体存储器加电后才能存储数据,断电后数据就丢失了,因此,EPROM做成的存储器,加电后必须重写原来的内容。
错误。
EPROM(可擦除的可编程的只读存储器)是非易失性存储器,断电后数据是不会丢失的。
大多数个人计算机中可配置的内存容量受地址总线位数限制。
正确。地址总线的位数决定了最大的内存容量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值