第一章系统给概论习题一1.l解释下列名词摩尔定律:对集成电路上可容纳的晶体管数目、性能和价格等发展趋势的预测,其主要内容是:成集电路上可容纳的晶体管数量每18个月翻一番,性能将提高一倍,而其价格将降低一半。主存:计算机中存放正在运行的程序和数据的存储器,为计算机的主要工作存储器,可随机存取。控制器:计算机的指挥中心,它使计算机各部件自动协调地工作。时钟周期:时钟周期是时钟频率的倒数,也称为节拍周期或T周期,是处理操作最基本的时间单位。多核处理器:多核处理器是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。字长:运算器一次运算处理的二进制位数。存储容量:存储器中可存二进制信息的总量。CPI:指执行每条指令所需要的平均时钟周期数。MIPS:用每秒钟执行完成的指令数量作为衡量计算机性能的一个指标,该指标以每秒钟完成的百万指令数作为单位。CPU时间:计算某个任务时CPU实际消耗的时间,也即CPU真正花费在某程序上的时间。计算机系统的层次结构:计算机系统的层次结构由多级构成,一般分成5级,由低到高分别是:微程序设计级,机器语言级,操作系统级,汇编语言级,高级语言级。基准测试程序:把应用程序中使用频度最高的那那些核心程序作为评价计算机性能的标准程序。软/硬件功能的等价性:从逻辑功能的角度来看,硬件和软件在完成某项功能上是相同的,称为软/硬件功能是等价的,如浮点运算既可以由软件实现,也可以由专门的硬件实现。固件:是一种软件的固化,其目的是为了加快软件的执行速度。可靠性:可靠性是指系统或产品在规定的条件和规定的时间内,完成规定功能的能力。产品可靠性定义的要素是三个“规定”:“规定条件”、“规定时间”和“规定功能”。MTTF:平均无故障时间,指系统自使用以来到第一次出故障的时间间隔的期望值。MTTR:系统的平均修复时间。MTBF:平均故障间隔时间,指相邻两次故障之间的平均工作时间。可用性:指系统在任意时刻可使用的概率,可根据MTTF、MTTR和MTBF等指标计算处系统的可用性。1.2什么是计算机系统的硬件和软件?为什么说计算机系统的硬件和软件在逻辑功能上是等价的?答:计算机硬件系统是指构成计算机系统的电子线路和电子元件等物理设备的总称。硬件是构成计算机的物质基础,是计算机系统的核心。计算机的硬件系统包含运算器、控制器、存储器、输入设备和输出设备等五大部件。计算机软件是计算机中全部程序的集合。软件按其功能分成应用软件和系统软件两大类。计算机硬件实现的往往是最基本的算术运算和逻辑运算功能,而其它功能大多是通过软件的扩充得以实现的。有许多功能可以由硬件实现,也可以由软件实现,即从用户的角度来看它们在功能上是等价的,这一等价性被称为软/硬件逻辑功能的等价性。1.3冯·诺依曼型计算机的基本思想是什么?按此思想设计的计算机硬件系统应由哪些部件组成?各起什么作用?答:冯诺依曼型计算机的基本思想是存储程序和程序控制,其中的“存储程序”是指将解题的步骤编写成程序,然后把存储存放到计算机的内存中,而“程序控制”是指控制器读出存放在存储器中的程序并根据该程序控制全机协调工作以完成程序的功能。根据冯诺依曼型计算机的基本思想,计算机的硬件应该由运算器、控制器、存储器、输入/输出设备和总线组成。各部件的作用:运算器:对数据进行运算的部件。存储器:存放程序和数据。控制器:根据指令的功能控制构成计算机的各大功能部件协调工作,共同完成指令的功能。输入设备:将外部信息输送到主机内部的设备。输出设备:能将计算机内部的信息以不同并且相应的形式反馈给人们的设备。总线:连接两个或多个设备(部件)的公共信息通路。1.4什么是计算机字长?它取决于什么?计算机字长统一了哪些部件的长度?答:计算机的字长一般指一次参与运算数据的基本长度,用二进制数位的长度来衡量。它取决于运算器一次运算处理的二进制位数。它是计算机的重要性能指标。常用的计算机字长有8位、16位、32位及64位。一般与计算机内部寄存器、加法器、数据总线的位数以及存储器字长等长,因此,字长直接影响硬件的代价。1.5计算机系统从功能上可划分为哪些层次?各层次在计算机系统中起什么作用?答:计算机系统分成五级层次结构,第1级为微程序设计级、第2级为机器语言级、第3级为操作系统级、第4级为汇编语言级、第5级为高级语言级。各层次的作用:微程序级:为机器指令级提供机器指令的解释指行功能。机器指令级:是软件系统和硬件系统的界面,一条机器指令的功能由微程序机器级的一段微型程序的功能实现。操作系统级:调度计算机中的软件和硬件资源。汇编语言级:它将用户编写的接近人类语言的程序,翻译成能在机器上运行的目标程序。高级语言级:完全面向用户,是用户关心的目标,可执行各种用途的程序。1.6计算机内部有哪两股信息在流动?它们彼此有什么关系?答:计算机中有两股信息在流动:一股是控制信息,即操作命令,它分散流向各个部件;一股是数据信息,它受控制信息的控制,从一个部件流向另一个部件,在流动的过程被相应的部件加工处理。1.7为什么说计算机系统的软件与硬件可以互相转化?答:计算机硬件实现的往往是最基本的算术运算和逻辑运算功能,而其它功能大多是通过软件的扩充得以实现的。有许多功能可以由硬件实现,也可以由软件实现,即从用户的角度来看它们在功能上是等价的,这一等价性被称为软/硬件逻辑功能的等价性。由于这样的等价性,所以可以说计算机系统的软件与硬件是可以互相转化的。1.8什么叫软件系统?它包含哪些内容?答:一台计算机中全部程序的集合,统称为这台计算机的软件系统。软件按其功能分成应用软件和系统软件两大类。应用软件是用户为解决某种应用问题而编制的一些程序。系统软件用于对计算机系统的管理、调度、监视和服务等功能,常将系统软件分为以下六类:操作系统,言处理程序,标准程序库,服务性程序,数据库管理系统和算机网络软件。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两台计算机不同指令的CPIABCDCPI12345CPI22234解:CPI1=2*0.4+0.2*(3+4+5)=3.2MIPS1=f/(CPI1106)=600106/(3.2106)=187.5CPI2=2*0.4+0.2*(2+3+4)=2.6MIPS2=f/(CPI1106)=800106/(2.6106)=307.71.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=niiiICICCPI1)(=10.4+20.2+20.15+20.25=1.6优化后:A、B、C、D四类指令在程序中所占比例分别为1/4、1/4、3/16、5/16,CPI=niiiICICCPI1)(=11/4+21/4+23/16+25/16=1.752)根据公式MIPS=6CPI10时钟频率得优化前:MIPS=(500106)/(1.6106)=312.5优化后:MIPS=(500106)/(1.75106)=285.73)优化后,A类指令条数减少,造成计算机的CPI增加,MIPS减少。这样的优化虽然减少了A类指令条数,却降低了程序的执行速度。第二章数据表示方法习题二2.1解释下列名词真值:正号和负号分别用“+”和“-”表示,数据位保持二进制值不变的数据表示方法。数值数据:计算机所支持的一种数据类型,用于科学计算,常见的数值数据类型包括小数、整数、浮点数数等。非数值数据:计算机所支持的一种数据类型,一般用来表示符号或文字等没有数值值的数据。机器数:数据在机器中的表示形式,是正负符号数码化后的二进制数据。变形补码:用两个二进制位来表示数字的符号位,其余与补码相同。即“00”表示正,“11”表示负。规格化:将非规格化的数处理成规格化数的过程。规格化数规定尾数用纯小数表示,且真值表示时小数点后第一位不为0(以机器数表示时对小数点后第一位的规定与具体的机器数的形式有关)。机器零:计算机保存数字的位有限,所能表示最小的数也有范围,其中有一个范围之中的数据无法精确表示,当实际的数据处在这个无法精确表示的数据范围时计算机就将该数作为机器零来处理,因此,计算机中的机器零其实对应的不是一个固定的数,而是一个数据表示范围。BCD码:用4位二进制数来表示1位十进制数中的0~9这10个数码,即二进制表示的十进制数。汉字内码:计算机内部存储、处理加工和传输汉字时所用的由0和1符号组成的代码。码距:一组编码中对应位上数字位不同的最小个数。奇偶校验:通过检测校验码中1的个数的奇/偶性是否改变来判断数据是否出错的一种数据校验方法。海明校验:是一种基于多重奇校验且具有检测与纠正错误的校验方法。其基本原理是将有效信息按某种规律分成若干组,每组安排一个校验位进行奇偶测试,就能提供多位检错信息,以指出最大可能是哪位出错,从而将其纠正。循环冗余校验:是数据通信领域中最常用的一种具有检测与纠正错误能力差错校验码,基利用生成多项式并基于模2运算建立编码规则。检错:检测被传送的信息中是否发生差错。纠错:纠正信息在传送或存储过程中所发生的错误。2.2回答下列问题1)为什么计算机中采用二进制?答:因为二进制具有运算简单和表示简单的优点,除此之外还有可靠和容易实现等特点。具体来说,是因为:(1)技术实现简单,计算机是由逻辑电路组成,逻辑电话通常只有两个状态,开关的接通与断开,这两种状态正好可以用“1”和“0”表示。(2)简化运算规则:两个二进制数和、积运算组合各有三种,运算规则简单,有利于简化计算机内部结构,提高运算速度。(3)适合逻辑运算:逻辑代数是逻辑运算的理论依据,二进制只有两个数码,正好与逻辑代数中的“真”和“假”相吻合。(4)易于进行转换,二进制与十进制数易于互相转换。2)为什么计算机中采用补码表示带符号的整数?答:采用补码运算具有如下两个特征:(1)因为使用补码可以将符号位和其他位统一处理,同时,减法也可以按加法来处理,即如果是补码