计算机考研 | 2018年 | 计算机组成原理真题
文章目录
- 【计算机组成原理2018年真题44题-15分】
- 【第一步:信息提取】
- 【第二步:具体解答】
- 【计算机组成原理2018年真题45题-8分】
- 【第一步:信息提取】
- 【第二步:具体解答】
【计算机组成原理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组号是多少?
【第一步:信息提取】
读取图中的信息
-
虚拟地址为32位,前20位为虚拟页号,后12位为页内地址:页的大小为4KB
-
实际地址为28位:20位为主存字块标记,3位为组地址,5位为字块内地址,所以Cache分为8组,块大小为32B
-
看到有效位的存在,表示匹配不一定可用,如果匹配但有效位是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 8∗2∗(20+32∗8+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
注意,这里我们直接去通过虚拟页号
第三步:总结
从以上五个小题可以看出来以下信息:
-
注意虚地址和实地址的对应关系
-
分清楚一个地址中各个字段的意义,根据字段给出的信息去答题,比如那些位数与组号相关,那些位数与块地址相关
-
一些公式还是要背一下,才能下笔有把握
【计算机组成原理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。
第三步:如果第二步也失败,则返回指针开始位置,然后重复第一步,必要时再重复第二步,此时必能找到淘汰页。
相关文章:
计算机考研 | 2018年 | 计算机组成原理真题
文章目录 【计算机组成原理2018年真题44题-15分】【第一步:信息提取】【第二步:具体解答】 【计算机组成原理2018年真题45题-8分】【第一步:信息提取】【第二步:具体解答】 【计算机组成原理2018年真题44题-15分】 某计算机采用页…...
用Configuration注解的方式写一个java过滤器的详细实例?
在Java中,可以使用Configuration注解和Spring框架来创建和配置过滤器。下面是一个详细的示例: 首先,创建一个实现javax.servlet.Filter接口的过滤器类,例如MyFilter: import javax.servlet.*; import java.io.IOExce…...
基于Springboot实现旧物置换网站平台演示【项目源码+论文说明】分享
基于Springboot实现旧物置换网站平台演示 摘要 随着时代在一步一步在进步,旧物也成人们的烦恼,许多平台网站都在推广自已的产品像天猫、咸鱼、京东。所以开发出一套关于旧物置换网站成为必需。旧物置换网站主要是借助计算机,通过对用户进行管…...
想要精通算法和SQL的成长之路 - 存在重复元素
想要精通算法和SQL的成长之路 - 存在重复元素 前言一. 存在重复元素II二. 存在重复元素III2.1 基于红黑树增删改查 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 存在重复元素II 原题链接 思路: 我们用HashSet存储元素,做到去重的效果。同时存储…...
使用华为eNSP组网试验⑸-访问控制
今天练习使用华为sNSP模拟网络设备上的访问控制,这样的操作我经常在华为的S7706、S5720、S5735或者H3C的S5500、S5130、S7706上进行,在网络设备上根据情况应用访问控制的策略是一个网管必须熟练的操作,只是在真机上操作一般比较谨慎ÿ…...
iPhone苹果手机闹钟智能跳过节假日怎么设置?
国内绝大多数的手机用户使用的操作系统只有三个,安卓、鸿蒙和苹果的ios。而iPhone苹果手机的忠实用户是非常多的,所以日积月累中用户数量也就非常庞大,并且相当一部分用户都是上班族。而工作忙碌的上班族因为事情比较多,为了避免自…...
TenDB Cluster 简介
文章目录 1.简介2.TSpider3.TenDB4.Tdbctl5.TenDB Cluster Operator参考文献 1.简介 TenDB Cluster 是腾讯游戏 CROS DBA 团队提供的 MySQL 分布式关系型数据库解决方案。主要特点包括:透明分库分表、高可用的 MySQL 集群服务,透明及在线的扩容及缩容&a…...
【刷题笔记10.6】LeetCode:翻转二叉树
LeetCode:翻转二叉树 一、题目描述 给你一颗二叉树的根节点root,翻转这颗二叉树,并返回其根节点。 二、分析 我们在做二叉树题目时候,第一想到的应该是用 递归 来解决。 仔细看下题目的 输入 和 输出,输出的左右…...
【高阶数据结构】图详解第一篇:图的基本概念及其存储结构(邻接矩阵和邻接表)
文章目录 1. 图的基本概念1.1 什么是图1.2 有向图和无向图1.3 完全图1.4 邻接顶点1.5 顶点的度1.6 路径1.7 路径长度1.8 简单路径与回路1.9 子图1.10 连通图1.11 强连通图1.12 生成树 2. 图的存储结构2.1 邻接矩阵2.2 邻接矩阵代码实现结构定义构造函数添加边打印图测试 2.3 邻…...
IPV4跟IPV6的区别
如今互联网快速发展ipv4已经满足不了现在的需求,那么这时候就需要用更大的地址空间来代替,这时候ipv6就可以满足这一需求,相比ipv4它有更大的地址空间可供使用。下面我将分享一下有何区别。 IPv4与IPv6之间的区别: 1、地址长度的区别:IPv4具…...
利用fitnesse实现api接口自动化测试
上午在园子里乱逛,看了不少小伙伴们分享的接口测试方面的知识,仔细想想,我做接口测试也有几个年头了,大家所叙述到的一些经验或多或少,我也曾遇到过,突然意识到知识的点滴积累是多么的重要,我记…...
【LeetCode】1154.一年中的第几天
题目描述: 给你一个字符串 date ,按 YYYY-MM-DD 格式表示一个 现行公元纪年法 日期。返回该日期是当年的第几天。 示例 1: 输入:date "2019-01-09" 输出:9 解释:给定日期是2019年的第九天。示…...
4.物联网射频识别,RFID开发【智能门禁项目】
补充:学习路径 一。项目介绍及需求分析 1.酒店智能门禁使用场景介绍 1.客人入住 客人在前台办理入住手续,前台管理员通过门禁管理系统为客户开一张门禁卡 客户持卡到相应客房,用IC 卡刷卡开门 客人过了入住时间后,卡自动失效&a…...
CompletableFuture 和 Future 的选择,以及CompletableFuture的用法
在 Java 编程中,异步编程是一种重要的技术,它允许你在执行长时间运行的任务时不会阻塞主线程。为了支持异步编程,Java 提供了 Future 和 CompletableFuture 这两个关键的类。在本文中,我们将比较它们的特点、优缺点以及使用场景。…...
美国第三大财产和意外险公司利宝保险集团利用 OpenText EnCase 取证收集技术控制法律风险和成本
美国第三大财产和意外险公司利宝保险集团利用 OpenText EnCase 取证收集技术控制法律风险和成本 利宝保险集团通过内部取证收集技术控制法律风险和成本。OpenText EnCase Information Assurance(以前称为 EnCase eDiscovery)使保险公司巨头能够自信高效地…...
打包报错JavaScript heap out of memory
npm run build 的时候出现了Reached heap limit Allocation failed - JavaScript heap out of memory,报错信息如下图所示。 奇怪的时候这个报错信息在本地不会出现,通过jekins在服务器打包部署的时候才会出现。于是进入服务器执行下面一句代码ÿ…...
Android Camera FW 里的requestId和frameId
安卓相机frameworks里面经常出现requestId和frameId,最近简单看了一下代码,发现相关流程还是很复杂的,总结来看requestId 就是上层(java)发送的repeating(capture)请求的id,是从0开始递增的。 这是CameraD…...
代理IP与Socks5代理在技术世界的多元应用
在数字化时代,网络工程师的任务不仅是维护网络的稳定性,还需要应对各种技术挑战。代理IP与Socks5代理作为技术工具箱中的两把利器,在跨界电商、爬虫、出海业务、网络安全和游戏领域中发挥了关键作用。本文将深入探讨这两项技术在不同领域的多…...
计算机专业毕业设计项目推荐12-志愿者管理系统(Spring+Js+Mysql)
志愿者管理系统(SpringJsMysql) **介绍****各部分模块实现** 介绍 本系列(后期可能博主会统一为专栏)博文献给即将毕业的计算机专业同学们,因为博主自身本科和硕士也是科班出生,所以也比较了解计算机专业的毕业设计流程以及模式,在编写的过程…...
苹果文件传到mac电脑用什么软件?
在数字化时代,文件传输已经成为我们日常生活中不可或缺的一部分。然而,苹果用户在将手机文件传输到电脑时,往往会面临一些困扰。曾经的“文件传输助手”并不能完全满足用户的需求。于是,很多人开始寻找更便捷的解决方案。在本文中…...
【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...
微服务通信安全:深入解析mTLS的原理与实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引言:微服务时代的通信安全挑战 随着云原生和微服务架构的普及,服务间的通信安全成为系统设计的核心议题。传统的单体架构中&…...
aardio 自动识别验证码输入
技术尝试 上周在发学习日志时有网友提议“在网页上识别验证码”,于是尝试整合图像识别与网页自动化技术,完成了这套模拟登录流程。核心思路是:截图验证码→OCR识别→自动填充表单→提交并验证结果。 代码在这里 import soImage; import we…...
DAY 45 超大力王爱学Python
来自超大力王的友情提示:在用tensordoard的时候一定一定要用绝对位置,例如:tensorboard --logdir"D:\代码\archive (1)\runs\cifar10_mlp_experiment_2" 不然读取不了数据 知识点回顾: tensorboard的发展历史和原理tens…...
