首页 > 技术文章 > 华中科技大学计算机组成原理慕课答案-第五章-指令系统测试

shandianchengzi 2021-06-28 23:23 原文

1 以下四种类型指令中,执行时间最长的是( ) (单选)
A. 程序控制类指令
B. RR型指令
C. RS型指令
√D. SS型指令

SS型指令是两个操作数都存在主存中,慢。

2 程序控制类指令的功能是( ) (单选 )
A. 进行主存与CPU之间的数据传送
B. 进行算术运算和逻辑运算
C. 进行CPU和I/O设备之间的数据传送
√D. 改变程序执行的顺序

比如跳转指令。

3 单地址指令中为了完成两个数的算术运算,除地址码指明的一个操作数外,另一个常需采用的寻址方式是( ) (单选)
√A. 隐含寻址
B. 立即数寻址
C. 直接寻址
D. 寄存器寻址

4 寄存器间接寻址方式中,操作数存放在( )中 (单选)
A. 通用寄存器
B. 指令寄存器
C. 数据缓冲寄存器MDR
√D. 主存

寄存器存地址,用地址去主存中读操作数。

5 指令采用跳跃寻址方式的主要作用是( ) (单选)
A. 实现程序浮动
√B. 实现程序的有条件、无条件转移
C. 访问更大主存空间
D. 实现程序调用

6 下列寻址方式中,有利于缩短指令地址码长度的是 ( ) (单选)
√A. 隐含寻址
B. 直接寻址
C. 间接寻址
D. 寄存器寻址

我觉得ACD都行,之后去问问老师。。。

7 假设某条指令的一个操作数采用寄存器间接寻址方式,假定指令中给出的寄存器编号为8,8号寄存器的内容为1200H,地址1200H中的内容为12FCH,地址12FCH中的内容为3888H,地址3888H中的内容为88F9H.则该操作数的有效地址为( ) (单选)
A. 88F9H
B. 3888H
C. 12FCH
√D. 1200H

该操作数的有效地址为寄存器存的内容。

8 假设某条指令的一个操作数采用寄存器间接寻址方式,假定指令中给出的寄存器编号为8,8号寄存器的内容为1200H,地址1200H中的内容为12FCH,地址12FCH中的内容为3888H,地址3888H中的内容为88F9H.则该操作数为( ) (单选)
A. 88F9H
B. 3888H
C. 1200H
√D. 12FCH

该操作数为有效地址(寄存器存的内容)指向的内容。

9 某计算机按字节编址,采用大端方式存储信息。其中,某指令的一个操作数的机器数为ABCD 00FFH,该操作数采用基址寻址方式,指令中形式地址(用补码表示)为FF00H,当前基址寄存器的内容为C000 0000H,则该操作数的LSB(即该操作数的最低位FFH)存放的地址是( ) (单选)
A. C000 FF00H
B. C000 FF03H
√C. BFFF FF03H
D. BFFF FF00H

FF00H->-100H,C000 0000H+(-100H)=BFFF FF00H是操作数所在的地址。
已知大端存储模式下,该操作数的机器码为ABCD 00FFH,所以该操作数占4个字节。其中AB对应BFFF FF00H,CD对应BFFF FF01H,00对应BFFF FF02H,FFH对应BFFF FF03H。所以选C。
参考https://blog.csdn.net/weixin_44034102/article/details/105343930

10 相对寻址方式中,操作数有效地址通过( )与指令地址字段给出的偏移量相加得到 (单选)
√A. 程序计数器的值
B. 变址寄存器的值
C. 基址寄存器的值
D. 段寄存器的值

EA=(PC)+D

11 下列关于二地址指令的叙述中,正确的是( ) (单选)
A. 地址码字段一定是操作数的直接地址
√B. 运算结果通常存放在其中一个地址码所指向的位置
C. 地址码字段一定是操作数
D. 地址码字段一定是存放操作数的寄存器编号

12 下列选项中不会直接成为影响指令长度的是( )(单选)
A. 指令中操作码字段的长度
B. 指令中地址码字段的个数
√C. 通用寄存器的位数
D. 指令中地址码字段的长度

指令中通用寄存器往往只以编号形式出现,只需要提供对应的编号即可访问响应的寄存器,与寄存器的位数无关。

13 下列寻址方式中,最适合处理数组访问的是 ( ) (单选)
A. 堆栈寻址
B. 基址寻址
C. 相对寻址
√D. 变址寻址

变址寻址固定形式地址D,变化寄存器的值,适用于堆、块访问,便于程序设计。

14 下列属于指令系统中采用不同寻址方式的目的主要是( )(单选)
A. 为了实现软件的兼容和移植
√B. 缩短指令长度,扩大寻址空间,提高编程灵活性
C. 丰富指令功能并降低指令译码难度
D. 为程序设计者提供更多、更灵活、更强大的指令

15 假定指令地址码给出的是操作数所在的寄存器的编号,则该操作数采用的寻址方式是( )(单选)
√A. 寄存器寻址
B. 间接寻址
C. 直接寻址
D. 寄存器间接寻址

多选

1 假定指令地址码给出的是寄存器的编号,则该操作数采用的寻址方式可能是( )(多选)
√A. 寄存器寻址
B. 相对寻址
√C. 寄存器间接寻址
√D. 变址寻址

D:(摘抄自《计算机组成原理》清华大学出版社P203)
一般情况下,CPU内部有专门的变址寄存器(如8086中的SI和DI,其中SI表示源操作数,DI表示目的操作数),因此变址寻址方式下,变址寄存器采用隐含寻址方法,不需要在指令中显式地指出。指令中的形式地址字段给出的是参与变址寻址的偏移值。
如果采用通用寄存器作为变址寄存器,则需要在指令中明确地指出该址寄存器的编号。

2 关于一地址指令操作数的下列描述中,错误的是( ) (多选)
√A. 若有两个操作数,另一个操作数采用间接寻址
B. 可能对一个操作数,也可能对两个操作数进行运算
√C. 一定有两个操作数,另一个是隐含的
√D. 只能对该唯一地址码指定的操作数进行运算

A. 隐含寻址 C. 一个操作数也行 D. 两个操作数也行。

3 设计指令格式时应该考虑的因素包括 ( ) (多选)
√A. 要求支持的指令数量和操作码设计方法
√B. 可供程序设计使用的通用寄存器数量
√C. 直接寻址要求访问的主存地址空间
√D. 要求支持的地址字段数量

4 下列寻址方式中,需要先通过计算获得有效地址,然后再访问主存的寻址方式是( )(多选)
√A. 基址寻址
√B. 相对选址
C. 间接寻址
√D. 变址寻址

5 以下属于立即寻址特点的是 ( ) (多选)
A. 指令中的形式地址就是操作数的真实地址
√B. 操作数的大小受地址字段位数的限制
√C. 取指令的同时也从内存中取回操作数
√D. 该类型指令在执行阶段不需要访问内存

形式地址就是操作数

填空:

1 某计算机为定长指令字结构,采用扩展操作码编码方式,指令长度为16位,每个地 址码占4位,若已设计三地址指令15条,二地址指令8条,一地址指令127条,则剩下的零地址指令最多有( 16 )条. (只需要填阿拉伯数字)

16位,分四块ABCD。A中15条用于三地址,1条用于二地址扩展标记;
B中8条用于二地址,剩8条和C中16条组合,可生成最多128个一地址指令,多余一条,用于零地址扩展。
此时D中所有组合均可以用于零地址指令,故零地址最多16条。
讲得有些不清楚,详见https://blog.csdn.net/weixin_43978453/article/details/103290129

2 在变址寻址方式中,若变址寄存器的内容是4E3CH,指令中给出的偏移量为63H,则数据的有效地址为 ( 4E9F )H (只需要填阿拉伯数字和大写字母,共需4位)

EA=(X)+D=4E3C+63H=4E9FH。

3 某计算机采用双字节长指令,指令中形式地址字段8位 ,指令中的数据采用补码表示,且PC的值在取指阶段完成修改。 某采用相对寻址的指令的当前地址和转移后的目标地址分别为为2008和 2001(均为10进制数),则该指令的形式地址字段的值为( F7 )H (只需要填阿拉伯数字和大写字母,共需2位)

计算机采用双字节指令,故为PC+2,即200A;
2001-200A=F7H。

推荐阅读