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

\32. 设磁盘存储器转速为3000转/分,分8个扇区,每扇区存储1K字节,主存与磁盘存储器数据传送的宽度为16位(即每次传送16位)。假设一条指令最长执行时间是25ms,是否可采用一条指令执行结束时响应DMA请求的方案,为什么?若不行,应采取什么方案?

解:先算出磁盘传送速度,然后和指令执行速度进行比较得出结论。

道容量= 1K ×8 ×8 位= 8KB = 4K字

数传率=4K字×3000转/分=4K字×50转/秒 =200K字/秒

一个字的传送时间=1/200K秒» 5ms (注:在此1K=1024,来自数据块单位缩写。)

因为5 ms<<25ms,所以不能采用一条指令执行结束响应DMA请求的方案,应采取每个CPU机器周期末查询及响应DMA请求的方案(通常安排CPU机器周期=MM存取周期)。

第6章 计算机的运算方法

\5. 已知[x]补,求[x]原和x。

[x1]补=1.1100; [x2]补=1.1001; [x3]补=0.1110; [x4]补=1.0000;

[x5]补=1,0101; [x6]补=1,1100; [x7]补=0,0111; [x8]补=1,0000;

解:[x]补与[x]原、x的对应关系如下:

[x]补 1.1100 1.1001 0.1110 1.0000 1,0101 1,1100 0,0111 1,0000
[x]原   1.0100   1.0111   0.1110     1,1011   1,0100   0,0111    
x   -0.0100   -0.0111   0.1110   -1   -1011   -100   0,0111   -10000  

\9. 当十六进制数9B和FF分别表示为原码、补码、反码、移码和无符号数时,所对应的十进制数各为多少(设机器数采用一位符号位)?

解:真值和机器数的对应关系如下:

9BH 原码 补码 反码 移码 无符号数
对应十进制数   -27   -101   -100   +27   155  
FFH   原码   补码   反码   移码   无符号数  
对应十进制数   -128   -1   -0   +128   256  

\14. 设浮点数字长为32位,欲表示±6万间的十进制数,在保证数的最大精度条件下,除阶符、数符各取1位外,阶码和尾数各取几位?按这样分配,该浮点数溢出的条件是什么?

解:若要保证数的最大精度,应取阶码的基值=2。

若要表示±6万间的十进制数,由于32768(215)< 6万 <65536(216),则:阶码除阶符外还应取5位(向上取2的幂)。

故:尾数位数=32-1-1-5=25位

​ 25(32) 该浮点数格式如下:

阶符(1位) 阶码(5位) 数符(1位) 尾数(25位)
       

按此格式,该浮点数上溢的条件为:阶码³25

\19. 设机器数字长为8位(含1位符号位),用补码运算规则计算下列各题。

(1)A=9/64, B=-13/32,求A+B。

(2)A=19/32,B=-17/128,求A-B。

(3)A=-3/16,B=9/32,求A+B。

(4)A=-87,B=53,求A-B。

(5)A=115,B=-24,求A+B。

解:(1)A=9/64= 0.001 0010B, B= -13/32= -0.011 0100B

​ [A]补=0.001 0010, [B]补=1.100 1100

[A+B]补= 0.0010010 + 1.1001100 = 1.1011110 ——无溢出

A+B= -0.010 0010B = -17/64

(2)A=19/32= 0.100 1100B, B= -17/128= -0.001 0001B

​ [A]补=0.100 1100, [B]补=1.110 1111 , [-B]补=0.001 0001

[A-B]补= 0.1001100 + 0.0010001= 0.1011101 ——无溢出

A-B= 0.101 1101B = 93/128B

(3)A= -3/16= -0.001 1000B, B=9/32= 0.010 0100B

[A]补=1.110 1000, [B]补= 0.010 0100

[A+B]补= 1.1101000 + 0.0100100 = 0.0001100 —— 无溢出

A+B= 0.000 1100B = 3/32

(4) A= -87= -101 0111B, B=53=110 101B

[A]补=1 010 1001, [B]补=0 011 0101, [-B]补=1 100 1011

[A-B]补= 1 0101001 + 1 1001011 = 0 1110100 —— 溢出

(5)A=115= 111 0011B, B= -24= -11 000B

[A]补=0 1110011, [B]补=1,110 1000

[A+B]补= 0 1110011 + 1 1101000 = 0 1011011——无溢出

A+B= 101 1011B = 91

26.按机器补码浮点运算步骤,计算[x±y]补.

(1)x=2-011× 0.101 100,y=2-010×(-0.011 100);

(2)x=2-011×(-0.100 010),y=2-010×(-0.011 111);

(3)x=2101×(-0.100 101),y=2100×(-0.001 111)。

解:先将x、y转换成机器数形式:

(1)x=2-011× 0.101 100,y=2-010×(-0.011 100)

[x]补=1,101;0.101 100, [y]补=1,110;1.100 100

[Ex]补=1,101, [y]补=1,110, [Mx]补=0.101 100, [My]补=1.100 100

1)对阶:

[DE]补=[Ex]补+[-Ey]补 = 11,101+ 00,010=11,111 < 0,

应Ex向Ey对齐,则:[Ex]补+1=11,101+00,001=11,110 = [Ey]补

[x]补=1,110;0.010 110

2)尾数运算:

[Mx]补+[My]补= 0.010 110 + 11.100 100=11.111010

[Mx]补+[-My]补=0.010 110 + 00.011100= 00.110 010

3)结果规格化:

[x+y]补=11,110;11.111 010 = 11,011;11.010 000 (尾数左规3次,阶码减3)

[x-y]补=11,110;00.110 010, 已是规格化数。

4)舍入:无

5)溢出:无

则:x+y=2-101×(-0.110 000)

x-y =2-010×0.110 010

(2)x=2-011×(-0.100010),y=2-010×(-0.011111)

[x]补=1,101;1.011 110, [y]补=1,110;1.100 001

1)对阶:过程同(1)的1),则

[x]补=1,110;1.101 111

2)尾数运算:

[Mx]补+[My]补= 11.101111 + 11. 100001 = 11.010000

[Mx]补+[-My]补= 11.101111 + 00.011111 = 00.001110

3)结果规格化:

[x+y]补=11,110;11.010 000,已是规格化数

[x-y]补=11,110;00.001 110 =11,100;00.111000 (尾数左规2次,阶码减2)

4)舍入:无

5)溢出:无

则:x+y=2-010×(-0.110 000)

x-y =2-100×0.111 000

(3)x=2101×(-0.100 101),y=2100×(-0.001 111)

[x]补=0,101;1.011 011, [y]补=0,100;1.110 001

1)对阶:

[DE]补=00,101+11,100=00,001 >0,应Ey向Ex对齐,则:

[Ey]补+1=00,100+00,001=00,101=[Ex]补

[y]补=0,101;1.111 000(1)

2)尾数运算:

[Mx]补+[My]补= 11.011011+ 11.111000(1)= 11.010011(1)

[Mx]补+[-My]补= 11.011011+ 00.000111(1)= 11.100010(1)

3)结果规格化:

[x+y]补=00,101;11.010 011(1),已是规格化数

[x-y]补=00,101;11.100 010(1)=00,100;11.000 101 (尾数左规1次,阶码减1)

4)舍入:

[x+y]补=00,101;11.010 011(舍)

[x-y]补 不变

5)溢出:无

则:x+y=2101×(-0.101 101)

x-y =2100×(-0.111 011)

第7章 指令系统

1.什么叫机器指令?什么叫指令系统?为什么说指令系统与机器的主要功能以及与硬件结构之间存在着密切的关系?

答:参考P300。

3.什么是指令字长、机器字长和存储字长?

答:第一章7题

6.对于二地址指令而言,操作数的物理地址可安排在什么地方?举例说明。

答:对于二地址指令而言,操作数的物理地址可安排在寄存器内、指令中或内存单元内等。

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

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