《计算机组成原理》课后题答案-清华大学出版-秦磊华-吴非··
《计算机组成原理》课后题答案-清华⼤学出版-秦磊华-吴⾮··
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 两台计算机不同指令的CPI
A B C D
CPI1 2 3 4 5
CPI2 2 2 3 4
解:CPI1= 2*0.4+ 0.2*(3+4+5)= 3.2 MIPS1= f/(CPI1106) = 600106/(3.2106)=187.5 CPI2= 2*0.4+ 0.2*(2+3+4)= 2.6 MIPS2=
f/(CPI1106) = 800106/(2.6106)=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=∑=?n i i i IC
IC CPI 1)( = 1 0.4 + 2 0.2 + 2 0.15 + 2 0.25 = 1.6
优化后:A 、B 、C 、D 四类指令在程序中所占⽐例分别为1/4、1/4、3/16、5/16,
CPI=∑=?
n i i i IC
IC CPI 1)( = 1 1/4 + 2 1/4 + 2 3/16 + 2 5/16 = 1.75
2)根据公式MIPS =6CPI 10?时钟频率得
留什么给你孙楠优化前:MIPS = (500106)/(1.6106
) = 312.5
优化后:MIPS = (500106)/(1.75106) = 285.7
3)优化后,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)因为使⽤补码可以将符号位和其他位统⼀处理,同时,减法也可以按加法来处理,即如果是补码表⽰的数,不管是加减法都直接⽤加法运算即可实现。
(2)两个⽤补码表⽰的数相加时,如果最⾼位(符号位)有进位,则进位被舍弃。
这样的运算有两个好处:
(a)使符号位能与有效值部分⼀起参加运算,从⽽简化运算规则。从⽽可以简化运算器的结构,提⾼运算速度;(减法运算可以⽤加法运算表⽰出来。)
(b)加法运算⽐减法运算更易于实现。使减法运算转换为加法运算,进⼀步简化计算机中运算器的线路设计。
3)浮点数的表⽰范围和精确度分别由什么决定?字长⼀定时浮点数的表⽰范围与精确度之间有和关系?
答:浮点数的表⽰范围由阶码的位数决定,精确度由尾数的位数决定。
当机器字长⼀定时,分给阶码的位数越多,尾数占⽤的位数就越少,则数的表⽰范围越⼤。⽽尾数占⽤的位数减少,必然会减少数的有效数位,即影响数的精度。
4)汉字输⼊码、机内码和字型码在汉字处理过程中各有何作⽤?
答:汉字输⼊码、机内码和字型码,分别⽤于汉字的输⼊、汉字在计算机内的处理以及汉字的显⽰和打印。
具体来说,计算机要对汉字信息进⾏处理,⾸先要将汉字转换成计算机可以识别的⼆进制形式并输⼊到计算机,这是由汉字输⼊码完成的;汉字输⼊到计算机后,还需要转换成内码才能被计算机处理,显然,汉字内码也应该是⼆进制形式。如果需要显⽰和打印汉字,还要将汉字的内码转换成字形码。
5)在机内码中如何区分两个ASCII码字符和⼀个汉字?
答:将⼀个汉字看成是两个扩展ASCII码,使表⽰GB2312汉字的两个字节的最⾼位都为1,⽽每个ASCII码字符中每个字节的最⾼位为0。这样就能区别⼀个机内码到底对应⼀个汉字还是两个西⽂字符。
6)“8421码就是⼆进制数”。这种说法对吗?为什么?
答:这种说法是不对的。8421码是⼀种最简单的有权码,它选取4位⼆进制数的前10个代码0000~1001分别对应表⽰⼗进制数的10个数码。若按权求和,和数就等于该代码所对应的⼗进制数。
8421码是⼀种编码⽅式,⽤于⼗进位制与⼆进制数之间的转换。
⽽⼆进制数是⽤0和1两个数码来表⽰的数。⼆者是不同的概念,不能等同。
7)如何识别浮点数的正负?浮点数能表⽰的数值范围和数值的精确度取决于什么?
答:当采⽤⼀般浮点数格式表⽰浮点数时,阶码和尾数都各包含⼀位符号位。浮点数的正负由尾数的的符号位决定。当采⽤IEEE754格式时,通过数符就能判断出浮点数的正负。
浮点数能表⽰的数值范围和数值的精确度,分别取决于阶码的位数和尾数的位数。
8)简述CRC的纠错原理。
答:发送部件将某信息的CRC码传送⾄接收部件,接收部件收到CRC码后,仍⽤约定的⽣成多项式G(x)去除,若余数为0,表⽰传送正确;若余数不为0,表⽰出错,再由余数的值来
确定哪⼀位出错,从⽽加以纠正。具体的纠错原理如下:
(1)不论错误出现在哪⼀位,均要通过将出错位循环左移到最左边的⼀位上时被纠正;
(2)不为零余数的具有循环特性。即在余数后⾯补⼀个零除以⽣成多项⽬式,将得到下⼀个余数,继续在新余数基础上补零除以⽣成多项式,继续该操作,余数最后能循环到最开始的余数。
枸杞功效与作用(3)CRC就是利⽤不为零余数的循环特性,在循环计算余数的同时,将收到的CRC编码同步移动,当余数循环到等于最左边位出错对应的余数时,表明已将出错的位移到CRC码的最左边,对出错位进⾏纠错。
(4)继续进⾏余数的循环计算,并同步移动CRC编码,当余数⼜回到最开始的值时,纠错后的CRC码⼜回到了最开始的位置。⾄此,完成CRC的纠错任务。
2.3 写出下列各数的原码、反码和补码。
0,⼀0, 0.10101,⼀0.10101, 0.11111,⼀0.11111,-0.10000, 0.10000 解:
x=0,则[+0]原= 0.00…0 , [+0 ]反= 0.00…0,[+0]补=0.00…0;
x=-0,则[-0]原= 1.00…0,[-0]反= 1.11…l,[-0]补=0.00…0;
x=0.10101,则[x]原=0.10101,[x]反=0.10101,[x]补=0.10101;
x=⼀0.10101,则[x]原=1.10101,[x]反=1.01010,[x]补=1.01011;
x=0.11111,则[x]原=0.11111,[x]反=0.00000,[x]补=0.00001;
x=⼀0.11111,则[x]原=1.11111,[x]反=1.00000,[x]补=1.00001;儿歌一只哈巴狗
x=-0.10000,则[x]原=1.10000,[x]反=1.01111,[x]补=1.10000;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。