其中,OP为操作码,I为寻址方式特征码。D为形式地址,或称偏移量。寻址过程就是把I和D的不同组合变换成有效地址的过程。I与操作数寻址方式相关。

(4) 基址寻址面向系统,主要用于程序的重定位和扩展寻址空间。变址寻址是面向用户的,主要解决程序循环问题。 两者相同点:在形式上以及计算操作数的有效地址的方法上,变址寻址和基址寻址中是相似的,都是把个寄存器的内容加上指令字中的形式地址而形成操作数有有效地址。

不同点:两者有着不同的用途。首先,在采用了基址寻址的计算机系统中,基址是不变的,程序中的所有地址都是相对于基地址来变化的。而对于变址寻址来说则相反,指令中的地址字段的形式地址给出的是一个存储器地址基准,变址寄存器X中存放的是相对于该基准地址的偏移量。不同的变址寄存器给出的不同的单元。第二,在基址寻址中,偏移量位数较短,而在变址寻址中,偏移量位数足以表示整个存储空间。第三,基址寻址主要是解决程序逻辑空间与存储器物理空间的无关性,而变址寻址主要是为了可以编写出高效访问一片存储空间的程序。

(5) RISC具有如下特点:使用等长指令、寻址方式少且简单、只有取数和存数指令访问存储器、指令数量和指令格式少于、指令功能简单、CPU内部设置了大量的寄存器、控制器多采用硬布线方式、大多数指令可在一个时钟周期内完成、支持指令流水并强调指令流水的优化使用。

(6) 定长指令的优点:定长指令具有结构规整,有利于简化硬件,尤其是指令译码部件的设计。

定长指令的缺点:定长指令平均长度长、容易出现冗余码点和指令不易扩展等不足。 变长指令的优点:变字长指令结构灵活,能充分利用指令中的每一位,所以指令码点冗于少,指令的平均长度短,易于扩展。

变长指令的缺点:变长指令的格式不规整,不同指令的取指时间可能不同,导致控制复杂。 (7) 指令的地址码通常指定参与操作的操作数的地址。指令中的地址码字段的作用随指令类型和寻址方式的不同而不同,它可能作为一个操作数、也可能是操作数的地址(包括操作数所在的主存地址、寄存器编号或外部设备端口地址)、也可能是一个用于计算地址的偏移量。

5.3 根据操作数所在的位置,指出其寻址方式(填空) (1) 操作数在指令中为(A)寻址方式。

(2) 操作数地址(主存)在指令中为(B)寻址方式。 (3) 操作数在寄存器中为(C)寻址方式。 (4) 操作数地址在寄存器中为(D)寻址方式。

解:A:立即数寻址 B:直接寻址 C: 寄存器寻址 D: 寄存器间接寻址

5.4 某计算机字长16位,运算器16位,有16个通用寄存器,8种寻址方式,主存64KW,指令中操作数地址码由寻址方式字段和寄存器号字段组成。试问, (1) 单操作数指令最多有多少条? (2) 双操作数指令最多有多少条? (3) 变址寻址的范围多大?

解:由令中操作数地址码由寻址方式字段和寄存器号字段组成可知:16个通用寄存器,需要4位表示,8种寻址方式需3位表示。 (1)单操作数指令操作码位数16-4-3=9位

OP I D 所以:最多有2=512条。

(2)双操作数的操作码位数:16-2*(4+3)=2位

2

所以:最多有2=4条

(3)变址寻址,因为寄存器为16位,所以寻址范围为:64K

9

5.5 假设某计算机的指令长度固定为16位,具有双操作数,单操作数和无操作数三类指令,每个操作数地址规定用6位表示。

(1)现已设计出m条双操作数指令,n条无操作数指令,在此情况下,这台计算机最多可设计出多少条单操作数指令?

(2)当双操作数指令取最大数,且在此基础上,单操作数指令条数也取最大值,试计算这3类指令最多可拥有多少条指令?

解:根据题目提交,该指令格式包含两个操作数字段(各6位)和一个操作码字段(4位),单操作数指令通过将指令的OP字段向不用的一个地址码字段扩展,零操作数指令在单操作数指令的基础上继续向另一个不用的地址码字段扩展。在扩展的过程中要注意留出扩展标志。

(1)可通过扩展的方式将操作码向地址码扩展。

4

则计算机最多有2=16条指令双操作数指令

这里,双操作数指令为m条,此时,操作码字段还有(16-m )种扩展标志,用于表示操作码向一个地址字段扩展。

本题目中已知道无操作数指令为n条,首先要知道,无操作数指令是在一操作数指令的基础上,通过将操作码向最后一个地址字段扩展得到的,加上扩展的过程中用到了y个扩展标志,则n = y 64 (每种扩展标志下,最后地址字段的6位全部标志无操作数指令),由此,可以得到y = n / 64

所以:单操作数的指有(16-m)*64- n / 64条。

4

(2)双操作数指令取最大数:2-1=15条

6

单操作数指令取最大数:2-1=63条

6

无操作数指令最大有:2=64条

5.6设相对寻址的转移指令占三个字节,第一个字节是操作码,第二个字节是相对位移量(补码表示)的低8位,第三个字节是相对位移量(补码表示)的高8位,每当CPU从存储器取一个字节时,便自动完成(PC)+1PC:

(1)若PC当前值为256(十进制),要求转移到290(十进制),则转移指令第二、三字节的机器代码是什么(十六进制)?

(2)若PC当前值为128(十进制),要求转移到110(十进制),则转移指令第二、三字节的机器代码又是什么(十六进制)?

解:根据相对寻址有效地址的计算公式 EA=(PC)+ D 可知 D = EA - (PC)

对于相对寻址而言,关键是要求出计算有效地址时PC的当前值。

(1) 根据题意,采用相对寻址指令的地址为256,PC在取指令完成后修改,则取指令完成后PC=256+3=259 (因为指令长度为3个字节) 所以:D = 290-259 =(31)10= 001FH

故:转移转移指令第二字节为:1FH,第三字节为:00H。

(2) 根据题意,采用相对寻址指令的地址为128,PC在取指令完成后修改,则取指令完成后PC=128+3=131

所以:D = 110-131=(-21)10=FFEDH(补码)

故:转移转移指令第二字节为:EBH,第三字节为:FFH。

5.7 某计算机有变址、间接和相对等三种寻址方式,设指令由操作码、寻址方式特征位和地址码三部分组成,且为单字长指令。设当前指令的地址码部分为001AH,正在执行的指令所在地址为1F05H,变址寄存器中的内容为23A0H,已知存储器的部分地址及相关内容如表5.11所示:

表5.11 存储器内容分配

地址 001AH 1F05H 1F1FH 23A0H 23BAH 内容 23A0H 2400H 2500H 2600H 1748H

根据要求完成下列填空:

⑴ 当执行取数指令时,如为变址寻址方式,则取出来的数为_________。 ⑵ 如为间接寻址,取出的数为_________。 ⑶ 当采用相对寻址时,有效地址为_________。

解:(1)当为变址寻址方式时,变址寄存器为23A0H,当前地址码部分为:001AH EA=23A0H+001AH=23BAH 所以读出的数为:1748H

(2) 当为间接寻址时,当前地址码部分为:001AH,则有效地址为: EA=[001A]=23A0H

所以读出的数为:2600H

(3)当为相对寻址时,当前执行指令的地址为1F05H,则PC=PC+2=1F05H+2=1F07H(指令长度为两个字节)

EA=1F07H+001AH=1F21H

没有该地址对应的内容,说明CPU所访问的内容不在主存中。

5.8某计算机的指令格式包括操作码OP、寻址方式特征位I和形式地址D等三个字段,其中OP字段6位,寻址方式特征位字段I为2位,形式地址字段D为8位。I的取值与寻址方式的对应关系为: I=00:直接寻址

I=01:用变址寄存器X1进行变址; I=10:用变址寄存器X2进行变址; I=11:相对寻址.

设(PC)=1234H,(X1)=0037H , (X2)=1122H,以下四条指令均采用上述格式,请确定这些指令的有效地址:

(1)4420H (2)2244H (3)1322H (4)3521H 解:(1)4420H=(0100010000100000)B OP 010001 I 00 D 00100000 I=00,变址寻址方式,EA= 20H (2)2244H=0010 0010 0100 0100B

OP 001000 I 10 D 01000100 I=10:用变址寄存器X2进行变址 E=(X2)+D=1166H

(3)1322H=0001 0011 0010 0010B OP 000100 I 11 D 00100010 I=11:相对寻址

E=(PC)+2+D=1258H (双字节长指令) (4)3521H=0011 0101 0010 0001B OP 001101 I 01 D 00100001 I=01:用变址寄存器X1进行变址 E=(X1)+D=0058H

5.9 某计算机A有60条指令 ,指令的操作码字段固定为6位,从000000-111011,该机器的后续机型B中需要增加32条指令,并与A保持兼容, (1)试采用操作码扩展方法为计算机B设计指令操作码. (2)计算计算机B中操作码的平均长度.

解:(1) 因为计算机B要与计算机A兼容所以计算机A中的指令得保留:所以000000-111011为A的操作码部分。操作码字段的11100-111111的取值将作为扩展标识,将操作码扩展到地址字段,只需要占用地址字段3位即可表示新的32条指令。 (2)由(1)可知,有60条指令的操作码为6位,32条指令的操作码为9位 所以平均长度为:(60*6+32*11)/92=7.74位.

5.10 以下MIPS指令代表什么操作?写出它的MIPS汇编指令格式 0000 0000 1010 1111 1000 0000 0010 0000 解:OP=000000 Funct=100000

rs=00101 则对应的寄存器名称 rs=$a1 rt=01111 则对应的寄存器名称 rt=$t7 rd=10000 则对应的寄存器名称 rd=$ S0 所以,汇编格式为 ADD $S0,$a1,$t7

5.11 假定以下C语句中包含的变量f,g,h,i,j分别存放在寄存器$11---$15中,写出完成C语言语句f=(g+h)*i/j功能的MIPS汇编指令序列,并写出每条MIPS指令的十六进制数.

解:设f对应$11($t3)=01011B g对应$12($t4)=01100B h对应$13($t5)=01101B i对应$14($t6)=01010B i对应$15($t7)=01111B 对应的汇编指令 odd $t3,$t4,$t5

0000,0001,1000,1101,0101,1000,0010,0000 018D5820H mult $t3,$t6

0000,0001,0110,1110,0000,0000,0001,1000 016E0018H

计算机组成原理中op,计算机组成原理课程习题答案秦磊华相关推荐

  1. 计算机原理课 如何在中小学课堂中变成有趣,计算机组成原理课程习题答案秦磊华...

    第二章 数据表示方法 习 题 二 2.1解释下列名词 真值:正号和负号分别用"+"和"-"表示,数据位保持二进制值不变的数据表示方法. 数值数据:计算机所支持的 ...

  2. 计算机组成原理中7421,计算机组成原理07421

    <计算机组成原理07421>由会员分享,可在线阅读,更多相关<计算机组成原理07421(21页珍藏版)>请在技术文库上搜索. 1.中断服务子程序图C2.1保存CPU现场设备服务 ...

  3. 在计算机组成原理中x,计算机组成原理xu2.ppt

    计算机组成原理xu2.ppt §3.4 二进制乘法运算 3.4.1 定点数一位乘法 1. 定点原码一位乘法 [X?Y]原 = (X0⊕ Y0)|(X1X2-Xn) ? (Y1Y2-Yn) 用我们传统人 ...

  4. 计算机组成原理中LD,计算机组成原理课件第三章计算机中的数据表示.ppt

    计算机组成原理课件第三章计算机中的数据表示.ppt 第三章 计算机中数据的表示,学时6个学时 重点掌握各种数据的编码方法,主要内容,概述 字符编码 中文编码 逻辑数据 数值数据 校验码,概述,计算机中 ...

  5. 计算机组成原理中FZ,计算机组成原理实验二.doc

    计算机组成原理实验二.doc 北京科技大学 计算机与通信工程学院 实 验 报 告 实验名称:?? 基本运算器实验 李奥林 ???? 专 业:??? 计算机科学与技 ? ? 班 级:??? 计1303? ...

  6. 计算机组成原理中01010110,计算机组成原理第二章教案.ppt

    文档介绍: 第二章 运算方法与运算器 运算方法和运算器 http://zcylytueducn/ 姥轮赃哮仗七二促滨者凶疹觅轮啦茸仟竟仔份脂溪谓偷兄擒释阮芹尘付蔫计算机组成原理第二章教案计算机组成原理 ...

  7. 计算机组成原理cs和we,《计算机组成原理》课程习题答案_秦磊华2011-9-8

    <计算机组成原理>习题答案 (秦磊华) 由于RAID1的读性能优于写性能,因此,RAID1主要应用于对数据的可用性要求高,且读操作所占比重较高的场合. RAID2具有如下技术特点: ① 条 ...

  8. 考研OS备考|计算机操作系统|汤小丹慕课版|课后习题答案|复试拓展

    本文主要是考研复试备考自用,所以课后习题答案主要是简答题部分,此外还有其他的简答补充.如果发现有误,欢迎在评论区或者私信指出. 计算机操作系统|汤小丹慕课版|课后习题答案|考研备考 第1章 操作系统引 ...

  9. 计算机组成原理中12H是什么,计算机组成原理课程实习报告.doc

    文档介绍: 计算机组成原理课程实****报告.docEvaluationWarning:ThedocumentwascreatedwithSpire..计算机组成原理课程实****报告2010-201 ...

最新文章

  1. 浮点运算为什么不准?有人为0.30000000000000004建了个网站
  2. html5 css 笔记,HTML5+CSS3笔记
  3. 虚拟机centos7 识别不出网卡的解决方案
  4. LINUX脚本报错捕捉,Linux01-BASH脚本编程之信号捕捉及任务计划53
  5. jdbc连接数据scanip_JDBC连接数据库的四种方式:DriverManager,DataSource,DBCP,C3P0
  6. 模型压缩:模型量化打怪升级之路-工具篇
  7. 【kafka】Number of alive brokers 0 does not meet the required replication factor 3
  8. php pdo查询sqlserver,php pdo sqlserver分页sql的处理
  9. 重构Webpack系列之三 ----出口(output)
  10. PackageManager的基本使用
  11. 《影响力》- 作者 Robert B. Cialdini 罗伯特·西奥迪尼 读后感
  12. Firebug 网络监视器使用教程英文
  13. 关于xpath解析网页中tbody问题
  14. Scrapy教程经典实战【新概念英语】
  15. 学号20189220 2018-2019-2 《密码与安全新技术专题》第四周作业
  16. 天池竞赛——工业蒸汽量预测(完整代码分享)
  17. 华为手机linux连接网络设置ip地址,华为路由器(Huawei)默认登录IP地址是多少
  18. java设计模式 之 模板方法模式
  19. Python环境搭建之OpenCV
  20. 目标检测论文解读复现之六:基于YOLOv5的遥感图像舰船的检测方法

热门文章

  1. 山西计算机大赛崔奕,2021年中国大学生计算机设计大赛山西省赛评审结果名单公示通知...
  2. 配置文件导入服务器什么意思,配置服务器需要什么意思
  3. 使用Haskell和Hubris加强Ruby
  4. python 写脚本 获取qq好友地理位置_Python获取统计自己的qq群成员信息的方法
  5. 谷歌浏览器下载后安装不了
  6. python3爬取图片
  7. ev1527信号频率问题
  8. 手机刷linux插鼠标U盘,用OTG线连接键盘鼠标U盘 手机瞬间变电脑 自制otg线
  9. 小孔成像总结_初中物理解题技巧+方法总结,可以说很到位了!
  10. 洛谷P4084 [USACO17DEC]Barn Painting G 题解