虚拟存储器

基本思想对于一个程序来说,cod,数据,堆栈的总大小可以超过实际物理内存的大小,操作系统把当前使用部分内容放到物理内存中,而把其他未使用的内容放到下一级存储器,如disk或者闪存。

内存管理单元(Memory Manage Unit,MMU)负责地址转换。

使用虚拟存储器可以降低物理存储器容量需求,还可以实现程序保护(部分内容不会被其他程序随便改写)和程序共享(同一个物理地可以映射到不同程序中不同的虚拟地址)。

实现方式-----基于分页page管理虚拟存储器

虚拟存储器-----分页,典型大小4kB,称为page

物理地址空间---分页,典型大小4kB,称为frame

VA[11:0],页内地址 page offset,VA其余部分表示哪个页,称VPN(Virtual Page Number),

PA[11:0],frame内地址,frame offset,PA其余部分表示哪个frame,称为PFN(physical frame Number)。RISCV中我们叫PPN,并没有区分page和frame的区别,都叫page。

page fault:需要的页不在物理内存中,发生page fault,需要访问更下一级的存储器,如硬盘

页表(Page Table,PT):一张表格,存储从虚拟地址到物理地址(VPN到PFN)的对应关系。PT存储在物理内存中,页表寄存器(PTR,riscv中为satp)表示PT的起始地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值