地址翻译

在既使用虚拟存储器有使用SRAM高速缓存的系统中,都存在应该使用虚拟地址还是物理地址来访问高速缓存的问题。在此,我们假设使用物理地址来模拟cpu发出读指令到取到数据的过程:

cpu产生读指令的虚拟地址—->MMU进行地址分析( 1 区分vpn(虚拟页号)、vpo(虚拟页内偏移);2 从vpn中找出TLBI、TLBT;3 在TLB存储器中找出这条记录,
命中:
取出PPN(物理页号);
PPN+VPO =PA;
得到PA,去高速缓存中找数据
找到:将数据传给cpu
未找到:去主存或磁盘中找;

未命中:
去DRAM中找;
找到同命中之后;
若未找到:触发缺页异常,程序选择一个牺牲页,将该页写回磁盘,从磁盘中拷贝所需页,之后同命中之后。


概念解释:
TLB:翻译后备缓冲器,位于mmu中;
TLBI:(TLB索引) 如果TLB有2^t组,那TLBI是vpn最低t位;TLBT(TLB标记)是vpn剩下的几位组成的;
高速缓存寻址:
物理地址的低2位作为CO(块偏移),高速缓存有t组,若2^x=t,那么接下来的x位就作为CI(组索引),剩下的位作为CT(标记位)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值