浮点数的阶码怎么计算_【每日一题】计算机组成原理真题

↑ 点击上方“计算机考研说”关注我们

选择题:

浮点数加、减运算过程一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤。设浮点数的阶码和尾数均采用补码表示,且位数分别为 5 位和 7 位(均含 2 位符号位)。若有两个数 X=27×29/32,Y=25×5/8,则用浮点加法计算 X+Y 的最终结果是____ 。

A.00111 1100010

B.00111 0100010

C.01000 0010001

D.发生溢出

题解:

考查浮点加法运算。

根据题意,X可记为00, 111; 00, 11101(分号前为阶码,分号后为尾数),Y可记为00, 101; 00, 10100。

首先对阶,X、Y 阶码相减,即 00, 111-00, 101=00, 111+11, 0111=00, 010,可知 X 的阶码比 Y 的价码大 2,根据小阶向大阶看齐的原则,将 Y 的阶码加 2,尾数右移 2 位,可得 Y 为 00, 111; 00, 00101。

尾数相加,即 00, 11101+00, 00101=01, 00010,尾数相加结果符号位为 01,故需进行右规。

规格化,将尾数右移 1 位,阶码加 1,得 X+Y 为 01, 000; 00, 1000,阶码符号位为 01,说明发生溢出。故选D。

解答题:

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

dc759e0eb5834a82bf3aa8e9b953afa5.png

转移指令采用相对寻址方式,相对偏移量用补码表示,寻址方式定义如下:

Ms/Md

寻址方式

助记符

含义

000B

寄存器直接

Rn

操作数=(Rn)

001B

寄存器间接

(Rn)

操作数=((Rn))

010B

寄存器间接、自增

(Rn) +

操作数=((Rn)),(Rn)+1→Rn

011B

相对

D (Rn)

转移目标地址=(PC)+(Rn) 

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

请回答下列问题:

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

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

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

题解:

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

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

(3) 汇编语句“add (R4), (R5) +”,对应的机器码为 0010 0011 0001 0101B=2315H。

该指令执行后,寄存器 R5 和存储单元 5678H 的内容会改变。执行后,R5 的内容从 5678H 变成 5679H。存储单元 5678H 中的内容变成该加法指令计算的结果 5678H+1234H=68ACH。

d1bf72eebf3a086c0fd75a8312a034aa.png

-END-

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值