Relax1000 计算机组成原理 · 第4章 指令系统 · 题目¶
第4章 指令系统¶
本章 43 题;题目册印刷页 91–96。
Q1¶
指令系统是指( )。
- A.一台计算机能够执行的所有指令的集合
- B.计算机中所有硬件的功能描述
- C.高级语言中所有语句的集合
- D.操作系统中所有命令的集合
Q2¶
下列不属于指令系统设计核心要素的是( )。
- A.操作码长度
- B.寻址方式
- C.指令执行周期数
- D.操作系统类型
Q3¶
指令系统的兼容性是指( )。
- A.不同计算机的指令系统完全一样
- B.同一计算机的指令系统在不同操作系统下都能运行
- C.一种计算机的目标程序可以不加修改地在另一种计算机上运行
- D.指令系统能同时支持多种高级语言
Q4¶
寄存器中的值有时是地址,有时是数据,它们在形式上没有差别,只有通过( )才能识别它是数据还是地址。
- A.寄存器编号
- B.判断程序
- C.指令操作码或寻址方式位
- D.时序信号
原页版面片段(公式/表图/电路/代码/数据通路以此为准)

Q5¶
程序控制类指令的功能是( )。
- A.进行主存和 CPU 之间的数据传送
- B.进行 CPU 和外设之间的数据传送
- C.改变程序执行的顺序
- D.控制进、出栈操作
Q6¶
指令系统中,操作码的作用是( )。
- A.指出指令执行的操作类型
- B.指出操作数的地址
- C.指出指令执行的结果存放地址
- D.指出指令在内存中的存放地址
Q7¶
若指令系统采用变长指令字格式,以下说法正确的是( )。
- A.所有指令的长度都相同
- B.操作码长度固定,地址码长度可变
- C.操作码长度可变,地址码长度固定
- D.不同指令的长度可以不同
Q8¶
指令格式中,地址码部分可以表示的信息不包括( )。
- A.操作数的直接地址
- B.操作数的间接地址
- C.指令的执行结果
- D.操作数地址的偏移量
Q9¶
关于指令格式设计,以下说法错误的是( )。
- A.指令格式设计需考虑硬件实现的复杂度
- B.指令格式应尽量满足各种数据类型和操作的需求
- C.指令格式设计与指令系统的性能无关
- D.合理的指令格式可以提高程序执行效率
Q10¶
在指令格式中采用扩展操作码的设计方案是为( )。
- A.减少指令字长度
- B.增加指令字长度
- C.在保持指令字长度不变的前提下,增加指令操作的数量与种类
- D.保持指令字长度不变,而增加寻址空间
Q11¶
关于二地址指令以下论述正确的是( )。
- A.二地址指令中,运算结果通常存放在其中一个地址码所提供的地址中
- B.二地址指令中,指令的地址码字段存放的一定是操作数
- C.二地址指令中,指令的地址码字段存放的一定是寄存器
- D.指令的地址码字段存放的一定是操作数地址
Q12¶
在一个指令系统中,指令字长为 32,一个地址码为 6 位,指令分为 4 地址指令、3 地址指令和2 地址指令,已知 4 地址指令有 254条,2 地址指令有 4095条,则 3 地址指令至多有多少条?( )。
- A.63
- B.64
- C.65
- D.66
Q13¶
某机器字长为 32 位,存储器按半字编址,每取出一条指令后 PC 的值自动 +2,说明其指令长度是( )。
- A.16 位
- B.32 位
- C.64 位
- D.128 位
原页版面片段(公式/表图/电路/代码/数据通路以此为准)

Q14¶
某指令系统的指令字是 16 位,有一地址、二地址、三地址三种指令,每个地址码 4 位,若一地址指令有 256条,那么三地址指令最多有( )条。
- A.12
- B.14
- C.15
- D.16
Q15¶
零地址的运算类指令在指令格式中不给出操作数地址,参加的两个操作数来自( )。
- A.累加器和寄存器
- B.累加器和暂存器
- C.堆栈的栈顶和次栈顶单元
- D.暂存器和堆栈的栈顶单元
Q16¶
在关于一地址运算类指令的叙述中,正确的是( )。
- A.仅有一个操作数,其地址由指令的地址码提供
- B.可能有一个操作数,也可能有两个操作数
- C.一定有两个操作数,另一个是隐含的
- D.指令的地址码字段存放的一定是操作码
Q17¶
设相对寻址的转移指令占 4字节,其中第 1、第 2字节是操作码,第 3、第 4字节是相对位移量(用补码表示)。设该转移指令所在的地址是 2008H,要求转移到 2001H的地址,按字节编址,则该转移指令第 3 第 4 字节的内容应为( )。
- A.FFF5H
- B.FFF9H
- C.000BH
- D.0007H
原页版面片段(公式/表图/电路/代码/数据通路以此为准)

Q18¶
相对寻址不适用于( )。
- A.公共子程序的浮动
- B.数组的访问
- C.选择结构语句
- D.循环结构语句
Q19¶
某计算机采用大端方式,主存按字节编址 。现有一个由若干个 32 位无符号整数元素组成的数组,其在内存中的首地址为 0800 1000H。程序采用变址寻址方式遍历该数组,设变址寄存器为 R1,初始值为 0,每次循环取出一个元素后,R1 的内容自动加上该元素所占用的字节数 。若某次循环执行前R1 的内容为 0000 000CH,则此次取出的操作数的最低有效字节(LSB)所存放的物理地址是( )。
- A.0800 100CH
- B.0800 100FH
- C.0800 1010H
- D.0800 1013H
Q20¶
在现代计算机系统的存储管理与数据访问中,基址寻址和变址寻址扮演着不同的角色 。以下关于这两种寻址方式的论述中,错误的是( )。
- A.两者计算有效地址的逻辑相同,核心公式均为“特定寄存器内容与指令字中的形式地址相加”
- B.变址寻址中,指令提供的形式地址通常作为基准地址(如数组首地址),变址寄存器的内容作为偏移量(如数组下标)
- C.若采用专用寄存器作为基址寄存器来实现多道程序的重定位,该寄存器在程序装入时由操作系统赋值,在执行过程中用户程序无法随意修改
- D.若采用通用寄存器作为基址寄存器来扩展有限长度指令的寻址空间,为了保证程序执行的稳定性,该基址寄存器的内容在程序运行的整个生命周期内必须保持不变
Q21¶
对于双目运算 a+b→a,两个操作数都采用堆栈寻址,不考虑缺页和 cache 等其他情况,下列说法错误的是( )。
- A.若采用软堆栈(栈区由内存实现),指令执行的完整过程(包括取指)至少访存 3 次
- B.两个操作数来自栈顶和次栈顶
- C.栈型指令是隐含寻址
- D.若采用硬堆栈(栈区由寄存器实现),指令执行的完整过程至少访存 1 次
原页版面片段(公式/表图/电路/代码/数据通路以此为准)

Q22¶
间接寻址的主要优点是( )。
- A.执行速度快
- B.可以扩大寻址范围
- C.编程简单
- D.不需要地址寄存器
Q23¶
以下关于寻址方式的说法,正确的是( )。
- A.寄存器寻址比直接寻址的执行速度慢
- B.变址寻址只能使用一个变址寄存器
- C.堆栈寻址的操作数存放在堆栈中,按先进后出原则存取
- D.隐含寻址不需要操作数
Q24¶
相对寻址方式中,指令所提供的相对地址实质上是一种( )。
- A.立即数
- B.内存地址
- C.本条指令在内存中首地址为基准位置的偏移量
- D.以下一条指令在内存中首地址为基准位置的偏移量
Q25¶
对于指令寻址方式的说法,错误的是( )。
- A.指令中不同的操作数可能使用不同的寻址方式
- B.间接寻址的间址周期最终获得的是操作数的有效地址
- C.寄存器间接寻址的寻址范围只取决于计算机的存储单元个数
- D.隐含寻址需要特殊硬件的支持
Q26¶
下列操作数寻址方式中,在指令的执行阶段(不含取指),访存次数最多的是( )。
- A.直接寻址
- B.寄存器间接寻址
- C.间接寻址
- D.立即寻址
Q27¶
假设某机器有 7 个通用寄存器,某指令的一个操作数采用基址寻址的寻址方式,采用通用寄存器作为基址寄存器,指令中的寄存器的编号为 002H,寄存器 002H 中的值为 2022H,地址 2022H 中的内容为 B111H,指令中给出的形式地址为 2023H,地址 2023H 中的内容是 2048H,那么该操作数的有效地址为( )。
- A.D159H
- B.2025H
- C.4045H
- D.D134H
Q28¶
假设某指令的一个操作数采用变址寻址的寻址方式,变址寄存器中的值为 1000H,地址 1000H中的内容为 0002H,指令中给出的形式地址为 2022H,地址 2022H 中的内容是 2048H,那么该操作数的有效地址为( )。
- A.2050H
- B.3022H
- C.3048H
- D.204AH
Q29¶
设相对寻址的转移指令占两个字节,按字节编址,第 1 字节是操作码,第 2 字节是相对位移量(用补码表示)。每当 CPU 从存储器取出第一个字节时,即自动完成(PC)+ “1” -> PC。若 PC 的内容为 2008H,要求转移到 2001H 地址,则该转移指令第 2 字节的内容应为( )。
- A.F6H
- B.F7H
- C.F8H
- D.F9H
原页版面片段(公式/表图/电路/代码/数据通路以此为准)

Q30¶
采用变址寻址可以扩大寻址范围,且( )。
- A.变址寄存器的内容由用户确定,在程序执行过程中不能改变
- B.变址寄存器的内容由操作系统确定,在程序执行过程中不能改变
- C.变址寄存器的内容由用户确定,在程序执行过程中可以改变
- D.变址寄存器的内容由操作系统确定,在程序执行过程中可以改变
Q31¶
假设地址为 1200H 的内存单元中的内容为 120CH,地址为 120CH 的内存单元的内容为 38B8H,而 38B8H单元的内容为 88F9H,下列说法正确的个数有( )个。
I.操作数采用变址寻址,变址寄存器中存放内容的值是 12,指令中的形式地址为 1200H,那么有效地址为 1212H
II.操作数采用一次间接寻址,指令中给出的地址码为 120CH,那么操作数为 38B8H
III.操作数采用寄存器间接寻址,指令中给出的寄存器编号为 8,8 号寄存器的内容为 1200H,有效地址为 120CH
- A.0
- B.1
- C.2
- D.3
Q32¶
CISC(复杂指令集计算机)的特点不包括( )。
- A.指令系统指令数目多
- B.指令格式种类多
- C.指令执行速度快
- D.常采用微程序控制技术
Q33¶
RISC(精简指令集计算机)的设计原则是( )。
- A.增加指令功能的复杂度
- B.减少指令的平均执行周期数
- C.采用变长指令字格式
- D.增加寻址方式的种类
Q34¶
以下关于 CISC 和 RISC 的说法,正确的是( )。
- A.CISC 更适合用于对性能要求高的实时系统
- B.RISC 的硬件实现复杂度比 CISC 高
- C.CISC 的编程灵活性比 RISC 好
- D.RISC 的指令系统指令数目比 CISC 多
Q35¶
某计算机采用 RISC 架构,其特点最可能不包括( )。
- A.大量使用寄存器
- B.采用流水线技术
- C.指令执行采用微程序控制
- D.指令格式规整
原页版面片段(公式/表图/电路/代码/数据通路以此为准)

Q36¶
高级语言编写选择结构语句(如 if - else)转换为机器级代码时,主要依靠的指令类型是( )。
- A.数据传输指令
- B.算术运算指令
- C.逻辑运算指令
- D.控制转移指令
原页版面片段(公式/表图/电路/代码/数据通路以此为准)

Q37¶
在 x86 指令集中,jle 指令的跳转条件依赖于( )。
- A.CF 和 ZF
- B.SF、OF 和 ZF
- C.ZF 和 SF
- D.所有标志位
Q38¶
jmp 指令采用相对寻址,偏移量为 D9H。假设 CPU 取出该指令后,PC 的值已自动更新为00401037H,则目标地址是()。
- A.00401010H
- B.00401011H
- C.00401012H
- D.00401023H
Q39¶
对于循环结构语句(如 for 循环),在转换为机器级代码后,通常会包含的操作不包括( )。
- A.循环条件判断
- B.循环变量更新
- C.无条件跳转至循环体开头
- D.函数调用
原页版面片段(公式/表图/电路/代码/数据通路以此为准)

Q40¶
当高级语言中的函数调用转换为机器级代码时,以下操作顺序正确的是( )。
- A.保存现场→传递参数→执行函数体→恢复现场→返回
- B.传递参数→保存现场→执行函数体→恢复现场→返回
- C.传递参数→执行函数体→保存现场→恢复现场→返回
- D.保存现场→执行函数体→传递参数→恢复现场→返回
原页版面片段(公式/表图/电路/代码/数据通路以此为准)

Q41¶
一条双字长直接寻址的 CALL 指令,其第一个字为操作码和寻址特征,第二个字为地址码4000H。假设 PC 当前值为 2000H,SP(栈顶指针)的内容为 0100H,栈顶内容为 1234H、存储器按字编址,栈向低地址增长,进栈操作是先修改 SP,后存入数据。则 CALL 指令执行后,SP 及栈顶的内容分别为( )。
- A.00FFH,4000H
- B.0101H,2002H
- C.00FEH,1234H
- D.00FFH,2002H
Q42¶
下列关于转移指令和调用指令的叙述中,错误的是( )。
- A.转移指令必须给出转移分支的目标地址,而调用指令不需要
- B.子程序执行结束时,需要返回到调用指令的下一条指令执行,而转移指令不一定
- C.转移指令不需要保存返回地址,调用指令必须需要保存返回地址
- D.转移指令常用于实现程序的条件分支和循环,而调用指令常用于实现子程序的跳转及返回准备
Q43¶
在 x86 架构下,当高级语言发生函数嵌套调用时,用来维护当前函数栈帧底部的寄存器是( ),而在函数返回时,用于恢复上一层函数栈帧底部的指令动作实质上相当于( )。
- A.ESP,POP ESP
- B.EBP,POP EBP
- C.ESP,PUSH EBP
- D.EBP,RET