您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 软件设计师考试考点突破案例分析实战练习一本通(2014版)
软件设计师软件设计师考试考点突破、案例分析、实战练习一本通(2014版)第1章计算机硬件基础知识根据考试大纲,本章要求考生掌握以下几个方面的知识点。(1)数据的表示:数制及其转换、原码、反码、补码、移码、浮点数、溢出、算术运算、逻辑运算、校验码。(2)计算机系统的组成、体系结构分类及特性:CPU、存储器的组成、性能和基本工作原理、常用I/O设备、通信设备的性能及基本工作原理、I/O接口的功能、类型和特性、CISC/RISC、流水线操作、多处理机、并行处理。(3)存储系统:虚拟存储器基本工作原理、多级存储体系、RAID类型和特性。(4)可靠性与系统性能评测基础知识:诊断与容错、系统可靠性分析评价、校验方法、计算机系统性能评测方法。1.1考点突破从历年的考试情况来看,本章的考点主要集中以下方面。在数据的表示中,主要考浮点数运算、溢出、算术、逻辑运算。在计算机系统的组成与体系结构中,主要考查计算机体系结构分类、指令系统基础、CISC与RISC、流水线操作的相关内容。在存储系统中,主要考查Cache存储器。在可靠性与系统性能评测基础知识中,主要考查系统可靠性分析和校验方法。软件设计师数据的表示数据的表示部分包含了数据转换、原码、反码、补码、移码以及浮点运算知识。其中难点是浮点计算。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余02∟4712∟2312∟1112∟512∟2011软件设计师将所得的余数从低位到高位排列(1011110)2就是94的二进制数。(3)二进制数与八进制数、十六进制数之间的转换?二进制转八进制:将每3个二进制数转换为八进制数;?二进制转十六进制数:将每4个二进制数转换为八进制数;?八进制转二进制:将每个八进制数转换为3位二进制数;?十六进制转二进制:将每个十六进制数转换为4位二进制数。上面的转换都是以小数点作为计算数码个数的起点。八进制数和十六进制数转换可先转换为二进制数,然后再转换为目标进制。2.原码、反码、补码、移码在计算机中,数据编码方式可以有多种,最为常见的有原码、反码、补码、移码。一个正数的原码、补码、反码是相同的,负数则不同。(1)原码将最高位用做符号位(0表示正数,1表示负数),其余各位代表数值本身的绝对值的表示形式。这种方式是最容易理解的。例如,+1的原码是00000001,–1的原码是10000001.但是直接使用原码在计算时却会有麻烦,比如(1)10+(–1)10=0,如果直接使用原码则:(00000001)2+(10000001)2=(10000010)2这样计算的结果是–2,也就是说,使用原码直接参与计算可能会出现错误的结果。所以,原码的符号位不能直接参与计算,必须和其它位分开,这样会增加硬件的开销和复杂性。(2)反码软件设计师正数的反码与原码相同。负数的反码符号位为1,其余各位为该数绝对值的原码按位取反。这个取反的过程使得这种编码称为反码.例如,–1的反码:11111110.同样对上面的加法,使用反码的结果是:(00000001)2+(11111110)2=(11111111)2这样的结果是负0,而在人们普遍的观念中,0是不分正负的。反码的符号位可以直接参与计算,而且减法也可以转换为加法计算。(3)补码正数的补码与原码相同。负数的补码是该数的反码加1,这个加1就是补.例如,–1的补码:11111110+1=11111111。再次做加法是这样的:(00000001)2+(11111111)2=(00000000)2直接使用补码进行计算的结果是正确的。对一个补码表示的数,要计算其原码,只要对它再次求补,可得该数的原码。由于补码能使符号位与有效值部分一起参加运算,从而简化运算规则,同时它也使减法运算转换为加法运算,进一步简化计算机中运算器的电路,这使得在大部分计算机系统中,数据都使用补码表示。(3)移码移码是对补码的符号位取反得到的一种编码。移码只用于表示浮点数的阶码,所以只用于整数。例如,-1的移码为:01111111.软件设计师浮点数计算在数学中,要表示一个很大的数时,我们常常使用一种称为科学计数法的方式:N=M*Re其中M称为尾数,e是指数,R为基数。浮点数就是使用这种方法来表示大范围的数,其中指数一般是2,8,16.而且对于特定机器而言,指数是固定不变的,所以在浮点数中指数并不出现。从这个表达式可以看出:浮点数表示的精读取决于尾数的宽度,范围取决于基数的大小和指数的宽度。浮点数的运算主要有三个步骤:对阶、尾数计数、结果格式化。(1)对阶首先计算两个数的指数差,把指数小的向指数大的对齐,并将尾数右移指数差的位数,这样两个浮点数就完成了对阶的操作。可以看出,对阶的过程可能使得指数小的浮点数失去一些有效位。如果两个浮点数阶数相差很大,大于指数小的浮点数的尾数宽度,那么对阶后那个浮点数的尾数就变成了0,即当做机器零处理了。(2)尾数计算对阶完成后,两个浮点数尾数就如同定点数,计算过程同定点数计算。(3)结果格式化尾数计算后,可能会产生溢出,此时将尾数右移,同时指数加1,如果指数加1后发生了溢出,则表示两个浮点数的运算发生了溢出。如果尾数计算没有溢出,则尾数不断左移,同时指数减1,直到尾数为格式化数。如果这个过程中,指数小于机器能表达的最小数,则将结果置机器零,这种情况称为下溢。1.1.2计算机系统的组成与体系结构软件设计师在计算机系统的组成与体系结构中,计算机体系结构分类、指令系统基础、CISC与RISC、流水线操作等内容是最为重要的,下面将详细介绍这几个方面的知识。1.计算机体系结构分类计算机体系结构分类有多种方式,其中最为常见的是:Flynn分类法与冯氏分类法。而考试中主要考查的是Flynn分类法。Flynn分类法是根据指令流、数据流和多倍性三方面来进行分类的,如表1-3所示。表1-3Flynn分类法2.计算机的硬件组成计算机硬件系统由运算器、控制器、存储器、输入设备和输出设备五大部件组成。其中运算器和控制器组成中央处理器(CPU)。运算器负责完成算术、逻辑运算功能,通常由ALU(算术/逻辑单元)、寄存器、多路转换器、数据总线组成;控制器则负责依次访问程序指令,进行指令译码,并协调其他设备,通常由程序计数器(PC)、指令寄存器、指令译码器、状态/条件寄存器、时序发生器、微操作信号发生器组成。3.指令系统基础软件设计师在计算机中,CPU都会定义出自己特定的指令系统,不过都遵循着统一的标准格式。指令的基本格式是由操作码和地址码两个部分组成的。操作码指出该指令要完成什么操作,地址码则是提供原始的数据。指令系统中定义操作码的方式可以分为规整型(定长编码)和非规整型(变长编码)两种,如表1-4所示。表1-4指令系统操作码定义分类方法比较表而在指令系统中用来确定如何提供操作数或提供操作数地址的方式称为寻址方式和编址方式。操作数可以存放在CPU中的寄存器(用寄存器名操作)、主存储器(指出存储单元地址)、堆栈(先进后出的存储机制,用栈顶指针SP来标出其当前位置)、外存储器或外围设备中。不过在运算时,数据均在主存储器中,操作数可以采用以下几种寻址方式:(1)隐含寻址方式在指令中不明显地给出而是隐含着操作数的地址。例如,单地址的指令格式,没有在地址字段中指明第二操作数地址,而是规定累加寄存器AC作为第二操作数地址,AC对单地址指令格式来说是隐含地址。(2)立即寻址方式指令的地址字段指出的不是操作数的地址,而是操作数本身。这种方式的特点是指令执行时间很短,不需要访问内存取数。题目中所说的操作数包含在指令中的寻址方式就是立软件设计师即寻址。例如,单地址的移位指令格式为这里D不是地址,而是一个操作数。F为标志位,当F=1时,操作数进行右移;当F=0时,操作数进行左移。(3)直接寻址方式直接寻址特点是:在指令格式的地址字段中直接指出操作数在内存的地址D.采用直接寻址方式时,指令字中的形式地址D就是操作数的有效地址E,即E=D.因此通常把形式地址D又称为直接地址。此时,由寻址模式给予指示。如果用S表示操作数,那么直接寻址的逻辑表达式为S=(E)=(D)(4)间接寻址方式间接寻址的情况下,指令地址字段中的形式地址D不是操作数的真正地址,而是操作数地址的指示器,D单元的内容才是操作数的有效地址。如果把直接寻址和间接寻址结合起来,指令有如下形式:寻址特征位I=0,表示直接寻址,这时有效地址E=D;I=1,表示间接寻址,这时有效地址E=(D)。间接寻址方式是早期计算机中经常采用的方式,但由于两次访问内存,影响指令执行速度,现在已不大使用。(5)寄存器寻址方式和寄存器间接寻址方式当操作数不放在内存中,而是放在CPU的通用寄存器中时,可采用寄存器寻址方式。软件设计师此时指令中给出的操作数地址不是内存的地址单元号,而是通用寄存器的编号。这也就是题目中所说的操作数在寄存器中的寻址方式.寄存器间接寻址方式与寄存器寻址方式的区别在于:指令格式中的寄存器内容不是操作数,而是操作数的地址,该地址指明的操作数在内存中。这也就是题目中所说的操作数的地址在寄存器中的寻址方式.(6)相对寻址方式相对寻址是把程序计数器PC的内容加上指令格式中的形式地址D而形成操作数的有效地址。程序计数器的内容就是当前指令的地址。相对寻址,就是相对于当前的指令地址而言的。采用相对寻址方式的好处是程序员无须用指令的绝对地址编程,所编程序可以放在内存任何地方。此时形式地址D通常称为偏移量,其值可正可负,相对于当前指令地址进行浮动。(7)基址寻址方式基址寻址方式是将CPU中基址寄存器的内容加上指令格式中的形式地址而形成操作数的有效地址。它的优点是可以扩大寻址能力。与形式地址相比,基址寄存器的位数可以设置得很长,从而可以在较大的存储空间中寻址。(8)变址寻址方式变址寻址方式与基址寻址方式计算有效地址的方法很相似,它把CPU中某个变址寄存器的内容与偏移量D相加来形成操作数有效地址。但使用变址寻址方式的目的不在于扩大寻址空间,而在于实现程序块的规律性变化。4.CISC与RISC软件设计师为了提高操作系统的效率,人们最初选择了向指令系统中添加更多、更复杂的指令,而随着不断地升级和向后兼容的需要,指令集也越来越大。这种类型的计算机,我们称之为复杂指令计算机CISC.而后来研究发现,计算机指令系统如果使用少量结构简单的指令会提高计算机的性能,这就是精简指令集计算机RISC.计算机执行程序所需的时间P由三方面因素决定:编译后产生的机器指令数I、执行每条指令所需的平均
本文标题:软件设计师考试考点突破案例分析实战练习一本通(2014版)
链接地址:https://www.777doc.com/doc-2011988 .html