当前位置:   article > 正文

计算机组成原理——指令系统题库_一条双字长的add指令存储在地址为100和101的存储位置

一条双字长的add指令存储在地址为100和101的存储位置

目录

指令系统题库

选择题

判断题

解答题


指令系统题库

选择题

1、以下有关指令系统的说法中错误的是什么。

A、 指令系统是一台机器硬件能执行的指令全体

B、 任何程序运行前都要先转化为机器语言

C、 指令系统是计算机软件、硬件的界面

D、 指令系统和机器语言是无关的。

2、在CPU执行指令的过程中,指令的地址由什么给出。

A、 程序计数器PC

B、 指令的地址码字段

C、 操作系统

D、 程序员

3、下列一地址运算类指令的叙述中,正确的是什么。

A、 仅有一个操作数,其地址由指令的地址码提供

B、 可能在一个操作数,也可能有一两个操作数

C、 一定有两个操作数,其中一个操作数是隐含的

D、 指令的地址码字段存放的一定是操作码

4、运算型指令的寻址与转移型指令的寻址不同点在于什么。

A、 前者取操作数,后者决定程序转移地址

B、 后者取操作数,前者决定程序转移地址

C、 前者是短指令,后者是长指令

D、 前者是长指令,后者是短指令

5、程序控制类指令的功能是什么

A、 进行算术运算和逻辑运算

B、 进行主存与CPU之间的数据传送

C、 进行CPU与IO设备之间的数据传送

D、 改变程序执行的顺序

6、下列哪种指令不属于程序控制指令。

A、 无条件转移指令

B、 条件转移指令

C、 中断隐指令

D、 循环指令

7、下列哪种指令用户不准使用.

A、 循环指令

B、 转换指令

C、 特权指令

D、 条件转移指令

8、以下叙述错误的是什么。

A、 为了充分利用存储空间,指令的长度通常为字节的整数倍

B、 单地址指令是固定长度的指令

C、 单字长指令可加快取指令的速度

D、 单地址指令可能有一个操作数,也可能有两个操作数

9、单地址指令中为了完成两个数的算术运算,除地址码指明一个操作数外,另一个数采用什么方式。

A、 立即寻址

B、 隐含寻址

C、 间接寻址

D、 基址寻址

10、关于二地址指令以下叙述正确的是什么。

A、 二地址指令中,运算结果通常存放在其中一个地址码所提供的地址中

B、 二地址指令中,指令的地址码字段存放的一定是操作数

C、 二地址指令中,指令的地址码字段存放的一定是寄存器号

D、 二地址指令中,指令的地址码字段存放的一定是操作数地址

11、设机器字长为32位,一个容量为16MB的存储器,CPU按半字寻址,其寻址单元数是什么。

A、 2^24

B、 2^23

C、 2^22

D、 2^21

12、某指令系统有210条指令,对操作码采用固定长度二进制编码,最少需要用多少位。

A、 4

B、 8

C、 16

D、 32

79、某指令系统有200条指令,对操作码采用固定长度二进制编码,最少需要用()位。

A、 4

B、 8

C、 16

D、 32

13、在指令格式中,采用扩展操作码设计方案的目的是什么

A、 减少指令字长度

B、 增加指令字长度

C、 保持指令字长度不变而增加指令操作的数量

D、 保持指令字长度不变而增加寻址空间

14、一个计算机系统采用32位单字长指令,地址码为12位,如果定义了250条二地址指令,那么还可以有多少条单地址指令

A、 4K

B、 8K

C、 16K

D、 24K

15、指令系统中采用不同寻址方式的目的是什么。

A、 可降低指令译码的复杂度

B、 可缩短指令字长,扩大寻址空间,提高编程的灵活性

C、 实现程序控制

D、 三者都正确

16、直接寻址的无条件转移指令的功能是将指令中的地址码送入什么。

A、 程序计数器PC  

B、 累加器ACC

C、 指令寄存器IR

D、 地址寄存器MAR

17、某机器指令字长为16位,主存按字节编址,取指令时,每取一个字节PC自动加1,当前指令地址为2000H,指令内容为相对寻址的的无条件转移指令,指令中的形式地址为40H,那么取指令后及指令执行后PC内容为什么。

A、 2000H 2042H 

B、 2002H 2040H  

C、 2002H 2042H  

D、 2000H 2040H

18、程序计数器和指令寄存器的位数取决于什么。

A、 机器字长 存储器容量

B、 存储器容量 指令字长

C、 指令字长 机器字长

D、 地址总线宽度 存储器容量

19、寄存器中的值有时是地址,有时是数据,它们在形式上没有差别,只有通过什么才能识别它是数据还是地址。

A、 寄存器编号  

B、 判断程序  

C、 指令操作码或寻址方式位  

D、 时序信号

20、某计算机为定长指令字结构,采用扩展操作码编码方式,指令字长度为16位,每个地址码占4位,三地址指令15条,二地址指令8条,一地址指令127条,则剩下零地址指令最多有多少条。

A、 15  

B、 16   

C、 31  

D、 32

21、假定指令地址码给出的是操作数的存储地址,则该操作数采用的是什么寻址。

A、 立即   

B、 直接    

C、 基址    

D、 相对

22、寄存器间接寻址方式的操作数存储在什么中

A、 通用寄存器   

B、 存储单元    

C、 程序计数器    

D、 堆栈

23、假设某计算机采用小端方式存储,按字节编址。一维数组a有100个元素,其类型为float,存放在地址C000 1000H开始的连续区域中,则最后一个数组元素的MSB(最高有效字节)所在的地址应为什么。

A、 C000 1396H    

B、 C000 1399H

C、 C000 118CH    

D、 C000 118FH

24、某计算机按字节编址,采用大端方式存储信息。其中,某指令的一个操作数的机器在数ABCD 00FFH,该操作数采用基址寻址方式,指令中形式地址(用补码表示)为FF00H,当前基址寄存器的内容为C000 0000H,则该操作数LSB(即FFH)存放的地址是什么。

A、 C000 F000H     

B、 C000 FF03H

C、 BFFF FF00H     

D、 BFFF FF03H

25、下列关于RISC特征的描述中,错误的是什么。

A、 指令格式规整,寻址方式少

B、 采用硬布线控制和指令流水线

C、 配置的通用寄存器数目不多

D、 运算类指令的操作数不访存

56、在堆栈寻址中,设A为累加器,SP为堆栈指示器,Msp为SP指示的栈顶单元。如果进栈操作顺序是:(SP)-1->SP,(A)->↓Msp;那么出栈操作的顺序应是( )。

A、 (Msp)↑->A,(SP)+1->SP

B、 (SP)+1->SP,(Msp)↑->A

C、 (SP)-1->SP,(Msp)↑->A

D、 (Msp)↑->A,(SP)-1->SP

解析:堆栈是按特定顺序进行访问的存储区,其访问方式是后进先出,即先存入的数据后读出。对堆栈的操作有入栈和出栈两种,两者的操作完全相反,包括功能和顺序均相反。

93、在堆栈寻址中,设A为累加器,SP为堆栈指示器,Msp为SP指示的栈顶单元。如果进栈操作顺序是:(A)->↓Msp,(SP)-1->SP;那么出栈操作的顺序应是( )。

A、 (Msp)↑->A,(SP)+1->SP

B、 (SP)+1->SP,(Msp)↑->A

C、 (SP)-1->SP,(Msp)↑->A

D、 (Msp)↑->A,(SP)-1->SP

解析:堆栈是按特定顺序进行访问的存储区,其访问方式是后进先出,即先存入的数据后读出。对堆栈的操作有入栈和出栈两种,两者的操作完全相反,包括功能和顺序均相反。

57、在按字节编址的存储器中,每个编址单元中存放( )二进制位。

A、 1位

B、 8位

C、 16位

D、 32位

解析:在按字节编址在存储器中,每个编址单元的容量为一个字节,一个字节由8位二进制数组成,一个字节存储单元可以存放8位二进制位。

58、为了缩短指令中某个地址段的位数,有效的方法是采取(  )。

A、 立即寻址

B、 变址寻址

C、 间接寻址

D、 寄存器寻址

解析:由于计算机中寄存器的数量一般很少,采用寄存器寻址时可用少量的代码来指定寄存器,这样可以减少对应地址段的代码位数,也可减少整个指令的代码长度。

59、堆栈指针 SP 的内容是( )。

A、 栈顶单元内容

B、 栈顶单元地址

C、 栈底单元内容

D、 栈底单元地址

解析:堆栈是按特定顺序进行访问的存储区,其访问方式是后进先出,即先存入的数据后读出。对堆栈的访问由堆栈指针寄存器SP控制,其内容为堆栈中栈项单元的地址,即入栈时数据保存在SP指向的单元,出栈时将SP指向单元的内容取出。

60、采用直接寻址方式,则操作数在( )中。

A、 主存

B、 寄存器

C、 直接存取存储器

D、 光盘

解析:直接寻址方式是指在指令中直接给出操作数在存储器中的地址,操作数在主存储器中,指令中的地址直接作为有效地址,对存储器进行访问即可取得操作数。

61、零地址指令的操作数一般隐含在(  )中。

A、 磁盘

B、 磁带

C、 寄存器

D、 光盘

解析:零地址指令只有操作码,没有操作数。这种指令有两种情况:一是无需操作数,另一种是操作数为隐含的,默认为操作数在寄存器中,指令可直接访问寄存器。

62、假设寄存器 R 中的数值为 200 ,主存地址为 200 和 300 的地址单元中存效的内容分别是300 和 400 ,则什么方式下访问到的操作数为 300

A、 直接寻址 300

B、 寄存器间接寻址(R)

C、 存储器间接寻址(200)

D、 寄存器寻址 R

解析:直接寻址200的操作数为300,寄存器间接寻址(R)的操作数300,存储器间接寻址(200)的操作数为400,寄存器寻址R的操作数为200.

63、单地址指令( )。

A、 只能对单操作数进行加工处理

B、 只能对双操作数进行加工处理

C、 无处理双操作数的功能

D、 既能对单操作数进行加工处理,也能在隐含约定另一操作数(或地址)时,对双操作数进行运算

解析:单地址指令既能对单操作数进行加工处理,也能对双操作数进行运算。当处理双操作数时,一个操作数在指令中给出,另一个操作数则是隐含约定的,例如堆栈操作指令中的入栈指令PUSH,指令中只给出源操作数,而目的操作数则由计算机中的堆栈指针(SP)确定,在指令中不需要指定。

64、反映计算机基本功能的是(  )。

A、 操作系统

B、 系统软件

C、 指令系统

D、 数据库系统

解析:指令系统:计算机中各种指令的集合,它反映了计算机硬件具备的基本功能。

65、在大多数情况下,一条机器指令中是不直接用二进制代码来指定

A、 下一条指令的地址

B、 操作的类型

C、 操作数地址

D、 结果存放地址

66、转移指令执行结束后,程序计数器PC中存放的是( )。

A、 该转移指令的地址

B、 顺序执行的下条指令地址

C、 转移的目标地址

D、 任意指令地址

解析:转移指令执行过程中,将转移指令所指的子程序的起始地址装入PC,因此转移指令执行结束后,程序计数器PC中存放的是转移的目标地址。

76、某指令系统指令字长16位,每个地址码为6位,若二地址指令15条,一地址指令62条,则剩下零地址指令最多有多少条()

A、 64

B、 96

C、 128

D、 255

77、以下有关指令系统的说法中错误的是()

A、 指令系统是一台机器硬件能执行的指令全体

B、 任何程序运行前都要先转化为机器语言程序

C、 指令系统是计算机软件、硬件的界面

D、 指令系统和机器语言是无关的

78、每条指令的操作码可以有几个()

A、 一个

B、 两个

C、 三个

D、 没有限定

80、下列哪种指令不属于程序控制指令()。

A、 无条件转移指令

B、 条件转移指令

C、 中断隐指令

D、 循环指令

81、下列关于一地址运算类指令的叙述中,正确的是()。

A、 仅有一个操作数,其地址由指令的地址码提供

B、 可能有一个操作数,也可能有两个操作数

C、 一定有两个操作数,其中一个操作数是隐含的

D、 指令的地址码段存放的一定是操作码

82、关于二地址指令以下论述正确的是()。

A、 二地址指令中,运算结果通常存放在其中一个地址码所提供的地址中

B、 二地址指令中,指令的地址码字段存放的一定是操作数

C、 二地址指令中,指令的地址码字段存放的一定是寄存器号

D、 二地址指令中,指令的地址码字段存放的一定是操作数地址

83、以下叙述错误的是()。

A、 为了充分利用存储空间,指令的长度通常为字节的整数倍

B、 单地址指令是固定长度的指令

C、 单字长指令可加快取指令的速度

D、 单地址指令可能有一个操作数,也可能有两个操作数

84、源操作数直接存放在指令中的寻址方式是()

A、 存储器直接寻址

B、 立即数寻址

C、 寄存器直接寻址

D、 存储器间接寻址

85、执行操作的数据不可能来自()。

A、 寄存器

B、 指令本身

C、 控制存储器

D、 存储器

86、在指令的相对寻址中,其相对的基准地址是()。

A、 基址寄存器

B、 变址寄存器

C、 堆栈指示器

D、 程序计数器

87、设变址寄存器为X,形式地址为D,某机器具有先变址再间址的寻址方式,则这种寻址方式的有效地址为()。

A、 EA=(X)+D

B、 EA=(X)+(D)

C、 EA=X+D

D、 EA=((X)+D)

88、直接、间接、立即3种寻址方式指令的执行速度,由快至慢的排序是

A、 直接、间接、立即

B、 直接、立即、间接

C、 立即、直接、间接

D、 立即、间接、直接

89、需要多次访问存储器的寻址方式的是()。

A、 存储器直接寻址

B、 立即数寻址

C、 寄存器直接寻址

D、 存储器间接寻址

90、哪几种寻址方式的操作数存在存储器中。

A、 存储器直接寻址

B、 寄存器间接寻址

C、 寄存器直接寻址

D、 存储器间接寻址

92、假设指令字长16位,操作数的地址码为6位,指令有二地址、一地址和零地址三种格式。采用扩展操作码技术,若二地址指令有8种,零地址指令64种,则一地址指令最多有()种

A、 511

B、 342

C、 255

D、 512

94、设机器字长为16位,存储器按字节编址,设PC=1000 H,当读取该指令后,PC值为( ) 。

A、 1000H

B、 1001H

C、 1002H

D、 1003H

95、下列四种类型的指令,什么执行时间最长。

A、 RR型

B、 SS型

C、 RS型

D、 RI型

107、以下有关指令系统的说法中,错误的是()。

A、 指令系统是一台机器硬件能执行的指令全体

B、 任何程序运行前都要先转换为机器语言程序

C、 指令系统是计算机软硬件的界面

D、 指令系统和机器语言无关

108、运算型指令的寻址与转移型指令的寻址的不同点在于()。

A、 前者取操作数,后者决定程序转移地址

B、 后者取操作数,前者决定程序转移地址

C、 前者是短指令,后者是长指令

D、 前者是长指令,后者是短指令

109、程序控制类指令的功能是()。

A、 进行算术运算和逻辑运算

B、 进行主存与CPU之间的数据传送

C、 进行CPU和IO设备之间的数据传送

D、 改变程序执行的顺序

110、堆栈计算机中,有些堆栈零地址运算类指令在指令格式中不给出操作数的地址,参加的两个操

作数来自()。

A、 累加器和寄存器

B、 累加器和暂存器

C、 堆栈的栈顶和次栈顶单元

D、 堆栈的栈顶和暂存器

111、以下叙述错误的是()。

A、 为了便于取指,指令的长度通常为存储字长的整数倍

B、 单地址固定长度的指令

C、 单字长指令可加快取指令的速度

D、 单地址指令可能有一个操作数,也可能有两个操作数

112、能够完成两个数的算术运算的单地址指令,地址码指明一个操作数,另一个操作数来自于()方式。

A、 立即寻址

B、 隐含寻址

C、 间接寻址

D、 基址寻址

113、设机器字长 为32位,一个容量为16MB的存储器,CPU按半字寻址,其寻址单元数是()。

A、 2 24

B、 2 23

C、 2 22

D、 2 21

114、设指令中的地址码为A,变址寄存器为X,程序计数器为PC,则变址寻址方式的操作的有效地址EA是()。

A、 ((PC)+A)

B、 ((X)+A)

C、 (X)+(A)

D、 (X)+A

115、()便于处理数组问题。

A、 间接寻址

B、 变址寻址

C、 相对寻址

D、 基址寻址

116、相对寻址方式,指令所提供的相对地址实质上是一种()。

A、 立即数

B、 内存地址

C、 以本条指令在内存中首地址为基准位置的偏移量

D、 以下条指令在内存中首地址为基准位置的偏移量

117、在多道程序设计中 ,最重要的寻址方式是()。

A、 相对寻址

B、 间接寻址

C、 立即寻址

D、 按内容寻址

118、指令寻址方式有顺序寻址和跳跃寻址,采用跳跃寻址方式可以实现

A、 程序浮动

B、 程序的无条件浮动和条件浮动

C、 程序的无条件转移和条件转移

D、 程序的调用

119、以下叙述中()是正确的。

A、 RISC一定采用流水技术

B、 采用流水技术的机器一定是RISC机

C、 RISC机的兼容性优于CISC

D、 CPU配备很少的通用寄存器

122、下列有关RISC特征的描述中,错误的是( )

A、 指令格式规整,寻址方式少

B、 采用硬连线控制和指令流水线

C、 配置的通用寄存器数目不多

D、 运算类指令的操作数不访存

判断题

26、堆栈是由若干连续存储单元组成的先进先出存储区。

答案: 错误

解析:堆栈是由若干连续存储单元组成的后进先出存储

27、RISC较传统的CISC的CPU存储器操作指令更丰富,功能更强。

答案: 错误

解析:RISC只有取数存数指令访问存储器,其余指令操作都在寄存器之间进行。

28、指令的多种寻址方式会使指令格式复杂化,但可以增加指令获取操作的灵活性。

答案: 正确

29、程序计数器PC用来指示从内存中取指令。

答案: 正确

30、内存地址寄存器只能用来指示从内存中取数据。

答案: 错误

解析:内存地址寄存器用来指示从内存中取数据或指令。

31、浮点运算指令对用于科学计算的计算机是很必要的,可以提高机器的运算速度。

答案: 正确

32、处理大量输入输出数据的计算机,一定要设置十进制运算指令。

答案: 错误

解析:可以用二进制运算指令处理输入输出数据,然后编程将运算结果转为十进制输出。

33、一个系列中的不同型号计算机,保持软件向上兼容的特点。

答案: 正确

34、在计算机的指令系统中,真正必须的指令数是不多的,其余的指令都是为了提高机器速度和便于编程而引入的。

答案: 正确

35、扩展操作码是一种优化技术,它使操作码的长度随地址码的减少而增加,不同地址的指令可以具有不同长度的操作码。

答案: 正确

36、转移类指令能改变指令执行顺序,因此,执行这类指令时,PC和SP的值都将发生变化。

答案: 错误

解析:执行这类指令时,SP的值不会发生变化。

37、RISC的主要设计目标是减少指令数,降低软、硬件开销。

答案: 正确

解析:

38、新设计的RISC,为了实现其兼容性,是从原来CISC系统的指令系统中挑选一部分简单指令实现

的。

答案: 错误

解析:选用使用频度高的一些简单指令,以及很有用但不复杂的指令。

39、RISC没有乘、除指令和浮点运算指令。

答案: 错误

解析:RISC有乘、除指令和浮点运算指令。

40、执行指令时,指令在内存中的地址存放在指令寄存器中。

答案: 错误

解析:执行指令时,指令在内存中的地址存放在程序计数器中。

41、在没有设置乘、除法指令的计算机系统中,就不能实现乘、除法运算。

答案: 错误

解析:在没有设置乘、除法指令的计算机系统中,可通过加、减、移位等运算实现乘、除法运算。

42、计算机指令是指挥CPU进行操作的命令,指令通常由操作码和操作数的地址码组成。

答案: 正确

43、不设置浮点运算指令的计算机,就不能用于科学计算。

答案: 错误

解析:不设置浮点运算指令的计算机,仍可用于科学计算,只是要增加编程量且速度不很快。

44、采用RISC技术后,计算机的体系结构又恢复到早期的比较简单的情况。

答案: 错误

解析:RISC计算机的体系结构只是相对CISC机要简单些。

67、在寄存器寻址方式中,指定寄存器中存放的是操作数地址。

答案: 错误

解析:在寄存器间接寻址方式中,指定寄存器中存放的是操作数地址;而在寄存器寻址方式中,指定

寄存器中存放着操作数。

68、转移指令执行结束后,目标地址可放在任意寄存器中。

答案: 错误

解析:转移指令执行过程中,将转移指令所指的子程序的起始地址装入PC,因此转移指令执行结束

后,程序计数器PC中存放的是转移的目标地址。

解答题

45、在一个36位长的指令系统 中,设计一个扩展操作码,使之能表示下列指令:

1)7条具有两个15位地址和一个3位地址的指令;

2)500条具有一个15位地址和一个3位地址的 指令;

3)50条无地址指令。

答案:

1) 7条具有两个15位地址和一个3位地址的指令

OP (3位) A1 (15) A2(15) A3(3) 则OP编码为000--110 111不用,作为标志位用于扩展

2)500条具有一个5位地址和一个3位地址的 指令

OP (3位 + 15) A2(15) A3(3) 高3位为标志位 为 111,相邻的15为进行编码,则OP编码

111 000 000 000 000 000 --111 111 110 011 000 000( 也可是 111 000 000 111 110 011) 其余

为标志位用于扩展

3)50条无地址指令

OP (18位 + 18) 则OP编码 为 111 111 110 100 000 000 000 000 000 000 000 000

-111 111 110 100 000 000 000 000 000 000 110 010

或 111 000 000 111 110 011 000 000 000 000 000 000 -111 000 000 111 110 011 000 000 000

000 110 010

解析:

46、某模型机64种操作码,位数固定,且具有以下特点:

1)采用一地址或二地址格式;

2)有寄存器寻址、直接寻址和相对寻址(位移量为-128~127)3种寻址方式;

3)有16个通用寄存器,算术运算和逻辑运算的操作数均在寄存器中,结果也在寄存器中;

4)取数存数指令在通用寄存器和存储器之间传送数据;

5)存储器容量为1MB,按字节编址。

答案:

1、算术逻辑指令是RR型指令,两个操作数均为寄存器,而系统中的16个寄存器,所以寄存器编号用4位表示(log16=4)而机器指令编码是固定的,有64种 操作码,所以操作码位数为 6位 (2^6=64),寻址特征位为 2位( 2^2=4>3)

所以 算术逻辑指令的指令格式为:

2、取数/存数指令:为RS型指令 一个寄存器 和一个存储器地址则操作码与寻址特征位位数与上同,寄存器编号位数也与上同 ,存储器地址 还剩4位,不够直接寻址范围,将之扩展到32位则 存储器地址为4+16=20位 ,所以取数/存数指令格式如下:

3、 相对转移指令:只有一个操作数,为要转移的地址,采用相对寻址,而相对寻址 位移量为-128~127 用补码表示8位所以 相对转移指令的格式为:

47、某机字长为20位,存储器按字编址,访问内存指令格式如下:

1)该指令能定义多少种指令其中,OP为操作码,M为寻址特征 A为形式地址。设PC和Rx分别为程序计数器和变址寄存器,字长为20位,问:

2)表中各种寻址方式的寻址范围为多少?

3)写出表中各种寻址方式的有效地址EA的计算公式

答案:

(1) OP位数为7位 则指令可达2^7=128条指令(4分)

立即寻址 (操作数=A 指令中 ) EA= PC 1 (每格空 2 分)

直接寻址 EA=A 0-1023 或 2^10

间接寻址 EA=(A) 0-65535 或 2^20

变址寻址 EA=(Rx)+A 0-65535 或 2^20

相对寻址 EA=(PC)+A 相对偏移量为 - 2^9~ 2^9-1(或 -512~511)

48、一条双字长的Load指令存储在地址为200和201的存储位置,该指令将指定的内容装入累加器ACC中。指令的第一个字指定操作码和寻址方式MOD,第二个字是地址部分。寄存器与主存内容示意图如图所示。PC值为200,R1为400,XR为100。指令的寻址方式字段可指令任何一种寻址方式。问在下列寻址方式中,装入ACC的值。

1)直接寻址

2)立即寻址

3)间接寻址

4)相对寻址

5)变址寻址

6)寄存器R1寻址

7)寄存器R1间接寻址

答案:

1)直接寻址 800

2)立即寻址 500

3)间接寻址 300

4)相对寻址 325

5)变址寻址 900

6)寄存器R1寻址 400

7)寄存器R1间接寻址 700

49、设相对寻址的转移指令占两个字节,第一个字节是操作码,第二个字节是相对位移量,用补码表示。假设当前转移指令第一字节所在的地址为2000H,且CPU每取出一个字节便自动完成(PC)+1®PC的操作。试问当执行JMP *+8和JMP *-9指令时,转移指令第二字节的内容各为多少?

答案:

当执行JMP *+8和JMP *-9指令时,先读取指令 PC = 2000H+2 =2002H

JMP*+8 要转移指令的地址相对当前指令后的第8个字节处,即目标地址为 2000H+8 =2008H则转移指令第二字节的内容为2008H-2002H = 06HMP*-9 要转移指令的地址相对当前指令前的第9个字节处,即目标地址为 2000H-9 =1FF7H

则转移指令第二字节的内容为1FF7H-2002H = FFF5H,则第二字节内容为 F5H

50、 某机主存容量为4M´16位,且存储字长等于指令字长,若该机指令系统可完成108种操作,操作码位数固定,且具有直接、间接、变址、基址、相对、立即等六种寻址方式,试回答:

(1)画出一地址指令格式并指出各字段的作用;

(2)该指令直接寻址的最大范围;

(3)一次间址和多次间址的寻址范围;

(4)立即数的范围(十进制表示);

(5)相对寻址的位移量(十进制表示);

(6)上述六种寻址方式的指令哪一种执行时间最短?哪一种最长?为什么?哪一种便于程序浮动?哪一种最适合处理数组问题?

(7)如何修改指令格式,使指令的寻址范围可扩大到4M?

(8)为使一条转移指令能转移到主存的任一位置,可采取什么措施?简要说明之。

答案:

  1. (4分)一地址指令 格式为:

其中OP为操作码 ,表明作何种操作,M为寻址特征位,表明是什么寻址方式

A为形式地址 。

(2)直接寻址的最大范围为26=64

(3)由于存储字长为16位,故一次间址的寻址范围为216;若多次间址,需用存储字的最高位来区别是否继续间接寻址,故寻址范围为215

(4)立即数的范围为-32——31(有符号数),或0——63(无符号数)。

(5)相对寻址的位移量为-32——31。

(6)上述六种寻址方式中,因立即数由指令直接给出,故立即寻址的指令执行时间最短。间接寻址在指令的执行阶段要多次访存(一次间接寻址要两次访存,多次间接寻址要多次访存),故执行时间最长。变址寻址由于变址寄存器的内容由用户给定,而且在程序的执行过程中允许用户修改,而其形式地址始终不变,故变址寻址的指令便于用户编制处理数组问题的程序。相对寻址操作数的有效地址只与当前指令地址相差一定的位移量,与直接寻址相比,更有利于程序浮动。

(7)方案一:为使指令寻址范围可扩大到4M,需要有效地址22位,此时可将单字长一地址指令的格式改为双字长,如下图示:

方案二:如果仍采用单字长指令(16位)格式,为使指令寻址范围扩大到4M,可通过段寻址方案实现。安排如下:

硬件设段寄存器DS(16位),用来存放段地址。在完成指令寻址方式所规定的寻址操作后,得有效地址EA(6位),再由硬件自动完成段寻址,最后得22位物理地址。 即:物理地址=(DS)´26 + EA注:段寻址方式由硬件隐含实现。在编程指定的寻址过程完成、EA产生之后由硬件自动完成,对用户是透明的。

方案三:在采用单字长指令(16位)格式时,还可通过页面寻址方案使指令寻址范围扩大到4M。安排如下:

硬件设页面寄存器PR(16位),用来存放页面地址。指令寻址方式中增设页面寻址。当需要使指令寻址范围扩大到4M时,编程选择页面寻址方式,则:EA =(PR)‖A (有效地址=页面地址“拼接”6位形式地址),这样得到22位有效地址。

(8)为使一条转移指令能转移到主存的任一位置,寻址范围须达到4M,除了采用(7) 方案一中的双字长一地址指令的格式外,还可配置22位的基址寄存器或22位的变址寄存器,使EA = (BR) + A (BR为22位的基址寄存器)或EA =(IX)+ A(IX为22位的变址寄存器),便可访问4M存储空间。还可以通过16位的基址寄存器左移6位再和形式地址A相加,也可达到同样的效果。总之,不论采取何种方式,最终得到的实际地址应是22位。

51、 一种单地址指令的结构如下所示:

其中,X、D组成该指令的操作数有效地址E。设R为变址寄存器,PC为程序计数器,请在表中第一列位置填入适当的寻址方式名称

答案:

①直接寻址 (每个4分)

②相对寻址

③变址寻址

④寄存器寻址

5)间接寻址

6)先相对寻址再间接寻址

⑦ 先变址寻址再间接寻址

8)寄存器间接寻址

52、假设某计算机的指令长度为20位,具有双操作数、单操作数和无操作数三类指令形式,每个操作数地址规定用6位表示。若操作码字段固定为8位,现已给出m条双操作数指令,n条无操作数指令。在此情况下,这台计算机最多可以设计出多少条单操作数指令?当双操作数指令条数取最大值,且在此基础上单操作数指令条数也取最大值时,试计算这三类指令最大容许具有的指令条数各是多少?

53、 某台计算机字长为16位,主存容量为64K字,采用单字长单地址指令,共有64条指令。试采用四种寻址方式(直接、间接、变址、相对)设计指令格式。

54、 某指令系统字长为16位,地址码取4位,试提出一种方案,使该指令系统有8条三地址指令、16条二地址指令、100条一地址指令。

55、设指令字长为16位,采用扩展操作码技术,每个操作数的地址为6位。如果定义了13条二地址指令,试问还可安排多少条一地址指令?

答案:

二地址指令操作码为4位(16-6-6),最多有2的4次方种二地址指令, 二地址指令实际为13种,还剩16-13=3种用来扩展称为一地址指令,二地址指令每剩下一种可以扩展成64种,剩下3种可以扩展成为3*64=192种。

69、什么是寻址方式,有哪些寻址方式?

答案:

寻找下一条要执行指令的地址及本条指令中操作数地址的方式称为寻址方式。寻址方式分为指令寻址和数据寻址。

70、什么是数据寻址方式?数据寻址有哪些方式(至少给出6种)

答案:

寻找操作数地址的方式称为数据寻址方式。

数据寻址有立即数寻址、寄存器寻址、直接寻址、寄存器间接寻址、间接寻址、基址寻址、变址寻址、相对寻址等

71、指令格式由哪几部分组成,作用是什么?

答案:

指令格式分为操作码与地址码两部分。

操作码 表明指令做什么操作。

地址码 说明操作数来自哪。

72、假定某计算机中有一条转移指令,采用相对寻址方式,共占两个字节,第一字节是操作码,第二字节是相对位移量(用补码表示),CPU 每次从内存只能取一个字节。假设执行到某转移指令时 PC的内容为 200,执行该转移指令后要求转移到 100 开始的一段程序执行,则该转移指令第二字节的内容应该是多少?

答案:

100=200+2+Offset

Offset=100-202=-102=10011010B

73、指令编码中,操作码用来指定____ ,n位操作码最多可以表示___条指令。

答案:做什么运算;机器做什么操作;做什么操作;机器做什么;机器做什么运算;机器做何种操作;操作的类型;2^n;2的n次方;

74、地址码表示___。以其数量为依据,可以将指令分为 ____、_____ 、_____、_____ 、_________

答案:

操作数来自哪;操作数在哪;操作数存放的地方;操作数所在的地方;操作数存在的地方;操作数存在哪;参与操作的操作数的地址;操作数地址;操作数在什么地方;操作数存放在什么地方;

四地址 三地址 二地址 单地址 零地址;四地址,三地址,二地址,单地址,零地址;零地址 单地址 二地址 三地址 四地址;零地址,单地址,二地址,三地址,四地址;零地址、单地址、二地址、三地址、四地址;四地址、三地址、二地址、单地址、零地址;;

解析:

91、某机器字长 32 位,CPU 内有 32 个 32 位的通用寄存器,设计一种能容纳 64 种操作的指令系统,设指令字长等于机器字长。

(1) 如果主存可直接或间接寻址,采用寄存器-存储器型指令,能直接寻址的最大存储空间是多少?试画出指令格式。

(2) 在(1)的基础上,如果采用通用寄存器作为基址寄存器,则上述寄存器-存储器型指令的指令格式又如何设计?画出指令格式并指出这类指令可访问多大的存储空间。

答案:

(1)64种操作,则操作码位数 = log 64 = 6 2

寄存器32个,则寄存器编码位数 = log 32 = 5 2

有直接寻址或间接寻址,则寻址特征位 位数 1位,所以寄存器-存储器型指令格式:

M寻址特征位 1位 ,表明主存的寻址方式 0:直接寻址 1:间接寻址 (1分)说明:OP 为操作码,表明做什么操作 6位 (1分)

R 寄存器操作数,指明寄存器的编号 5位 (1分)

A 存储器地址,表明操作数的地址 20位 (1分)

采用直接寻址时,A的位数为 20位则寻址的最大存储空间为220 =1M (4分)

(2)

在(1)的基础上采用通用寄存器作为基址寄存器,则增加了基址寻址,寻址特征位增加到2位 还得再增加一个基址寄存器的位数,则A的位数为32-6-2-5-5=14位,所以指令格式为:

间接寻址与基址寻址范围 都是232 =4G (5分) 特点:增加了基址寻址方式,直接寻址范围变小 为214 =16K (5分)

解析:

96、某指令格式如图所示:

图中X为寻址特征位,且当X=0时,不变址;

X=1时,用变址寄存器X1进行变址;

X=2时,用变址寄存器X2进行变址;

X=3时,相对寻址。

设(PC) =1234H,[X1]=0037H,[X2]=1122H,确定下列指令的的有效地址(指令和地址均用十六进制表示):

(1) 4420

(2) 2244

(3) 1322

(4) 3521

答案:

97、某机字长16位,存储器直接寻址范围空间为128字,变址寻址时的位移量为-64-63,16个通用寄存器均可作为变址寄存器。设计一一套指令系统格式,满足下列寻址类型的要求。

(1)直接寻址的二地址指令3条。

(2)变址寻址的一地址指令6条。

(3)寄存器寻址的二地址指令8条。

(4)直接寻址的一地址指令12条。

(5)零地址指令32条。试问还有多少种代码末用?若安排寄存器寻址的一地址指令,还能容纳多少条?

答案:

98、一条双字长的ADD指令存储在地址为100和101的存储位置,该指令将指定的内容与累加器ACC相加,结果存储在ACC中。指令的第一个字指定操作码和寻址方式MOD,第二个字是地址部分。寄存器与主存内容示意图如图所示。PC值为100,R1值为250,XR值为300,ACC值为400。指令的寻址方式字段可指令任何一种寻址方式。寻址方式为立即数寻址时,指令执行完后ACC的值为

答案:600;

解析:立即数寻址,即形式地址就是操作数即200,所以(ACC)+200=400+200=600,所以ACC的值为600。

99、一条双字长的ADD指令存储在地址为100和101的存储位置,该指令将指定的内容与累加器ACC相加,结果存储在ACC中。指令的第一个字指定操作码和寻址方式MOD,第二个字是地址部分。寄存器与主存内容示意图如图所示。PC值为100,R1值为250,XR值为300,ACC值为400。指令的寻址方式字段可指令任何一种寻址方式。寻址方式为直接寻址时,指令执行完后ACC的值为 。

答案:700;

解析:直接寻址,则形式地址200为操作数在内存单元的地址,而内存地址200中存放的数为300,所以300与ACC中的数400相加得到700,存储在ACC中,那ACC的值为700

100、一条双字长的ADD指令存储在地址为100和101的存储位置,该指令将指定的内容与累加器ACC相加,结果存储在ACC中。指令的第一个字指定操作码和寻址方式MOD,第二个字是地址部分。寄存器与主存内容示意图如图所示。PC值为100,R1值为250,XR值为300,ACC值为400。指令的寻址方式字段可指令任何一种寻址方式。寻址方式为寄存器R1寻址时,指令执行完后ACC的值为 。

答案:650;

解析:寄存器R1寻址,则操作数在R1寄存器中,所以R1)+(ACC)=250+400=650,那ACC的值为650。

101、一条双字长的ADD指令存储在地址为100和101的存储位置,该指令将指定的内容与累加器ACC相加,结果存储在ACC中。指令的第一个字指定操作码和寻址方式MOD,第二个字是地址部分。寄存器与主存内容示意图如图所示。PC值为100,R1值为250,XR值为300,ACC值为400。指令的寻址方式字段可指令任何一种寻址方式。寻址方式为间接寻址时,指令执行完后ACC的值为 。

答案:1000;

解析:间接寻址,则形式地址200为操作数在内存单元的间接地址,而内存地址200中存放的数为300是操作数的有效地址,内存单元地址300中的值为600是操作数,所以600与ACC中的数400相加得到1000,存储在ACC中,那ACC的值为1000。

102、一条双字长的ADD指令存储在地址为100和101的存储位置,该指令将指定的内容与累加器ACC相加,结果存储在ACC中。指令的第一个字指定操作码和寻址方式MOD,第二个字是地址部分。寄存器与主存内容示意图如图所示。PC值为100,R1值为250,XR值为300,ACC值为400。指令的寻址方式字段可指令任何一种寻址方式。寻址方式为寄存器R1间接寻址时,指令执行完后ACC

的值为 。(只写数字)

答案:550;

解析:寄存器R1间接寻址,则R1的值为操作数的有效地址为250,而内存地址250中存放的数为150是操作数,所以150与ACC中的数400相加得到550,存储在ACC中,那ACC的值为550

103、一条双字长的ADD指令存储在地址为100和101的存储位置,该指令将指定的内容与累加器ACC相加,结果存储在ACC中。指令的第一个字指定操作码和寻址方式MOD,第二个字是地址部分。寄存器与主存内容示意图如图所示。PC值为100,R1值为250,XR值为300,ACC值为400。指令的寻址方式字段可指令任何一种寻址方式。寻址方式为变址寻址时,指令执行完后ACC的值为 。

答案:1300

解析:变址寻址,则操作数的有效地址 EA=(变址寄存器XR)+形式地址的值 200=300+200=500,而内存地址500中存放的数为900是操作数,所以900与ACC中的数400相加得到1300,存储在ACC中,那ACC的值为1300

104、一条双字长的ADD指令存储在地址为100和101的存储位置,该指令将指定的内容与累加器ACC相加,结果存储在ACC中。指令的第一个字指定操作码和寻址方式MOD,第二个字是地址部分。寄存器与主存内容示意图如图所示。PC值为100,R1值为250,XR值为300,ACC值为400。指令的寻址方式字段可指令任何一种寻址方式。寻址方式为相对寻址时,指令执行完后ACC的值为 。

(只写数字)

答案:710;

解析:相对寻址,则操作数的有效地址EA=(PC)+形式地址的值200,而PC的值为读取当前指令后的值 ,当前指令为双字长指令,所以(PC)+2=100+2=102,所以有效地址EA=102+200=302,而内存地址302中存放的数为310是操作数,所以310与ACC中的数400相加得到710,存储在ACC中,那ACC的值为710

105、假设某计算机的指令长度为24位,具有双操作数、单操作数和无操作数三类指令形式,每个操作数地址规定用9位表示。

① 若操作码字段固定为6位,现已给出m条双操作数指令,n条无操作数指令。在此情况下,这台计算机最多可以设计出多少条单操作数指令?

② 若操作码字段扩展码,当双操作数指令条数取最大值,且在此基础上单操作数指令条数也取最大值时,试计算这三类指令最大容许具有的指令条数各是多少?

答案:

① 双操作数指令地址字段占9*2=18位,操作码字段为24-18=6位。由于设定全部指令采用6位固定的

OP字段,故这台计算机最多的指令条数为2^6 = 64条。

  最多还可以设计出(64 – m – n)条单操作数指令。

②  双操作数指令条数最大值为2^6-1=63条。

单操作数指令条数最大值为(2^9 – 1=511)条。

 无操作数指令条数最大值为(2^9=512)条。

106、若某计算机最复杂指令的执行需要完成 5 个子功能,分别由功能部件 A~E 实现,各功能部件所需时间分别为 80ps、50ps、50ps、70ps 和 50ps,采用流水线方式执行指令,流水段寄存器延时为 20ps,则 CPU 时钟周期至少为 ps。(只写数字)

答案:100;

120、某机的机器字长为16位,主存按字编址,指令格式如下 :

其中,D 为位移量,X为寻址特征。

X=00:直接寻址

X=01:用变址寄存器X1进行变址

X=10:用变址寄存器X2进行变址

X=11:相对寻址

设(PC)=1234H,(X1)=0037H,(X2)=1122H,请确定下列有效地址:

① 4420H ③1322H ③3521H ④6723H ⑤2244H

答案:

取指后,PC的值为1234H+1=1235H,

(1)指令4420H=0100 0100 0010 0000B ,则指令中X=00为直接寻址,有效地址EA=D=20H。

(2)指令1322H=0001 0011 0010 0010B ,则指令中X=11为相对寻址,有效地址EA=(pc)+D=1235H+22H=1257H。

(3)指令3521H=0011 0101 0010 0001B ,则指令中X=01为寄存器x1变址寻址,有效地址EA=(x1)+D=0037+21H=0058H。

(4)指令6723H=0110 0111 0010 0011B ,则指令中X=11为相对寻址,有效地址EA=(pc)+D=1235H+23H=1258H。

(5)指令2244H=0010 0010 0100 0100B ,则指令中X=10为寄存器x2变址寻址,有效地址EA=(x2)+D=1122H+44H=1177H。

解析:

121、一条双字长的取数指令(LDA)存于存储器的200和201单元,其中第一字为操作码OP和寻址特征M,第二个字为形式地址A,假设PC的当前值为200,变址寄存器IX的内容为100,基址寄存器的内容为200,存储器相关单元的内容如下表所示:

下表中各列为寻址方式,该寻址方式下的有效地址及取数指令执行结束后累加器(AC)的内容,试补全下表。

答案:

123、计算机中为什么要设置多种操作数寻址方式?

答案:

设置多种操作数寻址方式是:有利于缩短指令字长,方便程序设计,扩展访存空间。

124、分析基址寻址和变址寻址的异同点。

答案:

(1)都可有效地扩大指令寻址范围。

(2)执行阶段都需要访存

( 3)基址寻址时,基准地址由基址寄存器给出,地址的改变反映在位移量A的取值上;变址寻址时,基准地址由A给出,地址的改变反映在变址值的自动修改上,变址值由变址寄存器给出。

(4)基址寄存器内容通常由系统程序设定,变址寄存器内容通常由用户设定。

(5)基址寻址适用于程序的动态重定位,便于编制多道程序,变址寻址适用于数组或字符串处理,便于编制循环程序,适用场合不同。

125、指令长度和机器字长有什么关系?半字长指令、单字长指令、双字长指令分别表示什么?

答案:

令长度与机器字长没有固定关系,指令长度可以等于机器字长,也可以大于或小于机器字长。通常,把指令长度等于机器字长的指令称为单字长指令;指令长度等于半个机器字长的指令称为半字长指令;指令长度等于两个机器字长的指令称为双字长指令。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/177581?site
推荐阅读
相关标签
  

闽ICP备14008679号