文档库

最新最全的文档下载
当前位置:文档库 > 第4章指令系统(考研组成原理)

第4章指令系统(考研组成原理)

4.1.2习题精选

一、单项选择题

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和I/O设备之间的数据传送D.改变程序执行的顺序

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

A.无条件转移指令B.条件转移指令

C.中断隐指令D.循环指令

7.下列哪种指令用户不准使用( )。

A.循环指令B.转换指令

C.特权指令D.条件转移指令

8.零地址的运算类指令存指令格式中不给出操作数的地址,参加的两个操作数来自( )。A.累加器和寄存器B.累加器和暂存器

C.堆栈的栈顶和次栈顶单元D.堆栈的栈顶单元和暂存器

注意:堆栈指令的访问次数,取决于采用的是软堆栈还是硬堆栈。如果是软堆栈(堆栈区由内存实现),对于双目运算,需要访问4次内存:取指、取源数1、取源数2、存结果;如果是硬堆栈(堆栈区由寄存器实现),则只需在取指令时访问一次内存。

9.以下叙述错误的是( )。

A.为了充分利用存储空问,指令的K度通常为字节的整数倍

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

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

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

10.单地址指令中为了完成两个数的算术运算,除地址码指明一个操作数外,另一个数采用( )方式。

A.立即寻址B.隐含寻址

C.间接寻址D.基址寻址

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

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

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

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

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

12.四地址指令OP A1,A2,A3,A4的功能为(A1)OP(A2)—A3,且A4给出下一条指令地址,假设A1、A2、A3、A4都为主存地址,则完成上述指令最少需要访存( )次.

A.3 B.4 C.5 D.6

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

A.224B.223

C.222D.221

14.某指令系统有200条指令,对操作码采用固定长度二进制编码,最少需要用( )位。A.4 B.8 C.16 D.32

15.指令格式中,采用扩展操作码设计方案的目的是( )。

A.减少指令字长度

B.增加指令子长度

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

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

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

A.4K B.8K

C.16K D.24K

二、综合应用题

1.一处理器中共有32个寄存器,使用l6位立即数,其指令系统结构中共有142条指令。在某个给定的程序中,20%的指令需要一个输入寄存器和一个输出寄存器;30%的指令带有两个输入寄存器和一个输出寄存器;25%的指令带有一个输入寄存器、一个输出寄存器、一个立即数寄存器;其余的25%指令带有一个立即数输入寄存器和一个输出寄存器。

1)对于以上4种指令类型中的任意一种指令类型来说,共需要多少位?假定指令系统结构要求所有指令长度必须是8的整数倍。

2)与使用定长指令集编码相比,当采用变长指令集编码时,该程序能够少占用多少存储器空间?

2.假设指令字长为16位,操作数的地址码为6位,指令有零地址、一地址、二地址3种格式。

1)设操作码固定,若零地址指令有M种,一地址指令有N种,则二地址指令最多有几种?

2)采用扩展操作码技术,二地址指令最多有几种?

3)采用扩展操作码技术,若二地址指令有P条,零地址指令有Q条,则一地址指令最多有几种?

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

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

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

3) 50条无地址指令。

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

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

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

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

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

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

要求设计算术逻辑指令、取数/存数指令和相对转移指令的格式,并简述理由。

4.2.2 习题精选

一、单项选择题

1.【2009年计算机联考真题】

某机器字长为l6位,主存按字节编址,转移指令采用相对寻址,由两个字节组成,第一字节为操作码字段,第二字节为相对位移量字段。假定取指令时,每取一个字节PC自动加1。若某转移指令所在主存地址为2000H,相对位移量字段的内容为06H.则该转移指令成功转移以后的目标地址是( )。

A.2006H B.2007H

C.2008H D.2009H

2.【2011年计算机联考真题】

偏移寻址通过将某个寄存器内容与一个形式地址相加而生成有效地址。下列寻址方式中,不属于偏移寻址方式的是( )。

A.间接寻址B.基址寻址C.相对寻址D.变址寻址

3.指令系统中采用不同寻址方式的目的是( >,

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

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

C.实现程序控制

D.三者都正确

4.直接寻址的无条件转移指令的功能是将指令中的地址码送入( )。

A.程序计数器PC B.累加器ACC

C.指令寄存器IR D.地址寄存器MAR

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

A.立即寻址B.变址寻址

C.间接寻址D.寄存器寻址

6.简化地址结构的基本方法足尽量采用( )。

A.寄存器寻址B.隐地址

C.直接寻址D.间接寻址

7.在指令寻址的各种方式中,获取操作数最快的方式是( )。

A.直接寻址B.立即寻址

C.寄存器寻址D.间接寻址

8.假定指令中地址码所给出的是操作数的有效地址,则该指令采用( )。

A.直接寻址B.立即寻址

C.寄存器寻址D.间接寻址

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

A.((PC)+A) B.((X)+A)

C.(X)+(A) D.(X)+A

10.( )便于处理数组问题。

A.间接寻址B.变址寻址

C.相对寻址D.基址寻址

11.堆栈寻址方式中,设A为累加器,SP为堆栈指示器,M sp为SP指示的栈顶单元。如果进栈操作的动作是:(A)→M sp,(SP)-1→SP,那么出栈操作的动作应为( )。

A.(M sp)→A,(SP)+1→SP B.(SP)+1→SP,(Msp)→A

C.(SP)-1→SP,(M sp)→A D.(M sp)→A,(SP)-1→SP

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

A.立即数

B.内存地址

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

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

13.变址寻址、相对寻址的特点是( )。

A.利于编制循环程序、实现程序浮动

B.实现程序浮动、处理数组问题

C.实现转移指令、利于编制循环程序

D.实现程序浮动、利于编制循环程序l

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

A.相对寻址B.间接寻址

C.立即寻址D.按内容寻址

15.指令寻址方式有顺序和跳跃两种,采用跳跃寻址方式可以实现( )。

A.程序浮动B.程序的无条件浮动和条件浮动

C.程序的无条件转移和条件转移D.程序的调用

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

A.2000H, 2042H B.2002H, 2040H'

C.2002H, 2042H D.2000H, 2040H

17.程序计数器和指令寄存器的位数各取决于( )。

A.机器字长,存储器的容量B.存储器的容量,指令字长

C.指令字长,机器字长D.地址总线宽度,存储器容量

18.假设某条指令的第一个操作数采用寄存器间接寻址方式,假定指令中给出的寄存器编号为8,8号寄存器的内容为1200H,地址为1200H单元中的内容为12FCH,地址为12FCH 单元中的内容为38D8H.而38D8H单元中的内容为88F9H.则该操作数的有效地址为( )。A.1200H B.12FCH

C.38D8H D.88F9H

19.关于指令的功能及分类,下列叙述中正确的是( )。

A.算术与逻辑运算指令,通常完成算术运算或逻辑运算,都需要两个数据

B.移位操作指令,通常用于把指定的两个操作数左移或右移一位

C.转移指令、子程序调用与返回指令,用于解决数据调用次序的需求

D.特权指令,通常仅用于实现系统软件,这类指令一般不提供给用户

二、综合应用题

1.某计算机指令系统若采用定长操作码,变长指令码格式。回答以下问题:

1)采用什么寻址方式指令码长度最短?什么寻址方式指令码长度最长?

2)采用什么寻址方式执行速度最快?什么寻址方式执行速度最慢?

3)若指令系统采用定长指令码格式,那么采用什么寻址方式执行速度最快?

2.某机字长为16位,存储器按字编址,访问内存指令格式如下:

第4章指令系统(考研组成原理)

其中,OP为操作码;M为寻址特征;A为形式地址。设PC和Rx分别为程序计数器和变址寄存器,字长为l6位,问:

1)该指令能定义多少种指令?

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

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

第4章指令系统(考研组成原理)

3.一条双字长的Load指令存储在地址为200和201的存储位置,该指令将指定的内容装入累加器ACC中。指令的第一个字指定操作码和寻址方式,第二个字是地址部分。寄存器与主存内容示意图如图4-11所示。PC值为200,Rl值为400,XR值为100。

指令的寻址方式字段可指定任何一种寻址方式。问在下列寻址方式中,装入ACC的值。

1)直接寻址。2)立即寻址。3)间接寻址。4)相对寻址。

5)变址寻址。6)寄存器Rl寻址。7)寄存器Rl间接寻址。

第4章指令系统(考研组成原理)

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

第4章指令系统(考研组成原理)

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

X=00:直接寻址:

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

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

X=11:相对寻址。

设(PC) =1234H,(X1)=0037H,(X2) =1122H (H代表十六位进制数),请确定下列指令的有效地址。

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

5.【2010年计算机联考真题】

某计算机字长为16位,主存地址空间大小为128KB,按字编址,采用单字长指令格式,指令各字段定义如下:

第4章指令系统(考研组成原理)

转移指令采用相对寻址方式,相对偏移量用补码表示,寻址方式定义见表4-3。

第4章指令系统(考研组成原理)

注:(X)表示存储器地址X或寄存器X的内容。.

请回答下列问题:

1)该指令系统最多可有多少条指令?该计算机最多有多少个通用寄存器?存储器地址寄存器(MAR)和存储器数据寄存器(MDR)至少各需要多少位?

2)转移指令的目标地址范围是多少?

3)若操作码OO1OB表示加法操作(助记符为add),寄存器R4和R5的编号分别为100B 和101B,R4的内容为1234H.R5的内容为5678H,地址1234H中的内容为5678H,5678H 中的内容为1234H,则汇编语言为“add (R4).(R5)+”(逗号前为源操作数,逗号后为目的操作数)对应的机器码是什么(用十六进制表示)?该指令执行后,哪些寄存器和存储单元的内容会改变?改变后的内容是什么?

4.3.2 习题精选

单项选择题

1.以下叙述中( )是正确的。

A.RISC机一定采用流水技术

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

C.CISC机一定不采用流水技术

D.以上答案均不芷确

2.【2009年计算机联考真题】

下列关于RISC说法中,错误的是( )。

A.RISC普遍采用微程序控制器

B.RISC大多数指令在一个时钟周期内完成

C.RTSC的内部通用寄存器数量相对CISC多

D.RISC的指令数、寻址方式和指令合适种类相对CISC少

3.【2011年计算机联考真题】

下列给出的指令系统特点中,有利于实现指令流水线的是( )。

Ⅰ.指令格式规整且长度一致Ⅱ.指令和数据按边界对齐存放

Ⅲ.只有Load/Store指令才能对操作数进行存储访问

A.仅Ⅰ、ⅡB.仅Ⅱ、ⅢC.仅Ⅰ、ⅢD.Ⅰ、Ⅱ、Ⅲ

4.下列描述中,不符合RISC指令系统特点是( )。

A.指令长度固定,指令种类少

B.寻址方式种类尽量减少,指令功能尽可能强

C.增加寄存器的数目,以尽量减少访存次数

D.选取使用频率最高的一些简单指令,以及很有用但不复杂的指令

5.以下有关RISC的描述中,描述正确的是( )。

A.为了实现兼容,各公司新设计的RISC,是从原来CISC系统的指令系统中挑选一部分实现的

B.早期的计算机比较简单,采用RISC技术后,计算机的体系结构又恢复到了早期的情况C.RISC的主要目标是减少指令数,因此允许以增加每条指令的功能的方法来减少指令系统包含的指令数

D.以上说法都不对

答案与解析

4.1.2 习题精选

一、单项选择题

1.D

指令系统显然和机器语言有关。

2.A

PC存放当前欲执行指令的地址,而指令的地址码字段则保存操作数地址。

3.B

一地址指令包含两类:单操作数指令(如+1、-1指令)和双操作数指令(如加、减指令)。对于单操作数只需一个操作数,对于双操作数指令,则有一个操作数隐含在ACC中。4.A

运算型指令寻址的是操作数,而转移性指令则是下次欲执行的指令。

5.D

程序控制类指令用于改变程序执行的顺序,并使程序具有测试、分析和判断的能力。

6.C

程序控制类指令主要包括无条件转移、有条件转移、子程序调用和返回指令、循环指令等。中断隐指令是由硬件实现的,并不是指令系统中存在的指令。

7.C

特权指令是指仅用于操作系统或其他系统软件的指令。为确保系统与数据安全起见,这一类指令不提供给用户使用。

8.C

零地址的运算类指令又称堆栈运算指令,参与的两个操作数来自栈顶和次栈顶单元。

注意:堆栈指令的访问次数,取决于采用的是软堆栈还是硬堆栈。如果是软堆栈(堆栈区由内存实现),对于双目运算,需要访问4次内存:取指、取源数1、取源数2、存结果;如果是硬堆栈(堆栈区由寄存器实现),则只需在取指令时访问一次内存。

9.B

指令的地址个数与指令的长度无关。

10.B

单地址指令中只有一个地址码,在完成两个数的算术运算时,另一个通常存放在累加寄存器( ACC)中,属于隐含寻址。

11.A

B、C、D选项都太绝对,地址码的内容可以参考本书寻址方式一节的内容。

12.C

取指令,取A1、A2、A4的内容,将结果存入A3,故而需要5次。这里注意要计算取指令和取下条指令地址。

13.B

16M=224,南于字长为32位,现在按半字(16位)寻址,相当于有8M个存储单元,每个存储单元中存放16位。

14.B

因27<200<28,故采用定长操作码时,至少需8位。

15.C

扩展操作码并没有改变指令的长度,而是使操作码长度随地址码的减少而增加。

16.D

地址码为12位,则二地址指令的操作码长度为32-12-12=8位,已定义了250条二地址指令。28-250=6,即可设计出单地址指令数6×212=24K。

二、综合应用题

1.解答:

1)由于有142条指令,故而至少需要8位才能确定各条指令的操作码(28=256)。由于

该处理器有32个寄存器,这也就是说要用5位对寄存器ID编码。而每个立即数需要16位。因此有:

20%的一个输入寄存器和一个输出寄存器指令需要8+5+5=18位,长度对齐到8的倍数,便是24位。

30%的两个输入寄存器和一个输出寄存器指令需要8+5+5+5=23位,对齐到24位。

25%的一个输入寄存器、一个输出寄存器、一个立即数寄存器指令需要8+5+5+16-34位,对齐到40位。

25%的一个立即数输入寄存器和一个输出寄存器指令需要8+16+5=29位,对齐到40位。

2)由丁变长指令最长的长度为40位,所以定长指令编码每条指令长度均为40位。而采用变长编码,按照各个指令长度和其概率相乘,得出平均长度为30位。所以该程序中,变长编码能比定长编码少占用25%的存储空间。

2.解答:

1)根据操作数地址码为6位,则二地址指令中操作码的位数为16-6-6-4,这4位操作码可有

16种操作。由于操作码固定,则除了零地址指令有M种,一地址指令有N种,剩下二地址指令最多有16-M-N种。

2)采用扩展操作码技术,操作码位数可随地址数的减少而增加。对于二地址指令,指令字长16位,减去两个地址码共12位,剩下4位操作码,共16种编码,去掉一种编码(如1111)用于一地址指令扩展,二地址指令最多可有15种操作。

3)采用扩展操作码技术,操作码位数可变,则二地址、一地址和零地址的操作码长度分

别为4位、10位和16位。这样二地址指令操作码每减少一个,就可以多构成26条一地址指令操作码;一地址指令操作码每减少一个,就可以多构成26条零地址指令操作码。设一地址指令有R条,则一地址指令最多有(24-P)×26条,零地址指令最多[(24-P)×26-R]×26条。

根据题中给出零地址指令为Q条,即

Q=[(24-P)×26-R] ×26

则R=24-P)×26-Q×2-6

3.解答:

第4章指令系统(考研组成原理)

4.解答:

1)算术逻辑指令格式为“寄存器-寄存器”型,取单字长为l6位,格式如下:

第4章指令系统(考研组成原理)

其中,OP为操作码,6位,可实现64种操作:M为寻址特征,2位,可反映寄存器寻址、直接寻址、相对寻址;Ri和Rj各取4位,指出源操作数和目的操作数的寄存器编号。

2)取数/存数指令格式为“寄存器-存储器”型,取双字长为32位,格式如下:

第4章指令系统(考研组成原理)

其中,OP为操作码,6位不变:M为寻址特征.2位不变:R i为4位,为源操作数地址(存数指令)或目的操作数地址(取数指令):A1和A2共20位,为存储器地址,可直接访问按字节编址的1MB存储器。

3)相对转移指令为一地址格式,取单字长为16位,格式如下:

第4章指令系统(考研组成原理)

其中.OP为操作码,6位不变:M为寻址特征,2位不变;A为位移量,8位,采用补码表示,对应-128~+127。

4.2.2习题精选

一、单项选择题

1.C

相对寻址EA=(PC)+A,先计算取指后的PC值。转移指令由两个字节组成,每取一个字节PC加1,在取指后PC值为2002H,故EA=(PC)+A=2002H+06H=2008H。本题容易误选A 或B,原因是没有考虑PC的自动更新,或是没有注意到转移指令为一条两个字节的指令.PC 值仅+1而不是+2。

2.A

间接寻址不需要寄存器,EA=(A)。基址寻址:EA=A+基址寄存器内同:相对寻址:EA=A+PC 内容:变址寻址:EA=A+变址寄存器内容。

3.B

4.A

无条件转移指令是程序转移到新的地址后继续执行,因此必须给出下一条指令的执行地址,并送入程序计数器PC。

5.D

寄存器寻址中,只需指定寄存器的编号,故能有效地缩短地址码的位数;而在间接寻址中,地址码字段仍然是一个主存地址。

6.B

隐地址不给出明显的操作数地址,而是在指令中隐含操作数的地址,故而可以简化地址结构,如零地址指令。

7.B

立即寻址最快,指令直接给出操作数;寄存器寻址次之,只需访问一次寄存器;宣接寻址再次之,访问一次内存;间接寻址最慢,要访问两次以上内存。

8.A

指令字中的形式地址为操作数的有效地址,这种方式为直接寻址。

9.B

变址寄存器中的内容和指令地址码相加得到的为操作数的地址码。

10.B

变址寻址便于处理数组问题。在数组处理过程中,可设定A为数组的首地址,不断改变变址寄存器的内容,便可很容易形成数组中任一数据的地址。基址寻址和变址寻址的区别是,基址寄存器的内容通常由操作系统或管理程序确定,在程序执行过程中其值是不可变的,而变址寄存器的内容由用户设定,在程序执行过程中,其值可变。

11.B

进、出堆栈时对栈顶指针的操作顺序是不同的,如果进栈时是先压入数据,说明栈指针是指向栈顶的空单元,所以出栈时,就要先修改指针,然后才能弹出数据。

12.D

相对寻址方式中,EA=(PC)+A(A为形式地址),当执行本条指令时,PC己完成加1操作,故以下一条指令的地址为基准位置。

13.A

变址寻址便予处理数字问题和编制循环程序;而相对寻址的有效地址是将PC的内容与指令中的形式地址A相加而成的,这样程序的转移地址不固定,可随PC值的变化而变,无论程序在主存的哪段区域,都可正确运行,对于编制浮动程序特别有利。

14.A

在多道程序设计中,各个程序段可能在内存中要浮动,而相对寻址特别有利于程序浮动,故选A。

15.C

跳跃寻址通过转移类指令(如相对寻址)来实现,可用来实现程序的条件或无条件转移。16.C

指令字长为16位。2字节,故取指令后PC的内容为(PC)+2=2002H;无条件转移指令将下一条指令的地址送至PC.形式地址为40H,指令执行后PC=2002H+0040H=2042H。

17.B

程序计数器PC给出访存地址(指令在内存中的地址),故取决于存储器的容量;指令寄存器IR用于接收取得的指令,故取决于指令字长,

18.A

该操作数的有效地址=(8号寄存器)=1200H。

19.D

算术与逻辑运算指令,是每台计算机都必须具有的指令,它通常用于在计算机的运算器部件中完成对一个或两个数据的算术运算或逻辑运算功能。

移位操作指令包括算术移位、逻辑移位、循环移位3种,用于把指定的一个操作数左移或右移一(多)位,

数据传送指令,用于实现通用寄存器之间、通用寄存器与内存单元之间、内存的不同存储单元之间、通用寄存器与外围设备(接口)之间(或单独的T/O指令)的数据传送功能。

转移指令、子程序调用与返回指令,用于解决变动程序中指令执行次序的需求。

特权指令是指仅用于搡作系统或其他系统软件的指令。为确保系统与数据安全,这一类指令不提供给用户使用。

其他指令,如动态停机指令、空操作指令、置条件码指令、开中断指令、关中断指令、堆栈操作指令等.用于完成某些特定的处理功能。

二、综合应用题

1.解答:

1)由于通用寄存器的数量有限,可以用较少的二进制位来编码,所以采用寄存器寻址方式和寄存器间接寻址方式的指令码长度最短。

因为需要在指令中表示数据和地址,所以立即寻址方式、直接寻址方式和间接寻址方式

的指令码长度最长。如果指令码长度太短,则无法表示范围较大的立即数和寻址到较大的内存地址空间。

2)由于通用寄存器位于CPU内部,无需到内存读取操作数,所以寄存器寻址方式执行速度最快。

而间接寻址方式需要读内存两次,第一次由操作数的间接地址读到操作数的地址,第二次再由操作数的地址读到操作数,所以间接寻址方式的执行速度最慢。

3)若指令系统采用定长指令码格式,所有指令(包括采用立即寻址方式的指令)所包含的二进制位数均相同,则立即寻址方式执行速度最快,因为读到指令的同时.便立即取得操作数。

如果采用变长指令码格式时,由于要表示一定范围内的立即数,包含立即数的指令通常需要较多的二进制位,取指令时,可能需要不止一次地读内存来完成取指令。因此,采用变长指令码格式时,寄存器寻址方式执行速度最快。

2.解答:

因为OP字段长为5位,所以指令能定义25=32种指令。

各种寻址方式的有效地址EA的计算公式、寻址范围见下表。

第4章指令系统(考研组成原理)

3.解答:

1)直接寻址时,有效地址是指令中的地址码部分500,装入ACC的是800。

2)立即寻址时,指令的地址码部分是操作数而不是地址,所以将500装入ACC。

3)间接寻址时,操作数的有效地址存储在地址为500的单元中,由此得到有效地址为800,操作数是300。

4)相对寻址时,有效地址EA=(PC)+A=202+50=702,所以装入ACC的操作数是325。这是因为指令是双字长,在该指令的执行阶段.PC的内容已经加2.更新为下一条指令的地址202。

5)交址寻址时,有效地址EA=(XR)+A=100+500=600.所以装入ACC的操作数是900。

6)寄存器寻址时,R1的内容400装入ACC。

7)寄存器间接寻址时,有效地址是R1的内容400.装入ACC的操作数是700。

4.解答:

取指后,PC=1235H。

①X=00,D=20H,有效地址EA=20H。

②X=10,D=44H,有效地址EA=1122H+44H=1166H。

③X=11,D=22H,有效地址EA=1235H+22H=1257H。

④X=0l,D=21H,有效地址EA=0037H+21H=0058H。

⑤X=11.D=23H,有效地址EA=1235H+23H=1258H。

5.解答:

1)指令操作码占4位,则该指令系统最多可以有24=16条指令;指令操作数占6位,寻址方式占3位,于是寄存器编号占3位,该计算机最多可以有23=8个通用寄存器:主存容量为128KB,按字编址,计算机字长为16位,划分为128KB/2B=216个存储单元。故MDR和MAR至少各需16位。

2) PC和Rn可表示的地址范围均为0~216-1,而主存地址空间为216,故转移指令的目标地址范围为0~216-1。

3)汇编语句add(R4),(R5)+对应的机器码为0010 0011 0001 0101B=2315H;该指令执行后,累加器ACC、寄存器R5以及地址为1234H的存储单元的内容会改变,改变后的内容分别为(ACC)=((R4)+((R5))=5678H+1234H=68ACH

(R5)=(R5)+1=5678H+2H=567AH

(1234H)=(ACC)=68ACH

4.3.2 习题精选

单项选择题

1.A

RISC必然采用流水线技术,这也是其指令的特点决定的。而CISC则无此强制要求,但为了提高指令执行速度,CISC也往往采用流水线技术。流水线技术并非RISC的专利。2.A

B、C、D选项都是RISC的特点。因为RISC的速度快.所以普遍采用组合逻辑(硬布线)控制器,而非微程序控制器。

3.D

指令定长、对齐、仅Load/Store指令访存,以上3个都是RISC的特征,使取指令、取操作数操作简化且时间长度固定,能够有效地简化流水线的复杂度。

4.B

A、C、D选项都是RISC,的特点。B选项中,RISC是尽量简化单条指令的功能,复杂指令的功能由简单指令的组合来实现,而增强指令的功能则是CISC的特点。

5.D

RISC的指令基本上都被CISC指令包含,但RISC并不是为了实现兼容才挑选的,而是选择最常用的简短的指令。B选项明显错误,体系结构由于流水线和RISC技术.实现了很大的进步。RISC的指令功能简单,其是通过简单的指令组合来完成复杂指令的功能。