计算机考研 | 2018年 | 计算机组成原理真题

【计算机组成原理2018年真题44题-15分】

某计算机采用页式虚拟存储管理方式,按字节编址。CPU进行存储访问的过程如题44图所示。

在这里插入图片描述

根据题44图回答下列问题。

(1)主存物理地址占多少位?

(2)TLB采用什么映射方式?TLB用SRAM还是DRAM实现?

(3)Cache采用什么映射方式?若Cache采用LRU替换算法和回写(Write Back)策略,则Cache每行中除数据( Data ) 、 Tag 和有效位外,还应有哪些附加位?Cache 总容量是多少?Cache 中有效位的作用是什么?

(4)若CPU给出的虚拟地址为0008 C040H ,则对应的物理地址是多少?是否在 Cache 中命中?说明理由。若CPU给出的虚拟地址为0007 C260H,则该地址所在主存块映射到的Cache组号是多少?

【第一步:信息提取】

读取图中的信息

  1. 虚拟地址为32位,前20位为虚拟页号,后12位为页内地址:页的大小为4KB

  2. 实际地址为28位:20位为主存字块标记,3位为组地址,5位为字块内地址,所以Cache分为8组,块大小为32B

  3. 看到有效位的存在,表示匹配不一定可用,如果匹配但有效位是0,则一样要去Cache或主存中取数据

【第二步:具体解答】

第一小题

主存物理地址占多少位?

注意,这里指的是物理地址而非逻辑地址,所以看的是实际地址的位数而非虚拟地址的位数

有信息提取②中可以知道,实际地址为28位,包括20位为主存字块标记,3位为组地址,5位为字块内地址,所以主存物理地址也为28位

第二小题

(1)TLB采用什么映射方式?

TLB采用的是全相联映射

(2)TLB是用SRAM还是用DRAM实现?

TLB是用SRAM,结合这一题,也看书要熟悉一些关键部件的实现原理和组成,比如Cache等

第三小题

(1)Cache采用什么映射方式?

有信息提取②中可以知道,实际地址为28位,包括20位为主存字块标记,3位为组地址,5位为字块内地址,说明采用了组相联的方式,而从图中可以看到为2组,也就是2路组向量的映射方式

(2)若Cache采用LRU替换算法和回写(Write Back)策略,则Cache每行中除数据(Data)、Tag和有效位,还应有哪些附加位?

因为是2路组相联的方式,所以每组需要一个LRU位,用来进行Cache的替换算法(题目中已经给出提示了)

因为采用写回策略,所以需要一位脏位,来判定是否被修改

(3)Cache的总容量是多少

公式(熟记):Cache总容量=组数×每组块数×(主存字块位数+存储容量+有效位+脏位+替换算法位)/8

本题中:组数占3bit,有8组;每组块数为2;由信息提取②可知,主存字块位数20bit,存储容量32B*8bit/B,有效位、脏位、替换算法位各1bit(这三位要看题目中有没有说给,如果哪个不给就不加哪个)

所以本题Cache总容量为: 8 ∗ 2 ∗ ( 20 + 32 ∗ 8 + 1 + 1 + 1 ) = 4464 b i t = 558 B 8*2*(20+32*8+1+1+1)=4464bit=558B 82(20+328+1+1+1)=4464bit=558B

(4)Cache 中有效位的作用是什么?

指出Cache中的数据是否有实有效

第四小题

(1)若CPU给出的虚拟地址为0008 C040H,则对应的物理地址是多少?

虚拟地址为0008 C040H,由信息提取①可知,前20位为虚页号,为0008C,从图中TLB中可以看到0008C对应的实页号是0040,页内地址不变,所以对应的物理号为0040040H

(2)是否在Cache中命中?说明理由。

不能,我们从图中Cache中左边的块中确实找到了页号为00400的,但是这里要注意,Cache的有效位是0,所以表示信息失效,所以不能命中

(3)若CPU给出的虚拟地址为0007 C260H,则该地址所在主存块映射到的Cache组号是多少?

将虚拟地址0007 C260H转换为二进制:0000 0000 0000 0111 1100 0010 0110 0000

这里我们看组号和块内地址占的是末8位,也就是0110 0000,而组号占其中高3位,也就是011,此时Cache块号为3

注意,这里我们直接去通过虚拟页号

第三步:总结

从以上五个小题可以看出来以下信息:

  1. 注意虚地址和实地址的对应关系

  2. 分清楚一个地址中各个字段的意义,根据字段给出的信息去答题,比如那些位数与组号相关,那些位数与块地址相关

  3. 一些公式还是要背一下,才能下笔有把握

【计算机组成原理2018年真题45题-8分】

请根据题44图给出的虚拟储管理方式,回答下列问题。

(1)某虚拟地址对应的页目录号为6,在相应的页表中对应的页号为6,页内偏移量为8,该虚拟地址的十六进制表示是什么?

(2)寄存器PDBR用于保存当前进程的页目录起始地址,该地址是物理地址还是虚拟地址?进程切换时,PDBR的内容是否会变化?说明理由。同一进程的线程切换时,PDBR的内容是否会变化?说明理由。

(3)为了支持改进型CLOCK置换算法,需要在页表项中设置哪些字段?

【第一步:信息提取】

同44题

【第二步:具体解答】

第一小题:

(1)某虚拟地址对应的页目录号为6,在相应的页表中对应的页号为6,页内偏移量为8,该虚拟地址的十六进制表示是什么?

由图可知,地址总长度为32位,高20位为虚页号,低12位为页内地址,且虚页号高10位为页目录号,低10位为页号。展开成二进制表示为:页目录号为6,所以页目录号二进制为 00 0000 0110,页号为6,所以页号二进制为 00 0000 0110,页内偏移量为8,所以页号二进制为 0000 0000 1000

整合:0000 0001 1000 0000 0110 0000 0000 1000

转化为十六进制:0180 6008H

第二小题:

(1)寄存器PDBR用于保存当前进程的页目录起始地址,该地址是物理地址还是虚拟地址?

PDBR为页目录基址地址寄存器,其存储页目录表物理内存基地址。

(2)进程切换时,PDBR的内容是否会变化?说明理由。

进程切换时,PDBR的内容会变化;同一进程的线程切换时,PDBR 的内容不会变化。

每个进程的地址空间、页目录和 PDBR 的内容存在一一对应的关系。

进程切换时,地址空间发生了变化,对应的页目录及其起始地址也相应变化,因此需要用进程切换后当前进程的页目录起始地址刷新PDBR。

(3)同一进程的线程切换时,PDBR的内容是否会变化?说明理由。

同一进程中的线程共享该进程的地址空间,其线程发生切换时,地址空间不变,线程使用的页目录不变,因此 PDBR的内容也不变。

第三小题:

(1)为了支持改进型CLOCK置换算法,需要在页表项中设置哪些字段?

改进型CLOCK 置换算法需要用到使用位和修改位,故需要设置访问字段(使用位〉和修改字段(脏位)。

考点:改进型CLOCK 置换算法

考虑到如果某一调入内存的页没有被修改过则不必将它拷回到磁盘。

于是在改进的Clock增加了一个M位,M=0表示该页未被修改过。这样我们选择页面换出时,既要最近未访问过的页面,又要未被修改过的页面。其执行过程分一下三步:

第一步:从开始位置循环扫描队列,寻找A=0、M=O的第一类面,找到立即置换。另外,第一次扫描期间不改变访问位A。

第二步:如果第一步失败,则开始第二轮扫描,寻找A=0且M=1的第二类页面,找到后立即置换,并将所有扫描过的A都置0。

第三步:如果第二步也失败,则返回指针开始位置,然后重复第一步,必要时再重复第二步,此时必能找到淘汰页。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_之桐_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值