软件设计师考试考点突破、案例分析、实战练习一本通(2014版)

2018-11-17 19:05

软件设计师 http://www.educity.cn/jiaocheng/zg7.html

软件设计师考试考点突破、案例分析、实战练习一本通

(2014版)

第 1 章 计算机硬件基础知识

根据考试大纲,本章要求考生掌握以下几个方面的知识点。

(1)数据的表示:数制及其转换、原码、反码、补码、移码、浮点数、溢出、算术运算、逻辑运算、校验码。

(2)计算机系统的组成、体系结构分类及特性:CPU、存储器的组成、性能和基本工作原理、常用I/O设备、通信设备的性能及基本工作原理、I/O接口的功能、类型和特性、CISC/RISC、流水线操作、多处理机、并行处理。

(3)存储系统:虚拟存储器基本工作原理、多级存储体系、RAID类型和特性。

(4)可靠性与系统性能评测基础知识:诊断与容错、系统可靠性分析评价、校验方法、计算机系统性能评测方法。

1.1 考点突破

从历年的考试情况来看,本章的考点主要集中以下方面。

在数据的表示中,主要考浮点数运算、溢出、算术、逻辑运算。

在计算机系统的组成与体系结构中,主要考查计算机体系结构分类、指令系统基础、CISC与RISC、流水线操作的相关内容。 在存储系统中,主要考查Cache存储器。

在可靠性与系统性能评测基础知识中,主要考查系统可靠性分析和校验方法。

软件设计师 http://www.educity.cn/jiaocheng/zg7.html

1.1.1 数据的表示

数据的表示部分包含了数据转换、原码、反码、补码、移码以及浮点运算知识。其中难点是浮点计算。 1. 数制转换

(1)R进制数转换成十进制数

R进制数转换成十进制数通常使用按权展开法。具体操作方式为:将R进制数的每一位数值用Rk形式表示,即幂的底数是R,指数为k,k与该位和小数点之间的距离有关。当该位位于小数点左边,k值是该位和小数点之间数码的个数,而当该位位于小数点右边,k值是负值,其绝对值是该位和小数点之间数码的个数加1. 例如二进制数l0100.01的值可计算如下: l0100.01=1×24+1×22+1×2-2

按照上面的表示法,即可计算出R进制数十进制的值。 (2)十进制数转换为R进制数

最常用的是\除以R取余法\例如将十进制数94转换为二进制数: 2∟94 余 0 2∟47 1 2∟23 1 2∟11 1 2∟5 1 2∟2 0 1 1

软件设计师 http://www.educity.cn/jiaocheng/zg7.html

将所得的余数从低位到高位排列(1011110)2就是94的二进制数。 (3)二进制数与八进制数、十六进制数之间的转换 ? 二进制转八进制:将每3个二进制数转换为八进制数; ? 二进制转十六进制数:将每4个二进制数转换为八进制数; ? 八进制转二进制:将每个八进制数转换为3位二进制数; ? 十六进制转二进制:将每个十六进制数转换为4位二进制数。

上面的转换都是以小数点作为计算数码个数的起点。八进制数和十六进制数转换可先转换为二进制数,然后再转换为目标进制。 2. 原码、反码、补码、移码

在计算机中,数据编码方式可以有多种,最为常见的有原码、反码、补码、移码。一个正数的原码、补码、反码是相同的,负数则不同。 (1)原码

将最高位用做符号位(0表示正数,1表示负数),其余各位代表数值本身的绝对值的表示形式。这种方式是最容易理解的。

例如,+1 的原码是0000 0001,–1 的原码是1000 0001.

但是直接使用原码在计算时却会有麻烦,比如(1)10+(–1)10 = 0,如果直接使用原码则:

(0000 0001)2+(1000 0001)2=(1000 0010)2

这样计算的结果是–2,也就是说,使用原码直接参与计算可能会出现错误的结果。所以,原码的符号位不能直接参与计算,必须和其它位分开,这样会增加硬件的开销和复杂性。 (2)反码

软件设计师 http://www.educity.cn/jiaocheng/zg7.html

正数的反码与原码相同。负数的反码符号位为1,其余各位为该数绝对值的原码按位取反。这个取反的过程使得这种编码称为\反码\ 例如,–1的反码:1111 1110 .

同样对上面的加法,使用反码的结果是:

(0000 0001)2+ (1111 1110)2 = (1111 1111)2

这样的结果是负0,而在人们普遍的观念中,0是不分正负的。反码的符号位可以直接参与计算,而且减法也可以转换为加法计算。 (3)补码

正数的补码与原码相同。负数的补码是该数的反码加1,这个加1就是\补\ 例如,–1的补码:1111 1110+1 = 1111 1111。 再次做加法是这样的:

(0000 0001)2 + (1111 1111)2 = (0000 0000)2 直接使用补码进行计算的结果是正确的。

对一个补码表示的数,要计算其原码,只要对它再次求补,可得该数的原码。 由于补码能使符号位与有效值部分一起参加运算,从而简化运算规则,同时它也使减法运算转换为加法运算,进一步简化计算机中运算器的电路,这使得在大部分计算机系统中,数据都使用补码表示。 (3)移码

移码是对补码的符号位取反得到的一种编码。移码只用于表示浮点数的阶码,所以只用于整数。

例如,-1的移码为:0111 1111.

软件设计师 http://www.educity.cn/jiaocheng/zg7.html

3. 浮点数计算

在数学中,要表示一个很大的数时,我们常常使用一种称为科学计数法的方式: N = M*Re

其中M称为尾数,e是指数,R为基数。

浮点数就是使用这种方法来表示大范围的数,其中指数一般是2,8,16.而且对于特定机器而言,指数是固定不变的,所以在浮点数中指数并不出现。从这个表达式可以看出:浮点数表示的精读取决于尾数的宽度,范围取决于基数的大小和指数的宽度。 浮点数的运算主要有三个步骤:对阶、尾数计数、结果格式化。 (1)对阶

首先计算两个数的指数差,把指数小的向指数大的对齐,并将尾数右移指数差的位数,这样两个浮点数就完成了对阶的操作。可以看出,对阶的过程可能使得指数小的浮点数失去一些有效位。如果两个浮点数阶数相差很大,大于指数小的浮点数的尾数宽度,那么对阶后那个浮点数的尾数就变成了0,即当做机器零处理了。 (2)尾数计算

对阶完成后,两个浮点数尾数就如同定点数,计算过程同定点数计算。 (3)结果格式化

尾数计算后,可能会产生溢出,此时将尾数右移,同时指数加1,如果指数加1后发生了溢出,则表示两个浮点数的运算发生了溢出。

如果尾数计算没有溢出,则尾数不断左移,同时指数减1,直到尾数为格式化数。如果这个过程中,指数小于机器能表达的最小数,则将结果置\机器零\这种情况称为下溢。

1.1.2 计算机系统的组成与体系结构


软件设计师考试考点突破、案例分析、实战练习一本通(2014版).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:“六面整体浑圆力”速成秘法(免费下载)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: