您的位置:首页 > 理论基础

2013年软件设计师考试知识结构(一)

2014-01-14 12:24 337 查看
 第一章计算机系统知识

计算机系统基础知识

计算机系统硬件基本组成

计算机的基本硬件系统:

运算器

中央处理单元(Central Processing Unit)  CPU
用于数据的加工处理,能完成各种算术、逻辑运算及控制功能.

控制器

存储器

 

分为内部存储器和外部存储器.前者速度高,容量小,一般用于临时存放程序、数据及中间结果;而后在容量大、速度慢,可以长期保存程序和数据

输入设备

外部设备

输入设备用于输入原始数据及各种命令,而输出设备则用于输出处理结果

输出设备

 

中央处理单元

功能:

程序控制:CPU通过执行指令来控制程序的执行顺序.

操作控制:一条指令功能的实现需要若干操作信号来完成,CUP产生每条指令的操作信号兵将操作信号送往不的部件,控制相应的部件按指令的功能要求进行操作.

时间控制:CUP对指令执行过程中操作信号的出现时间、持续时间及出现的时间顺序进行严格的控制.

数据处理:CUP通过对数据进行算术运算及逻辑运算等方式进行加工处理,这是CPU最根本的任务.

        组成:

1.      运算器:它是数据加工部件(执行所有的算术运算,执行所有的逻辑运算并进行逻辑测试).

a)        算术逻辑单元(Arithmetic and Logic Unit ALU):

负责处理数据,实现对数据的算术运算和逻辑运算

b)        累加寄存器(AC):

它是一个通用寄存器,其功能是当运算器的算术逻辑单元执行算术或逻辑运算时,为ALU提供一个工作区 .例如执行减法运算前,先将被减数取出暂存AC中,再从内存储器中取出减数,然后同AC的内容相减,所得的结果送回AC中.运算器中至少有一个累加寄存器.

c)        数据缓冲寄存器(DR):

DR的主要作用为作为CPU和内存、外部设备之间数据传送的中转站和在操作速度上的缓冲,在单累加器结构的运算器中,数据缓冲寄存器还可以兼作为操作数寄存器.

d)       状态条件寄存器(PSW):

保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,主要分为状态标志和控制标志,这些标志通常分别由1位触发器保存,保存了当前指令执行完成之后的状态.

2.      控制器:决定了计算机运行过程的自动化.

a)        指令控制逻辑:要完成取指令、分析指令和执行指令的操作,其过程分为取指令、指令译码、按指令操作码执行、形成下一条指令地址等步骤

                                                    i.             指令寄存器(IR):当CPU执行一条指令时,先把它从内存中读取到缓冲寄存器中,再送入IR中,指令译码器根据IR中的内容产生各种微操作指令,控制其他组成部件工作,完成所需的功能.

                                                  ii.             程序计数器(PC):具有寄存信息和计数两种功能.

                                                 iii.             地址寄存器(AR):保存当前CPU所访问的内存单元的地址.由于内存和cpu存在着操作速度上的差异,所以需要使用AR保持地址信息,直到内存的读写操作完成为止.

                                                 iv.             指令译码器(ID):指令分为操作码和地址码两部分,为了能执行任何给定的指令,必须对操作码进行分析,以便识别所完成的操作.指令译码器就是对指令中的操作码字段进行分析解释,识别该指令规定的操作,向操作控制器发出具体的控制信号,控制各个部件工作,完成所需的功能.

b)        时序控制逻辑:为每条指令按时间顺序提供应有的控制信号.

c)        总线控制逻辑:为多个功能部件服务的信息通路的控制电路.

d)        中断控制逻辑:用于控制各种中断请求,并根据优先级的高低对中断请求进行排队,逐个交给CPU处理.

3.      寄存器组:分为通用和专用,运算器和控制器中的寄存器就是专用的,通用寄存器用途广泛并可由程序员规定其用途,其数目因处理器不同有所差异.

4.      内部总线:

 

数据表示

各种数值在计算机中的表示形式称为机器数,其特点是采用二进制计数制,小数点隐含表示而不占用位置.机器数对应的实际数值称为数的真值.机器数分为无符号数和有符号数.无符号数表示正数.

机器数可采用原码、反码、补码及移码等不同的编码方式.

原码:最高位是符号位,0表示正,1表示负.

反码:正数的反码和原码一样,负数的反码则是其绝对值按位求反.

补码:正数的补码与原码一样,负数的补码则等于其反码的末尾加1.0有唯一的补码(00000000)

移码:是在数X上增加一个偏移量来定义的,常用于表示浮点数中的价码.通常用来表示阶码

 

定点数和浮点数:

定点数表示的数值范围比较小.在运算中很容易因结果超出范围而溢出.

一个二进制数N可以表示为N=2E *F,其中E称为阶码,F叫做尾数.

校验码

为保证数据在传送过程中正确无误,一是提高硬件电路的可靠性,二是提高代码的校验能力,包括差错和纠错.通常使用校验码的方法来检测传送的数据是否出错.

所谓码距,是指一个编码系统中任意两个合法编码之间至少有多少个二进制位不同.

奇偶校验码(Parity Codes):通过在编码中增加一位校验码来编码中1的个数为奇数(奇校验)或偶数(偶校验),从而使码距变为2.奇校验只能检测出代码中奇数位出错的编码,而不能发现偶数位出错的情况.

海明码(Hamming Code):也是利用奇偶性来检错和纠错的校验方式.在数据位之间插入k个校验位,通过扩大码距来实现检错和纠错,数据位是n位,校验位是k位,则2k-1>=n+k

循环冗余校验码(Cyclic Redundancy Check,CRC):广泛用于数据通信领域和磁介质存储系统中.它利用生成多项式为k数据位产生r个校验位来进行编码,其编码长度为k+r.

计算机体系结构

计算机体系结构的发展

计算机体系结构分类:

 

宏观上按处理机数量分类:单处理系统、并行处理与多处理系统、分布式处理系统

         微观上按并行程度分类:

                   Flynn分类法:单指令流单数据流、单指令流多数据流、多指令流多数据流、多指令流多数据流.

                   冯泽云分类法:字串行位串行计算机、字并行位串行计算机、字串行位并行计算机和字并行位并行计算机

                   Handler分类法:

                   Kuck分类法:单指令流单执行流、单指令流多执行流、多指令流单执行流、多指令流多执行流.

指令系统:

         指令格式及其优化:

设计指令格式时需要考虑如长度、是否有足够的空间表示所有期望的错做、存取指令速度的提高及寻址字段长度的选择等.

                   指令格式的优化既包括指令码的优化,也包括操作数的优化.对指令码进行优化表示,使用频率高的指令采用短编码,反之可采用长编码.

         指令集的复杂化:

                  CISC(ComplexInstruction Set Computer,复杂指令集计算机):其基本思想是,进一步增强原指令的功能,用更复杂的新代码取代原先由软件子程序完成的功能,实现软件功能的硬化,导致机器的指令系统越来越庞大而复杂.其弊端主要有:

                            1).指令集过分庞杂,

                            2).每条复杂指令都需要通过执行一段解释性微程序才能完成,这就需要多个CPU周期,从而降低了机器的处理速度.

                            3).难以编译优化生成高效的目标代码

                            4).其完善的中断控制,势必导致动作繁多,设计复杂,研制周期长.

                            5).其给芯片设计带来了很多困难,使芯片种类繁多,出错几率增大,成本提高而成品率降低.

                   RISC(Reduced Instruction Set Computer,精简指令集计算机):其基本思想是,通过减少指令总数和简化指令功能,降低硬件设计的复杂度,是指令能单周期执行,并通过优化编译,提高指令执行速度,采用硬布线控制逻辑,优化编译程序.其关键技术有:

                            1).重叠寄存器窗口技术.

                            2).优化编译技术.

                            3).超流水及超标量技术.

                            4).硬布线逻辑与微程序相结合在微程序技术中.

                   面向目标代码的优化:按指令的静态使用频率和动态使用频率来改进代码,既可以减少程序所需的存储空间,又可以提高程序的执行速度.

                   面向高级语言的优化:尽可能缩小高级语言与机器语言之间的语义差距,以利于支持高级语言编译系统,缩短编译程序的长度和编译所需时间.

                   面向操作系统的优化:进一步缩小操作系统与体系结构之间的语义差距,以利于减少操作系统运行所需的辅助时间,节省操作系统软件所占用的存储空间.

         指令的流水处理:其控制方式有,

                   顺序方式:控制简单,但速度慢,机器各部件的利用率低

                   重叠方式:速度有所提高,控制也不复杂,但会出现冲突、转移和相关等问题.

                   流水方式:流水(pipelining)技术是吧并行性或并发性嵌入到计算机系统里的一种形式,它把重复的顺序处理过程分解为若干子过程,每个子过程能在专用的独立模块上有效地并发工作.

         其种类:

                   从流水的级别上分部件级、处理机级和系统级的流水

                   从流水的功能上分单功能和多功能流水线

                   从流水的联系上分静态和动态流水线

                   从流水是否有反馈回路分线性和非线性流水

                   从流水的流动顺序上分同步和异步流水线

                   从流水的数据表示上分标量和向量流水线.

         流水的相关处理:

                   解决局部性相关的方法有:

                            推后法:推后相关单元的读,直至写入完成,

                            通路法:设置相关专用通路.

                   解决全局性相关的方法:

                            猜测转移分支:

                            加快和提前形成条件码:

                            加快循环程序的处理

         RISC中采用的流水技术有:

                   超流水线(superpipeline):以时间换取空间:

                   超标量(superscalar):以空间换取时间

                   超长指令(Very Long Instruction Word,WLIW):使用软件的方式达到同时执行多条指令的效果.

         吞吐率和流水建立时间:吞吐率为最长子过程的倒数,流水线开始工作,必须经过一定的时间才能达到最大吞吐率,这就是建立时间.若m个子过程所用的时间一样,均为t,则建立时间为mt.

         列阵处理机、并行处理机和多处理机:

                  

存储系统

存储器的层次结构:高速缓存(Cache)、主存储器(Main memory MM)和辅助存储器(外存储器)、cup内部的寄存器.

分类:

1.      根据所处的位置,可分为内存和外存

2.      根据材料,可分为磁存储器、半导体存储器和光存储器

3.      根据工作方式,可分为读写存储器(Random Access Memory,RAM)、只读存储器(固定只读存储器、可编程的只读存储器、可擦除可编程的只读存储器、电擦除可编程的只读存储器、闪速存储器)

4.      根据访问方式,分为按地址访问的存储器和按内容访问的存储器.

5.      根据寻址方式,分为随机存储器、顺序存储器和直接存储器.

相联存储器:是一种按内容访问的存储器,其工作原理是把数据或数据的某一部分作为关键字,将该关键字与存储器中的每一单元进行比较,找出存储器中所有与关键字相同的数据字.

高速缓存:用来存放当前最活跃的程序和数据,作为主存局部域的副本,其特点是:容量一般在几千字节到几兆字节之间,速度一般比主存快5~10倍,由快速半导体存储器构成,其内容是主存局部域的副本,对程序员来说是透明的.

         Cache由控制部分和存储器部分组成,存储器部分用来存放主存的部分副本信息,控制部分的功能是判断CPU要访问的信息是否在Cache存储器中.命中时直接对Cache存储器寻址,未命中时,要按照替换原则决定主存的一块信息放到Cache存储器的哪一块里.

         Cache的地址映像有:直接映像、全相联映像、组相联映像.

         替换算法:随机替换算法、先进先出算法、近期最少使用算法、优化替换算法

         Cache的性能分析:

虚拟存储器:把很大的程序(数据)分成许多较小的块,全部存储在辅存中,运行是,把要用到的程序(数据)块先调入主存,并且把马上要用到的程序块从主存中调入高速缓存.

         按管理方式分为,页式(页表硬件少,查表速度快,主存碎片少,但分页无逻辑意义,不利于存储保护),段式(产生碎片,查表速度慢),段页式

外存储器:

磁盘:非格式化容量 = 面数 * (磁道数/面) * 内圆周长 * 最大位密度

         格式化容量 = 面数 * (磁道数/面) * (扇区数/道) * (字节数/扇区)

光盘:

输入输出技术

直接程序控制:指外设数据的输入输出过程是在CPU执行程序的控制下完成的,包括无条件传送和程序查询方式.这种控制方式会造成系统性能下降

中断方式:过程为,当I/O系统与外设交换数据是,CPU无须等待也不需要去查询I/O的状态,而可以抽身出来处理其他的任务.当I/O系统准备好以后,则会发出中断请求信号通知CPU,CPU接收到请求后,保存正在执行程序的现场,转入I/O中断服务程序的执行,完成与I/O系统的数据交换,然后再返回被打断的程序继续执行.

         中断处理方法:多中断信号线法、中断软件查询法、菊花链法、总线仲裁法、中断向量表法

         中断优先级控制:CPU优先相应优先级高的中断请求,优先级高的中断请求可以中断优先级低的中断服务.

直接存储器存取方式(DMA direct memory access):数据在内存与I/O设备间直接成块传送,CPU只需要在启动和结束传送,而在传送过程中不需要干涉.

总线结构

广义地讲,任何连接两个以上电子元器件的导线都可以称为总线,通常分为内部总线、系统总线和外部总线

系统总线:ISA总线(工业标准总线,包括24条地址线,16条数据线,控制总线,电源和地线等),EISA总线,PCI总线(32位机_124个信号_133M/s+,64位机_188个信号_266M/s+.PCI总线上的设备是即插即用的)

外部总线:RS-232C(串行外总线,所需传输线少,只需三条[发,收,地]即可实现全双工通信),SCSI总线(并行外总线),USB(串行总线,由四条信号线组成,两天数据线两天5v,500ma的电源线),IEEE-1394(高速串行外总线),IEEE-488总线(并行外总线)

安全性、可靠性与系统性能测评基础知识

计算机安全概述

信息安全的基本要素:机密性、完整性、可用性、可控性、可审查性.

计算机系统中的三类安全性是指技术安全性、管理安全性、政策法律安全性.

安全威胁:故意和偶然

影响数据安全的因素有内部和外部因素.

加密技术和认证技术

对称加密技术:数据加密标准(DigitalEncryptionStandard DES)、三重DES、RC-5、国际数据加密算法(IDEA)、高级加密标准算法(AES)

非对称加密技术:RSA算法

密钥管理:密钥产生、备份及恢复、更新和多密钥的管理

认证技术:主要解决网络通信过程中双方的身份认可.

    PKI(Public Key Infrastructure):其基础技术包括,加密、数字签名、数据完整性机制、数字信封和双重数字签名等.

       完整的PKI必须具有权威认证机构(CA)、数字证书库、密钥备份及恢复系统、证书作废系统、应用接口等基本构成部分.

       其主要目的是通过自动管理密钥和证书,为用户建立起一个安全的网络运行环境,使用户可以再多种应用环境下方便地使用加密和数字签名技术,从而保证网上数据的机密性、完整性和有效性.机密性指数据在传输过程中不能被非授权者偷看;完整性是指数据在传输过程中不能被非法篡改;有效性是指数据不能被否认.

       哈希函数:输入一个长度不固定的字符串,返回一串固定长度的字符串.在数字签名中就可以解决验证签名和用户验证、不可抵赖性的问题.

       信息摘要:简要的描述了一份较长的信息或文件.是由Ron
Rivest 设计的专门用于加密处理的,并广泛使用的哈希函数.

       数字签名:其过程是,发送者使用哈希函数对信息生成信息摘要,在使用自己的私钥签名摘要信息,并将签名过的信息摘要和信息一起发送出去,接收者使用相同的哈希函数对接收到的信息生成信息摘要,再与接收到的信息摘要验证,以确认接收到的信息是否被修改过.

       SSL(Secure Sockets Layer)协议:其提供用户和服务器合法性认证、加密数据、保护数据的完整性三个方面的服务.其实现过程为:接通、密码交换、会谈密码、校验、客户认证、结束

       数字时间戳服务(Digital Time Service,DTS).

计算机可靠性

计算机系统的可靠性是指从它开始运行(t=0)到某时刻t这段时间内能正常运行的概率,用R(t)表示.所谓失效率,是指单位时间内失效的元件数与元件总数的比例,用λ表示,当λ为常数时,可靠性与失效率的关系为:R(t)=e-λt

两次故障间系统能正常工作的平均值,称为平均无故障时间(MTBF),MTBF=1/λ

从故障发生到机器修复平均所需的时间称为平均修复时间(MTRF),用其表示计算机的可维修性,即维修效率.

计算机的可用性是指计算机的使用效率,它以系统在执行任务的任意时刻能正常工作的概率A来表示,A
= MTBF/(MTBF+MTRF)

计算机的RAS就是指可靠性R、可用性A、可维修性S三个指标衡量一个计算机系统.

串联系统的可靠性R= R1*R2*….*Rn.失效率λ=λ1+λ2+…+λn

并行系统的可靠性R= 1-(1-R1)(1-R2)…(1-Rn).失效率u= 1/(1/λ(1到1/n的和))

N模冗余系统的可靠性

计算机系统的性能评价

性能评价的常用方法有:时钟频率、指令执行速度、等效指令速度法、数据处理速率、核心程序法(它把应用程序中用得最频繁的那部分核心程序作为评价计算机性能的标准程序)

基准测试程序:整数测试程序,浮点测试程序,SPEC基准程序,TCP基准程序.

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息