1、指令系统模拟试卷 3 及答案与解析一、单项选择题1 由于不同的机器数据字长不同,每台机器处理的数据字长也不统一,为了便于硬件实现,通常要求多字节的数据在存储器的存放方式能满足( )的要求。(A)字段统一(B)边界合理(C)字节统一(D)边界对准2 在一条指令中,( ) 说明了操作的性质及功能。(A)操作码(B)操作数(C)地址码(D)地址数3 零地址的运算类指令在格式中不给出操作数的地址,参加的两个操作数来自( )。(A)累加器和寄存器(B)累加器和暂存器(C)堆栈的栈顶和次栈顶(D)堆栈的栈顶和累加器4 在指令格式中,采用扩展操作码设计方案的目的是( )。(A)减少指令字长度(B)增加指令字
2、长度(C)保持指令字长度不变增加指令的数量(D)保持指令字长度不变增加寻址空间5 在计算机系统层次结构中,处于硬件和软件交界面的是( )。(A)汇编语言(B)指令系统(C)操作系统(D)编译系统6 指令系统采用不同寻址方式的目的是( )。(A)增加内存容量(B)缩短指令长度、扩大寻址空间(C)提高访问内存的速度(D)简化指令译码电路7 下面的指令中,对软件设计者完全透明的指令是( )。(A)机器指令(B)汇编指令(C)特权指令(D)微指令8 根据计算机指令的格式,可知指令执行过程中的操作数,可能存放在( )。(A)只有、(B)只有 、(C)只有 、(D)只有、9 关于机器指令的叙述不正确的是(
3、 )。(A)机器指令系统是计算机所具有的全部指令的集合(B)机器指令通常包括操作码、地址码两部分,按地址个数分为零地址指令、一地址指令、二地址指令、三地址指令(C)机器指令的长度取决于操作码长度、操作数地址长度、操作数个数(D)系列计算机是指指令系统完全相同、基本体系结构相同的一系列计算机10 指令格式设计中,采用扩展操作码的目的是( )。(A)增加指令长度(B)缩短执行指令的时间(C)增加寻址空间(D)减少机器语言程序(指令序列)所占的存储空间11 指令系统中采用不同的寻址方式的主要目的是( )。(A)增加内存容量(B)提高访存速度(C)简化指令译码(D)编程方便12 将最低字节存储在最小地
4、址位置的存储方式称为( )方式。(A)大数端存储(B)小数端存储(C)非对齐存储(D)对齐存储13 信息按整数边界对齐存储的主要优点是( )。(A)访存速度快(B)节约主存单元(C)指令字的规格化(D)指令的优化14 下列关于堆栈寻址中,说法正确的是( )。(A)寄存器堆栈即软堆栈(B)寄存器堆栈的成本较高,不适合做大容量的堆栈(C)主存作为堆栈称作硬堆栈(D)寄存器堆栈的速度快,作为堆栈最为合适15 指令寻址方式中有跳跃和顺序两种,采用跳跃寻址方式可以实现( )。(A)程序浮动(B)程序的无条件浮动和条件浮动(C)程序的条件转移和无条件转移(D)程序的调用16 设寄存器 R 的内容(R)=1
5、500H ,内存单元 1500H 的内容为 2500H,内存单元2500H 的内容为 3500H,PC 的值为 4500H,采用相对寻址方式,有效地址为2500H 的操作数是( ) 。(A)1500H(B) 2500H(C) 3500H(D)4500H17 假设寄存器 R 中的数值为 500,主存地址为 500 中存放的操作数是 600;主存600 的地址单元中存放的内容是 700,如果想得到操作数为 500,那么可以选用的寻址方式包括( ) 。(A)直接寻址 500(B)寄存器间接寻址(R)(C)存储器间接寻址(500)(D)寄存器寻址 R18 关于计算机系统中通用的寻址方式,以下说法不正确
6、的是( )。(A)立即数寻址:操作数直接给出在指令字中,即指令字中直接给出的不再是操作数地址,而是操作数本身(B)直接寻址:操作数地址字段直接给出操作数本身(C)变址寻址:指令字中给出的一个数值(变址偏移量)与指定的一个寄存器(变址寄存器)的内容相加之和作为操作数的地址,用于读写存储器(D)基地址寻址:把在程序中所用的地址与一个特定的寄存器 (基地址寄存器)的内容相加之和作为操作数的地址或指令的地址19 设相对寻址的转移指令占两个字节,第一字节是操作码,第二字节是相对位移量(用补码表示) ,若 CPU 每当从存储器取出一个字节时,即自动完成(PC)+1PC。若当前 PC 的内容为 2008H,
7、要求转移到 2001H,则该转移指令第二字节的内容为( )。(A)05H(B) 07H(C) F8H(D)F7H20 CISC 与 RISC 各自追求的主要目标说法中,不正确的是 ( )。(A)CISC 追求指令系统的功能复杂和完备(B) CISC 是为了弥补高级语言程序和机器语言程序之间的差异(C) RISC 追求指令系统的精简高效,精简高速的硬件组成(D)RISC 是为了弥补高级语言程序和机器语言程序之间的差异21 下面关于 RISC 的描述,不正确的是 ( )。(A)选用一些使用频率高的简单指令(B)系统中没有复杂的指令(C)只有 LoadStore 命令能够访存,其他都在寄存器中完成(
8、D)以硬布线控制为主二、简答题21 某机器字长为 16 位,主存容量为 1M16 位,有 63 种指令,CPU 有PC, IR,AR,DR 4 个基址寄存器和 4 个变址寄存器,16 个通用寄存器。22 请设计合适字长的二地址(RS 型)指令,其中一个操作数有 4 种寻址方式;23 说明各寄存器合适的位数;24 在上述指令格式的基础上如何增加 16 条一地址 RS 型指令?24 某计算机字长为 16 位,主存地址空间大小为 128KB,按字编址,采用字长指令格式,指令名字段定义如下: 转移指令采用相对寻址方式,相对偏移是用补码表示,寻址方式定义如下: 注:(X)表示有储蓄地址 X 或寄存器 X
9、 的内容。 请回答下列问题:25 该指令系统最多可有多少条指令?该计算机最多有多少个通用寄存器? 存储器地址寄存器(MDR)至少各需多少位?26 转移指令的目标地址范围是多少?27 若操作码 0010B 表示加法操作(助记符为 ADD),寄存器 R4 和 R5 的编号分别为100B 和 101B,R 4 的内容为 1234H,R 4 的内容为 5678H,地址 1234H 中的内容为5678H 中的内容为 1234H,则汇编语言为 ADD(R4),(R 5)+(逗号前为原操作数,GKU 逗号后为目的操作数)对应的机器码是什么(用十六进制表示)? 该指令执行后,哪些寄存器和存储单元的内容会改变?
10、改变后的内容是什么?28 什么是 RISC 计算机?设计 RISC 机器的一般原则及可采用的基本技术有哪些?指令系统模拟试卷 3 答案与解析一、单项选择题1 【正确答案】 D【试题解析】 由于不同的机器数据字长不同,每台机器处理的数据字长也不统一,例如奔腾处理器可处理 8(字节)、16(字) 、32(双字 )、64( 四字);PowerPC 可处理8(字节 )、16(半字)、32 (字 )、64(双字)。因此,为了便于硬件实现,通常要求多字节的数据在存储器的存放方式能满足“边界对准”的要求。【知识模块】 指令系统2 【正确答案】 A【试题解析】 操作码说明了操作的性质及功能,每一条指令都有一个
11、相应的操作码,计算机通过识别该操作码来完成不同的操作。操作数的地址通过该地址就可以取得所需的操作数。【知识模块】 指令系统3 【正确答案】 C【试题解析】 零地址指令的运算属于堆栈的运算指令,参与操作的数据来自堆栈的栈顶和次栈顶。【知识模块】 指令系统4 【正确答案】 C【试题解析】 扩展操作码并没有改变指令的长度,而是使得操作码长度随地址码的减少而增加。【知识模块】 指令系统5 【正确答案】 B【试题解析】 指令系统是计算机层次结构中,软件与硬件的交界面。【知识模块】 指令系统6 【正确答案】 B【试题解析】 为了扩大寻址空间,计算机指令系统采用了很多不同的寻址方式。【知识模块】 指令系统7
12、 【正确答案】 D【试题解析】 微指令仅有硬件设计者才能看到。【知识模块】 指令系统8 【正确答案】 D【试题解析】 指令执行过程中的操作数可能来自于寄存器、指令本身地址码、主存,但不会来自于控制存储器。【知识模块】 指令系统9 【正确答案】 D【知识模块】 指令系统10 【正确答案】 D【知识模块】 指令系统11 【正确答案】 D【试题解析】 缩短指令长度,扩大寻址空间,提高编程的灵活性。【知识模块】 指令系统12 【正确答案】 B【试题解析】 大数端:高位数据和低位数据在存储器中的存储次序,将多字数据的最低字节存储在最大地址位置。小数端:高位数据和低位数据在存储器中的存储次序,将多字数据的
13、最低字节存储在最小地址位置。【知识模块】 指令系统13 【正确答案】 A【试题解析】 数据对齐是为了提高访问速度。【知识模块】 指令系统14 【正确答案】 B【试题解析】 堆栈是存储器中一块特定的按“先进先出”原则管理的存储区。在堆栈中被读写的单元的地址是由一个寄存器给出的。堆栈可以分为硬堆栈和软堆栈。由寄存器构成的堆栈为硬堆栈,速度快、成本高,不适合做大容量的堆栈。在主存上划出一片区域作为堆栈的形式比较合理,同时也比较常用,这种堆栈称作软堆栈。【知识模块】 指令系统15 【正确答案】 C【试题解析】 跳跃寻址通过转移类、指令类实现,可用来实现程序的有条件转移和无条件转移。【知识模块】 指令系
14、统16 【正确答案】 C【试题解析】 形式地址为 2500H 说明操作数存放在主存单元 2500H 中,因此得到操作数为 3500H。【知识模块】 指令系统17 【正确答案】 D【试题解析】 直接寻址 500 中,500 就是有效地址,所访问的主存地址 500 对应的内容是 600。寄存器间接寻址(R)的访问结果与 A 一样。存储器间接寻址(500)表示主存地址 500 中的内容为有效地址,所以有效地址为 600,访问的操作数是700。寄存器寻址 R 表示寄存器 R 的内容即为操作数 500。【知识模块】 指令系统18 【正确答案】 B【试题解析】 立即数寻址:操作数直接给出在指令字中,即指令
15、字中直接给出的不再是操作数地址,而是操作数本身。直接寻址:操作数地址字段直接给出操作数在存储器中的地址。寄存器寻址:指令字中直接给出操作数所在的通用寄存器的编号。寄存器间接寻址:指令字中给出通用寄存器的编号,在寄存器中给出的不是一个操作数,而是操作数地址时,就可以用这一地址去读写存储器。变址寻址:指令字中给出的一个数值(变址偏移量)与指定的一个寄存器(变址寄存器)的内容相加之和作为操作数的地址,用于读写存储器。相对寻址:指令字中给出的一个数值(相对寻址偏移量)与程序计数器 PC 的内容相加之和作为操作数的地址或转移指令的转移地址。基地址寻址:把在程序中所用的地址与一个特定的寄存器(基地址寄存器
16、)的内容相加之和作为操作数的地址或指令的地址。间接寻址:指令字的地址字段给出的既不是一个操作数的地址,也不是下一条指令的地址,而是一个操作数地址的地址,或一条指令地址的地址。堆栈寻址:堆栈是存储器中一块特定的按“后进先出”原则管理的存储区,该存储区中被读写单元的地址是用一个特定的寄存器存储的,该寄存器被称为堆栈指针(SP)。如果有些指令,其操作码部分已经指明一个操作数为堆栈中的一个单元的内容,则它已经约定将使用 SP 访问该单元,故不必在指令的操作数地址字段中另加说明。【知识模块】 指令系统19 【正确答案】 D【试题解析】 由于转移指令占两个字节,当 PC 的内容为 2008H 时,执行完转
17、移指令后 PC 的内容为 200AH,所以 2001H-200AH=-9H,用补码表示为 F7H。【知识模块】 指令系统20 【正确答案】 D【试题解析】 CISC:追求指令系统的功能复杂和完备,以弥补高级语言程序和机器语言程序之间的差异。RISC:追求指令系统的精简高效,精简高速的硬件组成,精妙智能的编译软件,达到低价高性能的理想目的。【知识模块】 指令系统21 【正确答案】 B【试题解析】 RISC 系统中有复杂指令,复杂指令是由简单指令组合而成的。【知识模块】 指令系统二、简答题【知识模块】 指令系统22 【正确答案】 双字长指令格式如下图: XX:可以指定 4 种不同的寻址方式。 地址
18、 1 和地址 2 共同表示内存中的 20 位地址。【知识模块】 指令系统23 【正确答案】 基址寄存器、变址寄存器 20 位;通用寄存器 16 位。【知识模块】 指令系统24 【正确答案】 由于指令码共可以指定 64 个指令。因此可以令指令码为111111,与指定寄存器的 4 位组成指令码,则一共可以产生 16 条新的指令。XX在这种格式中为无效位。 【知识模块】 指令系统【知识模块】 指令系统25 【正确答案】 指令系统最多支持:16 条指令。计算机最多有 8 个通用寄存器。地址空间大小 128KB,按字编址,有 64K 个存储单元,地址位数为 16 位。存储器地址寄存器(MAR)不小于地址
19、位数,至少 16 位。存储器数据寄存器(MDR)不小于字长位数,至少 16 位。【知识模块】 指令系统26 【正确答案】 转移指令的目标地址范围:0000H FFFFH 。【知识模块】 指令系统27 【正确答案】 根据题目中给出的各个部分的内容,可知: OP:0010,M s:001,R 4:100,M d:010,R 5:101; 机器码为:0010 0011 0001 0101,即 2315H; 汇编语言 ADD(R4),(R 5)+:把内存1234H 的内容与 5678H 的内容相加,结果写回 5678H 单元。并且 R5 的内容要加2。 寄存器 R5 和存储单元 5678H 的内容会改
20、变 R 5 的内容变为:567AH; 内存5678H 的内容变为:1234H+5678H=68ACH。【知识模块】 指令系统28 【正确答案】 RISC( 精简指令系统计算机 )是在继承 CISC(复杂指令系统计算机)的成功技术并克服了其缺点的基础上产生并发展起来的。当前对 RISC 并没有一个完整的定义,也很难在 RISC 和 CISC 之间划出一条明显的界限,但是 RISC 具有以下特点: (1)选取使用频率最高的一些简单指令,以及很有用但并不复杂的指令。(2)指令长度固定,指令格式种类少,寻址方式种类少。 (3)只有取数和存数指令访问存储器,其余指令的操作都在寄存器之间进行。 (4)CPU 中通用寄存器的数量相当多。 (5)大部分指令在一个机器周期内完成,即采用流水线组织时,每个机器周期内能完成一条指令功能,并非一条指令从取值到完成指定的功能只要一个机器周期。 (6)以硬布线控制为主,不用或者少用微指令码控制。 (7)一般用高级语言编程,特别重视编译优化工作,以减少程序执行时间。 归纳以上区别,如下表所示: 【知识模块】 指令系统