计算机专业基础综合计算机组成原理(指令系统)模拟试卷1
(总分:44.00,做题时间:90分钟)
一、单项选择题(总题数:10,分数:20.00)
1.指令系统中采用不同寻址方式的目的主要是( )。 A.实现存储程序和程序控制
B.缩短指令长度,扩大寻址空间,提高编程灵活性 √ C.可以直接访问外存
D.提供扩展操作码的可能并降低指令译码难度 2.对某个寄存器中操作数的寻址方式称为寻址。 A.直接 B.间接 C.寄存器 √ D.寄存器间接
3.变址寻址方式中,操作数的有效地址等于( )。 A.基值寄存器内容加上形式地址(位移量) B.堆栈指示器内容加上形式地址 C.变址寄存器内容加上形式地址 √ D.程序计数器内容加上形式地址 4.程序控制类指令的功能是( )。 A.进行算术运算和逻辑运算 B.进行主存与CPU之间的数据传送 C.进行CPU和I/O设备之间的数据传送 D.改变程序执行的顺序 √
5.指令的寻址方式有顺序和跳跃两种方式。采用跳跃寻址方式,可以实现( )。 A.堆栈寻址 B.程序的条件转移 C.程序的无条件转移
D.程序的条件转移或无条件转移 √ 6.位操作类指令的功能是( )。
A.对CPU内部通用寄存器或主存某一单元任一位进行状态检测(0或1) B.对CPU内部通用寄存器或主存某一单元任一位进行状态强置(0或1) C.对CPU内部通用寄存器或主存某一单元任一位进行状态检测或强置 √ D.进行移位操作
7.下列说法中不正确的是( )。
A.机器语言和汇编语言都是面向机器的,它们和具体机器的指令系统密切相关
B.指令的地址字段指出的不是地址,而是操作数本身,这种寻址方式称为直接寻址 C.串联堆栈一般不需要堆栈指示器,但串联堆栈的读出是破坏性的 D.存储器堆栈是主存的一部分,因而也可以按照地址随机进行读写操作 8.下列几项中,不符合RISC指令系统的特点是( )。 A.指令长度固定,指令种类少
B.寻址方式种类尽量减少,指令功能尽可能强 √ C.增加寄存器的数目,以尽量减少访存次数
D.选取使用频率最高的一些简单指令,以及很有用但不复杂的指令 9.安腾处理机的典型指令格式为( )位。 A.32位 B.64位 C.41位 √
√ D.48位
10.下面操作中应该由特权指令完成的是( )。 A.设置定时器的初值
B.从用户模式切换到管理员模式 √ C.开定时器中断 D.关中断
二、设计题(总题数:4,分数:8.00)
11.假设某计算机的指令长度为20位,具有双操作数、单操作数和无操作数三类指令,每个操作数地址规定用6位表示。若操作码字段固定为8位,现已设计出m条双操作数指令,n条无操作数指令。在此情况下,这台计算机最多可以设计出多少条单操作数指令?
__________________________________________________________________________________________ 正确答案:(正确答案:由于设定全部指令采用8位固定的OP字段,故这台计算机最多的指令条数为2 =256条。因此最多还可以设计出(256-m-n)条单操作数指令。) 12.一台处理机具有如下指令字格式:其格式表明有8个通用寄用器(长度16位),X指定寻址模式,
8
主存最大容量为256K字。(1)假设不用通用寄存器也能直接访问主存的每一个操作数,并假设操作码或OP=6位,请问地址码域应分配多少位?指令字长度应有多少位?(2)假设X=11时,指定的那个通用寄存器用作基值寄存器,请提出一个硬件设计规则,使得被指定的通用寄存器能访问1M主存空间中的每一个单元。 __________________________________________________________________________________________ 正确答案:(正确答案:(1)因为2 =256K字,地址码域=18位。 操作码域=6位。 指令长度=18+3+3+6+2=32位。 (2)此时指定的通用寄存器用作基值寄存器(16位)。但16位长度不足以覆盖1M字地址空间,为此可将通用寄存器左移4位,低位补0形成20位基地址,然后与指令字形式地址相加得有效地址,可访问主存1M地址空间中的任一单元。)
13.机器字长32位,主存容量为1MB,16个通用寄存器,共32条指令,请设计双地址指令格式,要求有立即数、直接、寄存器、寄存器间接、变址、相对六种寻址方式。
__________________________________________________________________________________________ 正确答案:(正确答案:根据题意,有32种操作码,故OP字段占5位;16个通用寄存器各占4位(源、目的);寻址模式字段X占3位;剩余字段D为立即数和直接寻址使用。指令格式如下:X=100,变址寻址,E=(R)+D X=101,相对寻址,E=(PC)+D) 14.一台处理机具有如下指令字格式:其中,①每个指令字中专门分出3位来指明选用哪一个通用寄
寻址模式定义18
如下: X=000,立即数=D X=001,直接寻址,E=D X=010,寄存器直接寻址 X=011,寄存器间接寻址,E=(R)
存器(12)位,②最高位用来指明它所选定的那个通用寄存器将用作变址寄存器(X=1时),③主存容量最大为16384字。(1)假如我们不用通用寄存器也能直接访问主存中的每一个操作数,同时假设有用的操作码位数至少有7位,试问:在此情况下,“地址”码域应分配多少位?“OP”码域应分配多少位?指令字应有多少位?(2)假设条件位X=0,且指令中也指明要使用某个通用寄存器,此种情况表明指定的那个通用寄存器将用作基值寄存器。请提出一个硬件设计规则,使得被指定的通用寄存器能访问主存中的每一个位置。(3)假设主存容量扩充到32768字,且假定硬件结构已经确定不变,问采用什么实际方法可解决这个问题? __________________________________________________________________________________________ 正确答案:(正确答案:(1)地址码域=14位,2 =16384 操作码域=7位 指令字长度=14+7+3=24位 (2)此时指定的通用寄存器用作基值寄存器(12位),但12位长度不足以覆盖16K地址空间,为此可将通用寄存器内容(12位)左移2位低位补0形成14位基地址,然后与形式地址相加得一地址,该地址可访问主存16K地址空间中的任一单元。 (3)可采用间接寻址方式来解决这一问题,因为不允许改变硬件结构。)
14
三、分析题(总题数:8,分数:16.00)
15.指令格式结构如下所示,试分析指令格式及寻址方式特点。 __________________________________________________________________________________________
正确答案:(正确答案:指令格式与寻址方式特点如下: (1)双字长二地址指令,用于访问存储器。操作码字段可指定64种操作。 (2)RS型指令,一个操作数在通用寄存器(共16个),另一个操作数在主存中。 (3)有效地址可通过变址寻址求得,即有效地址等于变址寄存器(共16个)内容加上位移量。) 16.某机的16位单字长访内指令格式如下: 其中,A为形式地址,补码表示(其中一位符号位); I
为直接/间接寻址方式:I=1为间接寻址,I=0为直接寻址方式; M为寻址模式:0为绝对寻址,1为基地址寻址,2为相对寻址,3为立即寻址; X为变址寻址。 设PC,R z ,R b 分别为指令计数器、变址寄存器,基地址寄存器,E为有效地址,试解答如下问题: (1)该指令格式能定义多少种不同的操作?立即寻址操作数的范围是多少? (2)在非间址情况下,写出各计算有效地址的表达式。 (3)设基值寄存器14位,在非变址直接基地址寻址时,确定存储器可寻址的地址范围。 (4)间接寻址时,寻址范围是多少? __________________________________________________________________________________________ 正确答案:(正确答案:(1)该指令格式可定义16种不同的操作。立即寻址操作数的范围是-128—+127。 (2)绝对寻址(直接地址) E=A 基值寻址 E=(R b )+A 相对寻址 E=(PC)+A 立即寻址 D=A 变址寻址 E=(R z )+A (3)由于E=(R b )+A,R b =14位,故存储器可寻址的地址范围为(16383+127)—(16383-128)。 (4)间接寻址时,寻址范围为64K,因为此时从主存读出的数作为有效地址(16位)。) 17.一种二地址RS型指令的结构如下所示:其中I为间接寻址标志位,X为寻址模式字段,D为位移
请写出8种寻址方式的名称,并指出
量字段,通过I,X,D的组合,可构成下表所示的寻址方式:哪几种访问存储器速度较慢?
__________________________________________________________________________________________ 正确答案:(正确答案:(1)直接寻址 (2)相对寻址 (3)变址寻址 (4)寄存器间接寻址 (5)间接寻址 (6)先相对后间接寻址 (7)先变址后间接寻址 (8)先基址后间接寻址 后3种访存速度较慢。)
18.某16位机器所使用的指令格式和寻址方式如下所示,该机有两个20位基值寄存器,四个16位变址寄存器,十六个16位通用寄存器。指令汇编格式中的S(源)、D(目标)都是通用寄存器,M是主存中的一个单元。 问: (1)处理机完成哪一种操作花的时间最短? (2)处理机完成哪一种操作花的时间最长? (3)
第②种指令的执行时间有时会等于第③种指令的执行时间吗? (4)假设第①、②、③种指令的操作码是: MOV=(A) H ,STA=(1B) H ,LDA=(3C) H , 下列情况下每个十六进制指令字分别代表什么操作? (a)(F0F1)
H
(3CD2) H (b)(2856) H (c)(6FD6) H (d)(1C2) H 上述指令中有没有编码不对的?如果有,应如何改正才能
使其成为处理机能执行的合法指令?
__________________________________________________________________________________________ 正确答案:(正确答案:(1)第①种。因为是RR型指令,不需要访问存储器。 (2)第②种。因为是RS型指令,需要访问存储器,同时要通过变址运算或基值运算变换求得有效地址,也需要时间。 (3)不可能。因为第③种指令虽访问存储器。但不需要进行地址变换运算,所以节省了求有效地址运算的时间开销。 (4)MOV(OP)=001010 STA(OP)=011011 LDA(OP)=111100 (a)代表LDA指令,正确。把(13CD2) H 的内容取至第15号通用寄存器。 (b)代表MOV指令,正确。把6号通用寄存器的内容传送至5号通用寄存器。 (c)错,改正为(28D6) H ,代表MOV指令。 (d)错,改正为(28C2) H ,代表MOV指令。) 19.某单片机的指令格如式下所示:D:位移量X:寻址特征位X=00:直接寻址;X=01:用变址寄存
器X1进行变址;X=10:用变址寄存器X2进行变址;X=11:相对寻址设(PC)=1234H,(X1)=0037H,(X2)=1122H(H代表十六进制数),请确定下列指令的有效地址。(1)4420H (2)2244H (3)1322H (4)3521H (5)6723H __________________________________________________________________________________________ 正确答案:(正确答案:(1)X=00,D=20H,有效地址EA=20H; (2)X=10,D=44H,有效地址EA=1122H+44H=1166H; (3)X=11,D=22H,有效地址EA=1234H+22H=1256H; (4)X=01,D=21H,有效地址EA=0037H+21H=0058H; (5)X=11,D=23H,有效地址EA=1234H+23H=1257H。)
20.将C语句翻译成MIPS R4000汇编语言代码。C赋值语句是:f=(g+h)-(i+j)假设变量f、g、h、i、j分别分配给寄存器$S0、$S1、$S2、$S3、$S4。
__________________________________________________________________________________________
正确答案:(正确答案:临时变量t0=g+h用$t0代替,临时变量t1=i+j用$t1代替,则MIPSR4000汇编语言表示如下: add $t0,$S1,$S2 #完成t0=gth add $t1,$S3,$S4 #完成t1=itj sub $S0,$t0,$t1 #完成f=t0-t1)
21.将如下MIPSR4000汇编语言翻译或机器语言指令。iw $t0,1200($t1)add $t0,$S2,$t0sw $t0,1200($t1) __________________________________________________________________________________________ 正确答案:(正确答案:为方便起见,先写出十进制数表示的3条机器语言指令如下: 然后再写出) 二进制数表示的3条机器指令;其中十进制数(1200) 表示成二进制数是(0000 0100 1011 0000) : 10 2 放在寄存器r0、r1、r2、r3、r4中。
__________________________________________________________________________________________
22.将下面C语句翻译成ARM汇编语言代码。C赋值语句是:f=(g+h)=(i+j)假设变量f、g、h、i、j分别
正确答案:(正确答案:设g+h的求和结果暂存在寄存器r5,i+j的求和结果暂存在寄存器r6,则ARM汇编语言代码如下所示: ADD r5,r0,r1;r5=r0+r1=g+h ADD r6,r2,r3;r6=r2+r3=i+j SUB r4,r5,r6;r4=r5-r6=f=(g+h)-(i+j))
计算机专业基础综合计算机组成原理(指令系统)模拟试卷1



