虚拟存储器学习笔记---概念

背景概念(如下以32位系统为例):

虚拟地址:程序中使用的地址都是虚拟地址,他相对于物理地址而言,如int *ptr = malloc(100); ptr指向的即是虚拟地址。

物理地址:访问存储器时,地址总线上发出的地址。我们在程序中访问地址一般是虚拟地址,如*ptr = 0x1234;实际中OS和硬件帮我们找到实际的物理地址并完成操作。

MMU: Memory Management Unit,内存管理单元,负责将虚拟地址转换为物理地址。实际上CPU芯片没有MMU或者不使能MMU时,虚拟地址和物理地址在数值上是相同的。MMU分为指令MMU和数据MMU。

cache:高速缓存,为了平衡CPU和主存(DRAM)之间日益增大的速度差异,在CPU和主存之间引入的一个部件,他是主存中数据的一个子集,CPU访问主存之前先访问高速缓存,如果高速缓存中有要取的数据(命中)则不用再访问主存,以此提高速度,一般有SRAM组成,组织方式组相联。高速缓存一般是以物理地址为tag和索引的,可以分级。L1cache分指令和数据cache

页表:现代操作系统Linux以页为单位管理内存,一页大小缺省是4KB(地址位占低12bit);除去低12bit,虚拟地址的高位为虚拟页号VPN(virtual page number),类似物理地址高位成为物理页框号PFN(physical frame number),为啥不叫PPN,我也不知道。页表就是以VPN为索引记录PFN的表项,页表位于主存中,由OS维护。

TLB:Translation lookaside buffer,即旁路转换缓冲,或称为页表缓冲;里面存放的是一些页表(虚拟地址到物理地址的转换表),他是主存页表的子集。MMU在进行虚拟地址到物理地址转换的时候需要查页表,首先查找TLB(以VPN为索引查找),若不命中分级查cache,各级cache均不命中查主存。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值