《计算机组成原理》课程习题答案秦磊华文档格式.docx

上传人:b****3 文档编号:7188560 上传时间:2023-05-08 格式:DOCX 页数:111 大小:481.17KB
下载 相关 举报
《计算机组成原理》课程习题答案秦磊华文档格式.docx_第1页
第1页 / 共111页
《计算机组成原理》课程习题答案秦磊华文档格式.docx_第2页
第2页 / 共111页
《计算机组成原理》课程习题答案秦磊华文档格式.docx_第3页
第3页 / 共111页
《计算机组成原理》课程习题答案秦磊华文档格式.docx_第4页
第4页 / 共111页
《计算机组成原理》课程习题答案秦磊华文档格式.docx_第5页
第5页 / 共111页
《计算机组成原理》课程习题答案秦磊华文档格式.docx_第6页
第6页 / 共111页
《计算机组成原理》课程习题答案秦磊华文档格式.docx_第7页
第7页 / 共111页
《计算机组成原理》课程习题答案秦磊华文档格式.docx_第8页
第8页 / 共111页
《计算机组成原理》课程习题答案秦磊华文档格式.docx_第9页
第9页 / 共111页
《计算机组成原理》课程习题答案秦磊华文档格式.docx_第10页
第10页 / 共111页
《计算机组成原理》课程习题答案秦磊华文档格式.docx_第11页
第11页 / 共111页
《计算机组成原理》课程习题答案秦磊华文档格式.docx_第12页
第12页 / 共111页
《计算机组成原理》课程习题答案秦磊华文档格式.docx_第13页
第13页 / 共111页
《计算机组成原理》课程习题答案秦磊华文档格式.docx_第14页
第14页 / 共111页
《计算机组成原理》课程习题答案秦磊华文档格式.docx_第15页
第15页 / 共111页
《计算机组成原理》课程习题答案秦磊华文档格式.docx_第16页
第16页 / 共111页
《计算机组成原理》课程习题答案秦磊华文档格式.docx_第17页
第17页 / 共111页
《计算机组成原理》课程习题答案秦磊华文档格式.docx_第18页
第18页 / 共111页
《计算机组成原理》课程习题答案秦磊华文档格式.docx_第19页
第19页 / 共111页
《计算机组成原理》课程习题答案秦磊华文档格式.docx_第20页
第20页 / 共111页
亲,该文档总共111页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《计算机组成原理》课程习题答案秦磊华文档格式.docx

《《计算机组成原理》课程习题答案秦磊华文档格式.docx》由会员分享,可在线阅读,更多相关《《计算机组成原理》课程习题答案秦磊华文档格式.docx(111页珍藏版)》请在冰点文库上搜索。

《计算机组成原理》课程习题答案秦磊华文档格式.docx

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

解:

CPI1=2*0.4+0.2*(3+4+5)=3.2MIPS1=f/(CPI1?

106)=600?

106/(3.2?

106)=187.5

CPI2=2*0.4+0.2*(2+3+4)=2.6MIPS2=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=

=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,

1/4+2?

3/16+2?

5/16

=1.75

2)根据公式MIPS=

优化前:

MIPS=(500?

106)/(1.6?

106)=312.5

106)/(1.75?

106)=285.7

3)优化后,A类指令条数减少,造成计算机的CPI增加,MIPS减少。

这样的优化虽然减少了A类指令条数,却降低了程序的执行速度。

1.1各代计算机是以什么作为基本元件设计制造的?

1.2计算机的应用可体现在哪几个方面?

1.3计算机硬件系统由哪几大部件组成?

各部件的主要功能是什么?

1.4系统软件和应用软件的异同点是什么?

1.5计算机系统可分为哪几个层次?

层次之间有何关系?

(试举例说明)

1.6什么是计算机硬件和软件?

为什么说往往硬件和软件在逻辑功能上是等价的?

1.7主存储器中存放着大量信息,怎样从中取出指定的信息?

1.8运算器能实现哪些基本运算?

1.9控制器产生控制信号由哪些因素决定?

1.10解释下列术语:

位字节字双字字长存储单元

地址ALUCPU主机外设固件

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

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;

x=0.10000,则[x]原=0.10000,[x]反=0.10000,[x]补=0.10000。

2.4已知数的补码表示形式,求数的真值。

[x]补=0.10010,[x]补=1.10010,[x]补=1.11111,

[x]补=1.00000,[x]补=0.10001,[x]补=1.00001,

[x]补=0.10010,则[x]原=0.10010,x=0.10010;

[x]补=1.10010,则[x]原=1.01101,x=-0.01101;

[x]补=1.11111,则[x]原=1.00000,x=-0;

[x]补=1.00000,则[x]原=1.11111,x=-0.11111;

[x]补=0.10001,则[x]原=0.10001,x=0.10001;

[x]补=1.00001,则[x]原=1.11110,x=-0.11110。

2.5已知x=0.10110,y=—0.01010,求:

[x/2]补,[x/4]补,[y/2]补,[2y]补

[x]原=0.10110=[x]反=[x]补,

所以[x/2]补=0.010110,[x/4]补=0.0010110;

[y]原=1.01010,[y]反=1.10101,[y]补=1.10110,

所以[y/2]补=1.110110,[2y]补=1.0110。

2.6C语言中允许无符号数和有符号整数之间的转换,下面是一段C语言代码:

Intx=-1;

U

Printf(“x=%u=%d\n”,x,x);

Printf(“u=%u=%d\n”,u,u);

给出在32位计算机中上述程序段的输出结果并分析原因.

u=231是一个无符号数,无溢出,由于首位为1

%d第一位为符号位,所以是负数,取反加1还是231

2.7分析下列几种情况下所能表示的数据范围分别是多少

1)16位无符号数;

2)16位原码定点小数;

3)16位补码定点小数;

4)16位补码定点整数;

1)16位无符号数:

0~1111111111111111,即0~216-1=65535

2)16位原码定点小数:

1.111111111111111~0.111111111111111,即-(1-2-15)~1-2-15

3)16位补码定点小数:

1.000000000000000~0.111111111111111,即-1~1-2-15

4)16位补码定点整数:

1000000000000000~0111111111111111,即-215~215-1

2.8用补码表示8位二进制整数,最高位用一位表示符号(即形如x0x1x2x3x4x5x6x7)时,模应为多少?

因为8位二进制数补码的表示范围为:

-128~127一共有256个数,所以模为256。

2.9用IEEE75432位浮点数标准表示十进制数

a)

b)3.1415927c)64000

a)首先分别将整数和分数部分转换成二进制数:

=-110.101

移动小数点,使其变成1.M的形式:

-110.101=-1.10101*22

于是得到:

S=0,e=2,E=10+01111111=M=10101

最后得到32位浮点数的二进制存储格式为:

11000000110101000000000000000000=(C0D40000)16

b)首先分别将整数和分数部分转换成二进制数:

3.1415927=

移动小数点,使其变成1.M的形式

S=0,e=1,E=1+01111111=,M=

01000000010010010000111111011010=(40490FDA)16

c)首先将6400转换成二进制数:

64000

00×

212

S=0,e=12,E=1100+01111111=M=1001

01000101110010000000000000000000=(45C80000)16

1000011100101000000000000000000)2

2-127=8,M=1.00101

2.11求32位IEEE754浮点数能表示的最大数和最小数。

用IEEE754格式(E的取值范围:

1~254,留出全0和全1分别表示0和无穷大)

313023220

S

E

M

(1)最大数的二进制表示:

即2127(2-2-23)

(2)最小数的二进制表示:

即-2127(2-2-23)

2.12设有两个正浮点数:

N1=2m×

M1,N2=2n×

M2。

(1)若m>n,是否有N1>N2?

(2)若M1和M2是规格化的数,上述结论是否正确?

(1)不一定。

例如,N1=23×

0.001,N2=22×

0.01,此时m>n,却有N1=N2。

再如,N1=23×

0.1,此时m>n,却有N1<N2。

(2)正确。

因为浮点数规格化,要求尾数的最高位为非0数码,即当尾数的值不为零时,其绝对值应大于或等于(1/2)10。

那么M1和M2都必须是0.1×

×

…×

的形式。

这时,若m>

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2