计算机组成原理第六版第四章部分习题

教材P143-144→2, 5, 6, 9, 17]

【2】假设某机器指令长度32位,具有双操作数、单操作数、无操作数三类指令,指令系统共有70条指令,请设计满足要求的指令格式。

【解】70条指令, = 7,所以操作码至少7位

(1)双操作数指令格式:

(2)单操作数指令格式:

(3)无操作数指令格式:

【5】指令格式如下所示,试分析指令格式及寻址方式特点

【解】 (1)双操作数指令;(2)操作码字段长度4位:=16种寻址方式;

(3)寻址方式字段长度3位:=8种寻址方式;

(4)寄存器编码字段长度3位:=8个寄存器;

【6】一种单地址指令格式如下所示,其中I为间接特征,X为寻址模式,D为形式地址。I、X、D组成该指令的有效地址E。设R为变址寄存器,R1为基址寄存器,PC为程序计数器,请在下表的第一列位置填写适当的寻址方式。

【解】

寻址方式

I

X

有效地址

直接寻址

0

00

E = D

相对寻址

0

01

E = (PC) + D

变址寻址

0

10

E = (R) + D

基址寻址

0

11

E = (R1) + D

间接寻址

1

00

E = (D)

基址间接寻址

1

11

E =((R1) + D), D=0

 

【9】设某机器字长为32位,CPU中有16个32位通用寄存器,设计一种能容纳64种操作的指令系统。如果采用通用寄存器作变址寄存器,则RS型指令的最大存储空间为多少?

【解】64种操作编码占=6位;16个通用寄存器编码占=4位,剩下22位用于存储器地址; 

采用R为基址寄存器寻址,有效地址E = (R) + D;

当基址最大,D也最大时,寻址能力最大,由于寄存器为32位,所以最大寻址空间为:

 

 

【17】假设某机器指令系统字长位16位,地址码为4位。试设计指令格式,使得该系统有11条三地址指令、70条二地址指令和150条单地址指令。并指明该系统最多还可以有多少条零地址指令?

【解】

(1)11条三地址指令格式:

15       12

11        8

7         4

3         0

OP

操作数1

操作数2

操作数3

OP:0000、0001、0010、0011、0100、0101、0110、0111、1000、1001、1010

识别三地址指令的方法:高4位编码范围为[0000, 1010];

(2)70条二地址指令格式:

15                   8

7         4

3         0

OP

操作数1

操作数2

OP:1011 0000~1111 0101(70条)

1011 0000 **** **** ~ 1011 1111 **** **** → 24 = 16 条二地址指令

1100 0000 **** **** ~ 1101 1111 **** **** → 25 = 32 条二地址指令

1110 0000 **** **** ~ 1110 1111 **** **** → 24 = 16 条二地址指令

1111 0000 **** **** ~ 1111 0101 **** **** → 23-2 =  6 条二地址指令

识别二地址指令的方法:高8位编码范围为[1011 0000, 1111 0101];

(3)150条单地址指令格式:

15                             4

3         0

OP

操作数1

OP:1111 0110 0000~1111 1111 0101(150条)

1111 0110 0000 **** ~ 1111 0111 1111 **** → 25 = 32 条单地址指令

1111 1000 0000 **** ~ 1111 1011 1111 **** → 26 = 64 条单地址指令

1111 1100 0000 **** ~ 1111 1101 1111 **** → 25 = 32 条单地址指令

1111 1110 0000 **** ~ 1111 1110 1111 **** → 24 = 16 条单地址指令

1111 1111 0000 **** ~ 1111 1111 0101 **** → 23-2 =  6 条单地址指令

识别单地址指令的方法:高12位编码范围为[1111 0110 0000, 1111 1111 0101];

(4)零地址指令格式:

15                                          0

OP

OP:1111 1111 0110 0000~1111 1111 1111 1111(160条)

1111 1111 0110 0000 ~ 1111 1111 0111 1111  → 25 = 32 条零地址指令

1111 1111 1000 0000 ~ 1111 1111 1111 1111  → 27 = 128 条零地址指令

识别零地址指令的方法:16位编码范围为[1111 1111 0110 0000,1111 1111 1111 1111];

【注】零地址指令数的计算方法:

1170150 = 65536  45056 17920  2400 = 160 ;

第4.2节、课后补充练习

【1】计算机能够直接执行的语言是       进制的          语言(答案为两个字)。

【答案】 二/2;机器;【解析】计算机能够直接执行的是二进制机器语言。

【2】         语言(答案为两个字)与机器语言相比,其优点是程序可读性有所增强,编程难度有所        (填加大或降低),编程效率有所        (填提高或降低)。

         语言(答案为两个字)与汇编语言相比,其优点是程序可读性显著增强,编程难度显著        (填加大或降低),编程效率显著        (填提高或降低)。

【答案】 汇编; 降低; 提高; 高级; 降低; 提高;

【3】C语言、C++、JAVA等,属于       语言(答案为两个字)。    【答案】高级;

【4】计算机语言的发展历史,依次是        语言、       语言、       语言。【答案】机器;汇编;高级;

【5】高级语言语句s[50]=s[50]+a;s[50]为数组元素,保存在内存当中。a为变量,保存在CPU寄存器当中。其执行大致过程是:

(1)s[50]从        进入        

(2)s[50]与a,在当中完成        运算;

(3)运算结果,即新s[50]从        回到        

另外,在没有发生运算时,数据一般保存在        当中。在运算时,数据运算发生在        

【答案】内存/内存条; CPU/cpu;处理器/中央处理器;加法/+;求和/加;CPU/cpu;处理器/中央处理器;内存/内存条;内存/内存条;CPU/cpu;处理器/中央处理器;

【解析】参考视频教学内容。

【6】机器指令,构成机器语言。不同的cpu,机器指令组成结构不一样,概括起来讲,指令分为两个部分:        码和        码。    【答案】操作/操作码;地址/地址码;

【7】机器指令,是由二进制              构成的。    【答案】0;1;

【8】机器指令的       码,是告诉计算机(CPU),执行什么样的操作,对数据执行什么样的运算。

【答案】 操作;操作码;

【9】机器指令的         码告诉计算机(CPU),执行运算的数据在什么位置,运算的结果保存在哪?

【答案】 地址;地址码;

【10】机器指令的操作码有5位,可以生成         条机器指令。     【答案】32

【11】机器指令当中的          码必须有,           码可以没有。【答案】操作码/操作; 地址/地址码;

【12】机器指令当中的          码,决定指令的功能。   【答案】操作码/操作

【13】决定计算机速度的因素有很多,决定计算机速度(性能)的根本因素是         (填硬件或软件),决定计算机功能的是         (填硬件或软件)。 【答案】硬件;软件;

【解析】软件负责调度指挥计算机,有什么样的调度,就有什么样的功能。执行计算机任务的是硬件,所以决定计算机速度(性能)的是硬件。

【14】有什么样的指令,就有什么样的硬件电路。有加法指令,就有加法电路。在条数一定的情况下,指令条数越多,硬件电路功能越强大,构成         指令系统。当指令条数达到一定数量之后,庞大的指令系统不但使计算机的研制周期变长,难以保证正确性,不易调试维护,而且由于采用了大量使用频率很低的复杂指令而造成硬件资源浪费。指令的执行时间必然加长,从而使整个系统的执行时间反而增加。为此,精简那些不常用的指令,形成           指令系统计算机。

【答案】 复杂/复杂指令系统/复杂系统; CISC/Complex Instruction Set Computer/cisc;   精简/精简指令系统/精简系统/RISC/Reduced Instruction Set Computing/risc;

【15】人们提出了便于VLSI技术实现的精简指令系统计算机,其实现的前提,CISC计算机当中       %的指令,运行的时间占      %。而      %的不常用指令,CPU运行时间只占      %。

【答案】 20; 80; 80; 20;

【16】确定下一条将要执行哪条指令,这种确定方法称为        方式。

【答案】 指令寻址方式/指令寻址;

【17】确定运算数据或运算结果在寄存器或内存当中的地址,这种确定方法称为        方式。

【答案】 操作数寻址;数寻址;数据寻址;操作数寻址方式;数寻址方式;数据寻址方式;

【18】计算机cpu当中流淌的数据和指令,是     进制的。【答案】 2;二;

第4.3节、考研训练

【1】假设指令字长为 16 位,操作数的地址码为6位,指令有零地址、一地址、二地址三种格式。

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

(2)采用扩展操作码技术,若二地址指令有 X 种,零地址指令有 Y 种,则一地址指令最多有几种?

【解】(1)操作码固定,二地址指令数 = ;

(2)采用扩展操作码技术:

;

 ; 

【2】设相对寻址的转移指令占 3 个字节, 第一个字节为操作码, 第二、 三个字节为相对位移量(补码表示),而且数据在存储器中采用低字节地址为字地址的存放方式。每当CPU从存储器取出一个字节时,即自动完成(PC)+1→PC。

(1) 若 PC 当前值为 240(十进制),要求转移到290(十进制),则转移指令的第二、三字节的机器代码是什么?

(2) 若 PC 当前值为 240(十进制),要求转移到 200(十进制) , 则转移指令的第二、 三字节的机器代码是什么?

【解】相对寻址:把程序计数器 PC 的内容加上指令格式中的形式地址A而形成操作数有效地址,即EA=(PC)+A,PC中的内容就是当前指令地址,而A是相对于当前指令地址的位移量,可正可负, 补码表示。如果位移量为n位,则其寻址范围为(PC)-2(n-1)∽(PC)+2(n-1)-1,其中PC内容为当前指令的下一条指令地址。“相对”寻址就是相对于当前指令地址而言。

(1) (290)10(240)10 = (50)10  = 0032H;

(2) (200)10(240)10 = (-40)10= (1111 1111 1101 1000)2补 = FFD8H;

【3】指令系统中采用不同的寻址方式的目的是( ) 【答案】B

(A)提供扩展操作码的可能并降低指令译码难度;

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

(C)实现程序控制; (D)三者都正确;

  • 9
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值