第一章微机系统组成及工作原理习题选解[1] 下载本文

内容发布更新时间 : 2024/6/24 2:29:23星期一 下面是文章的全部内容请认真阅读。

1.4衡量微机系统性能的主要指标有哪些?若某微机系统的运算速度为100 MIPS,试问 其平均指令周期为多长?

解:衡量微机系统性能的主要指标有字长、存储器容量、运算速度、外设扩展能力和软件配足情况。

平均指令周期=l/平均指令执行速度 = 1/(100 MIPS)

6

= 1/(l 00 x 10), = 0.01?s 1.8试填写出表1.2中各数对应的8位原码、反码、补码。

解:见表1.2 十进制数 +0 +15 +62 +127 -0 -10 -18 -100 -127 -128 原码 00000000 00001111 00111110 01111111 10000000 10001010 10010010 11100100 11111111 无 反码 00000000 00001111 00111110 01111111 11111111 11110101 11101101 10011011 10000000 无 补码 00000000 00001111 00111110 01111111 00000000 11110110 11101110 10000001 10000001 10000000 1.9请将下列各8位补码扩展为16位补码,并从中总结出补码位扩展的规律。 (1)00101101B (2)01110010B (3) 01010111B

(4) 10110101B (5) 10000100B (6) 11001011B

解:先求出8位补码对应的真值,再用16位补码表示,结果如表1.3所示。正数是用0充填扩充的高位。而负数是用1充填扩充的高位,由此可以总结得出补码位扩展的规律:用符号位充填扩展的高位。

表1.3 将8位补码扩充为16为补码

8位补码 00101101 01110000 8位补码 01010111 10110101 10000100 11001011 真值 87 -75 -124 -53 16位补码 00000000 01010111 11111111 10110101 11111111 10000100 11111111 11001011 45 114 16位补码 00000000 00101101 00000000 01110010 1.10填写表1.4中各机器码分别为原码、反码、补码、无符号二进制码和压缩BCD码时对应的十进制真值。 解:见表1.4

表1.4机器数对应的十进制真值

机器数 对应的十进制真值 原码 反码 补码 无符号二进制数 压缩B码CD 89 80 96 53 7 无效 10001001 10000000 01010011 00000111 -9 -0 83 7 -118 -119 -127 -128 83 7 -0 83 7 -1 137 128 150 83 7 255 10010110 -22 -105 -106 11111111 -127 1.12已知某徽机的浮点数格式为:阶码6位.尾数10位.其中各含1位符号位;阶码为补

码定点整数,尾数为原码规格化小数。

(1)该浮点数所能表示的数值范围是多少?

(2) 1100100110111010代表的十进制数是多少? (3)(-86.57)10的机器数(浮点数)是什么?

解:(1)该浮点数所能表示的最大数是:阶码正最大(补码),尾数正最大(原码》,即如下数:

此时,阶码真值=2一1=31,所以,最大真值=十(1-2)*2,

该浮点数所能表示的最小数为:阶码正最大(补码)。尾数负最大(原码),即如下数;

5

-9

31

此时,阶码真值=2一1=31,所以,最大真值=+(1-2) ×2

-931~~-931

所以,该浮点数所能表示的数值范围为-(1-2) ×2十(1-2) ×2

5

-9

31

(2)阶码=-14

-14-22-5

十进制数=(0.11011101)2×2=(11011101)2=221×2=5.269×10

(3)(-86.57)10 =(-1010110.100100011)2≈(-0.101011010)2×2机器数为:

47

1.18“微型计算机中,程序执行的时间就是程序中各条指令执行时间的总和。”这种说法是否一定对?为什么?试谈谈你的理解。

解:这种说法不一定对。

在采用流水线结构的微型计算机中,由于不同指令的取指、分析和执行三个阶段可并行处理,相当于不同指令的执行时间被流水线所吸收,从而从整体上使程序的执行时间减少了,即程序执行的时间不是程序中各条指令执行时间的总和。 1.20微处理器中采用流水线技术后,是否意味着每条指令的执行时间明显缩短了?为什么?

解:不能缩短每条指令的执行时间。

采用流水线技术后,并没有加速单条指令的执行,每条指令的操作步骤(取指、分析、执行)一个也不能少,只是多条指令的不同操作步骤可由多个独立的功能部件同时执行,因而从总体看加快了指令流速度,缩短了程序执行时间。

1.21请自行写出主教材第1.4.5节中给出的程序的详细执行步骤。

解:MOV A,SCH详细执行步骤如下:

(1)将PC内容1000H送地址寄存器MAR o

(2) PC值自动加1,为取下一个字节机器码作准备。

(3) MAR中内容经地址译码器译码,找到内存储器1000H单元。 (4) CPU发读命令。

(5)将1000H单元内容BOH读出,送至数据寄存器MDR o

(6)由于BOH是操作码,故将它从MDR中经内部总线送至指令寄存器IRo

(7)经指令译码器ID译码,由操作控制器OC发出对应于操作码的控制信号。 ;;;以下取操作数

(8)将PC内容1001H送MAR o (9) PC值自动加1。

(10) MAR中内容经地址译码器译码,找到1001iH存储单元。 (11)CPU发读命令。

(12)将1001H单元内容5CH读至MDR ;;;以下执行指令

(13)因5CH是操作数,将它经内部总线送至操作码规定好的累加器A。 ADD A,2EH详细执行步骤如下:

(1)将PC内容1002 H送地址寄存器MAR 。

( 2 ) PC值自动加1.为取下一个字节机器码作准备。

( 3 ) MAR中内容经地址译码器泽码,找到内存储器1002H单元; (4)CPU发读命令。

(5)将1002H单元内容04 H读出,送至数据寄存器MDR o

(5)由于1002H是操作码,故将它从MDR中经内部总线送至指令寄存器IRo (7)经指令译码器lD译码,由操作控制器OC发出对应于操作码的控制信号。 (8)将YC内容1003H送MAR (9)PC值自动加1

( 10) MAR中内容经地址译码器译码。找到1003H存储单元。 (11)CPU发读命令。

(12)将1003H单元内容2EH读至MDR

(13)因2EH是操作数,将它经内部总线送至ALU。 (14)执行:2.EH+5CH送A累加器,修改标志寄存器。 JO 100AH详细执行步骤如下:

(1)将PC内容1004H送地址寄存器MAR o

(2)PC值自动加1,为取下一个字节机器码作准备。

(3) MAR中内容经地址译码器译码。找到内存储器1004H单元。 (4)CPU发读命令。

(5)将1004H单元内容70 H读出,送至数据寄存器MDR

(6)由于70H是操作码。故将它从MaR中经内部总线送至指令寄存器IR} (7)经指令译码器ID译码,由操作控制器OC发出对应于操作码的控制信号。

;“以下取操作数

(8)将PC内容1005H送MAR o ( 9 ) PC值自动加1。

(10)MAR中内容经地址译码器译码,找到1005H存储单元。 (l1)CPU发读命令。

(12)将1005H单元内容0AH读至MDR。

(13)因OAH是操作数,将它经内部总线暂存作为低8位地址。 (14)将PC内容1006H送MAR 。 (15) PC值自动加1。

(16 ) MAR中内容经地址译码器译码,找到1006H存储单元。 (17) CPU发读命令。

(18)将1006H单元内容lOH读至MDR

(19)因l0H是操作数,将它与暂存的低8位地址形成16位地址。 ;;;以下执行指令

(20)因加法(SCH + 2EH = 8AH)有溢出,将100AH送PC。 (下一步将跳过下一条指令,执行100AH单元指令)

MOV (0200H),A详细执行步骤如下(此指令因加法溢出不执行): (1)将PC内容1007H送地址寄存器MAR。

(2) PC值自动加1,为取下一个字节机器码作准备。

(3) MAR中内容经地址译码器译码,找到内存储器1007H单元。 (4) CPU发读命令。

(5)将1007H单元内容A2H读出,送至数据寄存器MDR 。

(6)由于A2H是操作码,故将它从MDR中经内部总线送至指令寄存器IRo

(7)经指令译码器ID译码,由操作控制器OC发出相应于操作码的控制信号。 ;;;以下取操作数

(8)将PC内容1008H送MAR 。 (9) PC值自动加1

(10) MAR中内容经地址译码器译码,找到1008H存储单元。 (11) CPU发读命令。

(12)将1008H单元内容00H读至MDR 。

(13)因00H是操作数,将它经内部总线暂存作为低8位地址。 (14)将 PC内容1009H送MAR 。 (15) PC值自动加1

(16 ) MAR中内容经地址译码器译码,找到1009H存储单元。 (17) CPU发读命令。

(18)将1009H单元内容02H读至MDR

(19)因02H是操作数,将它与暂存的低8位地址形成16位地址0200H送MAR 。 ;;;以下执行指令 (20 ) CPU发写命令。

(21)将A内容送0200H单元。 HLT详细执行步骤如下:

(1)将PC内容100AH送地址寄存器MAR.

(2) PC值自动加I,为取下一个字节机器码作准备。

(3) MAR中内容经地址译码器译码,找到内存储器100AH单元。 (4) CPU发读命令。

(5)将100AH单元内容F4 H读出,送至数据寄存器MDR。

(6)由于F4是操作码,故将他从MDR中经内部总线送至指令寄存器IR。 (7)经指令译码器译码,由操作控制器OC发出对应于操作码的控制信号 (8)停机。