计算机组成大题分析(三)

news2024/11/19 3:29:50

假定计算机 M 字长为 16 位,按字节编址,连接 CPU 和主存的系统总线中地址线为 20 位数据线为 8位,采用 16 位定长指今字,指令格式及其说明如下:

 其中,op1-op3 为操作码,rs,t 和 rd 为通用寄存器编号,R[]表示寄存器 r 的内容,imm为立即数,target 为转移目标的形式地址。请回答下列问题。

  1. ALU 的宽度是多少位? 可寻址主存空间大小为多少字节?指令寄存器、主存地址寄存器 (MAR) 和主存数据寄存器(MDR) 分别应有多少位?
  2.  R 型格式最多可定义多少种操作?I型和]型格式总共最多可定义多少种操作?通用寄存器最多有多少个?
  3. 假定 opl 为 0010 和 0011 时,分别表示带符号整数减法和带符号整数乘法指令,则指01B2H 的功能是什么(参考上述指令功能说明的格式进行描述) ? 若 1、2、3 号通用寄存器当前内容分别为 B052H,0008H,0020H,则分别执行指令 01B2H 和 01B3H 后,3 号通用寄存器内容各是什么? 各自结果是否溢出?
  4. 若采用1型格式的访存指令中,imm(偏移量)为带符号整数,则地址计算时应对 imm进行零扩展还是符号扩展?
  5. 无条件转移指令可以采用上述哪种指令格式?

 【分析】表中格式为指令格式,可发现其操作数占的位数,和寄存器占的位数以及指令的功能。题中计算机的字长位16位,地址线为20位,数据位8位,指令字长为定长16位。

  • R型,前六位是00000,后面是rs、rt、rd寄存器分别都由两位表示,操作数op1用4位表示,其功能是将rs寄存器和rt寄存器中的访存op1操作后存入到rd中;
  • I型,前六位是操作数op2,其含有两个寄存器,rs、rt分别都由两位表示,imm为立即数占4位(通常为立即寻址方式,给出的固定立即数),其指令的功能是条件转移和访存操作,含ALU运算。
  • J型,前六位是操作数op3,后面10位都为标记位,做为转移目标的形式地址,其功能是将target中作为PC的低10位作为跳转地址。

【解】

1.因为计算机的机器字长为16位,所以ALU的宽度为16位。其中主存总线地址线的位数为20位且数据位为8位,故能进行的寻址空间大小就为2^20字节。地址寄存器20位;数据寄存器8位。

因为指令为定长为16位,指令寄存器的位数为16位;

2.R型中操作码占4位,故一共由16种操作;I型J型中占6位,但R型中的000000已经占了作为固定的标志,所以为64-1=63种操作。通用寄存器,在R型跟I型中只用2位作为通用寄存器的编码,故最多有4个

3.指令01B2H表示的二进制为0000 0001 1011 0010,则从指令格式中可以看出,前000000为固定位,01为rs寄存器,10为rt寄存器,11为rd寄存器,0010为op1。则其功能就为R[3]->R[1]-R[2];

执行01B2H时:R[3] = B052H - 0008H = B04AH,结果未溢出。

执行01B3H,即R[3]->R[1] x R[2],即R[3] = B052H x 0008H=8290H,结果溢出。

4. 因为进行地址跳转的时候,指令可能往前跳转,或者往后跳转,因此对imm进行符号扩展,方便指令跳转。

5. 无条件转移指令能采用J型指令,将target部分写入PC的低10位完成跳转。

【注】本题主要是对指令格式的考法,主要是对题目的研读,仔细阅读获取有用条件再进行作答,便可以比较清楚地解决问题。

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

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

相关文章

【计算机视觉+CNN】keras+ResNet残差网络实现图像识别分类实战(附源码和数据集 超详细)

需要源码和数据集请点赞关注收藏后评论区留言私信~~~ 一、深度卷积神经网络模型结构 1:LeNet-5 LeNet-5卷积神经网络首先将输入图像进行了两次卷积与池化操作,然后是两次全连接层操作,最后使用Softmax分类器作为多分类输出,它对…

MySQL插入汉字报错的解决方案

MySQL插入汉字报错的原因是字符集的问题,MySQL默认使用的是Latin(拉丁文)字符集,可以在创建数据库时指定其字符集:CREATE DATABASE test DEFAULT CHARACTER SET utf8 或者修改MySQL的配置文件,可以参考以下…

Qt事件循环嵌套,BlockingQueuedConnection与QWaitCondition比较

前言: 之前写过有关事件循环和条件变量的博客: Qt使用事件循环,信号,stop变量,sleep阻塞,QWaitConditionQMutex条件变量,退出子线程工作_大橘的博客-CSDN博客_qt stop函数 Qt事件循环&#x…

Unity3D导出Android工程中使用并交互

, 目录 1,版本信息 2,前期准备 Unity方面: Android方面: 3,Android与Unity3D交互 1,版本信息 unity2020 android studio 2021 *不要用android studio 2020系列,存在不能导入Library的b…

Spring学习 | Bean作用域生命周期

文章目录一、作用域1.1 xml文件中配置1.2 注解配置二、生命周期2.1 四个阶段2.2 添加后置处理器2.3 实现aware类型接口2.4 Bean 初始化的方式2.5 Bean 销毁的方式2.6 测试程序学习视频🎥:https://www.bilibili.com/video/BV1Vf4y127N5 一、作用域 ❓ 引入…

Linux系统中裸机按键中断的驱动方法

大家好,今天主要和大家聊一聊,如何实现按键中断的驱动​方法。 目录 ​第一:外部中断头文件实现 ​第二:外部中断源文件的具体实现 ​第三:编写对应的main.c函数 ​第一:外部中断头文件实现 #ifndef _…

基于keras平台CNN神经网络模型的服装识别分析

在许多介绍图像识别任务的介绍中,通常使用着名的MNIST数据集。 最近我们被客户要求撰写关于图像识别的研究报告,包括一些图形和统计输出。但是,这些数据存在一些问题: 1.太简单了。例如,一个简单的MLP模型可以达到99…

Java搭建宝塔部署实战毕设项目springboot客户管理系统源码

大家好啊,我是测评君,欢迎来到web测评。 本期给大家带来一套Java开发的毕业设计项目,springboot客户管理系统源码,感兴趣的朋友可以自行下载搭建测试。 技术架构 技术框架:SpringBoot MySQL5.7 mybatis shiro Lay…

DDR4时序标准规范(一)

DDR4时序标准规范引脚描述DDR4 SDRAM寻址DDR4架构的模块描述功能描述简化状态机基本功能复位和初始化程序上电和初始化顺序电压稳定后的复位初始化顺序无控制的下电顺序引脚描述 标志类型功能CK_t, CK_c输入Clock: CK_t和CK_c是差分时钟输入。所有的地址和控制输入信号在CK_t的…

主成分分析(PCA)原理及R语言实现及分析实例

主成分分析(PCA)是一种数据降维技巧,它能将大量相关变量转化为一组很少的不相关变量,这些无关变量称为主成分。最近我们被客户要求撰写关于主成分分析(PCA)的研究报告,包括一些图形和统计输出。…

Vagrant搭建Centos

1.下载安装vagrant 01访问Vagrant官网 ​ https://www.vagrantup.com/ 02 点击Download ​ Windows,MacOS,Linux等 03 选择对应的版本 04 傻瓜式安装 05 命令行输入vagrant,测试是否安装成功,显示如下: 2.下载安装virtua…

半解析快速傅里叶变换

我们提出了一种处理傅里叶变换的方法,其并不需要二次多项式相位项的抽样,而是用解析的方法处理。我们提出该理论的同时也给出了几个例子证明其潜力。 1.简介 物理光学建模需要频繁地从空间转换到角频域,反之亦然。这可以由电场和磁场分…

网络编程(用于不同电脑之间的信息交互):UDP、TCP

网络编程: 在网络通信写一下,不同计算机运行的程序,可以进行数据传输 IP地址:设备(手机、电脑等)在网络中的地址,是唯一的标识 端口:应用程序在设备中唯一的表示 协议&#xff1a…

数据结构学习——表、查找

定义 设记录表L(R1 R2…其中Ri(L<i<n)为记录&#xff0c; 对给定的某个值k&#xff0c; 在表L中确定key k的记录的过程&#xff0c;称为查找。若表Lz中存在记录Ri de key k,记为Ri.key,则查找成功&#xff0c;返回该记录在表L中的序号i&#xff08;或Ri的地址&#xff…

优秀的 Verilog/FPGA开源项目介绍(二十)- 张量处理单元(TPU)

介绍张量处理单元( Tensor Processing Unit, TPU ) 是谷歌专门为神经网络机器学习开发的人工智能加速器 专用集成电路(ASIC) &#xff0c;特别是使用谷歌自己的TensorFlow软件。谷歌于 2015 年开始在内部使用 TPU&#xff0c;并于 2018 年将它们作为其云基础设施的一部分并通过…

Zabbix6.0使用教程 (三)—zabbix6.0的安装要求

接上篇&#xff0c;我们继续为大家详细介绍zabbix6.0的使用教程之zabbix6.0的安装部署。接下来我们将从zabbix部署要求到四种不同的安装方式逐一详细的为大家介绍。本篇讲的是部署zabbix6.0的要求。 zabbix6.0安装要求 硬件&#xff1a;内存和磁盘 Zabbix6.0安装 运行需要物…

算法精品讲解(2)——DP问题入门(适合零基础者,一看就会)

目录 前言 DP问题它是什么&#xff08;了解&#xff09; 从中学的例题谈起 再来说一下&#xff0c;DP问题的核心思想&#xff08;理解&#xff09; DP问题的解决方法 先说方法论&#xff1a; 再说具体的例子 例一&#xff1a; 例二&#xff1a; 例三&#xff1a; DP和…

kotlin之range范围表达式

Kotlin 中的 Range 有 CharRange、LongRange、IntRange range 范围 CharRange、LongRange、IntRange 范围区间 var a:IntRange 50..100for (i in a){ //遍历50~100的分数分别在什么位置print("成绩&#xff1a;$i")if(i in 1..59){ //1~59 范围println("…

Leica Infinity三维映射环境数据

Leica Infinity三维映射环境数据 Leica Infinity是软件工程师和该领域专家的名字&#xff0c;以及您的工作计划信息。该软件被设计和呈现为一个强大的产品&#xff0c;并且来自六边形组。Leica Infinity产品的居民试图用新的眼光创造新的数据处理。使用此软件&#xff0c;您可以…

和ChatGPT 比一比谁更懂Kubernetes?

有时&#xff0c;很难得到关于云原生世界中棘手话题的明确答案。哪个是最好的服务网格&#xff1f;平台工程只是devops的另一个标签吗&#xff1f;多云是一种风险吗&#xff1f; 如果你无法从一个人那里得到直截了当的答案——为什么不问一台机器呢&#xff1f; 因此&#xf…