1、计算机专业基础综合计算机组成原理(指令系统)历年真题试卷汇编1 及答案与解析一、单项选择题1 以下四点中,_是计算机系统结构设计时必须考虑的。【中科院计算所 2000年】(A)通道采用独立型(B)指令类型选择(C)阵列运算部件(D)Cache 存储器的硬件2 程序控制类指令的功能是_。【国防科技大学 2001 年】(A)进行主存和 CPU 之间的数据传送(B)进行 CPU 和设备之间的数据传送(C)改变程序执行的顺序(D)一定是自动加 13 下列哪种指令不属于程序控制指令:_。【国防科技大学 2001 年】(A)无条件转移指令(B)条件转移指令(C)中断隐指令(D)循环指令4 下列说法中_是正
2、确的。(A)加法指令的执行周期一定要访存(B)加法指令的执行周期一定不访存(C)指令的地址码给出存储器地址的加法指令,在执行周期一定访存(D)指令的地址码给出存储器地址的加法指令,在执行周期不一定访存5 子程序调用指令执行时,要把当前程序计数器 PC 的内容存到_。【北京航空航天大学 2002 年】(A)通用寄存器(B)堆栈(C)指令寄存器(D)数据缓冲器6 下列哪种指令用户不准使用?_。【国防科技大学 2002 年】(A)循环指令(B)转换指令(C)特权指令(D)条件转移指令7 条件转移指令执行时所依据的条件来自_。【北京航空航天大学 2002 年】(A)指令寄存器(B)标志寄存器(C)程序
3、计数器(D)地址寄存器8 一条指令中包含的信息有_。(A)操作码、控制码(B)操作码、向量地址(C)操作码、地址码(D)操作码、操作数9 在 CPU 执行指令的过程中,指令的地址由_给出。【北京理工大学 2002 年】(A)程序计数器 PC(B)指令的地址码字段(C)操作系统(D)程序员10 在 CPU 执行指令的过程中,操作数的地址由_给出。【北京理工大学 2002年】(A)程序计数器 PC(B)指令的地址码字段(C)操作系统(D)程序员11 零地址双操作数指令不需要指出操作数地址,这是因为_。【上海大学 1998年】【北京理工大学 2002 年】(A)操作数已在数据缓冲寄存器中(B)操作数
4、地址隐含在堆栈指针中(C)操作数隐含在累加器中(D)利用上一条指令的运算结果进行操作12 在一地址格式的指令中,下列_是正确的。【北京理工大学 2002 年】(A)仅有一个操作数,其地址由指令的地址码提供(B)可能有一个操作数,也可能有两个操作数(C)一定有两个操作数,另一个是隐含的(D)以上都不对13 在二地址指令中_是正确的。【北京理工大学 2002 年】(A)指令的地址码字段存放的一定是操作数(B)指令的地址码字段存放的一定是操作数地址(C)运算结果通常存放在其中一个地址码所提供的地址中(D)指令的地址码字段存放的一定是操作码14 某指令系统有 200 条指令,对操作码采用固定长度二进制
5、编码时,最少需要用_位。【西安电子科技大学 2007 年】(A)4(B) 8(C) 16(D)3215 在指令格式中,采用扩展操作码设计方案的目的是_。【中科院计算所 1999年】(A)减少指令字长度(B)增加指令字长度(C)保持指令字长度不变而增加指令操作的数量(D)保持指令字长度不变而增加寻址空间16 指令寻址的基本方式有两种,一种是顺序寻址方式,其指令地址由_给出,另一种是跳跃寻址方式,其指令地址由_给出。(A)指令寄存器(B)程序计数器(C)累加器(D)指令本身17 指令系统中采用不同寻址方式的目的是_。(A)降低指令译码的复杂度(B)缩短指令字长,扩大寻址空间,提高编程的灵活性(C)
6、实现程序控制(D)三者都正确18 简化地址结构的基本方法是尽量采用_。【电子科技大学 1998 年】(A)寄存器寻址(B)隐地址(C)直接寻址(D)间接寻址19 指令“MOVAx( 源地址 ),Bx+sI( 目的地址)” 的源操作数的寻址方式是_。【武汉大学 2007 年】(A)寄存器(B)寄存器间接(C)变址(D)基址20 寄存器间接寻址方式中,操作数在_中。(A)通用寄存器(B)堆栈(C)主存单元(D)当前指令二、分析题21 设某计算机采用三地址格式访存指令,且地址码字段均为主存储器地址。试问完成一条加法指令需要访问主存储器多少次?若该计算机共能完成 60 种操作,操作数可在 2K 范围内
7、寻址,试画出该计算机的指令格式 ?21 某指令系统指令字长为 20 位,具有双操作数、单操作数和无操作数三类指令形式,每个操作数地址规定用 6 位表示。【上海大学 2001 年】22 若操作码字段固定为 8 位,现已设计出 m 条双操作数指令, n 条无操作数指令,在此情况下,最多可以设计出多少条单操作数指令?23 当双操作数指令条数取最大值,且在此基础上,单操作数指令条数也取最大值时,试计算这三类指令最大具有的指令条数各是多少?24 某计算机指令字长为 16 位,具有二地址、一地址和零地址三种指令格式,规定每个操作数的地址码为 5 位,采用操作码扩展技术,每种指令最多可安排几条?写出它们的格
8、式。【北京邮电大学 2000 年】24 在一个 36 位长的指令系统中,设计一个扩展操作码,使之能表示下列指令:【华中师范大学 2000 年】25 7 条具有两个 15 位地址和一个 3 位地址的指令。26 500 条具有一个 15 位地址和一个 3 位地址的指令。27 50 条无地址指令。27 设某种计算机有 9 条指令,这些指令的使用频率为T1:30,T2:24,T3:6,T4:7,T5 :7,T6 :2,T7:3,T8 :20,T9:1。【上海交通大学 1998 年】28 分别求出用等长二进制编码、Huffman 编码的操作码的平均码长。29 若限制只能有两种码长的扩展操作码编码方式,则
9、操作码的平均码长最短的为多少?29 在决定一台计算机采用何种寻址方式时,总要做出各种各样的权衡,在下列每种情况下,具体的考虑是什么?【北京邮电大学 2003 年】30 单级间接寻址方式作为一种方式提出来的时候,硬件变址寄存器被认为是一种成本很高的方法,随 LSI 电路的问世,硬件成本大降,试问现在是不是使用变址寄存器更为可取?31 已知一台 16 位计算机配有 16 个通用寄存器,请问是否有一个简单的硬件设计规则,使我们可以指定这个通用寄存器组的某些寄存器来进行 20 位的存储器寻址?参与这种寻址的通用寄存器该采用什么办法区分出来?32 设某计算机共能完成 78 种操作,若指令字长为 16 位
10、,试问单地址格式的指令其地址码可取几位? 若想使指令的寻址范围扩大到 216,可采用什么方法? 举出三种不同的例子加以说明?32 某计算机的指令格式如下所示,计算机字长为 16 位,内存按字编址。X 为寻址特征位: X=00 直接寻址 X=01用变址寄存器 R1 寻址 x=10 用变址寄存器 Rx2 寻址 X=11 相对寻址设(PC)=543lH,(Rx1)=3515H,(Rx2)=6766H(H 代表十六进制数 ),请确定下列指令中的有效地址:33 8341H34 1438H35 8134H36 6228H计算机专业基础综合计算机组成原理(指令系统)历年真题试卷汇编1 答案与解析一、单项选择
11、题1 【正确答案】 B【试题解析】 考查指令系统设计在计算机系统结构设计中的重要意义。指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也直接影响到系统软件。【知识模块】 指令系统2 【正确答案】 C【试题解析】 考查程序控制类指令的功能。【知识模块】 指令系统3 【正确答案】 C【试题解析】 考查程序控制类指令的组成。程序控制类指令主要包括无条件转移、有条件转移、子程序调用和返回指令、循环指令等。【知识模块】 指令系统4 【正确答案】 C【试题解析】 考查运算类指令的执行过程。既然指令的地址码给出了存储器地址,不论此地址是源操作数地址,还是目的操作数地址
12、,执行周期都需要根据此地址访存。【知识模块】 指令系统5 【正确答案】 B【试题解析】 考查子程序调用指令的执行过程。子程序执行结束时,必须返回到子程序调用指令后面的指令执行,所以必须保存返回地址。般将子程序调用指令后面那条指令的地址(程序计数器 PC 的内容)作为返回地址保存到堆栈中。【知识模块】 指令系统6 【正确答案】 C【试题解析】 考查指令系统各组成部分。特权指令,是指仅用于操作系统或其他系统软件的指令,为确保系统与数据安全起见,这一类指令不提供给用户使用。【知识模块】 指令系统7 【正确答案】 B【试题解析】 考查标志寄存器的作用。【知识模块】 指令系统8 【正确答案】 C【试题解
13、析】 考查指令基本格式。【知识模块】 指令系统9 【正确答案】 A【试题解析】 考查指令执行过程。程序计数器 PC 中存放当前欲执行指令的地址,故指令的地址由 PC 给出。【知识模块】 指令系统10 【正确答案】 B【试题解析】 考查指令基本格式。操作数地址由指令的地址码字段给出。【知识模块】 指令系统11 【正确答案】 B【试题解析】 考查零地址指令格式。【知识模块】 指令系统12 【正确答案】 B【试题解析】 考查一地址指令格式。一地址指令有两种常见的形态,根据操作码含义确定它究竟是哪一种:1)只有目的操作数的单操作数指令,按 A 地址读取操作数,进行 OP 操作后,结果存回原地址。如操作
14、码含义是加 1、减 1、求反、求补等。2) 隐含约定目的地址的双操作数指令。按指令地址 A 可读取源操作数,指令可隐含约定另一个操作数由 AC 提供,运算结果也将存放在 AC 中。故一地址格式的指令中,可能有一个操作数,也可能有两个操作数。【知识模块】 指令系统13 【正确答案】 C【试题解析】 考查二地址指令格式。【知识模块】 指令系统14 【正确答案】 B【试题解析】 考查定长操作码指令格式。因 278,故采用定长操作码时,至少需 8位。【知识模块】 指令系统15 【正确答案】 C【试题解析】 考查采用扩展操作码的目的。【知识模块】 指令系统16 【正确答案】 B,D【试题解析】 考查指令
15、寻址。两种寻址方式中,程序计数器都要自动完成加 1,不同之处是,跳跃寻址时,下条指令地址(由指令本身给出)将会被送到程序计数器中,覆盖掉原地址。【知识模块】 指令系统17 【正确答案】 B【试题解析】 考查采用不同寻址方式的目的。【知识模块】 指令系统18 【正确答案】 B【试题解析】 考查隐含寻址的作用。这种类型的指令,不是明显地给出操作数的地址,而是在指令中隐含着操作数的地址,可简化地址结构。【知识模块】 指令系统19 【正确答案】 A【试题解析】 考查寄存器寻址方式。源操作数存放在寄存器 Ax 中,故为寄存器寻址。【知识模块】 指令系统20 【正确答案】 C【试题解析】 考查寄存器间接寻
16、址。【知识模块】 指令系统二、分析题21 【正确答案】 1)完成一条加法指令共需访问主存储器 4 次。第 1 次取指令;第2 次取第一操作数:第 3 次取第二操作数;第 4 次存放结果。2)根据题意,设计指令格式如下:其中,OP 占6 位,表示操作码,最大可表示 64 种操作,可以满足题目 60 种操作的要求:A1、A2、A3 各 11 位,分别给出第一操作数地址、第二操作数地址、目的地址,寻址范围均为 2K;指令字长为 39 位。【知识模块】 指令系统【知识模块】 指令系统22 【正确答案】 最多可以设计出(2 8 一 m)26 一 n2 6 条单操作数指令。【知识模块】 指令系统23 【正
17、确答案】 双操作数指令条数为 281=255 条。单操作数指令条数为 26-1=63条。无操作数指令条数为 26=64 条。【知识模块】 指令系统24 【正确答案】 最多可安排 63 条二地址指令、31 条一地址指令以及 32 条零地址指令。三种地址格式的操作码安排如图 4-1 所示。【知识模块】 指令系统【知识模块】 指令系统25 【正确答案】 7 条具有两个 15 位地址和一个 3 位地址的指令如图 4-2 所示。【知识模块】 指令系统26 【正确答案】 500 条具有一个 15 位地址和一个 3 位地址的指令如图 4-3 所示。【知识模块】 指令系统27 【正确答案】 50 条无地址指令
18、如图 4-4 所示。【知识模块】 指令系统【知识模块】 指令系统28 【正确答案】 Huffman 树的形式如图 4-5 所示。等长二进制编码的操作码的平均码长为10g 29=4。Huffman 编码的操作码的平均码长为0016+0026+0 035+0064+0074+0074+0302+0202+0242=261【知识模块】 指令系统29 【正确答案】 采用 25 扩展的操作码编码方式:T1、T2 、T8 设计为短操作码(2 位),其余设计为长操作码(5 位) ,则操作码的平均码长为(030+0 24+020)2 十(001+002+0 03+0 06+007+007)5=278【知识模块
19、】 指令系统【知识模块】 指令系统30 【正确答案】 采用间接寻址的优点是不需要额外增加专用寄存器,只使用MAR 和 MDR 即可完成这种寻址,但缺点是多访问一次存储器(对单级间接寻址而言)。随着 LSI 的发展,硬件成本大大下降,所以现在使用专门的变址寄存器更为可取,因为其优点是减少一次访问主存的时间,提高了指令执行的速度。【知识模块】 指令系统31 【正确答案】 可以有一个简单的硬件规则,使我们可以指定某些寄存器来进行20 位的存储器寻址。由于这些通用寄存器字长为 16 位,我们可以组成 20 位地址的低 16 位,再用 4 位形式地址作为高 4 位,与低 16 位的某些通用寄存器简单相拼
20、,从而形成页面寻址方式。也可以用通用寄存器作 20 位地址的高位部分(全部或一部分),再与低位部分形式地址相拼成 20 位地址。这两种情况下,硬件上均需一个20 位的 MAR 寄存器。参与这种寻址方式的通用寄存器,可赋予地址编号来加以区分。16 个通用寄存器为一组占用 4 位字长,可用 R0R15 命名,哪几个参与这种方式寻址,可由设计者选定。【知识模块】 指令系统32 【正确答案】 根据 78 种操作,可求出操作码的位数为 7 位,则单地址格式的指令地址码占 167=9 位。欲使指令的寻址范围扩大到 216,可采用以下两种寻址方法:1) 若指令字长等于存储字长均为 16 位,则采用间接寻址可
21、使寻址范围扩大到216,因为间址时(设非多次间址)从存储单元中取出的有效地址为 16 位。2)采用变址寻址,并设变址寄存器 XR 为 16 位,则有效地址 EA=(XR)+A(形式地址),即可使寻址范围扩大到 216。【知识模块】 指令系统【知识模块】 指令系统33 【正确答案】 取值后(PC)=5432H。1)8341H=(1000001101000001) 2;X=11,相对寻址,D=41H,有效地址 E=(PC)+D=5432H+41H=5473H。【知识模块】 指令系统34 【正确答案】 1438H=(0001010000111000) 2:x=00,直接寻址,D=38H,有效地址 E=D=0038H。【知识模块】 指令系统35 【正确答案】 8134H=(1000000100110100) 2;x=01,用变址寄存器 Rxl 寻址,D=34H,有效地址 E=(R1)+D=3515H+34H=3549H。【知识模块】 指令系统36 【正确答案】 6228H=(0110001000101000) 2:x=10,用变址寄存器 Rx2 寻址,D=28H,有效地址 E=(Rx2)+D;6766H+28H=678EH。【知识模块】 指令系统