挑战408——存储器与存储系统——刷题

本文深入探讨了计算机组成原理与操作系统交叉领域的核心知识点,包括Cache与主存映射、地址字段含义、局部性原理、虚拟存储器及虚实地址映射等,并通过实例解析了TLB工作原理及Cache替换算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这部分的刷题,其知识点是计算机组成原理与操作系统的交叉篇,计算机组成原理,应该说在Cache这部分内容后,就有了千丝万缕的关系。
本节刷题内容:存储器
题库参考:百度文库,王道考研,408真题
涉及的知识点:

  1. Cache与主存之间的映射
  2. Cache地址字段含义
  3. 程序的局部性原理
  4. 虚拟存储器原理
  5. 虚实地址映射的过程
  6. TLB
第一题

在这里插入图片描述
解析:概念题,Cache只是主存中的一部分内容的副本,所以,Cache的内容本身就从属于主存,选B

第二题

在这里插入图片描述
解析:这道题信息量有点多,慢慢分析.Cache一共有16块,每组有2块,所以一共有8组。那么一块的大小为32B,试问,129号存储单元位于第几块呢?(注意存储块与存储单元是不同的)
在这里插入图片描述

第三题

在这里插入图片描述
解析:这是一道典型的操作系统跟组成原理结合的题目,很是有意思。先从条件推已知:
按字编址(不是字节了),Cache有4行,采用的是2路,于是得出结论,有两组,每组两行。在Cache的设计中我们知道,cache中的块大小跟主存中的块大小是一样的,所以,在主存中的两个相邻的单元,被划分成为同一块。
在这里插入图片描述
由计算组数的公式可以算出块号所在的组号,在组内的块随机存放,但是一旦存满了,就要进行置换,方式题目中说了是LRU,所以,根据LRU的算法,画出对应的置换过程:
在这里插入图片描述
为什么这里倒数第二列中,4置换掉的是0而不是8呢?明明8存在的时间最长?注意了LRU是指最近未被访问,8在倒数第四次的时候,被访问,只不过是命中罢了。

第四题

在这里插入图片描述
解析:先读题,容量为16kb,若按字节编址,那么就要用到14位来表示它的地址。所以把所给地址中,取后面的14位就可以得到正确答案。不过,这样似乎有些不太好理解,因为我们教材中的地址格式是这样的:
在这里插入图片描述
我们更想知道具体的位数,所以,一行有16B,所以按字节编址的形式容量应该是 1K X 16B,也就是说,字块内地址是4位,Cache字块地址为10位(因为有1k块)。最后得出结果:
在这里插入图片描述

第五题

在这里插入图片描述
解析:对比上一题,都是考对地址字段的理解,先读题。128kB,每块16B,所以我们知道一共有8K块。8路组相联,自然是8块为一组。所以有1K个组
显然,我们可以得出组内地址有10位,块内地址有4位。现在问的不是地址了,是tag。所以我们反过来取出所给的地址中,除去后面的14位的二进制数就好了,具体过程如下:
在这里插入图片描述

第五题

在这里插入图片描述
分析:首先从题目中我们可以得到下面这些信息:一块的大小为8X32位,也就是32B,每个字32位,所以字块内的地址为5位。
所以Cache中一共有(16kb/32B) = 0.5K块。也就是需要9位来表示,题目问的是块号,我们写出直接映射的地址格式:
在这里插入图片描述
所以我们只要写出所给地址的后14位,再把后面的5位去掉,就可以得到块号。计算中,答案给的是十进制数,多位的二进制数往往不好直接转换成10进制数,所以,灵活点,变成16进制数,再转10进制。过程如下:
在这里插入图片描述

第六题

在这里插入图片描述
分析:这是一道含有代码的题目。咋看之下,第一眼确实是没什么思路,都不知道跟题目有什么关系。这需要一定的编程基础。先看看信息。一个int类型的数据占4B,一个块大小为16B,这里我们知道一个块最多可以装4个int类型的数据。一开始Cache为空,我们知道,第一次访问一定不会命中(这是废话)。
学过C/C++的同学应该知道,数组是顺序存储的,第一个元素的地址就是其首指针。所以,循环里面的语句,是从数组的地址中,取出这个数,然后运算后再重新放回其同一地址,所以,一次操作要进行两次访存。这里有个很重要的知识点,就是主存与Cache之间是使用块作为单位传递的。所以Cache不命中的时候,就会从主存中,调入一个块出来(里面有4个整型值)。k自增的时候,除了第一次会缺失,其他三次都会命中,所以:
在这里插入图片描述
8次访问,第一次会缺失,后面都存在Cache中,不会缺失。

第七题

在这里插入图片描述
分析:这也是一道代码题。不过比上题简单多了。这里只要明白了时间局部性跟空间局部性的原理就可以了。
1.循环执行某一个操作,体现了时间局部性
2.频繁的访问数组A的地址,体现了空间局部性。

第八题

在这里插入图片描述
分析:这道题目看起来挺吓人的,不过认真分析,发现也挺简单的。采用页式管理,首先想到的是,它的页内偏移地址跟实地址中的偏移地址是一样的(这个不多解释,之前的博文有解释)。而页面的大小是4KB,意味着,页内偏移有12位二进制数,也就是3位16进制数,所以实地址的后三位一定是180H。显然,页内偏移地址前面的就是页号了,查所给的页表,找到03FFFH,于是找到对应的页框号,有效位为1,说明所要找的存在与主存中,所以没有缺页。最后,实际地址与页偏移拼接在一起得到A答案。

第九题

在这里插入图片描述
分析这里写的很详细了

未完待续…
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值