计算机组成原理(复习) (9)

\8. 某机指令字长16位,每个操作数的地址码为6位,设操作码长度固定,指令分为零地址、一地址和二地址三种格式。若零地址指令有M条,一地址指令有N种,则二地址指令最多有几种?若操作码位数可变,则二地址指令最多允许有几种?

解:1)若采用定长操作码时,二地址指令格式如下:

OP(4位) A1(6位) A2(6位)
     

设二地址指令有K种,则:K=24-M-N

当M=1(最小值),N=1(最小值)时,二地址指令最多有:Kmax=16-1-1=14种

2)若采用变长操作码时,二地址指令格式仍如1)所示,但操作码长度可随地址码的个数而变。此时,K= 24 -(N/26 + M/212 );

当(N/26 + M/212 )£1时(N/26 + M/212 向上取整),K最大,则二地址指令最多有:

Kmax=16-1=15种(只留一种编码作扩展标志用。)

\16. 某机主存容量为4M´16位,且存储字长等于指令字长,若该机指令系统可完成108种操作,操作码位数固定,且具有直接、间接、变址、基址、相对、立即等六种寻址方式,试回答:(1)画出一地址指令格式并指出各字段的作用;

(2)该指令直接寻址的最大范围;

(3)一次间址和多次间址的寻址范围;

(4)立即数的范围(十进制表示);

(5)相对寻址的位移量(十进制表示);

(6)上述六种寻址方式的指令哪一种执行时间最短?哪一种最长?为什么?哪一种便于程序浮动?哪一种最适合处理数组问题?

(7)如何修改指令格式,使指令的寻址范围可扩大到4M?

(8)为使一条转移指令能转移到主存的任一位置,可采取什么措施?简要说明之。

解:(1)单字长一地址指令格式:

OP(7位) M(3位) A(6位)
     

​ OP为操作码字段,共7位,可反映108种操作;

​ M为寻址方式字段,共3位,可反映6种寻址操作;

​ A为地址码字段,共16-7-3=6位。

(2)直接寻址的最大范围为26=64。

(3)由于存储字长为16位,故一次间址的寻址范围为216;若多次间址,需用存储字的最高位来区别是否继续间接寻址,故寻址范围为215。

(4)立即数的范围为-32——31(有符号数),或0——63(无符号数)。

(5)相对寻址的位移量为-32——31。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwjddx.html