计算机组成与系统结构第五章答案

第五章 指令系统

2. 简单回答下列问题。 (参考答案略)

(1)一条指令中应该明显或隐含地给出哪些信息?

(2 )什么是“汇编”过程?什么是“反汇编”过程?这两个操作都需要用到什么信息?

(3 )CPU 如何确定指令中各个操作数的类型、长度以及所在地址?

(4 )哪些寻址方式下的操作数在寄存器中?哪些寻址方式下的操作数在存储器中?

(5 )基址寻址方式和变址寻址方式的作用各是什么?有何相同点和不同点?

(6 )为何分支指令的转移目标地址通常用相对寻址方式?

(7 )RSIC 处理器的特点有哪些?

(8 )CPU 中标志寄存器的功能是什么?有哪几种基本标志?

(9 )转移指令和转子(调用)指令的区别是什么?返回指令是否需要有地址码字段?

3. 假定某计算机中有一条转移指令,采用相对寻址方式,共占两个字节,第一字节是操作码,第

二字节是相对位移量(用补码表示),CPU 每次从内存只能取一个字节。假设执行到某转移

指令时PC 的内容为200,执行该转移指令后要求转移到100 开始的一段程序执行,则该转移

指令第二字节的内容应该是多少?

参考答案:

100=200+2+Offset,Offset=100-202=-102

(注:没有说定长指令字,所以不一定是每条指令占2 个字节。)

5. 某计算机字长16 位,每次存储器访问宽度16 位,CPU 中有8 个16 位通用寄存器。现为该机

设计指令系统,要求指令长度为字长的整数倍,至多支持64 种不同操作,每个操作数都支持

4 种寻址方式:立即(I)、寄存器直接(R)、寄存器间接(S )和变址(X ),存储器地址

位数和立即数均为16 位,任何一个通用寄存器都可作变址寄存器,支持以下7 种二地址指令

格式:RR 型、RI 型、RS 型、RX 型、XI 型、SI 型、SS 型。请设计该指令系统的7 种指令

格式,给出每种格式的指令长度、各字段所占位数和含义,并说明每种格式指令需要几次存储

器访问?

参考答案:

指令格式可以有很多种,只要满足以下的要求即可。

操作码字段:6 位

寄存器编号:3 位

直接地址和立即数:16 位

变址寄存器编号:3 位

总位数是8 的倍数

指令格式例1:(略)

指令格式例2 :(略)

寻址方式字段(2 位)00 :立即;01:寄直;10:寄间;11-变址

6. 有些计算机提供了专门的指令,能从32 位寄存器中抽取其中任意一个位串置于一个寄存器的

低位有效位上,如下图所示。MIPS 指令系统中没有这样的指令,请写出最短的一个MIPS 指

• 136 •

令序列来实现这个功能,要求i=5, j=22, 操作前后的寄存器分别为$s0 和$s2 。

参考答案:

可以先左移9 位,然后右移15 位:

sll $s2, $s0, 9

srl $s2, $s2, 15 (sra 算术右移 P.57 表3.1 )

若第一条指令中的$s2 改成其他寄存器,则会带来什么问题?

所用寄存器的值被破坏!

7. 以下程序段是某个过程对应的指令序列。入口参数int a 和int b 分别置于$a0 和$a1 中,返回

参数是该过程的结果,置于$v0 中。要求为以下MIPS 指令序列加注释,并简单说明该过程的

功能。

参考答案略

9. 用一条MIPS 指令或最短的指令序列实现以下C 语言语句:b=25|a。假定编译器将a 和b 分

别分配到$t0 和$t1 中。

参考答案:ori $t1, $t0, 25

如果把25 换成65536,那指令是不是就换成: ori $t1, $t0, 65536 ?

65536 (1 0000 0000 0000 0000)不能用16 位立即数表示,所以不对!

10.以下程序段是某个过程对应的MIPS 指令序列,其功能为复制一个存储块数据到另一个存

计算机组成与系统结构第二版第5章,计算机组成与系统结构第五章答案.pdf相关推荐

  1. SysML实践指南第二版(中文翻译:刘亚龙)第五章-SysML语言框架

    SysML语言框架 本章开始介绍SysML语言的详细描述,包含第二部分的剩余章节,包含SysML语言框架的一个讨论并提供一个通用概念的介绍,应用到所有SysML图.也包含一个例子的介绍使用贯穿在第二部 ...

  2. 大学计算机基础实践教程第二版素材,920730-大学计算机基础-实验素材-大学计算机基础教程2...

    <920730-大学计算机基础-实验素材-大学计算机基础教程2>由会员分享,可在线阅读,更多相关<920730-大学计算机基础-实验素材-大学计算机基础教程2(7页珍藏版)>请 ...

  3. 《python基础教程(第二版)》学习笔记 基础部分(第1章)

    <python基础教程(第二版)>学习笔记 基础部分(第1章) python常用的IDE: Windows: IDLE(gui), Eclipse+PyDev; Python(comman ...

  4. 计算机基础实验教程第二版苏州大学出版社,计算机基础实验教程

    计算机基础实验教程 (2008年机械工业出版社出版的图书) 语音 编辑 锁定 讨论 上传视频 <计算机基础实验教程>是2008年机械工业出版社出版的图书,作者是李晓宾.本书主要包括了计算机 ...

  5. 《Python程序设计与算法基础教程(第二版)》江红 余青松,第十章课后习题答案

    推荐阅读 <Python程序设计与算法基础教程(第二版)>江红 余青松 全部章节的课后习题,上机实践,课后答案,案例研究 文章目录 上机实践:2~4 案例研究:基于模块的库存管理系统 上机 ...

  6. 《Python程序设计与算法基础教程(第二版)》江红 余青松 课后选择题 课后填空题答案

    目录 第一章 一.选择题 二.填空题 第二章 一.选择题 二.填空题 第三章 一.选择题 二.填空题 第四章 一.选择题 二.填空题 第五章 一.选择题 二.填空题 第八章 一.选择题 二.填空题 第 ...

  7. 计算机基础与应用2010版教案,职业院校计算机专业-计算机应用基础(Windows 7+office 2010)电子教案(完整版)...

    计算机应用基础 XXX教师备课专用本 学 校 ________________ 科 目 ________________ 年 级 ________________ 任课教师 _____________ ...

  8. 【PTA|Python】浙大版《Python 程序设计》题目集:第五章

    前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出-   自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计 ...

  9. 计算机系统结构第二版习题答案,计算机系统结构课后习题答案(第2版).docx

    习题一 1.解释下列术语 计算机系统的外特性:通常所讲的计算机系统结构的外特性是指机器语言程序员或编译程序编写者所看到的外特性,即由他们所看到的计算机的基本属性(概念性结构和功能特性). 计算机系统的 ...

最新文章

  1. boost::hana::test::TestSearchable用法的测试程序
  2. 牛客网暑期ACM多校训练营(第三场)A - PAXM Team(01背包)
  3. ExtJs Grid 合计 [Ext | GridPanel | GridSummary]
  4. Java基本数据类型及所占字节大小
  5. kotlin转java_Kotlin热身篇: 简介与基本用法
  6. rm -f .... 恢复
  7. SPSS简介【SPSS 004期】
  8. iOS UIFont 字体名称大全,图解及使用方法
  9. Linux+Nginx+SpringBoot+War环境下websocket部署遇到的问题
  10. 想找好用的录屏软件看这里,简单实用。手把手教你高清录屏技巧
  11. R语言进行的变量相关性显著性检验
  12. 3种常用的缓存读写策略
  13. oralce常见异常——ORA-12514: TNS:listener does not currently know of service requested in connect descript
  14. 域名过期 脚本_域名宝已过期! …还是垃圾?
  15. 微信跳一跳python自动代码解读1.0
  16. 图文解读Fcoin发布的FT公链
  17. lego-loam代码分析(3)-激光里程计
  18. 慕课哈工大C语言程序设计精髓-课后练习
  19. Kepware通过OPCUA链接WinCC(Kepware作为客户端)
  20. Java IO用法详解

热门文章

  1. 根据流程部署ID来获取流程定义图片
  2. Linux下的date命令
  3. oracle 批量更新_用集算器更新数据库的技巧
  4. 无法获取保存在session中的验证码
  5. 批量获得oracle存储过程等
  6. mybatis mysql 配置文件路径_从零搭建SpringBoot+MyBatis+MySQL工程
  7. MATLAB计算卷积幂函数,数论小记(示例代码)
  8. Java NPOIFSFileSystem.getRoot方法代碼示例
  9. QueryWrapper 一些常用操作 or like in 大于 小于 操作
  10. Java比较两个实体属性值是否相同,将不同的属性输出