【计算机组成原理】课后题答案解析清华大学出版秦磊华吴非·· 下载本文

答:一台计算机中全部程序的集合,统称为这台计算机的软件系统。软件按其功能分成应用软件和系统软件两大类。

应用软件是用户为解决某种应用问题而编制的一些程序。

系统软件用于对计算机系统的管理、调度、监视和服务等功能,常将系统软件分为以下六类:操作系统,言处理程序,标准程序库,服务性程序,数据库管理系统和算机网络软件。

1.9 说明高级语言、汇编语言和机器语言三者之间的差别和联系。

答:机器语言是直接用二进制代码指令表达的计算机语言,是一种面向机器的编程语言,属于低级语言。

汇编语言是用助记符号来表示计算机指令的语言,也是低级的语言。

高级语言是一类接近于人类自然语言和数学语言的程序设计语言的统称,分为面向过程的语言和面向对象的语言。

它们都是计算机的编程语言,并且是计算机编程语言发展的三个阶段。三者各自的特点: 使用机器语言编写的程序,占用内存少、执行效率高。缺点:编程工作量大,容易出错;依赖具体的计算机体系,因而程序的通用性、移植性都很差。

使用汇编语言编写计算机程序,能够根据特定的应用对代码做最佳的优化,提高运行速度;能够最大限度地发挥硬件的功能。但是编写的代码非常难懂,不好维护;开发效率很低,时间长且单调。

高级语言的优点是:编程相对简单、直观、易理解、不容易出错;编写的计算机程序通用性好,具有较好的移植性。

1.10 什么是系统的可靠性?衡量系统可靠性的指标有哪些?如何提高系统的可靠性?

答:系统的可靠性是指系统在规定的条件和规定的时间内,完成规定功能的能力。

衡量系统可靠性的指标有三个:平均无故障时间、平均故障间隔时间和可用性。 提高系统可靠性的常用方法包括避错和容错。前者即避免错误的出现,从而提高系统的平均无故障时间;后者容许错误的出现,但采取有效的方法来防止其造成的不利影响。

1.11 假定某计算机1和计算机2以不同的方式实现了相同的指令集,该指令集中共有A、B、C、D四类指令,它们在程序中所占比例分别为40%、20%、20%、20%,机器1和机器2的时钟周期为600MHZ和800MHZ,各类指令在两机器上的CPI如表1.5所示,求两机器的MIPS各为多少?

表1.5 两台计算机不同指令的CPI

CPI1 CPI2

A 2 2

B 3 2

C 4 3

D 5 4

解:CPI1= 2*0.4+ 0.2*(3+4+5)= 3.2 MIPS1= f/(CPI1?106) = 600?106/(3.2?106)=187.5 CPI2= 2*0.4+ 0.2*(2+3+4)= 2.6 MIPS2= f/(CPI1?106) = 800?106/(2.6?106)=307.7

1.12 若某程序编译后生成的目标代码由A、B、C、D四类指令组成,它们在程序中所占比例分别为40%、20%、15%、25%。已知A、B、C、D四类指令的CPI分别为1、2、2、2。现需要对程序进行编译优化,优化后的程序中A类指令条数减少了一半,而其它指令数量未发生变化。假设运行该程序的计算机CPU主频为500MHZ。完成下列各题: 1)优化前后程序的CPI各为多少?

2)优化前后程序的MIPS各为多少?

3)通过上面的计算结果你能得出什么结论? 解:1)优化前:CPI=

?(CPIi?i?1nICi) = 1? 0.4 + 2? 0.2 + 2? 0.15 + 2? 0.25 IC= 1.6

优化后:A、B、C、D四类指令在程序中所占比例分别为1/4、1/4、3/16、5/16,

CPI=

?(CPIi?i?1nICi) = 1? 1/4 + 2? 1/4 + 2? 3/16 + 2? 5/16 IC= 1.75

时钟频率2)根据 公式MIPS =CPI ? 106得

优化前:MIPS = (500?106)/(1.6?106) = 312.5 优化后:MIPS = (500?106)/(1.75?106) = 285.7

3)优化后,A类指令条数减少,造成计算机的CPI增加,MIPS减少。这样的优化虽然减少了A类指令条数,却降低了程序的执行速度。

第二章 数据表示方法 习 题 二

2.1解释下列名词

真值:正号和负号分别用“+”和“-”表示,数据位保持二进制值不变的数据表示方法。 数值数据:计算机所支持的一种数据类型,用于科学计算,常见的数值数据类型包括小数、整数、浮点数数等。

非数值数据:计算机所支持的一种数据类型,一般用来表示符号或文字等没有数值值的数据。 机器数:数据在机器中的表示形式,是正负符号数码化后的二进制数据。

变形补码:用两个二进制位来表示数字的符号位,其余与补码相同。即“00”表示正,“11”表示负。

规格化:将非规格化的数处理成规格化数的过程。规格化数规定尾数用纯小数表示,且真值表示时小数点后第一位不为0(以机器数表示时对小数点后第一位的规定与具体的机器数的形式有关)。

机器零:计算机保存数字的位有限,所能表示最小的数也有范围,其中有一个范围之中的数据无法精确表示,当实际的数据处在这个无法精确表示的数据范围时计算机就将该数作为机器零来处理,因此,计算机中的机器零其实对应的不是一个固定的数,而是一个数据表示范围。

BCD码:用4位二进制数来表示1位十进制数中的0~9这10个数码,即二进制表示的十进制数。

汉字内码:计算机内部存储、处理加工和传输汉字时所用的由0和1符号组成的代码。 码距:一组编码中对应位上数字位不同的最小个数。

奇偶校验:通过检测校验码中1的个数的奇/偶性是否改变来判断数据是否出错的一种数据