1、计算机专业基础综合计算机组成原理(指令系统)模拟试卷 1 及答案与解析一、单项选择题1-40 小题,每小题 2 分,共 80 分。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。1 在计算机系统层次结构中,处于硬件和软件交界面的是( )。(A)汇编语言(B)指令系统(C)操作系统(D)编译系统2 指令系统采用不同寻址方式的目的是( )。(A)增加内存容量(B)缩短指令长度、扩大寻址空间(C)提高访问内存的速度(D)简化指令译码电路3 下列指令中,对软件设计者完全透明的指令是( )。(A)机器指令(B)汇编指令(C)特权指令(D)微指令4 已知地址为 3600H 的内存单元中的内容为
2、00FCH,地址为 00FCH 的内存单元的内容为 3200H,而地址为 3200H 单元的内容为 FC00H,某指令操作数寻址方式为变址寻址,执行该指令时变址寄存器的内容为 0400H,指令中给出的形式地址为3200H,则该指令操作数为( )。(A)OOFC H(B) 3200 H(C) 3600H(D)FC00 H5 根据计算机指令的格式,可知指令执行过程中的操作数可能存放在( )。I寄存器 指令本身 主存中 控制存储器(A)只有 I、(B)只有 、(C)只有 、(D)只有 I、6 下列关于机器指令的叙述中不正确的是( )。(A)机器指令系统是计算机所具有的全部指令的集合(B)机器指令通常
3、包括操作码、地址码两部分,按地址个数分为零地址指令、一地址指令、二地址指令、三地址指令(C)机器指令的长度取决于操作码长度、操作数地址长度、操作数个数(D)系列计算机是指指令系统完全相同、基本体系结构相同的一系列计算机7 数据寻址计算的是指令操作数的地址。下列寻址方式中,寻址得到的结果不是数据的是( ) 。(A)间接寻址(B)基址寻址(C)相对寻址(D)变址寻址8 下列说法中不正确的是( )。(A)变址寻址时,有效数据存放在主存(B)堆栈是先进后出的随机存储器(C)堆栈指针 SP 的内容表示当前堆栈内所存放的数据个数(D)内存中指令的寻址和数据的寻址是交替进行的9 如果采用相对寻址方式,假设一
4、条指令中的地址码为 X,可以得出其操作数的地址为( )。(A)X(B) (PC)+X(C) X+段地址(D)X+变址寄存器10 设指令中的地址码为 A,变址寄存器为 X,程序计数器为 PC,则变址间址寻址方式的操作数有效地址 EA 是( )。(A)(PC)+A)(B) (X)+A)(C) (X)+(A)(D)(X)+A11 下面关于各种不同的寻址方式的叙述中,说法正确的是( )。I确定本条指令中数据的地址或下一条指令地址的方法就称为寻址方式立即寻址方式就是将操作数本身存放在地址码字段基址寻址用于为数据和程序分配存储区域,支持多道程序和程序浮动变址寻址与基址寻址没有本质的区别(A)只有 I、(B
5、)只有 、(C)只有 、(D)只有 I、12 下列说法中,不正确的是( )。(A)使用返回指令和中断返回指令时,都无需明显给出返回地址(B)返回指令绝对没有操作数(C)中断返回指令 IRET 绝对没有操作数(D)返回指令可以带一个操作数13 堆栈中保持不变的是( )。(A)栈顶(B)栈底(C)堆栈指针(D)栈中的数据14 在通用计算机指令系统的二地址指令中,操作数的物理位置可安排在( )。(A)两个数据寄存器(B)一个主存单元和一个数据寄存器(C)两个主存单元中(D)以上几项均可15 下列说法中,不正确的是( )。(A)无条件转移指令和转子指令都会实现指令执行流的跳转(B)转子指令在执行完子程
6、序后还会返回到转子指令的下条指令继续执行(C)无条件转移指令执行完跳转后也需要返回(D)转子指令执行过程中要将返回地址保存到堆栈或某个特殊寄存器中16 设变址寄存器为 X,形式地址为 D,(X)表示寄存器中的内容,变址寻址方式的有效地址可表示为( ) 。(A)EA=(X)+D(B) EA=(X)+(D)(C) EA=(X)+D)(D)EA=(X)+(D)17 下列说法中,正确的是( )。(A)如果指令字长与机器字长相等,那么取指周期等于机器周期(B)如果指令字长与存储字长相等,那么取指周期等于机器周期(C)指令字长和机器字长的长度一定相等(D)为了硬件设计方便,指令字长都和存储字长一样大18
7、设寄存器 R 的内容(R)=1500H ,内存单元 1500H 的内容为 2500H,内存单元2500H 的内容为 3500H,PC 的值为 4500H,采用相对寻址方式,有效地址为2500H 的操作数是( ) 。(A)1500H(B) 2500H(C) 3500H(D)4500H19 试比较各种寻址方式的效率,以下结论中不正确的是( )。(A)立即寻址的效率高于堆栈寻址(B)堆栈寻址的效率高于寄存器寻址(C)寄存器一次间接寻址的效率高于变址寻址(D)变址寻址的效率高于一次间接寻址20 下列关于与寄存器有关的寻址方式的说法中,正确的是( )。(A)采用寄存器寻址的好处是可以缩短指令长度(B)采
8、用寄存器寻址方式的操作数一定在主存中(C)采用寄存器直接寻址方式的操作数一定在寄存器中(D)采用寄存器间接寻址方式的操作数一定在寄存器中21 假设寄存器 R 中的数值为 500,主存地址为 500 中存放的操作数是 600,主存600 的地址单元中存放的内容是 700。如果想得到操作数为 500,那么可以选用的寻址方式包括( ) 。(A)直接寻址 500(B)寄存器间接寻址(R)(C)存储器间接寻址(500)(D)寄存器寻址 R22 地址码直接给出的就是操作数本身的数值,这种寻址方式称为( )方式。(A)基址寻址(B)立即寻址(C)直接寻址(D)间接寻址23 下列关于基址寻址的说法中,表述错误
9、的是( )。(A)基址寻址扩大指令的寻址范围(B)基址寻址适合于多道程序设计(C)基址寄存器的内容由操作系统确定,在执行的过程中可变(D)基址寄存器的内容由操作系统或管理程序确定,在执行过程中其内容不变24 下列关于变址寻址的说法中,不正确的是( )。(A)变址寻址扩大了指令的寻址范围(B)变址寻址适合于编制循环程序(C)变址寻址适合处理数组(D)变址寄存器的内容由操作系统确定,在执行的过程中不可变25 若指令中地址码给出的是操作数有效地址,这种寻址方式称为( )方式。(A)基址寻址(B)立即寻址(C)直接寻址(D)间接寻址26 程序控制类指令的功能是( )。(A)算术运算和逻辑运算(B)主存
10、和 CPu 之间的数据交换(C) IO 和 CPU 之间的数据交换(D)改变程序执行顺序27 设相对寻址的转移指令占两字节,第一字节是操作码,第二字节是相对位移量(用补码表示),每当 CPU 从存储器取出一字节时,即自动完成(PC)+1PC。若当前 PC 的内容为 2008H,要求转移到 2001 H,则该转移指令第二字节的内容为( )。(A)05H(B) 07H(C) F8H(D)F7H28 下面关于 CISC 与 RISC 各自追求的主要目标的说法中,不正确的是 ( )。(A)CISC 追求指令系统的功能复杂和完备(B) CISC 是为了弥补高级语言程序和机器语言程序之间的差异(C) RI
11、SC 追求指令系统的精简、高效,精简高速的硬件组成(D)RISC 是为了弥补高级语言程序和机器语言程序之间的差异29 CISC 与 RISC 的区别表现在( )。(A)CISC 指令功能简单,指令功能齐全(B) CISC 指令复杂,指令功能齐全,指令条数多,并行度差(C) RISC 指令功能简单,指令格式规整,指令条数少,并行性高(D)B 和 C 均正确30 下列关于 RISC 指令系统设计思想的说法中,不正确的是( )。(A)指令长度固定、只有 LoadStore 指令可以访存(B)指令种类较少且功能单一,多用硬布线控制实现(C)设置大量的通用寄存器,指令和数据按边界对齐存放(D)采用流水线
12、技术,寻址方式种类丰富31 计算机指令中要用到的操作数般可以来自( )部件。(A)通用寄存器(B)外围设备(接口)中的寄存器(C)内存的存储单元(D)以上答案都正确32 关于计算机系统中通用的寻址方式,以下说法中不正确的是( )。(A)立即数寻址:操作数直接给出在指令字中,即指令字中直接给出的不再是操作数地址,而是操作数本身(B)直接寻址:操作数地址字段直接给出操作数本身(C)变址寻址:指令字中给出的一个数值(变址偏移量)与指定的一个寄存器(变址寄存器)的内容相加之和作为操作数的地址,用于读写存储器(D)基地址寻址:把在程序中所用的地址与一个特定的寄存器 (基地址寄存器)的内容相加之和作为操作
13、数的地址或指令的地址二、综合应用题41-47 小题,共 70 分。33 设某计算机有变址寻址、间接寻址和相对寻址等寻址方式。设当前指令的地址码部分为 00lA H,正在执行的指令所在地址为 1 F05 H,变址寄存器中的内容为23A0 H。(1)当执行取数指令时,如为变址寻址方式,取出的数为多少?(2)如为间接寻址,取出的数为多少?(3)当执行转移指令时,转移地址为多少?34 某计算机主存容量为 4 M16 位,且存储字长与指令字长相等,若该机指令系统可完成 108 种操作,操作码位数固定,且有直接、变址、基址、相对、立即 5 种寻址方式,试回答:(1)画出一地址指令格式并指出各字段的作用。(
14、2)该指令直接寻址的最大范围。(3)一次间址和多次间址的寻址范围。(4)立即数的范围 (十进制表示) 。(5)相对寻址的位移量 (十进制表示) 。(6)上述 5 种寻址方式的指令哪一种执行时间最短?哪一种最长? 为什么?哪一种便于程序的浮动? 哪一种最适合处理数组问题 ?(7)如何修改指令格式,使指令的寻址范围可扩大到 4M?(8)为使一条转移指令能够转移到主存的任一位置,可采取什么措施?35 某 16 位计算机所使用的指令格式和寻址方式如下图所示,该机有一个 20 位基址寄存器,16 个 16 位通用寄存器。指令汇编格式中的 S(源) 、D( 目标)都是通用寄存器,M 是主存中的一个单元。三
15、种指令的操作码分别是 MOV(OP)=(A)H,STA(0P)=(1B)H,LDA(0P)=(3C)H。MOV 是传送指令, STA 为写数指令,LDA 为读数指令,如下图所示。要求:(1)分析三种指令的指令格式与寻址方式特点。 (2)CPU 完成哪一种操作所花的时间最短?哪一种操作所花时间最长? 第二种指令的执行时间有时会等于第三种指令的执行时间吗? (3)下列情况下每个十六进制指令字分别代表什么操作? 其中如果有编码不正确,如何改正才能成为合法指令? (fOF1)H(3CD2)H (2856)H (6DC6)H (1C2)H36 设某计算机有变址寻址、间接寻址和相对寻址等寻址方式,一个指令
16、字长等于一个存储字。设当前指令的地址码部分为 001AH,正在执行的指令所在地址为1F05H,变址寄存器中的内容为 23AOH。已知存储器的部分地址及相应内容如下表所示。(1)当执行取数指令时,如为变址寻址方式,取出的数为多少?(2)如为间接寻址,取出的数为多少?(3)设计算机每取一个存储字 PC 自动加 1,转移指令采用相对寻址,当执行转移指令时,转移地址为多少?若希望转移到 23AOH,则指令的地址码部分应设为多少?37 一条指令通常由哪两个部分组成?指令的操作码一般有哪几种组织方式? 这几种方式各自应用在什么场合?各自的优缺点是什么?38 根据操作数所在位置,指出其寻址方式(填空):(1
17、)操作数在寄存器中,为( ) 寻址方式。(2)操作数地址在寄存器,为( ) 寻址方式。(3)操作数在指令中,为( ) 寻址方式。(4)操作数地址 (主存)在指令中,为 ( )寻址方式。(5)操作数的地址为某一寄存器内容与位移量之和,可以是( )寻址方式。39 某计算机字长为 16 位,存储器直接寻址空间为 128 字,变址时的位移量为一64+63 ,16 个通用寄存器均可作为变址寄存器。采用扩展操作码技术,设计一套指令系统格式,满足下列寻址类型的要求:(1)直接寻址的二地址指令 3 条。(2)变址寻址的一地址指令 6 条。(3)寄存器寻址二地址指令 8 条。(4)直接寻址的一地址指令 12 条
18、。(5)零地址指令 32 条。40 字长为 16 位的某计算机,其主存容量为 64 KB,采用单字长单地址指令,共有64 条指令。请解决以下问题:(1)系统采用立即寻址,请给出指令的设计格式。(2)系统采用直接寻址,请给出指令的设计格式。(3)系统采用基址寻址,请给出指令的设计格式。(4)系统采用相对寻址,请给出指令的设计格式。计算机专业基础综合计算机组成原理(指令系统)模拟试卷 1 答案与解析一、单项选择题1-40 小题,每小题 2 分,共 80 分。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。1 【正确答案】 B【试题解析】 指令系统是计算机层次结构中软件与硬件的交界面。【知
19、识模块】 计算机组成原理2 【正确答案】 B【试题解析】 为了扩大寻址空间,计算机指令系统采用了很多不同方式的寻址方式。【知识模块】 计算机组成原理3 【正确答案】 D【试题解析】 微指令仅有硬件设计者才能看到。【知识模块】 计算机组成原理4 【正确答案】 A【知识模块】 计算机组成原理5 【正确答案】 D【试题解析】 指令执行过程中的操作数可能来自寄存器、指令本身地址码、主存,不会来自控制存储器。【知识模块】 计算机组成原理6 【正确答案】 D【知识模块】 计算机组成原理7 【正确答案】 C【试题解析】 相对寻址,一般作为转移指令过程中使用的寻址方式,得到的结果为操作数。【知识模块】 计算机
20、组成原理8 【正确答案】 C【知识模块】 计算机组成原理9 【正确答案】 B【试题解析】 由相对寻址的寻址过程可知,操作数的地址为(PC)+X。【知识模块】 计算机组成原理10 【正确答案】 B【试题解析】 变址间址寻址方式就是先变址后间址。在 4 个选项中,选项A(PC)+A)为相对寻址;选项 B(x)+A)为变址间址寻址;选项 C(X)+(A)为间址变址寻址;选项 D(X)+A 为变址寻址。【知识模块】 计算机组成原理11 【正确答案】 D【试题解析】 根据基本概念和定义可知 IV 是不对的,其他三项内容的叙述是正确的。【知识模块】 计算机组成原理12 【正确答案】 B【试题解析】 本题主
21、要考查的是返回指令和中断返回指令的相关特点。【知识模块】 计算机组成原理13 【正确答案】 B【试题解析】 根据堆栈的性质可知,保持不变的是栈底部分。【知识模块】 计算机组成原理14 【正确答案】 D【试题解析】 对于二地址指令,若两个操作数都在寄存器中,称为 RR 型指令;若一个操作数在寄存器中另一个操作数在存储器中,称为 RS 型指令;若两个操作数都在存储器中,则称为 SS 型指令。【知识模块】 计算机组成原理15 【正确答案】 C【试题解析】 本题主要考查无条件转移指令和转子指令的区别。【知识模块】 计算机组成原理16 【正确答案】 A【试题解析】 本题主要考查变址寻址中有效地址的确定方
22、式。【知识模块】 计算机组成原理17 【正确答案】 B【试题解析】 指令字长通常取存储字长的整数倍,如果指令字长等于存储字长的2 倍,则需要 2 次访存,取指周期等于机器周期的 2 倍,如果指令字长等于存储字长,则取指周期等于机器周期,故选项 A 错误,选项 B 正确。指令字长取决于操作码的长度、操作数地址的长度和操作数地址的个数,与机器字长没有必然的联系,但为了硬件设计方便,指令字长一般取字节或存储字长的整数倍,故选项 C 错误。指令字长一般取字节或存储字长的整数倍,故选项 D 错误。【知识模块】 计算机组成原理18 【正确答案】 C【试题解析】 形式地址为 2500H 说明操作数存放在主存
23、单元 2500H 中,因此得到操作数为 3500H。【知识模块】 计算机组成原理19 【正确答案】 B【试题解析】 立即寻址操作数在指令中,不需要访问任何寄存器或内存,取数最快。堆栈寻址可能是硬堆栈(寄存器)或软堆栈(内存),采用软堆栈时比寄存器寻址慢。寄存器一次间接寻址先访问寄存器得到地址,然后再访问主存。而变址寻址访问寄存器 IX 后,还要将 A 和(IX)相加(相加需要消耗时间),再根据相加的结果访存。一次间接寻址需要两次访存,显然慢于变址寻址。【知识模块】 计算机组成原理20 【正确答案】 C【试题解析】 寄存器寻址的好处是可以缩短指令的长度,寄存器寻址的操作数存放在寄存器中,其他情况
24、存放在主存中。【知识模块】 计算机组成原理21 【正确答案】 D【试题解析】 直接寻址 500 中,500 就是有效地址,所访问的主存地址 500 对应的内容是 600。寄存器间接寻址(R)的访问结果与选项 A 一样。存储器间接寻址(500)表示主存地址 500 中的内容为有效地址,所以有效地址为 600,访问的操作数是 700。寄存器寻址 R 表示寄存器 R 的内容即为操作数 500。【知识模块】 计算机组成原理22 【正确答案】 B【试题解析】 本题主要考查立即寻址的概念。【知识模块】 计算机组成原理23 【正确答案】 C【试题解析】 基址寻址是有效地址都加上了对应寄存器的内容,扩大了指令
25、的寻址范围,故选项 A 正确。基址寻址有利于多道程序设计,故选项 B 正确。基址寄存器的内容由操作系统或管理程序确定,在执行过程中其内容不变,故选项 C 错误,选项 D 正确。【知识模块】 计算机组成原理24 【正确答案】 D【试题解析】 变址寻址中利用有效地址都加上了对应寄存器的内容,扩大了指令的寻址范围,故选项 A 正确。变址寻址适合处理数组、编制循环程序,故选项B、C 正确。变址寄存器的内容由用户确定,在执行过程中其内容可变,故选项 D错误。【知识模块】 计算机组成原理25 【正确答案】 C【试题解析】 地址码中给出有效地址的寻址方式是直接寻址。【知识模块】 计算机组成原理26 【正确答
26、案】 D【试题解析】 程序控制类指令的功能是控制指令的执行顺序。【知识模块】 计算机组成原理27 【正确答案】 D【试题解析】 由于转移指令占两字节,当 PC 的内容为 2008H 时,执行完转移指令后 PC 的内容为 200AH,所以有 200lH 一 200AH=一 9H,用补码表示为 F7H。【知识模块】 计算机组成原理28 【正确答案】 D【试题解析】 CISC:追求指令系统的功能复杂和完备,以弥补高级语言程序和机器语言程序之间的差异。RISC:追求指令系统的精简、高效,精简高速的硬件组成,精简智能的编译软件,达到低价高性能的理想目的。【知识模块】 计算机组成原理29 【正确答案】 D
27、【试题解析】 CISC 指令复杂,指令功能齐全,硬件实现复杂,指令条数多,并行度差。RISC 指令功能简单,指令格式规整,指令条数少,实现简单,并行性高。【知识模块】 计算机组成原理30 【正确答案】 D【试题解析】 采用流水线技术属于 RISC 的思想,但 RISC 的指令寻址方式种类少(通常限制在 23 种) ,以防止降低编译和执行的效率。其他项均属于 RISC 的思想。【知识模块】 计算机组成原理31 【正确答案】 D【试题解析】 (1)CPU 内部的通用寄存器,此时应在指令字中给出用到的寄存器编号(寄存器名) ,通用寄存器的数量一般为几个、十几个,故在指令字中须为其分配 2,3,4,5
28、 或更多的数来表示一个寄存器;该寄存器的内容可以是指令运算用到的数据,也可能用作一个操作数的地址。(2)可以是外围设备(接口)中的一个寄存器,通常用设备编号或设备输入输出端口地址或设备映像地址来表示。(3)可以是内存储器的一个存储单元,此时应在指令字中给出该存储单元的地址。【知识模块】 计算机组成原理32 【正确答案】 B【试题解析】 计算机的寻址方式如下:(1)立即数寻址:操作数直接在指令字中给出,即指令字中直接给出的不再是操作数地址,而是操作数本身。(2)直接寻址:操作数地址字段直接给出操作数在存储器中的地址。(3)寄存器寻址:指令字中直接给出操作数所在的通用寄存器的编号。(4)寄存器间接
29、寻址:指令字中给出通用寄存器的编号,在寄存器中给出的不是一个操作数,而是操作数地址时,就可以用这一地址去读写存储器。(5)变址寻址:指令字中给出的一个数值(变址偏移量)与指定的一个寄存器(变址寄存器)的内容相加之和作为操作数的地址,用于读写存储器。(6)相对寻址:指令字中给出的一个数值(相对寻址偏移量)与程序计数器 PC 的内容相加之和作为操作数的地址或转移指令的转移地址。(7)基地址寻址:把在程序中所用的地址与一个特定的寄存器(基地址寄存器)的内容相加之和作为操作数的地址或指令的地址。(8)间接寻址:指令字的地址字段给出的既不是一个操作数的地址,也不是下一条指令的地址,而是一个操作数地址的地
30、址,或一条指令地址的地址。(9)堆栈寻址:堆栈是存储器中一块特定的按“后进先出”原则管理的存储区,该存储区中被读写单元的地址是用一个特定的寄存器存储的,该寄存器被称为堆栈指针(SP) 。如果有些指令,其操作码部分已经指明一个操作数为堆栈中的一个单元的内容,则它已经约定将使用 SP 访问该单元,故不必在指令的操作数地址字段中另加说明。【知识模块】 计算机组成原理二、综合应用题41-47 小题,共 70 分。33 【正确答案】 (1)变址寻址的寻址过程如下:变址寻址工作原理:指令地址码部分给出的地址 A 和指定的变址寄存器 x 的内容通过加法器相加,所得的和作为地址从存储器中读出所需的操作数。 因
31、此,操作数 S:(Rx)+A)=(23AOH+001AH)=(23BAH)=1748 H。 (2)间接寻址的寻址过程如下:变址寻址工作原理:对于存储器一次问址的情况,需访问两次存储器才能取得数据第一次从存储器读出操作数地址:第二次从该地址中读取操作数。因此,操作数 S=(A)=(001 AH)=(23AOH)=2600 H。(3) 转移指令使用相对寻址,其过程如下: 转移地址=(PC)+A=1F06 H+1H+001AH=1F21H。【知识模块】 计算机组成原理34 【正确答案】 (1)2 7=128108 条指令,2 3=86 种寻址方式。(2)直接寻址范围26=64。 (3)一次间址和多次
32、间址的寻址范围都是 64K。 (4)立即数范围 063。 (5)位移量为一 32+31。 (6)立即寻址执行时间最短,因为操作数在指令中;多次间址时间最长,因为要多次访问内存。 (7)4M=2 22,将指令字长扩展为 2 字节即 32位。 (8)可使用 8086 的段寻址,即可用段间寻址。【知识模块】 计算机组成原理35 【正确答案】 (1)第一种指令是单字长二地址指令,RR 型;第二种指令是双字长二地址指令,RS 型,其中 S 采用基址寻址或变址寻址,R 由源寄存器决定。第三种也是双字长二地址指令,RS 型,R 由目标寄存器决定,S 由 20 位地址(直接寻址)决定。(2)处理机完成第一种指
33、令所花的时间最短,因为 RR 型指令不需要访问存储器。第二种指令所花的时间最长,因为 Rs 型指令需要访问存储器,同时要进行寻址方式的变换运算(基址或变址),这也需要时间。第二种指令的执行时间不会等于第三种指令,因为第三种指令虽然也访问存储器,但节省了求有效地址运算的时间开销。(3)根据已知条件: MOV(OP)=0001010,STA(OP)=011011 ,LDA(OP)=111100,将指令的十六进制格式转换为二进制代码且比较后可知:(F0F1)H(3CD2)H 指令代表 LDA 指令,编码正确,其含义是把主存(13CD2)H地址单元的内容取至 15 号寄存器。(2856)H 代表 MO
34、V 指令,编码正确,含义是把 5 号源寄存器的内容传送至 6号目标寄存器。(6DC6)H 是单字长指令,一定是 MOV 指令,但编码错误,可改正为(28D6)H。(1C2)H 是单字长指令,代表 MOV 指令,但编码错误,可改正为 (28D6)H。【知识模块】 计算机组成原理36 【正确答案】 本题考查指令的寻址方式。前两小题涉及数据寻址,其最终目的是寻址操作数,第 3 小题涉及指令寻址,其目的是寻址下一条将要执行的指令地址。下表列出了基本的寻址方式,其中偏移寻址包括变址寻址、基址寻址和相对寻址三种方式。特别注意相对寻址方式中的 PC 值更新的问题,根据历年统考真题,通常在取出当前指令后立即将
35、 PC 的内容加 1(或加增量),使之变成下一条指令的地址。 (1)变址寻址时,操作数 S=(Rx)+A)=(23AOH+001AH)=(23BAH)=1748H。(2)间接寻址时,操作数 S=(A)=(001AH)=(23AOH)=2600H。(3) 转移指令使用相对寻址,因为指令字长等于存储字长,PC 每取出一条指令后自动加 1,因此,转移地址=(PC)+1+AH=1F05H+l+001AH=1F20H。若希望转移到 23AOH,则指令的地址码部分应为 23AOH 一(PC)一 1=23AOH1F05H 一 1=049AH。【知识模块】 计算机组成原理37 【正确答案】 一条指令要由操作码
36、和操作数地址两部分组成。操作码用于指明本条指令的操作功能;指令的操作数地址用于给出被操作的信息的地址,包括参加运算的一个或多个操作数所在的地址、运算结果的保存地址、程序的转移地址、被调用的子程序的入口地址等。操作码的组织有如下三种处理情况。(1)定长的操作码的组织方案:一般在指令字的最高位部分分配固定的若干位用于表示操作码。优点:简化计算机硬件设计,提高指令译码和识别的速度。缺点:单独为操作码划分出固定的多位后,留给表示操作数地址的位数就会严重不足。(2)变长的操作码的组织方案:在指令字的最高位部分安排指令的操作码,操作码有长有短。一些位在不同的指令中有不同的效用,在一些指令中,这些位用作操作
37、码,而在另外一些指令中,这些位用作操作数的地址,不同指令的操作数长度就会不同,即尽量为那些最常用、用于表示操作数地址的位数要求较多的指令少分配几位操作码:而对那些表示操作数地址的位数要求较少的指令多分配几位操作码;对那些无操作数的指令,整个指令字的所有位均用作操作码。优点:在比较短的一个指令字中,既能表示出比较多的指令条数,又能尽量满足给出相应的操作数地址。缺点:指令复杂,译码时间长,执行时占用 CPu 周期多。(3)操作码字段与操作数地址有所交叉的方案:与变长的操作码组织方案类似,不同之处是表示操作码所用到的一些二进制位不再集中在指令字的最高位部分,而是与表示操作数地址的一些字段有所交叉。缺
38、点:指令比变长操作码的组织方案更复杂。【知识模块】 计算机组成原理38 【正确答案】 (1)操作数在寄存器中的情况是寄存器(直接)寻址方式。(2)操作数地址在寄存器中的情况是(寄存器间接)寻址方式。(3)操作数在指令中的情况是(立即) 寻址方式。(4)操作数地址 (主存)在指令中的情况是 (直接)寻址方式。(5)操作数的地址为某一寄存器内容与位移量之和的情况,有可能是(相对)寻址方式、(基值 )寻址方式或 (变址) 寻址方式。【知识模块】 计算机组成原理39 【正确答案】 由题意知道是多种寻址方式,为简化指令设计,选用扩展操作码方式,所以要求的指令数从(1)到(5) 递增顺序设计。 (1)二地
39、址直接寻址指令的操作码部分应为 2 位,故操作码可定义成 00、01、10,总的指令长度可以是操作码 2位,地址码为 7 位2 字段共 14 位。(2)一地址变址寻址指令的操作码可从 11 000 开始,顺序递增到 11 101 为止,总的指令长度可以是 5位操作码,4 位寄存器编码,7 位地址码,共 16 位。(3)二地址寄存器寻址指令的操作码可以从 11 110 000 开始,顺序递增到 11 110 111 为止,总的指令长度可以是 8 位操作码,寄存器共 24 个,地址码为 4 位2 字段=8 位。(4)一地址直接寻址指令的操作码部分可以从 111 110 000 开始,顺序递增到 1
40、11 111 011 为止,总的指令长度是 9 位操作码,7 位地址码,共 16 位。(5)零地址指令的操作码虽可从 111 111 100 000 开始,顺序递增到 111 111 110 000,但指令总长是 12位,而上述其他指令的长度都可为 16 位,所以这里将表示 32 种不同零地址指令的5 位移动到 16 位指令的最后 5 位,因而从 1111 111 000 000 000 一 111 1 111 000 011 111.【知识模块】 计算机组成原理40 【正确答案】 64 条指令需占用操作码字段(OP)6 位,这样指令余下长度为 10 位。为了覆盖主存 64K 字的地址空间,设寻址模式(X)2 位,形式地址(D)8 位,其指令格式如下: 寻址模式定义如下: X=00 直接寻址有效地址 E=D(256 单元) X=01 间接寻址 有效地址 E=(D)(64K) X=10 变址寻址 有效地址 E=(R)+D(64K) X=11 相对寻址 有效地址 E=(PC)+D(64K)其中 R 为变址寄存器(16 位),PC 为程序计数器 (16 位),在变址和相对寻址时位移量 D 可正可负。【知识模块】 计算机组成原理