组成原理习题

来源:互联网 发布:如何理解汉诺塔算法 编辑:程序博客网 时间:2024/06/05 09:58

【例13】 假设某计算机的指令长度为20位,具有双操作数、单操作数和无操作数三类指令形式,每个操作数地址规定用6位表示。

(1)若操作码字段固定为8位,现已设计出m条双操作数指令,n条无操作数指令。在此情况下,这台计算机最多可以设计出多少条单操作数指令?

(2)当双操作数指令条数取最大值,且在此基础上单操作数指令条数也取最大值时,试计算这三类指令最大容许具有的指令条数各是多少?

解:

(1)双操作数指令地址字段占去12位,操作码字段为8位。由于设定全部指令采用8位固定的OP字段,故这台计算机最多的指令条数为28=256条。因此最多还可以设计出 (256-m-n)条单操作数指令。

(2)双操作数指令条数最大值为28条。

单操作数指令条数最大值为 (214-28)条。

无操作数指令条数最大值为 (220-214-28)条。

【例314】 某台计算机字长为16位,主存容量为64KB,采用单字长单地址指令,共有64条指令。试采用四种寻址方式 (直接、间接、变址、相对)设计指令格式。

解:64条指令需占用操作码字段 (OP)6位,这样指令字下余长度为10位。为了覆盖主存64KB的地址空间,设寻址模式位 (X)2位,形式地址 (D)8位,其指令格式如下:

 

寻址模式X定义如下:

X=00 直接寻址 有效地址 E=D(256单元)

X=01 间接寻址 有效地址 E=(D)(64K)

X=10 变址寻址 有效地址 E=(R)+D(64K)

X=11 相对寻址 有效地址 E=(PC)+D(64K)

 

【例315】 某机字长为16位,内存容量为64K,指令为单字长指令,有50种操作码,采用页面寻址、间接,直接寻址方式。CPU中有一个AC、PC、IR、MAR、MBR。问:

(1)指令格式如何安排?

(2)存储器能划分成多少页面?每页多少单元?

(3)能否增加其他寻址方式?

解:

(1)根据题意,有50种操作码,故OP字段占6位。页面寻址可用PC高8位 (PCH)与形式地址D(8位)拼接成有效地址。设寻址模式X占2位,故指令格式如下:

 

寻址模式定义如下:

X=00 直接寻址 有效地址 E=D

X=01 页面寻址 有效地址 E=PCH-D

X=10 间接寻址 有效地址 E=(D)

X=11

(2)按照上述指令格式,PC高8位形成主存256个页面,每个页面有256个单元。

(3)按照上述指令格式,寻址模式X=11尚未使用,故可增加一种寻址方式。由于CPU中给定的寄存器中尚可使用PC,故可以增加相对寻址方式,其有效地址E=PC+D。如不用相对寻址,还可使用立即寻址方式,此时形式地址D为8位的操作数。

当位移量 (形式地址)D变成7位时,寻址模式位可变成3位,原则上可以使用更多的寻址方式,但是现在由于CPU没有其他更多的寄存器,因此不能增加其他方式的寻址。

【例316】 假设机器字长16位,主存容量为128K字节,指令字长度为16位或32位,共有128条指令,请设计计算机的指令格式,要求有八种寻址方式。

解:根据题目已知条件,机器字长16位,主存容量为128KB/2=64KB,因此MAR=18位。

共有128条指令,故OP字段占去7位。我们采用单字长和双字长两种指令格式,其中单字长指令用于算术逻辑运算和I/O类指令,双字长指令用于访问主存的指令,并采用8种寻址方式,则指令格式如下:


 
1 0
原创粉丝点击