某计算机存储器按字节编址,虚拟(逻辑)地址空间大小为16MB,主存(物理)地址空间大小为1MB,页面大小为4KB。

某计算机存储器按字节编址,虚拟(逻辑)地址空间大小为16MB,主存(物理)地址空间大小为1MB,页面大小为4KB。系统运行到某一时刻,页表的部分内容和TLB的状态分别参照教材例4-13,表中的页框号及标记字段为十六进制。问

  1. 存储系统的虚拟地址共有几位,其中是用哪几位来表示的虚页号?存储系统的物理地址共有几位,哪几位用来表示的页框号(物理页号)?
  2. TLB为何物?一般是由何种器件构成?简述下图TLB与页表的映射关系。
  3. 虚地址024BACH所在的页面是否在主存中?若在,则该虚拟地址对应的物理地址是什么?若不在,说明理由。

 

1.答:由于虚拟地址空间大小为16MB,且按字节编址,16M=2的24次方,所以虚拟地址长度应为24位。

由于页面大小为4KB,4K=2的12次方,则页内地址需12位,又有24-12=12,故虚拟号为虚地址的高12位。

由于主存(物理)地址大小为1MB,按字节编址,1M=2的20次方,所以物理地址有20位。

而页内地址是12位,所以20-12=8,故主存地址的高8位为页框号。

2.答:TLB为快表。一般由组号,有效位,标记,页框号组成。TLB可存8个页表项,每组存4个页表项,共分成两组。TLB→页表之间四路组相联。

3.答:因为虚页号是12位,且每个虚页在页表中对应一行,故页表中应有2 ¹²行,

按每组2行分组,共分成2 ¹¹组。所以页表分组后,虚页号可以被看成:组号11+组内虚页号1位。

虚地址是024BACH,则12位虚页号为024H0000 0010 0100),而其高11位是组号,其低1位是组内序号,则分解成:组号0000 0100 010012H+组内序号0

对组相联映射,页表项的组内序号=TLB的组号,因此虚地址024BACH所在续页所对应的页表项应映射到TLB的第0组中去。

因此在表中分别对比组号为04TLB行,对比发现它与虚地址024BACH对应的组号012H一致,且有效位为1,页框号为1F,因此可以确定虚地址024BACH所在的虚页面已在主存中。

虚地址024BACH对应的主存地址为页框号与页内地址直接拼接,即1FBACH

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值