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

news2024/11/15 23:42:10

文章目录

  • 【计算机组成原理2019年真题45题-16分】
    • 【第一步:信息提取】
    • 【第二步:具体解答】
  • 【计算机组成原理2019年真题46题-7分】
    • 【第一步:信息提取】
    • 【第二步:具体解答】

【计算机组成原理2019年真题45题-16分】

在这里插入图片描述

【第一步:信息提取】

1、编址方式:字节

2、int型数据占32位:4B

3、对代码的分析:机器级代码行包括行号、虚拟地址、机器指令和汇编指令。

【第二步:具体解答】

第一小题

(1)计算需要调用函数 f ( 10 ) f(10) f(10)多少次?

只有当n=1时,结束调用f1函数,所以,分别调用f1函数时的参数n的取值为:10、9、8、7、6、5、4、3、2、1,一共10次

(2)执行哪条指令会递归调用f1?

我们看f1的第一行的虚拟地址为0040 1000,所以就看哪一行会跳回这一行,发现是第16行调用了,也就是call f1

第二小题

(1)在上述代码中,哪条指令是条件转移指令?

纯考对汇编的理解看,分别是第12行的jle,第16行的call,第20行的jmp,第30行的ret。

其实本题还是给了一些小提示,也就是这些指令后面的汇编后面加了虚拟地址,对照虚拟地址找到行数,就可以推测是转移指令了

(2)哪几条指令一定会使程序跳转执行?

第16行的call,第20行的jmp,第30行的ret是一定要跳转的,第12行的jle指令含义是,为小于等于是转移,本行的意义是,n≤1时,跳转至0040 1035H

第三小题

(1)根据第16行的call 指令,第17行指令的虚拟地址应是多少?

由信息提取①可知,本计算机使用字节编址,也就是8个bit。

16行的call指令的虚拟地址是:0040 1025H,机器指令是 E8 D6 FF FF FF,因此长度为5个字节

可以得出算数公式:0040 1025H+0005H=0040 102AH,所以第17行指令的虚拟地址应是:0040 102AH

(2)已知第16行的call 指令采用相对寻址方式,该指令中的偏移量应是多少(给出计算过程)?

16行的call指令是一个相对寻址方式,有公式:目标地址=(PC)+偏移量,call的目标地址是0040 1000H

所以,偏移量=目标地址 - (PC) = 0040 1000H - 0040 1025H = FFFF FFD6H

(3)已知第16行的call指令的后4字节为偏移量,M是采用大端方式还是采用小端方式?

我们从第16行的call指令的机器指令可以得到E8 D6 FF FF FF,可以看到低地址数据放在高地址上,高地址数据放在低地址上,所以采用小端方式

第四小题

(1) f ( 13 ) f(13) f(13) =6227020800,但 f 1 ( 13 ) f_1(13) f1(13)的返回值为1932053504,为什么两者不等?

首先我们来对比两个数,实际得到的值比预期值小,说明出现了溢出现象,也就是说由信息提取①可知,int表示32位,而 f ( 13 ) f(13) f(13)的值大于32位int所能表示的值了,所以不一致

(2)要使 f 1 ( 13 ) f_1(13) f1(13)能返回正确的结果,应如何修改f1的源程序?

我们知道了,主要是由于32位所表示的int类型的值不能表示 f 1 ( 13 ) f_1(13) f1(13)的实际值了,所以只需要拓展位数,也就是将int类型改为long long类型即可

第五小题

(1)第19行的imul指令(带符号整数乘)的功能是R[eax]<—R[eax]*R[ecx],当乘法器输出的高、低32位乘积之间满足什么条件时,溢出标志 OF=1?

若乘积的高33位非全0或非全1(为什么是高33位而不是32位呢,因为多出的那一位代表的是数值的正负),就出现了溢出,则溢出标志 OF=1

(2)要使CPU在发生溢出时转异常处理,编译器应在 imul指令后应加一条什么指令?

加一条溢出自陷指令,当OF等于1时启动

总结:

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

  1. 本题是考察计算机组成原理中指令系统和数据的表示和运算(考察的知识点)还有一部分汇编语言

  2. 遇到不会做可以找一下题目中暗含的提示,比如本题的除了最后一个ret至另外,其他的跳转指令都加上了地址

  3. 看题要细致,比如第五小题第一问,给了带符号位整数乘,则第一位是符号位,所以查看的是乘积位高33位

  4. 实在不会做的,可以蒙一个,比如第五小题第二问。其实给了一个隐含提示,也就是异常处理,CPU的异常处理就是自陷,我答的是中断

【计算机组成原理2019年真题46题-7分】

在这里插入图片描述

【第一步:信息提取】

1、主存地址为32位:表示主存大小为4GB

2、页大小为4KB:给了页面大小的同时,给了页面数 4GB/4KB=1M 个页面

3、指令Cache有64行,采用4路组相联映射方式,主存块大小为64B:所以分为16个组。组相联的地址方式:主存字块标记+组地址+字块内地址。所以组地址占4bit;主存块大小为64B,字块内地址占6位

【第二步:具体解答】

(1)第1行的push 指令和第30行的ret 指令是否在同一页中(说明理由)?

第1行的push指令为 0040 1000H;第30行的ret指令为 0040 104AH

由信息提取②可知,一个页面为4KB,占12bit,信息提取①虚拟地址长32bit,所以前20位是页号。

第1行的push指令的页号为为 0040 1H;第30行的ret指令的页号为为 0040 1H,所以在同一页

(2)若指令Cache有64行,采用4路组相联映射方式,主存块大小为64B,则32位主存地址中,哪几位表示块内地址?(3)哪几位表示 Cache组号?(4)哪几位表示标记(tag)信息?

由信息提取③可知,指令Cache有64行,采用4路组相联映射方式,所以分为16个组。组相联的地址方式:主存字块标记+组地址+字块内地址。所以组地址占4bit;主存块大小为64B,字块内地址占6位。所以主存字块标记为22位。

综上所述:低地址6位为块内地址,中间4位为组地址,高22位为标记(tag)信息

(5)读取第16行的call指令时,只可能在指令Cache的哪一组中命中(说明理由)?

16行的call指令的虚拟地址是:0040 1025H,我们从上题可知,中间4位为组地址将虚拟地址转换:0000 0000 0100 0000 0001 0000 0010 0101,取第7~10位,所以为0组命中

总结:

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

  1. 主要考察的是存储器系统,具体是Cache-主存的映射方式

  2. 要分清,给出地址的每个分段分别代表什么意思,从地址出发要不要想当然

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1063839.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FreeTAKServer安装教程

项目地址 https://github.com/FreeTAKTeam/FreeTakServer 环境说明 FreeTakServer使用python开发&#xff0c;所以需要安装python,本教程安装的python版本为python3.11,系统为ubuntu 20.04 安装 安装FreeTakServer 安装FreeTAKServer pip install FreeTakServer启动Free…

Canvas--》使用Canvas完成基本绘图

&#x1f31f;Canvas介绍 <canvas>是一个可以使用脚本 (通常为javaScript) 来绘制图形的HTML元素。例如&#xff0c;它可以用于绘制图表、制作图片构图或者制作简单的动画。如上面效果示例就是使用 <canvas> 来实现示例&#xff0c;后续将一步步实现上面效果。 C…

HDLbits: ece241 2014 q4

module top_module (input clk,input x,output z ); reg [2:0] Q;always(posedge clk)beginQ[0] < Q[0] ^ x;Q[1] < (~Q[1]) & x;Q[2] < (~Q[2]) | x;z < ~(| Q[2:0]); //错误&#xff01;&#xff01;&#xff01;&#xff01;endendmodule 正确答案&#xf…

Python python-docx 使用教程

openpyxl是Python下的Word库&#xff0c;它能够很容易的对Word文档进行读取 安装方法&#xff1a;pip install python-docx国内镜像安装&#xff1a;pip install -i https://mirrors.aliyun.com/pypi/simple/ python-docx&#xff08;推荐&#xff0c;安装更快&#xff09;中文…

【算法】关于排序你应该知道的一切(下)

和光同尘_我的个人主页 单程孤舟&#xff0c;出云入霞&#xff0c;如歌如吟。 --门孔 八大排序 &#x1f56f;️前言1. 常见排序算法2. 常见排序算法实现2.1. 冒泡排序2.1.1. 基本思想2.1.2. 代码实现2.1.3. 特性 2.2. 快速排序2.2.1. hoare法基本思想代码实现 2.2.2. 快速排…

静图表情包怎么做成动态图?动图表情包制作教程

静态的图片不如动态的图片吸引人&#xff0c;动态的图片内容丰富、生动&#xff0c;体积小还易于传播保存。Gif格式动图其实就是由一帧一帧的图片合成的带有动态效果的图片。下面&#xff0c;给大家介绍一下动图gif制作&#xff08;https://www.gif.cn/&#xff09;的方法&…

asp.net班级管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net班级管理系统 是一套完善的web设计管理系统&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为vs2010&#xff0c;数据库为sqlserver2008&#xff0c;使用c#语言开发 asp.net班级管理系统 二、功能介绍 1…

操作系统和进程相关的认识

目录 冯诺依曼体系结构 冯诺依曼体系结构五大组成部分 为什么数据只能通过存储器进行输入和输出 操作系统 概念一&#xff1a;访问操作系统的请求都是通过系统调用完成的 操作系统如何管理用户信息 概念二&#xff1a;先描述&#xff0c;再组织。 进程的概念 在认识进行相关的知…

Java基础--泛型详解

一、背景 java推出泛型之前&#xff0c;集合元素类型可以是object类型&#xff0c;能够存储任意的数据类型对象&#xff0c;但是在使用过程中&#xff0c;如果不知道集合里面的各个元素的类型&#xff0c;在进行类型转换的时候就很容易引发ClassCastException异常。 二、概念 …

POJ 2104 K-th Number 平方分割(分桶法)

一、题目大意 长度为n&#xff08;n<100000&#xff09;的数组&#xff0c;进行m次查询&#xff08;m<5000&#xff09;&#xff0c;每次查询时&#xff0c;输入为 i j k&#xff0c;返回为数组 [i,j] 的分片里第k大数字&#xff08;1<i<j<n,k<j-i1) 二、解…

基于Java的校园自助洗衣系统设计与实现(源码+lw+ppt+部署文档+视频讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

python机器学习之梯度下降法

系列文章目录 第一章 Python 机器学习入门之线性回归 第一章 Python 机器学习入门之梯度下降法 梯度下降法 系列文章目录前言一、梯度下降法1.梯度下降法简介2.基本原理 梯度下降函数效果展示 前言 上一篇文章里面说到了用梯度下降法来对最小化代价函数和模型参数进行求解&am…

计算机网络八股

1、请你说说TCP和UDP的区别 TCP提供面向连接的可靠传输&#xff0c;UDP提供面向无连接的不可靠传输。UDP在很多实时性要求高的场景有很好的表现&#xff0c;而TCP在要求数据准确、对速度没有硬件要求的场景有很好的表现。TCP和UDP都是传输层协议&#xff0c;都是为应用层程序服…

八、【快速选择工具组】

文章目录 对象选择工具快速选择工具魔棒工具 对象选择工具 当我们选择对象选择工具时&#xff0c;需要先注意上边有一个循环的圆&#xff0c;它会进行内容识别&#xff0c;当识别完成会停止旋转。这个时候我们按住n键&#xff0c;或者将鼠标放上对应的图形时会出现选中的颜色。…

多实例学习MIL(easy / hard)

多示例学习&#xff08;Multiple Instance Learning&#xff09; - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/377220948 多示例学习 和弱监督&#xff08;weakly supervised&#xff09;有一定的关系&#xff0c;弱监督weakly supervised有三个含义&#xff08;或者说三…

ethercat EOE arp

1 网口设置 电脑地址位169.254.254.3 2 从站地址 3 PING 正常 异常 4 抓包

【方法】如何取消ZIP压缩包的密码?

我们知道&#xff0c;在压缩ZIP文件的时候&#xff0c;可以设置“打开密码”来保护压缩包&#xff0c;那后续不需要保护了&#xff0c;不想每次打开压缩包都输一次密码&#xff0c;要如何取消密码呢&#xff1f; 比较常用的方法是先把ZIP压缩包解压后&#xff0c;再压缩成没有…

铝合金分类及相关总结

1 铝合金常识 铝合金是工业中应用最广泛的一类有色金属结构材料&#xff0c;在航空、航天、汽车、机械制造、船舶及化学工业中已大量应用。对于常用的铝合金&#xff0c;我们通常根据其铝及其他元素的含量&#xff0c;将其分为两大类&#xff0c;分别是纯铝和铝合金。对这两大类…

网络安全行业真的内卷了吗?网络安全就业就业必看

前言 有一个特别流行的词语叫做“内卷”&#xff1a; 城市内卷太严重了&#xff0c;年轻人不好找工作&#xff1b;教育内卷&#xff1b;考研内卷&#xff1b;当然还有计算机行业内卷…… 这里的内卷当然不是这个词原本的意思&#xff0c;而是“过剩”“饱和”的替代词。 按照…

JMeter接口自动化测试(数据驱动)

之前我们的用例数据都是配置在HTTP请求中&#xff0c;每次需要增加&#xff0c;修改用例都需要打开JMeter重新编辑&#xff0c;当用例越来越多的时候&#xff0c;用例维护起来就越来越麻烦&#xff0c;有没有好的方法来解决这种情况呢&#xff1f;我们可以将用例的数据存放在cs…