计算机组成原理---第四章 指令系统习题详解版

news2024/11/26 5:57:43

(一)课内例题

4.1

 

4.2

 具体分析,4.2 中,    因为只有一行:单字长   二地址:源寄存器、目标寄存器

操作码看OP(15-9+1)  

然后按操作数的物理位置来区别RR型,RS型()

常见寄存器:

  • EAX:(针对操作数和结果数据的)累加器 ,返回函数结果
  • EBX:(DS段中的数据指针)基址寄存器
  • ECX:(字符串和循环操作数)计数器
  • EDX:(I/O指针)数据寄存器
  • EBP:(SS段中栈内数据指针)扩展基址指针寄存器
  • ESI:(字符串操作源指针)源变址寄存器
  • EDI:(字符串操作目标指针)目的变址寄存器
  • ESP:(SS段中栈指针)栈指针寄存器

 4.4

 

4.5

 提示:

 拓展:

 

4.6

 (二)课后习题

1.ASCII码是7位,如果设计主存单元字长为 32位,指令字长为12位,是否合理?为什么?

答:

版本1:

指令字长设计为12位不是很合理,主存单元字长为32位,一个存储单元可存放4个ASCII码,余下4位可作为ASCII码的校验位(某个ASCII码带一位校验位),这样设计比较合理。但是,设计指令字长为12位就不合理了,12位的指令码存放在字长为32位的主存单元中,造成19位不能用而浪费存储空间。

版本2:

答:不合理。指令最好半字长或单字长,设 16位比较合适。一个字符的 ASCII是7位,如果设计主存单元字长为32位,则一个单元可以放四个字符,这是可以的,只是在存取单个字符时,要多花些时间而已,不过,一条指令至少占一 个单元,但只占一个单元的12位,而另20位就浪费了,这样看来就不合理,因为通常单字长指令很多,浪费也就很大了。

 

2.假设某计算机指令长度为32位,具有双操作数、单操作数、无操作数三类指令形式,指令系统共70条指令,请设计满足要求的指令格式。

答:

3. 指令格式如下所示,试分析指令格式及寻址方式特点。

 答:

4. 指令格式如下所示,试分析指令格式及寻址方式特点。

 答:

5.指令格式如下所示,试分析指令格式及寻址方式特点。

 答:有两种答案,更倾向于第一版:

 具体分析,   因为只有一行:单字长   二地址:源地址、目标地址

操作码看OP(15-12+1)  ;寄存器(8-6+1) =3;或者(2-0+1)=3,寻址方式不定,所以操作数的物理位置也未可知。

然后按操作数的物理位置来区别RR型,RS型 ,SS型

 第二版可参考:

 

6.一种单地址指令格式如下所示,其中I为间接特征,X为寻址模式,D为形式地址。I,X,D组成该指令的操作数有效地址E。设R为变址寄存器,R1 为基值寄存器,PC为程序计数器,请在下表中第一列位置填入适当的寻址方式名称。

答:①直接寻址  ②相对寻址  ③变址寻址  ④基址寻址 ⑤间接寻址   ⑥先基址后间接寻址

 

 7.某计算机字长为32位,主存容量为64KB,采用单字长单地址指令,共有40 条指令。试采用直接、立即、变址、相对四种寻址方式设计指令格式。

答: 分析:主存容量为64KB,说明地址需要占16位(6+10),计算机字长为32位,IR的位数也应为32位。采用单字长单地址指令:一行+单地址;共有40 条指令:说明OP至少大于6;采用直接、立即、变址、相对四种寻址方式说明寻址方式至少需要2位表示;

8.某机字长为32位,主存容量为1MB,单字长指令,有50种操作码,采用寄存器寻址、寄存器间接寻址、立即、直接等寻址方式。CPU中有PC、IR、AR、DR和16个通用寄存器。问:

(1)指令格式如何安排?

(2)能否增加其他寻址方式?

答:

12.根据操作数所在的位置,指出其寻址方式的名称。

1)操作数在寄存器中

2)操作数的地址在寄存器中。

3)操作数在指令中

4)操作数的地址在指令中

5)操作数地址为某一寄存器容与位移量之和(寄存器分别为基址寄存器、变址寄存器和程序计数器)

6)操作数地址的地址在指令中

7)操作数为栈顶元素

答: 1)寄存器寻址   2)寄存器间接寻址  3)立即寻址 4)间接寻址  5) 分别为基址寻址、变址寻址和相对寻址   6)存储器间接寻址    7)堆栈寻址

 拓展:

基址寻址:将 CPU 中的基址寄存器(BA)的内容加上指令格式中的形式地址 A,而形成操作数的有效地址,即为 EA=(BR)+A。 

变址寻址:有效地址 EA 等于指令字中的形式地址 A 与变址寄存器 IX 的内容相加之和,即 EA=(IX)+A,其中 IX 可谓编制寄存器(专用),也可用通用寄存器作为变址寄存器。与基址寻址的方式的区别在于 IX 可以被用户修改。

相对寻址把程序计数器 PC 的内容加上指令格式中的形式地址 A 而形成操作数的有效地址,即 EA=(PC)+A,其中 A 为相对于 PC 所指地址的位移量,可证可负,补码表示。

 堆栈寻址:

基于堆栈寻址,下图所示为一个加法运算的过程:

step1: 堆栈指针 SP 指向 R0,对应数据 0001 出栈进入 ACCSP 指向 R1

step2:SP 对应数据 1001 出栈进入寄存器 X,SP 指向 R2;

step3:ALU 计算 ACC 与 X 的和(为 1010),送至寄存器 Y;

step4: 计算结果入栈,SP 指向 R1,将 Y1010)送至堆栈寄存器 R1

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

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

相关文章

代码随想录训练营Day58| 739. 每日温度 496.下一个更大元素 I

目录 学习目标 学习内容 739. 每日温度 496.下一个更大元素 I 学习目标 739. 每日温度 496.下一个更大元素 I 学习内容 739. 每日温度 739. 每日温度 - 力扣(LeetCode)https://leetcode.cn/problems/daily-temperatures/ class Solution:def da…

Excel VBA编程

前两天我朋友找我帮忙,让给excel做个按钮功能,方便他们表格统计,我晚上研究了一下给他做出来了,这里记录一下入门操作和大概思路,具体怎么写VBA的代码我就不记录了,那玩意儿看教程去吧,也不是这…

【网络】socket套接字

1.理解IP 每台主机都有自己的IP地址,所以当数据从一台主机传输到另一台主机就需要IP地址。报头中就会包含源IP和目的IP。源IP地址:发送数据报那个主机的IP地址,目的IP地址:想发送到的那个主机的IP地址我们把数据从一台主机传递到…

C语言-const关键字

1.const 关键字 const 是 constant 的缩写,const 在实际编程中用得比较多,意思是“恒定不变的”,它是定义只读变量的关键字,或者说 const 是定义常变量的关键字。 (可读,不可写) const 可以修饰变量,数组&a…

光明区马田大围城市更新旧改项目--华润集团

【华润光明马田大围旧改一期项目基础信息】 项目开发商:华润集团 占 地 面 积:约110151㎡ 建 筑 面 积:待专规图 物 业 类 型:华润一期范围内的待拆迁物业 项 目 进 度:直接确权阶段,即将立项 【项目现…

c++ new 源码学习一下

之前有一篇文章介绍了 new 的一些用法 c new 在指定内存上创建对象&#xff0c;今天结合源码来学习一下 new 更详细的用法。相关的源码&#xff1a;gcc git 1&#xff0c;void* operator new (std::size_t size); 我们可以在头文件<new>里看到它的原型&#xff1a; _G…

J2EE 技术的企业人事管理系统的设计与实现(论文+源码)_kaic

目 录 一、引 言 二、相关技术概述 (一) 基于 MVC 设计模式的 J2EE 技术 (二) MySql 数据库管理系统 (三) 基于 B/S 结构的系统安全 三、企业人事管理系统总体设计 (一) 系统需求分析 1.功能结构分解 2.员工档案管理模块 3.员工工资管理模块 (二) 系统总体结构设计 四、企业人…

2023-06-03 陕西省技能大赛 crypto 复现

文章目录 奇怪的sar题目描述&#xff1a;题目分析&#xff1a; Ham3题目描述&#xff1a;题目分析&#xff1a; BigDataEnc题目描述&#xff1a;题目分析&#xff1a; 奇怪的sar 题目描述&#xff1a; from Crypto.Util.number import *key flag{**********}bits 1024 msg …

ESP32+U8G2库显示中文

这里写自定义目录标题 在使用esp32u8g2oled进行中文先显示例程 废话不说&#xff0c;直接上代码 #include <Arduino.h> #include <U8g2lib.h> //软件SPI U8G2_SSD1306_128X64_NONAME_F_4W_SW_SPI u8g2(U8G2_R0, /* clock/ 14, / data/ 13, / cs/ 15, / dc/ 7, / r…

【AI绘图】三、stable diffussion操作界面介绍以及如何使用

上一篇&#xff1a;【AI绘图】二、stable diffusion环境准备与安装 stable diffusion操作界面介绍 操作界面总共分为5大块 1.模型选择区&#xff1b;点击跳转 2.功能区域&#xff1b;点击跳转 3.提示词输入&#xff1b;点击跳转 4.参数设置区&#xff1b;点击跳转 5.出图区点击…

计算机基础--->操作系统(1)

文章目录 简单说说操作系统操作系统的主要功能用户态和内核态为什么要有用户态和内核态&#xff1f;只有一个内核态不行吗&#xff1f;用户态和内核态是如何切换的系统调用系统调用过程 简单说说操作系统 操作系统是一种系统软件&#xff0c;它管理计算机硬件资源和提供服务给应…

Jenkins+Docker+SpringCloud微服务持续集成之集群部署

一、集群部署流程说明 环境配置 #环境配置 hostnamectl set-hostname web2-server && su systemctl stop firewalld systemctl disable firewalldvim /etc/selinux/config SELINUXdisabledvim /etc/resolv.conf nameserver 114.114.114.114#安装依赖包 yum install -y…

如何通过python写接口自动化脚本对一个需要调用第三方支付的报名流程进行测试?

对于需要调用第三方支付的报名流程进行接口自动化测试&#xff0c;可以通过以下步骤来编写Python代码&#xff1a; 如果你想学习自动化测试&#xff0c;我这边给你推荐一套视频&#xff0c;这个视频可以说是B站百万播放全网第一的自动化测试教程&#xff0c;同时在线人数到达1…

微信小程序开发实战 ②③(全局数据共享)

作者 : SYFStrive 博客首页 : HomePage &#x1f4dc;&#xff1a; 微信小程序 &#x1f4cc;&#xff1a;个人社区&#xff08;欢迎大佬们加入&#xff09; &#x1f449;&#xff1a;社区链接&#x1f517; &#x1f4cc;&#xff1a;觉得文章不错可以点点关注 &#x1f4…

Nginx:Nginx网站服务(一)

Nginx&#xff1a;Nginx网站服务 一、编译安装Nginx服务1.1 关闭防火墙&#xff0c;将安装nginx所需软件包传到/opt目录下1.2 安装依赖包1.3 创建运行用户、组&#xff08;Nginx 服务程序默认以 nobody 身份运行&#xff0c;建议为其创建专门的用户账号&#xff0c;以便更准确地…

【全面突击数据结构与算法001】绪论篇,数据结构的基本概念

&#x1f341;前言 &#x1f451;作者主页&#xff1a;&#x1f449;CSDN丨博客园 &#x1f3c6;学习交流&#xff1a;&#x1f449;在下周周ovoの社区 &#x1f48e;全面突击数据结构与算法系列专栏&#xff1a;&#x1f449;数据结构与算法专栏 PS&#xff1a;本篇文章主要综…

【架构基础】简单设计原则

简单设计来源于极限编程&#xff08;ExtremeProgramming&#xff0c;简称XP&#xff09;。XP是由KentBeck在1996年提出的&#xff0c;是一种软件工程方法学&#xff0c;是敏捷软件开发中最富有成效的几种方法学之一。XP存在四个核心实践&#xff1a;TDD&#xff08;Test-Driven…

Lecture 6 Sequence Tagging: Hidden Markov Models

目录 Problems with POS Tagging 词性标注的问题Probabilistic Model of HMM HMM的概率模型Two Assumptions of HMM HMM的两个假设Training HMM 训练HMMMaking Predictions using HMM (Decoding) 使用HMM进行预测&#xff08;解码&#xff09;Viterbi AlgorithmHMMs in Practic…

地震勘探基础(五)之地震资料数字处理

地震资料数字处理 地震勘探主要包括地震资料野外采集&#xff0c;地震资料数字处理和地震资料地质解释三大部分。其中地震资料数字处理需要利用高性能的超级计算机和先进的处理软件系统。地震资料的质量和成像精度直接决定了油、气勘探的成功率。 地震资料数字处理的主要目的…

快速解读GC日志

本文介绍GC日志的输出格式, 以及如何解读GC日志, 从中提取有用的信息。我们通过 -XX:UseSerialGC 选项,指定JVM使用串行垃圾收集器, 并使用下面的启动参数让 JVM 打印出详细的GC日志: -XX:PrintGCDetails -XX:PrintGCDateStamps -XX:PrintGCTimeStamps 这样配置以后&#xff…