计算机网络基础知识


1.1  计算机系统的组成

一、要求掌握的知识要点
(1) 熟悉构成计算机硬件的几个主要组成部分以及各部分的主要功能。
(2) 熟悉构成计算机软件的主要组成部分。
二、知识点概述
(一) 计算机发展概述
计算机的发明和应用是20世纪人类最重要的成就之一,标志着信息时代的开始。在过去的50多年里,计算机技术得到了飞速发展,计算机及其应用已经渗透到社会的各个领域,有力地推动了社会信息化的进程。目前,一个国家计算机的应用水平直接标志着一个国家的科学现代化水平。
计算机的发展经历了以下五个重要的阶段。
1.大型机阶段
1946年美国宾州大学研制的第一台计算机ENIAC(Electronic Numerical Integrator and Calculator)被公认为大型机的鼻祖。ENIAC采用电子管作为基本逻辑部件,体积大,电量多,寿命短,可靠性差,成本高。由于采用电子射线管作为存储部件,所以ENIAC的容量很小。
大型机(Mainframe)的发展经历了以下几代。
第一代:采用电子管制作的计算机阶段;
第二代:采用晶体管制作的计算机阶段;
第三代:采用中、小规模集成电路制作的计算机阶段;
第四代:采用大规模、超大规模集成电路制作的计算机阶段。其代表机型有IBM 360/370/709/4300/9000等等,
2.小型机阶段
小型机(Minicomputer)或称小型电脑,通常用以满足部门的需要,被中小型企事业单位使用。例如,DEC公司的VAX系列机(配备UNIX操作系统)。
3.微型机阶段
微型机(Microcomputer)又称微电脑或个人电脑(Personal Computer,或PC机)。顾名思义,该机是面向个人或家庭的,它的价格与高档家用电器相当,应用相当普及。例如AppleⅡ、IBM-PC系列机。
4.客户机/服务器阶段
1964年美国航空公司建立了第一个联机订票系统,将全美的2000个订票终端用电话线连在一起。订票中心的大型机(即服务器)用来处理订票事务,而分散在各地的订票终端则称为客户机。从逻辑上来看,这是早期的客户机/服务器模式。
早期的客户机/服务器模式主要是为客户机提供资源共享的磁盘服务器和文件服务器,而现在的服务器主要是数据库服务器和应用服务器等。
客户机/服务器(Client/Server)模式是对大型机的一次挑战。由于客户机/服务器模式结构灵活,适应面广,成本较低,因此得到了广泛的应用。如果服务器的处理能力强,客户机的处理能力弱,则称为瘦客户机/胖服务器;否则称之为胖客户机/瘦服务器。
5.互联网阶段
自1969年美国国防部ARPANET网运行以来,计算机广域网开始发展起来。1983年TCP/IP传输控制与互联网协议正式成为ARPANET网的标准协议,这使得网际互联有了突飞猛进的发展。以它为主干发展起来的因特网(Internet)到1990年已连接到3000多个网络和20万台计算机。进入20世纪90年代,因特网继续以指数级迅猛扩展。进入21世纪,全球已有上亿因特网用户。到1994年,我国采用TCP/IP协议通过四大主干网接入因特网。目前全国的因特网用户已超过3000万。
计算机系统是由硬件系统和软件系统组成的。计算机硬件是计算机系统中看得见、摸得着的物理装置,计算机软件是程序、数据和相关文档的集合,如下所示:

(二) 计算机硬件系统结构
1.计算机的硬件组成
计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部件组成,如图1-1所示。随着计算机技术的发展,运算器、控制器等部件已被集成在一起统称为中央处理单元(Central Processing Unit,CPU)。它是硬件系统的核心,用于数据的加工处理,能完成各种算术、逻辑运算及控制功能。存储器是计算机系统中的记忆设备,分为内部存储器和外部存储器。前者速度高、容量小,一般用以临时存放程序、数据及中间结果,而后者容量大、速度慢,可以长期保存程序和数据。输入设备和输出设备合称为外部设备(简称外设)。输入设备用于输入原始数据及各种命令,而输出设备则用于输出计算机运行的结果。

2.计算机硬件的典型结构
(1) 单总线结构。在单总线结构中用一组系统总线将计算机系统的各部件连接起来,各部件之间可以通过总线交换信息。这种结构的优点是易于扩充新的I/O设备,并且各种I/0设备的寄存器和主存储器的存储单元可以统一编址,使CPU访问I/O设备更方便灵活;其缺点是同一时刻只能允许挂在总线上的一对设备之间互相传送信息,也即分时使用总线,这就限制了信息传送的吞吐量。这种结构一般用在微型计算机和小型计算机中。
(2) 双总线结构。为了消除信息传送的瓶颈,常设置多组总线,最常见的是在主存和CPU之间设置一组专用的高速存储总线。双总线结构分为以CPU为中心的双总线结构和以存储器为中心的双总线结构两种。将连接CPU和外围设备的系统总线称为输入/输出(I/O)总线。这种结构的优点是控制线路简单,对I/O总线的传送速率要求较低;其缺点是CPU的工作效率较低,因为I/O设备与主存之间的信息交换要经过CPU进行。在以存储器为中心的双总线结构中,主存储器可通过存储总线与CPU交换信息,同时还可以通过系统总线与I/O设备交换信息。这种结构的优点是信息传送速率高;其缺点是需要增加硬件的投资。
(3) 采用通道的大型系统结构。为了扩大系统的功能和提高系统的效率,在大、中型计算机系统中采用通道结构。在这种结构中,一台主机可以连接多个通道,一个通道可以连接一台或多台I/O控制器,一台I/O控制器又可以连接一台或多台I/O设备,所以它具有较大的扩展余地。另外,由通道来管理和控制I/O设备,减轻了CPU的负担,提高了整个系统的效率。
(三) 计算机软件
在计算机系统中如果仅有硬件系统,则它只具备了计算的功能,并不能真正运算,只有将解决问题的步骤编制成程序,并由输人设备输入到计算机内存中,由系统软件支持,才能完成运算。软件是指为管理、运行、维护及应用计算机所开发的程序和相关文档的集合。可见,计算机系统除了硬件系统,还必须有软件系统。软件系统是计算机系统中的重要组成部分,通常可将软件分为两大类:系统软件和应用软件。

1.2  计算机基本工作原理
一、要求掌握的知识要点
(1) 掌握十进制数、二进制数、十六进制数、八进制数以及它们之间的相互转换方法。
(2) 掌握二进制数的算术运算及逻辑运算的法则,数据在计算机中的表示方法。
(3) 掌握BCD码、ASCII码及汉字编码的概念。
(4) 熟悉中央处理单元CPU的组成及内部主要部件的功能。
二、知识点概述
(一) 计算机中数据的表示
计算机最主要的功能是处理信息,如处理数值、文字、声音、图形和图像等。在计算机内部,各种信息都必须经过数字化编码后才能被传送、存储和处理,因此,掌握信息编码的概念与处理技术是至关重要的。所谓编码,就是采用少量的基本符号,选用一定的组合原则,以表示大量复杂、多样的信息。基本符号的种类和这些符号的组合规则是一切信息编码的两大要素。例如,用10个阿拉伯数码表示数字,用26个英文字母表示英文词汇等,都是编码的典型例子。
1.进位计数制
在采用进位计数的数字系统中,如果只用r个基本符号(例如,O,1,2,…,r一1)表示数值,则称其为基r数制(Radix-r Number System),r称为该数制的基(Radix)。对于不同的数制,它们的共同特点是:
•每一种数制都有固定的符号集。例如,对于十进制数制,其符号有10个:0,1,2,…,9;对于二进制数制,其符号有两个:O和1。
•都使用位置表示法。即处于不同位置的数符所代表的值不同,且与它所在位置的权值有关。例如,十进制数1234.55可表示为
1234.55 = 1×103 + 2×102 + 3×101 + 4×100 + 5×10-1 + 5×10-2
可以看出,各种进位计数制中的权的值恰好是基数的某次幂。因此,对任何一种进位计数制表示的数都可以写成按权展开的多项式之和,即任意一个r进制数N可表示为

式中:Di是该数制采用的基本数符;ri是权;r是基数,不同的基数表示不同的进制数。表1-1所示的是计算机中常用的几种进制数。
表1-1  计算机中常用的几种进制数的表示
进位制 二进制 八进制 十进制 十六进制
规则 逢二进一 逢八进一 逢十进一 逢十六进一
基数 r = 2   r = 8   r = 10   r = 16
数符 O,1   O,1,2,…,7   O,1,2,…,9   O,l,2,…,9,A,B,…,F
权 2i 8i 10i 16i
形式表示 B O   D   H
2.算术逻辑运算
(1) 二进制加法。二进制加法与十进制加法相类似,所不同的是,二进制加法的规则是“逢二进一”,即
O + 0 = 0      1 + 0 = 1    0 + 1 = 1    1 + 1 = 0 (有进位)
(2) 二进制减法。在二进制减法中,当不够减时需要借位,高位的1等于下一位的2,即“借一当二”,其运算法则如下:
0 - 0 = 0      1 - 0 = 1    1 - 1 = 0    0 - 1 = 1 (有借位)
(3) 二进制乘法。二进制乘法与十进制乘法是一样的,但因为二进制数只由0和1构成,因此,二进制乘法更简单,其运算法则如下:
O×O = O       1×O = 0     O × 1 = 0    1 × 1 = 1
(4) 二进制除法。二进制除法是二进制乘法的逆运算,其运算方法与十进制除法是一样的。
(5) 二进制与运算又称逻辑乘,其运算法则如下:
O∧0 = O       O∧1 = 0     1∧ O = 0     1∧1 = 1
(6) 二进制或又称逻辑加,其运算法则如下:
0∨O = 0       0∨1 = 1     1∨0 = 1      1∨1 = 1
(7) 二进制异或的运算法则如下:
O O = 0       0 1 = 1     1 0 = 1     1 1 = 0
3.机器数和码制
各种数据在计算机中表示的形式称为机器数,其特点是数的符号用O、1表示,如“0”表示正号,“1”表示负号,小数点则隐含表示而不占位置。机器数对应的实际数值称为该数的真值。
机器数有无符号数和带符号数两种。无符号数表示正数,在机器数中没有符号位。对于无符号数,若约定小数点的位置在机器数的最低位之后,则是纯整数;若约定小数点的位置在机器数的最高位之前,则是纯小数。对于带符号数,机器数的最高位是表示正、负的符号位,其余二进制位表示数值。若约定小数点的位置在机器数的最低数值位之后,则是纯整数;若约定小数点的位置在机器数的最高数值位之前(符号位之后),则是纯小数。
为了便于运算,带符号的机器数可采用原码、反码和补码等不同的编码方法,机器数的这些编码方法称为码制。
4.汉字编码
汉字处理包括汉字的编码输入、汉字的存储和汉字的输出等环节。也就是说计算机处理汉字,首先必须先将汉字代码化,即对汉字进行编码。
1) 输入码
(1) 数字编码。数字编码就是用数字串代表一个汉字的输入,常用的是国标区位码。国际区位码将国家标准局公布的6763个两级汉字分成94个区,每个区94位,实际上是把汉字表示成二维数组,区位和位码各两位十进制数字,因此,输入一个汉字需要按键四次。例如,“中”字位于第54区48位,区位码为5448:
(2) 拼音码。拼音码是以汉语读音为基础的输入方法。由于汉字同音字太多,输入重码率很高,因此,按拼音输入后还必须进行同音字选择,影响了输入速度。
(3) 字形编码。字形编码是以汉字的形状确定的编码。汉字总数虽多,但都是由一笔一划组成,全部汉字的部件和笔划是有限的,因此,把汉字的笔划部件用字母或数字进行编码,按笔划书写的顺序依次输入,就能表示一个汉字。五笔字形、表形码等便是这种编码法。五笔字形编码是最有影响的编码方法。
2) 内部码
汉字内部码(简称汉字内码)是汉字在设备或信息处理系统内部最基本的表达形式,是在设备和信息处理系统内部存储、处理、传输汉字用的代码。在西文计算机中,没有交换码和内码之分。汉字数量多。用一个字节无法区分,采用国家标准局GB2312-80中规定的汉字国标码,两个字节存放一个汉字的内码,每个字节的最高位置“1”,作为汉字机内码。由于两个字节各用7位,因此可表示16 384个可区别的机内码。以汉字“大”为例,国标码为3473H,两个字节的高位置“1”,得到的机内码为B4F3H。
为了统一地表示世界各国的文字,1993年国际标准化组织公布了“通用多八位编码字符集”的国际标准ISO/IEC 10646,简称UCS(Universal Code Set)。UCS包含了中、日、韩等国的文字,这一标准为包括汉字在内的各种正在使用的文字规定了统一的编码方案。
3) 字形码
汉字字形码是表示汉字字形的字模数据,通常用点阵、矢量函数等方式表示。用点阵表示字形时,汉字字形码指的就是这个汉字字形点阵的代码。字形码也称字模码,是用点阵表示的汉字字形码,它是汉字的输出方式。根据输出汉字的要求不同,点阵的多少也不同。简易型汉字为16×16点阵,高精度型汉字为24×24点阵、32×32点阵、48×48点阵等等。
(二) 中央处理机(CPU)
1.CPU的组成
前面已经提到,CPU主要由运算器、控制器组成。构成CPU的框图如图1-2所示。
1) 运算器
运算器是对数据进行加工处理的部件,它主要完成算术运算和逻辑运算,完成对数据的加工与处理。不同的计算机,运算器的结构也不同,但最基本的结构都是由算术/逻辑运算单元(ALU)、累加器(ACC)、寄存器组、多路转换器和数据总线等逻辑部件组成的。
2) 控制器
计算机能执行的基本操作叫做指令,一台计算机的所有指令组成指令系统。指令由操作码和地址码两部分组成,操作码指明操作的类型,地址码则指明操作数及运算结果存放的地址。

图1-2   CPU主要组成部件框图
控制器的主要功能是从内存中取出指令,并指出下一条指令在内存中的位置,将取出指令经指令寄存器送往指令译码器,经过对指令的分析发出相应的控制和定时信息,控制和协调计算机的各个部件有条不紊的工作,以完成指令所规定的操作。
控制器是由程序计数器(简称PC)、指令寄存器、指令译码器、状态条件寄存器、时序产生器、微操作信号发生器组成,如图1-3所示。

图1-3  控制器组成框图
(1) 程序计数器。当程序顺序执行时,每取出一条指令,PC内容自动增加一个值,指向下一条要取的指令。当程序出现转移时,则将转移地址送入PC,然后由PC指向新的程序地址。
(2) 指令寄存器(IR)。用于存放当前要执行的指令。
(3) 指令译码器(ID)。用于对现行指令进行分析,确定指令类型、指令所要完成的操作以及寻址方式。
(4) 时序产生器。用于产生时序脉冲和节拍电位去控制计算机有序的工作。
(5) 状态/条件寄存器。用于保存指令执行完成后产生的条件码。例如,运算是否有溢出,结果为正还是为负,是否有进位等。此外,状态/条件寄存器还保存中断和系统工作状态等信息。
(6) 微操作信号发生器。把指令提供的操作信号、时序产生器提供的时序信号以及由控制功能部件反馈的状态信号等综合成特定的操作序列,从而完成取指令的执行控制。
控制器一般由指令寄存器(IR)、程序计数器(PC)、时序部件、微操作形成部件和程序状态字寄存器(PSW)构成。控制器的作用是控制整个计算机的各个部件有条不紊地工作,它的基本功能就是从内存取指令和执行指令。
执行指令有取指令、指令译码、按指令操作码执行、形成下一条指令地址四个步骤。
2.CPU的功能
CPU的基本功能如下。
(1) 程序控制。CPU通过执行指令来控制程序的执行顺序,这是CPU的重要职能。
(2) 操作控制。一条指令功能的实现需要若干操作信号来完成,CPU产生每条指令的操作信号并将操作信号送往不同的部件,控制相应的部件按指令的功能要求进行操作。
(3) 时间控制。CPU对各种操作进行时间上的控制,这就是时间控制。CPU对每条指令整个的执行时间要进行严格控制。同时。指令执行过程中的操作信号的出现时间、持续时间及出现的时间顺序都需进行严格控制。
(4) 数据处理。CPU对数据以算术运算及逻辑运算等方式进行加工处理,数据加工处理的结果为人们所利用。所以,对数据的加工处理是CPU最根本的任务。

1.3  计算机体系结构

一、要求掌握的知识要点
(1) 计算机系统分类。
•指令流:机器执行的指令系列。
•数据流:由指令流调用的数据序列。
•Flynn分类法:单指令流单数据流,指令流多数据流,单指令流多数据流,多指令流单数据流。
•冯式分类法:用最大并行度来对计算机体系结构进行分类。
(2) 计算机系统结构与计算机组成的区别,计算机并行的发展。
计算机组成指计算机系统的逻辑结构,包括机器内部数据流和控制流的组成以及逻辑设计等;计算机实现是指计算机组成的物理实现。
(3) 存储器系统的层次结构。存储器系统由分布在计算机各个不同部件中的多种存储设备组成。主存储器由一片或多片存储芯片配以控制电路组成。辅助存储器包括磁表面存储器、光存储器。高速缓冲存储器(Cache存储器)用于提高CPU数据输入/输出速度,突破CPU与存储器间的数据传输带宽限制。在存储系统体系中,Cache是访问速度最快的层次。
二、知识点概述
(一)计算机体系结构的发展
1.计算机系统结构概述
计算机系统结构又称为计算机体系结构,就是计算机的属性及功能特征,即计算机的外特性。尽管不同的使用者所了解的计算机的属性有所不同,就通用计算机系统来说,计算机系统结构的属性应包括如下一些方面:
•硬件所能处理的数据类型。
•所能支持的寻址方式。
•CPU的内部寄存器。
•CPU的指令系统。
•主存的组织与主存的管理。
•中断系统的功能。
•输入/输出设备及连接接口。
•计算机体系结构分类。
1) Flynn分类法
1966年Flynn提出了如下定义。
指令流(Instruction Stream):机器执行的指令序列。
数据流(Data Stream):由指令流调用的数据序列,包括输入数据和中间结果。
多倍性(Multiplicity):在系统最受限制的元件上同时处于同一执行阶段的指令或数据的最大可能个数。
按指令流和数据流的不同组织方式,把计算机体系结构分为如下四类:单指令流单数据流(SISD),单指令流多数据流(SIMD),多指令流单数据流(MISD),多指令流多数据流(MIMD)。
2) 冯式分类法
1972年冯泽云提出用最大并行度来对计算机体系结构进行分类。所谓最大并行度Pm是指计算机系统在单位时间内能够处理的最大的二进制位数。设每一个时钟周期△ti内能处理的二进制位数为Pi,则T个时钟周期内平均并行度为Pa= (∑Pi)/T(其中i为1,2,…,T)。平均并行度取决于系统的运行程度,与应用程序无关,所以,系统在周期T内的平均利用率为μ = Pa/Pm = (∑Pi)/(T * Pm)。
图1-4所示为用最大并行度对计算机体系结构进行的分类。用平面直角坐标系中的一点表示一个计算机系统,横坐标表示字宽(N位),即在一个字中同时处理的二进制位数;纵坐标表示位片宽度(M位),即在一个位片中能同时处理的字数,则最大并行度Pm = N * M。由此得出四种不同的计算机结构:
① 字串行、位串行(简称WSBS)。其中N=1,M=1。
② 字并行、位串行(简称WPBS)。其中N=1,M>1。
③ 字串行、位并行(简称WSBP)。其中N>1,M=1。
④ 字并行、位并行(简称WPBP)。其中N>1,M>1。

图1-4  冯式分类法
2.计算机系统结构与计算机组成的区别
计算机系统结构所解决的问题是计算机系统总体上、功能上需要解决的问题,而计算机组成要解决的是逻辑上如何具体实现的问题。
比如说,指令系统的确定属于计算机系统结构,而指令的具体实现则属于计算机组成。指令系统中要不要设置乘、除法指令是计算机系统结构要解决的问题,而一旦决定设置,具体用什么方法来实现乘、除法指令就属于计算机组成应解决的问题。
主存容量及编址方式的确定属于计算机系统结构,而具体构成主存则属于计算机组成。
可以想像。对于具有同样系统结构的计算机,但具体按此系统结构构成的计算机在实现方法、性能及价格上会有很大差别。
3.系统结构中并行性的发展
1) 并行性
并行性包括两个方面:同时性和并发性。同时性是指两个或两个以上的事件在同一时刻发生,并发性是指两个或两个以上的事件在同一时间间隔内连续发生。
充分利用并行性实现计算机的并行处理,可以提高计算机的处理速度。
2) 并行处理
从计算机信息处理的步骤和阶段的角度,并行处理可分为:
•存储器操作并行。
•处理器操作步骤并行(流水线处理机)。
•处理器操作并行(阵列处理机)。
•指令、任务、作业并行(多处理机、分布处理系统、计算机网络)。
3) 并行性的发展
从20世纪80年代开始,计算机系统结构有了很大发展,相继出现了精减指令集计算机(RISC)、指令级上并行的超标量处理机、超级流水线处理机、超长指令计算机、多微处理机系统、数据流计算机等。20世纪90年代以来,最主要的发展是大规模并行处理(MPP),其中多处理机系统和多计算机系统是研究开发的热点。
(二) 存储系统
1.存储器的层次结构
存储体系结构包括不同层次上的存储器,通过适当的硬件、软件有机地组合在一起形成计算机的存储体系结构。现在大多数人都将高性能计算机的存储体系结构描述成如图1-5所示的三层存储器层次结构。

图1-5  存储器层次结构示意图
三级存储结构是高速缓存(Cache)、主存储器(MM)和辅助存储器(外存储器)。也有人将存储器层次分为四层,是将CPU内部的寄存器也看作是存储器的一个层次。
有一些简单的计算机没有高速缓存(Cache),则这样的计算机的存储体系就剩下主存和辅存两个层次。
2.存储器的分类
(1) 按存储器所处的位置,可分为内存和外存。
内存也称为主存,设在主机内或主机板上,用来存放机器当前运行所需要的程序和数据,以便向CPU提供信息。相对于外存,其特点是容量小,速度快。
外存也称为辅存,如磁盘、磁带、光盘等,用来存放当前不参加运行的大量信息,在需要时,可把需要的信息调入内存。相对于内存,外存的容量大,速度慢。
(2) 按构成存储器的材料,可分为磁存储器、半导体存储器和光存储器。
(3) 按工作方式,可分为读写存储器和只读存储器。
(4) 按访问方式,可分为按地址访问的存储器和按内容访问的存储器。
(5) 按寻址方式,可分为随机存储器、顺序存储器和直接存储器。
3.相联存储器
相联存储器是一种按内容访问的存储器。其工作原理就是把数据或数据的某一部分作为关键字,将该关键字与存储器中的每一单元进行比较,找出存储器中所有与关键字相同的数据字。相联存储器的结构如图1-6所示,各部件的功能如表1-2所示。

图1-6  相联存储器的结构框图
表l-2  相联存储器部件功能

相联存储器可用在高速缓冲存储器中;在虚拟存储器中用来作段表、页表或快表存储器;用在数据库和知识库中。
4.高速缓存(Cache)
高速缓存(Cache)用来存放当前最活跃的程序和数据。作为主存局部域的副本,其特点是:容量一般在几KB到几MB之间;速度一般比主存快5到10倍,由快速半导体存储器构成;其内容是主存局部域的副本,对程序员来说是透明的。
1) 高速缓存的组成
高速缓存的组成如图1-7所示。由图1-7可以看到,cache由两个部分组成:控制部分和Cache存储器部分。
Cache存储器部分用来存放主存的部分拷贝(副本)信息。控制部分的功能是:判断CPU要访问的信息是否在Cache存储器中,若在即为命中,若不在则没有命中。命中时直接对Cache存储器寻址;未命中时,要按照替换原则,决定主存的一块信息放到Cache存储器的哪一块里面。
2) 高速缓存中的地址映像方法

图1-7高速缓存的构成框图
在CPU工作时,送出的是主存的地址,而应从Cache存储器中读写信息。这就需要将主存地址转换成Cache存储器的地址,这种地址的转换叫做地址映像。Cache的地址映像有三种方法。
(1) 直接映像。是指主存的块与Cache中块的对应关系是固定的。在这种映像方式下,由于主存中的块只能存放在Cache存储器的相同块号中,因此,只要主存地址中的主存区号与Cache中的主存区号相同,则表明访问Cache命中。一旦命中,以主存地址中的区内块号立即可得到要访问的Cache存储器中的块。
直接映像的优点是地址变换很简单,只要主存地址中的主存区号找到了,则主存地址中后面的区内块号和块内地址立刻就找到了该块及块内的存储单元。其缺点是灵活性差。例如,不同区号中块号相同的块无法同时调入Cache存储器,即使Cache存储器中有空着的块也只能空着。
(2) 全相联映像。同样,主存与Cache存储器均分成容量相同的块。这种映像方式允许主存的任一块可以调入Cache存储器的任何一个块的空间中。在地址变换时,利用主存地址高位表示的主存块号与Cache中的主存块号进行比较,若相同即为命中。这时根据块号所对应的块就知道要访问的是哪一块。Cache存储器的块找到后,块内地址就是主存的低位地址。这便可以读写Cache块中的内容。在变换时当找到主存块号命中时,还必须知道主存的这一块存到了Cache的哪一块里面。
全相联映像的主要优点是主存的块调入Cache的位置不受限制,十分灵活。其主要缺点是无法从主存块号中直接获得Cache的块号,变换比较复杂,速度比较慢。
(3) 组相联映像。这种方式是前面两种方式的折衷。具体做法是将Cache中的块再分成组。例如,假定Cache有16块,再将每两块分为1组,则Cache就分为8组。主存同样分区,每区16块,再将每两块分为1组,则每区就分为8组。
组相联映像就是规定组采用直接映像方式而块采用全相联映像方式。也就是说,主存任何区的0组只能存到Cache的0组中,1组只能存1组,依次类推。组内的块则采用全相联映像方式,即一组内的块可以任意存放。也就是说,主存一组中的任一块可以存入Cache相应组中的任一块中。
在这种方式下,通过直接映像方式来决定组号,在一组内再用全相联映像方式来决定Cache中的块号。由主存地址高位决定主存区号与Cache中区号比较可决定是否命中。主存后面的地址即为组号,但组块号要根据全相联映像方式由记录决定。
3) 替换算法
替换算法的目标就是使Cache获得最高的命中率。常用算法如下。
(1) 随机替换算法。就是用随机数发生器产生一个要替换的块号,将该块替换出去。
(2) 先进先出算法。就是将最先进入Cache的信息块替换出去。此法简单但并不能说最先进入的就不经常使用。
(3) 近期最少使用算法。这种方法是将近期最少使用的Cache中的信息块替换出去。该算法较先进先出算法要好一些。但此法也不能保证过去不常用将来也不常用。
(4) 优化替换算法。使用这种方法时必须先执行一次程序,统计Cache的替换情况。有了这样的先验信息,在第二次执行该程序时便可以用最有效的方式来替换,以达到最优的目的。
4) 高速缓存的性能分析
若H为Cache的命中率,tc为Cache的存取时间,tm为主存的访问时间,则Cache存储器的等效访问时间ta为:
ta = Htc + (1-H)tm
使用Cache存储器比不使用Cache存储器时CPU访问存储器的速度提高的倍数r可用下式求得:

5.虚拟存储器
虚拟存储器是由主存、辅存、存储管理单元及操作系统中存储管理软件组成的存储系统。在程序员使用该存储系统时,可以使用的内存空间远远大于主存的物理空间。但实际上并不存在那么大的主存,故称其为虚拟存储器。虚拟存储器分为页式虚拟存储器、段式虚拟存储器和段页式虚拟存储器。
从以上的描述可以看到,虚拟存储器将大容量的外存也纳入存储器的管理范围。但在具体执行程序时需判断程序是否在内存中,若不在(可认为未命中),则需从辅存中调入。这种思路与前面描述的Cache中的替换一样。因此,虚拟存储器中的替换算法与前面所述的一样,此处不再说明。
6.外存储器
外存储器用来存放暂时不用的程序和数据,并且以文件的形式存储。CPU不能直接访问外存中的程序和数据,只有将其以文件为单位调入主存方可访问。外存储器由磁表面存储器(如磁盘、磁带)及光盘存储器构成。
7.磁盘阵列技术
磁盘阵列是由多台磁盘存储器组成的一个快速、大容量、高可靠的外存子系统。现在常见的称为廉价冗余磁盘阵列(RAID)。目前,RAID分为6级(如表1-3所示)。
表1-3  廉价冗余磁盘阵列

除此之外,目前还有RAID6、RAID7、RAIDl0等,它们均是对前者的改进,此处不再说明。
(三) CISC/RISC
1.指令系统的发展
CISC的含义是复杂指令集计算机。众所周知,早期的计算机指令系统比较简单,通常只有十几到几十条指令。随着计算机的发展,指令系统也随之发展,不仅指令条数增加,而且指令的功能也有了许多增加。其目的是利用增加指令功能和复杂程度缩小汇编语言与高级语言的差距。另外,为了使新老型号的系列CPU的指令系统向上兼容,就需要在新的CPU中既要保持老的指令系统,又要增加新的指令。例如,80X86系列CPU每更新一次,必然增加一些指令。
由于上述原因使得CPU的指令系统越来越庞大,越来越复杂。这就是复杂指令集计算机(CISC)。由于指令系统的复杂性,使CPU硬件也变得十分复杂,同时也限制了CPU的运行速度,因此,复杂指令集计算机(CISC)在性能上的提高遇到了很大的困难。
2.精简指令集计算机(RISC)
人们对典型的CISC执行程序中指令使用频度进行统计发现,指令系统中只有大约20%的指令被经常使用,其使用频度达80%,而且这些指令都是一些加、传送、转移等最简单的指令。也就是说,大多数的复杂指令只有20%的使用概率。
若只保留20%最简单的指令,使指令尽可能简单,就可以设计一种硬件结构十分简单、执行速度很高的CPU。这就是精简指令集计算机(RISC)。
3.RISC的特点
RISC简化了CPU的控制器,同时提高了处理速度,其特点如下:
(1) 指令种类少。一般只有十几到几十条简单的指令。
(2) 指令长度固定,指令格式少。这可使指令译码更加简单。
(3) 寻址方式少。适合于组合逻辑控制器,便于提高速度。
(4) 设置最少的访内指令。访问内存比较花时间,尽量少用。
(5) 在CPU内部设置大量的寄存器,使大多数操作在速度很快的CPU内部进行。
(6) 非常适合流水线操作。由于指令简单,并行执行就更易实现。
(四) 输入/输出技术
1.微型计算机中最常用的内存与接口的编址方式
尽管在微型计算机中存在着许多种内存与接口地址的编址方法,但最常见到的是下面描述的两种。理解了这两种编址方法,再遇到其他的编址方法也就不难理解了。
1) 内存与接口地址独立的编址方法
这种编址方法也有人称为内存与接口地址隔离的编址方法。在这种编址方法中,微型机内的内存地址和接口地址是完全独立的两个地址空间,它们是完全独立的并且是相互隔离的。
在使用中,这种编址方式地址很清楚,内存就用于存放程序和数据而接口就用于寻址外设。所使用的指令也完全不同,用于接口的指令只用于接口读写,其余的指令全都是用于内存的。因此,在编程序或读程序中很易使用和辨认。
这种编址方法的缺点就是用于接口的指令太少、功能太弱。
2) 内存与接口地址统一的编址方法
这种编址方法也有人称为内存与接口地址混合的编址方法。在这种编址方法中,内存地址和接口地址统一在一个公共的地址空间里。也就是说内存和接口共用这些地址。在这些地址空间里拿出某一些地址分配给接口使用而剩下的就可以归内存所用。也就是说,地址空间里的每一个地址都可以分配给接口也可以分配给内存使用。但是,分配给内存只能用于内存,接口绝不允许使用。同样,分配给接口的地址内存也绝不能再用。
这种编址方法的优点是原则上用于内存的指令全都可以用于接口。这就大大增强了对接口的操作功能。而且在指令上也不再区分内存或接口指令,也就是说两者用的指令全都是一样的。
该编址方法的缺点就在于整个地址空间被分成两部分,其中一部分分配给接口使用,剩余的为内存所用,这经常会导致内存地址不连续。再就是用于内存的指令和用于接口的指令是完全一样的,读程序时需要根据参数定义表仔细加以辨认。
2.直接程序控制
在完成外设数据的输入/输出中,整个输入/输出过程都是在CPU执行程序的控制下完成的。
1) 无条件传送
在此情况下,外设总是准备好的,它可以无条件随时接收CPU发来的输出数据,也能够无条件随时向CPU提供需要输入的数据。
2) 程序查询方式   
在这种方式下,利用查询方式进行输入/输出,就是通过CPU通过执行程序查询外设的状态,判断外设是否准备好接收数据或准备好向CPU输入数据。根据这种状态,CPU有针对性的为外设的输入/输出服务。
3.中断方式
由程序控制I/O的方法其主要缺点在于CPU必须等待I/O系统完成数据传输任务,在此期间CPU需定期查询I/O系统的状态,以确认传输是否完成,因此整个系统的性能严重下降。为克服该缺陷,把中断机制引入到I/O传输过程中。CPU利用中断方式完成数据的输入/输出:当I/0系统与外设交换数据时,CPU无需等待,当I/O系统完成了数据传输后以中断方式通知CPU,因而提高了系统效率。
在系统中具有多个中断源的情况下,常用的处理方法有多中断信号线法(Multiple Interrupt Lines)、中断软件查询法(Software Poll)、雏菊链法(Daisy Chain)、总线仲裁法和中断向量表法。
4.直接存储器存取(DMA)方式
在计算机与外设交换数据的过程中,无论是无条件传送,利用查询方式传送还是利用中断方式传送,都需要由CPU通过执行程序来实现。这就限制了数据的传送速度。
直接内存存取(Direct Memory Access,DMA)是指数据在内存与I/O设备间的直接成块传送,即在内存与I/O设备间传送一个数据块的过程中,不需要CPU的任何干涉,只需要CPU在过程开始启动(即向设备发出“传送一块数据”的命令)与过程结束(CPU通过轮询或中断得知过程是否结束和下次操作是否准备就绪)时的处理,实际操作由DMA硬件直接执行完成,即在DMA传送过程中无需CPU干预,整个系统总线完全交给了DMAC,由它控制系统总线完成数据传送。
5.输入/输出处理机(I0P)
上面所描述的输入/输出方式适合于外设不多、速度不很高的小型或微型机中,实现起来不是很复杂。在大型计算机中,外设很多,要求计算机的速度很高,采用程序传送、查询、中断或DMA均会因输入/输出而造成过大的开销,影响计算机的整体性能,为此,提出采用输入/输出处理机。
1) 输入/输出处理机的功能
输入/输出处理机是一个专用处理机,接在主计算机上,对主机的输入/输出操作由它来完成。它根据主机的I/0命令,完成对外设数据的输入/输出。输入/输出由IOP来完成,主机的工作效率必然提高。
2) 输入/输出处理机的数据传送方式
输入/输出处理机的数据传送方式有如下三种:字节多路方式、选择传送方式和数组多路方式。
(五) 流水线操作
1.指令流水线   
指令流水线的概念就是将一条指令分解成一连串执行的子过程,在CPU中变一条指令的串行执行子过程为若干条指令的子过程在CPU中重叠执行,这就是指令流水线的思路。如果能做到每条指令均分解为m个子过程,且每个子过程的执行时间都一样,则利用指令流水线可将一条指令的执行时间由原来的T缩短为T/m。
1) 流水的基本概念
流水线技术是将一个重复的时序分解成若干个子过程,而每一个子过程都可有效地在其专用功能段上与其他子过程同时执行。流水线技术应用于计算机系统结构的各个方面,在此我们以指令的执行过程为例介绍流水线技术。
2) 流水技术的特点
(1) 流水线可分成若干个相互联系的子过程。
(2) 实现子过程的功能所需时间尽可能相等。
(3) 形成流水处理需要一段准备时间。
(4) 指令流发生不能顺序执行时,会使流水过程中断,再形成流水过程则需要时间。
3) 流水结构的分类
(1) 按完成的功能分类。
•单功能流水线:只完成一种固定功能的流水线。如只能实现浮点加。
•多功能流水线:同一流水线上可有多种连接方式来实现多种功能。如ASC运算器中的8个可并行工作的功能块,可按不同的连接方式实现浮点加、减或定点乘法运算。
(2) 按同一时间内各段之间的连接方式分类。
•静态流水线:任一时间流水线上的所有功能块只能按同一种运算的连接方式工作。如ASC运算器中的8个可并行工作的功能块,或都按浮点加、减运算连接,或都按定点乘法运算连接。
•动态流水线:同一时间流水线上的所有功能块可按不同的运算连接方式工作。
(3) 按数据表示分类。
•标量流水处理机:只能对标量数据进行流水处理。
•向量流水处理机:它具有阳量指令,可对向量的各元素进行流水处理。
2.流水线处理机的主要指标
1) 吞吐率
吞吐率是指单位时间里流水线处理机流出的结果数。对指令而言,就是单位时间里执行的指令数。如果流水线的子过程所用时间不一样长,则吞吐率p应为最长子过程的倒数,即

2) 建立时间
流水线开始工作,需经过一定时间才能达到最大吞吐率,这就是建立时间。若m个子过程所用时间一样,均为△t0,则建立时间T0 = m△t0。
(六) 总线结构
l. 总线的定义与分类
广义地讲,任何连接两个以上电子元器件的导线都可以称为总线。总线通常分为如下四类。
(1) 芯片内总线。用于在集成电路芯片内部各部分的连接。
(2) 元件级总线。用于一块电路板内各元器件的连接。
(3) 内总线,又称系统总线。用于构成计算机各组成部分(CPU、内存、接口等等)的连接。   
(4) 外总线,又称通信总线。用于计算机与外设或计算机与计算机的连接或通信。
2.内总线
内总线有专用内总线和标准内总线。内总线的性能直接影响到计算机的性能。自计算机发明,尤其是微型机诞生以来,内总线的标准已超过百条。常见的内总线标准如下。
(1) ISA总线。ISA是工业标准总线。它向上兼容更早的PC总线,在PC总线62个插座信号的基础上,再扩充另一个36个信号的插座构成ISA总线。ISA总线主要包据24个地址线,16条数据线,控制总线(内存读写、接口读写、中断请求、中断响应、DMA请求、DMA响应等等),±5 V、±12 V电源线及地线等。
(2) EISA总线。该总线是在ISA总线的基础上发展起来的32位总线。该总线定义了32位地址线,32位数据线,以及其他控制信号线、电源线、地线等共196个接点,传输速率达33 MB/s。该总线利用总线插座与ISA总线相兼容,插板插在上层为ISA总线信号,将插板安装到下层便是EISA总线。
(3) PCI总线。PCI总线是目前微型机上广泛采用的内总线。PCI总线有适于32位机的124个信号的标准和适于64位机的188个信号的标准。PCI总线的传输速率至少为133 MB/s,64位PCI总线的传输速率为266 MB/s,具有很高的传输速率。PCI总线的工作与处理器的工作是相互独立的,也就是说PCI总线时钟与处理器时钟是独立的、非同步的。PCI总线上的设备是即插即用的。
3.外总线
外总线的标准有七八十种之多,此处仅介绍下面几种。
(1)RS一232C。RS一232C是一条串行外总线,其主要特点是:所需传输线比较少,最少只需三条线(一条发、一条收、一条地线)即可实现全双工通信;传送距离远,用电平传送为15米,用电流环传送可达千米;有多种可供选择的传送速率;采用非归零码负逻辑工作,电平≤一3 V为逻辑1,而电平≥ + 3 V为逻辑0;具有较好的抗干扰性。
(2) SCSI总线。小型计算机系统接口(SCSI)是一条并行外总线,广泛用于连接软、硬磁盘、光盘、扫描仪等。该接口总线早期是8位的,后来发展到16位。传输速率由SCSI一1的5 MB/s到16位的Ultra2 SCSI的80 MB/s,目前的传输速率已高达320 MB/s。该总线上最多可接63种外设,传送距离可达20米(差分传送)。
(3) USB。通用串行总线USB当前风头正劲,近几年得到十分广泛的应用。USB有四条信号线组,其中两条用于传送数据,另外两条传送+5 V容量为500 mA的电源。可以经过集线器HUB进行树状连接,最多可达五层。该总线上可接127个设备。USB 1.0有两种传送速率:低速为1.5 Mb/s,高速为12 Mb/s。USB 2. 0的传送速率为480 Mb/s。USB总线最大的优点还在于它支持即插即用并支持热插拔。
(4) IEEE一1394。这是另一条串行外总线,近几年同样得到十分广泛的应用。IEEE一1394有六条信号线组,其中两条用于传送数据,两条传送控制信号,另外两条传送8到40 V容量为1500 mA的电源。资料上介绍,IEEE一1394总线上可接63个设备。IEEE一1394的传送速率从400 Mb/s、800 Mb/s、1600 Mb/s直到3.2 Gb/s。这种总线最大的优点也在于它支持即插即用并支持热插拔。
(七) 多处理机与并行处理
1.阵列处理机
1) 阵列处理机的概念
在前面已经提到有关并行处理的概念。这里专门介绍阵列处理机。阵列处理机又称并行处理机,它将重复设置的多个处理单元(PU)按一定方式连成阵列,在单个控制部件(CU)控制下,对分配给自己的数据进行并行处理来完成一条指令所规定的操作。这是一种单指令流多数据流计算机,通过资源重复实现并行性,其概念示意图如图1-8所示。

图1-8 SIMD计算机
2) SIMD计算机的互联网络
SIMD计算机的互联网络的设计目标:结构简单、灵活;处理单元间信息传送的步数尽可能少。
(1) 立方体单级互联网络。对于具有N个结点的立方体单级互联网络,共有n = log2N种互联函数,即
Cubei(Pn-1…Pi…P1P0) = 
式中,Pi为用二进制编号的第i位,且0≤n≤n一1。也就是说,每一个处理单元只能与其二进制编号的某一位取反编号的处理单元相连接。
(2) PM2I单级互联网络。这就是“加减2i”单级互联网络,能实现与j号处理单元相连接的处理单元号为j±2i,其互联函数为
PM2+i(j) = j + 2i mod N
PM2-i(j) = j一2i mod N
(3) 混洗交换单级互联网络。这种互联方式的互联函数为
Shuffle(Pn-1Pn-2…P1P0) = Pn-2…P1P0Pn-1
可见,将处理单元的二进制编号循环左移一位便是要连接的处理单元的二进制编号。
2.多处理机
多处理机系统是由多台处理机组成的系统,每台处理机有属于自己的控制部,可以执行独立的程序,共享一个主存储器和所有的外部设备。它是多指令流多数据流计算机。在多处理机系统中,机间的互联技术决定着多处理机的性能。多处理机之间的互联,要满足高频带、低成本、连接方式的多样性以及在不规则通信情况下连接的无冲突性。
1) 多处理机按其构成的分类
(1) 异构型(非对称型)多处理机系统。由多个不同类型或可完成不同功能的处理机组成,按照作业要求的顺序,利用时间重叠技术,依次对它们的多个任务进行处理,各自完成规定的功能操作。
(2) 同构型(对称型)多处理机系统。由多个同类型或可完成同等功能的处理机组成,同时处理同一作业中能并行执行的多个任务。
(3) 分布式处理系统。若干台具有独立功能的处理机相互联接起来,在操作系统的控制下统一协调地工作,是最少依赖集中的程序、数据或硬件的系统。
2) 多处理机系统的结构
按照机间的互联方式,有如下四种多处理机结构。
(1) 总线结构。总线结构是一种最简单的结构形式,它把处理机与I/O之间的通信方式引入到处理机之间。总线结构中有单总线结构、多总线结构、分级式总线、环式总线等多种。
(2) 交叉开关结构。交叉开关结构是设置一组纵横开关阵列,把横向的处理机P及I/O通道与纵向的存储器M连接起来。
(3) 多端口存储器结构。在多端口存储器结构中,将多个多端口存储器的对应端口连在一起,每一个端口负责一个处理机P及I/0通道的访问存储器的要求。
(4) 开关枢纽式结构。在开关枢纽式结构中,有多个输入端和多个输出端,在它们之间切换,使输入端有选择地与输出端相连。因为有多个输入端,所以存在互联要求上的冲突。为此加入一个具有分解冲突的部件,称为仲裁单元。仲裁单元与在一个输入端和多个输出端间进行转换的开关单元一起构成一个基本的开关枢纽。任何互联网络都是由一个或多个开关枢纽组成的。
3) 多处理机系统的特点
结构灵活,程序并行,并行任务派生,进程同步。
3.并行处理机
并行处理机与采用流水结构的单机系统都是单指令流多数据流计算机,但它们也有区别,并行处理机采用资源重复技术,而采用流水结构的单机系统则采用时间重叠技术。
并行处理机有两种典型结构:具有分布存储器的并行处理机结构和具有共享存储器的并行处理机结构。这两种结构的共同特点是在整个系统中设置多个处理单元,各个处理单元按照一定的连接方式交换信息,在统一的控制部件作用下,各自对分配来的数据并行地完成同一条指令所规定的操作。
三、重点与难点分析
(1) 掌握I/O的工作方式以及特点(程序中断方式、DMA方式、设备接口)。
(2) 了解多处理机系统的分类、结构及特点。
(3) 并行性的概念与并行的层次。
并行性是指在同一时刻或者同一时间间隔内完成两种或两种以上性质相同或不同的工作,只要时间上相互重叠,就都蕴含了并行性。
并行处理是信息处理的一种有效形式,它着重发掘解题过程中的并行事件,使并行性的层次提高,系统性能更上一层。并行性有着不同的层次,而且从不同的角度来看,其层次结构也不一样。
① 程序执行的并行性层次(从低到高)如下:
•指令内部并行:一条指令内各个微操作之间的并行。
•指令间并行:多条指令的并行执行,需要解决指令间存在的相互关联问题。
•任务或进程间并行:关键在于如何解决任务分解。
•作业或程序间并行:关键在于设计并行算法,把有限的软、硬件资源有效地分配给正在用于求解一个大题目的多个程序。
② 数据处理的并行性层次(从低到高)如下:
•位串字串:一次只对一个字的一位进行处理(无并行性)。
•位并字串:一次对一个字的全部位进行处理。
•位串字并:一次对许多字的同一位(位片)进行处理。
•位并字并(全并行):对许多字的全部或部分位进行处理。
③ 操作并行性层次如下:
•存储器操作并行:可以在一个存储周期内访问多个存储单元。
•处理器操作步骤并行:指令的取值、译码、取操作数、执行等操作;向上重叠流水式的执行,也包括各种运算的操作步骤的重叠执行。
•处理器操作并行:设置大量的处理单元,在同一控制器控制下按同一条指令的要求对多个数据组同时操作。
并行性的措施:时间重叠,资源重叠,资源共享。
(4) 并行处理机的基本原理。并行处理机又称为阵列处理机,它是在单一控制部件控制下的由多个处理单元构成的阵列。并行处理机使用按地址访问的随机存储器(RAM),以SIMD方式工作,主要用于大量高速向量或矩阵运算等领域。

1.4  安全性、可靠性与系统性能评测基础知识
一、要求掌握的知识要点
(1) 掌握信息安全的基本要素、安全的等级、安全威胁以及影响安全的因素。
(2) 数据安全与保密。
① 掌握数据的加密和解密的基本知识。数据加密即是对明文按照某种加密算法进行处理,从而形成难以理解的密文,如果密文被截获,截获者也无法或者难以解码,从而防止信息泄漏。数据加密和数据解密是一对可逆的过程。数据加密技术的关键在于:
•密钥管理:包括密钥的产生、选择、分发、更换和销毁等。密钥的安全程度直接影响着数据的安全,一旦密钥外泄,加密后的数据也就不存在任何安全性可言了。
•加密/解密算法:在数据加密过程中,必须选用适当的加密/解密算法。一方面要保证达到给定的安全级别,另一方面也必须控制加密和解密的开销以保证性价比。加密和解密算法的设计通常需要满足三个条件:可逆性、密钥安全和数据安全。
② 密钥体制包括秘密密钥加密体制、公开密钥加密体制和量子加密系统。
③ 数据完整性保护是在数据中加入一定的冗余信息,从而能发现对数据的任何修改、增加或删除。通常采用的完整性检验方法是在发送或写入时对所要保护的数据进行检验和作加密运算,产生报文验证码(MAC),附在数据后面。在接受或读出时根据约定的密钥对数据进行检验和作加密运算。将所得的结果与MAC比较,根据是否一致就可以确定数据的完整性。
④ 密钥管理。数据加密的安全性在很大程度上取决于密钥的安全性。密钥的管理包括密钥体制的选择、密钥的分发、现场密钥保护以及密钥的销毁。
⑤ 磁介质上的数据加密。磁介质存储器(软盘、硬盘等)经常用来保存和传递数据,所以有必要对其采取保护措施。常采用的方法有:硬加密的防复制技术、软加密的防解读技术和防跟踪技术。
•硬加密技术包括以下三种。
利用非标准格式的磁介质记录方式:,例如使用非标准的扇区标识数据,使用非标准的磁记录编码方式,使用非标准的磁盘格式化规则以及使用非常规的数据区地址标志等。
激光加密技术:利用精密定位技术及其激光技术,在磁盘某个位置上产生永久性的标志。
利用专门的硬件:磁介质上的数据必须和专门的硬件配合在一起才能使用。
•防跟踪技术通过改变计算机系统的一些功能,使得跟踪、反汇编、设置断点、读取内存等操作无法执行。   
⑥ 计算机病毒的概念、基本特点,病毒的种类和防治手段。
⑦ 计算机可靠性模型及其可靠性和失效率的计算。
⑧ 计算机性能评价方法。
⑨ 计算机故障的概念以及故障诊断的方法。
二、知识点概述
(一) 计算机安全概述
计算机安全是指计算机资产的安全,是要保证这些计算机资产不受自然和人为的有害因素的威胁和危害。计算机资产由系统资源和信息资源两大部分组成。系统资源包括硬件、软件、配套设备设施、有关文件资料,还可以包括有关的服务系统和业务工作人员;信息资源包括计算机系统中存储、处理和传输的大量各种各样的信息。
1.信息安全的基本要素
信息安全的五个基本要素为机密性、完整性、可用性、可控性和可审计性。
(1) 机密性。确保信息不暴露给未受权的实体或进程。
(2) 完整性。只有得到允许的人才能修改数据,并能够判别出数据是否已被篡改。
(3) 可用性。得到授权的实体在需要时可访问数据。
(4) 可控性。可以控制授权范围内的信息流向及行为方式。
(5) 可审查性。对出现的安全问题提供调查的依据和手段。
2.计算机的安全等级
计算机系统中的三类安全性指技术安全性、管理安全性及政策法律安全性。但是,一个安全产品的购买者如何知道产品的设计是否符合规范,是否能解决计算机网络的安全问题,不同组织机构各自都制定了一套安全评估准则。一些重要的安全评估准则有:
•美国国防部(DOD)和国家标准局(现更名为NIST)的可信计算机系统评估准则。
•欧洲共同体的信息技术安全评估准则(ITSEC)。
•ISO/IEC国际标准。
•美国联邦标准。
美国国防部和国家标准局的《可信计算机系统评测标准》将系统划分为四组七个等级,如表1-4所示。
表l-4  安全性的级别

3.安全威胁
安全威胁是指某个人、物、事件对某一资源的机密性、完整性、可用性或合法性所造成的危害。某种攻击就是威胁的具体实现。安全威胁分为两类:故意(如黑客渗透)和偶然(如信息发往错误的地址)。典型的安全威胁举例如表1-5所示。
表1-5  典型的安全威胁

4.影响数据安全的因素
影响数据安全的因素有内部和外部两类。
(1) 内部因素。可采用多种技术对数据加密;制定数据安全规划;建立安全存储体系,包据容量、容错数据保护、数据备份等;建立事故应急计划和容灾措施;重视安全管理,制定数据安全管理规范。
(2) 外部因素。可将数据分成不同的密级,规定外部使用员的权限。设置身份认证、密码、口令、指纹、声纹笔迹等多种认证;设置防火墙,为计算机建立一道屏障,防止外部入侵破坏数据;建立入侵检测、审计和追踪,对计算机进行防卫。同时,也包括计算机物理环境的保障、防辐射、防水、防火等外部防灾措施。
(二) 加密技术
1.加密技术概述
加密技术是最常用的安全保密手段,数据加密技术的关键在于:加密/解密算法和密钥管理。加密技术包括两个元素:算法和密钥。数据加密的基本过程就是对原来为明文的文件或数据按某种加密算法进行处理,使其成为不可读的一段代码,通常称为“密文”。“密文”只能在输入相应的密钥之后才能显示出原来的内容,通过这样的途径达到保护数据不被窃取。
数据加密和数据解密是一对逆过程。数据加密是用加密算法E和加密密钥K1。将明文P变换成密文C,记为
C = EK1(P)
数据解密是数据加密的逆过程,是用解密算法D和解密密钥K2将密文C变换成明文P,记为
P = DK2(C)
数据加密技术可分为三类:对称加密、不对称加密和不可逆加密。
2.对称加密技术
对称加密的体制模型如图1-9所示。

图1-9  对称加密体制模型
目前常用的对称加密算法有:
① 数据加密标准(Digital Encryption Standard,DES)算法。
② 三重DES(3DES或称TDEA)。
③ RC-5(Rivest Cipher 5)。
④ 国际数据加密算法(International Data Encryption Algorithm,IDEA)。
3.非对称加密技术
与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(Publickey)和私有密钥(Privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。非对称加密有两个不同的体制,如图1-10所示。

图1-10  非对称加密体制模型
非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其他方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。
非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要,但加密和解密花费时间长,速度慢,不适合于对文件加密而只适用于对少量数据进行加密。
4.密钥管理
密钥是有生命周期的,它包括密钥和证书的有效时间,以及已撤销密钥和证书的维护时间等。密钥既然要求保密,这就涉及到密钥的管理问题。管理不好,密钥同样可能被无意识地泄露,并不是有了密钥就高枕无忧,任何保密也只是相对的,是有时效的。密钥管理主要是指密钥对的安全管理,包括密钥产生、密钥备份、密钥恢复和密钥更新等。
1) 密钥产生
密钥对的产生是证书申请过程中重要的一步,其中产生的私钥由用户保留,公钥和其他信息则交于CA中心进行签名,从而产生证书。根据证书类型和应用的不同,密钥对的产生也有不同的形式和方法。对普通证书和测试证书,一般由浏览器或固定的终端应用来产生,这样产生的密钥强度较小,不适合应用于比较重要的安全网络交易。而对于比较重要的证书,如商家证书和服务器证书等,密钥对一般由专用应用程序或CA中心直接产生,这样产生的密钥强度大,适合于重要的应用场合。
另外,根据密钥的应用不同,也可能会有不同的产生方式。比如签名密钥可能在客户端或RA中心产生,而加密密钥则需要在CA中心直接产生。
2) 密钥备份和恢复
在一个PKI(Public Key Infrastructure,公开密钥体系)系统中,维护密钥对的备份至关重要。如果没有这种措施,当密钥丢失后,将意味着加密数据的完全丢失。对于一些重要数据,这将是灾难性的。所以,密钥的备份和恢复也是PKI密钥管理中的重要一环。换句话说,即使密钥丢失,使用PKI的企业和组织必须仍能够得到确认,受密钥加密保护的重要信息也必须能够恢复。当然,不能让一个独立的个人完全控制最重要的主密钥,否则将引起严重后果。
企业级的PKI产品至少应该支持用于加密的安全密钥的存储、备份和恢复。密钥一般用口令进行保护,而口令丢失则是管理员最常见的安全疏漏之一。所以,PKI产品应该能够备份密钥,即使口令丢失,它也能够让用户在一定条件下恢复该密钥,并设置新的口令。
3) 密钥更新
每一个由CA颁发的证书都会有有效期。密钥对生命周期的长短由签发证书的CA中心来确定。各CA系统的证书有效期限有所不同,一般大约为2~3年。当用户的私钥被泄漏或证书的有效期快到时,用户应该更新私钥。这时用户可以废除证书,产生新的密钥对,申请新的证书。
4) 多密钥的管理
假设在某机构中有100个人,如果他们任意两人之间可以进行秘密对话,那么总共需要多少密钥呢?每个人需要知道多少密钥呢?也许很容易得出答案,如果任何两个人之间要不同的密钥,则总共需要4950个密钥,而且每个人应记住99个密钥。如果机构的人数是1000人、10 000人或更多,这种办法就显然过于愚蠢了,管理密钥将是一件非常困难的事情。为此需要研究并开发用于创建和分发密钥的加密安全的方法。
(三) 认证技术
1.认证技术概述
认证技术主要解决网络通信过程中通信双方的身份认可。认证的过程涉及到加密和密钥交换。通常,加密可使用对称加密、不对称加密及两种加密方法的混合方法。认证方一般有账户名/口令认证、使用摘要算法认证、基于PKI(Public Key Infrastructure,公开密钥体系)的认证。一个有效的PKI系统必须是安全的和透明的,用户在获得加密和数字签名服务时,不需要详细地了解PKI的内部运作机制。
PKI是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系。简单地说,PKI就是利用公钥理论和技术建立的提供安全服务的基础设施。PKI技术是信息安全技术的核心。也是电子商务的关键和基础技术。PKI的基础技术包括加密、数字签名、数据完整性机制、数字信封、双重数字签名等。完整的PKI系统必须具有权威认证机构(CA)、数字证书库、密钥备份及恢复系统、证书作废系统、应用接口(API)等基本构成部分。
(1) 认证机构(CA)。即数字证书的申请及签发机关,CA必须具备权威性的特征。
(2) 数字证书库。用于存储已签发的数字证书及公钥,用户可由此获得所需的其他用户的证书及公钥。
(3) 密钥备份及恢复系统。如果用户丢失了用于解密数据的密钥,则数据将无法被解密,这将造成合法数据丢失。为避免这种情况,PKI提供备份与恢复密钥的机制。但需注意,密钥的备份与恢复必须由可信的机构来完成。并且,密钥备份与恢复只能针对解密密钥,签名私钥为确保其惟一性而不能够作备份。
(4) 证书作废系统。证书作废处理系统是PKI一个必备的组件。与日常生活中的各种身份证件一样,证书有效期以内也可能需要作废,原因可能是密钥介质丢失或用户身份变更等。为实现这一点,PKI必须提供作废证书的一系列机制。
(5) 应用接口(API)。PKI的价值在于使用户能够方便地使用加密、数字签名等安全服务,因此一个完整的PKI必须提供良好的应用接口系统,使得各种各样的应用能够以安全、一致、可信的方式与PKI交互,确保安全网络环境的完整性和易用性。
PKI采用证书进行公钥管理,通过第三方的可信任机构(认证中心,即CA)把用户的公钥和用户的其他标识信息捆绑在一起,其中包括用户名和电子邮件地址等信息,以在因特网上验证用户的身份。PKI把公钥密码和对称密码结合起来,在因特网上实现密钥的自动管理,保证网上数据的安全传输。
2.HASH函数与信息摘要(Message Digest)
HASH(哈希)函数提供了这样一种计算过程:输入一个长度不固定的字符串,返回一串定长度的字符串(又称HASH值)。单向HASH函数用于产生信息摘要。HASH函数主要解决以下两个问题:在某一特定的时间内,无法查找经HASH操作后生成特定HASH值的原报文;也无法查找两个经HASH操作后生成相同HASH值的不同报文。这样在数字签名中就可以解决验证签名和用户身份验证、不可抵赖性的问题。
信息摘要简要地描述了一份较长的信息或文件,它可以被看作是一份长文件的“数字指纹”。信息摘要用于创建数字签名。对于特定的文件而言,信息摘要是惟一的。信息摘要可以被公开,它不会透露相应文件的任何内容。MD2、MD4和MD5(MD表示信息摘要)是由Ron Rivest设计的专门用于加密处理的并被广泛使用的HASH函数,它们产生一种128位信息摘要,除彻底地搜寻外,没有更快的方法对其加以攻击,而其搜索时间一般需要1025年之久。
3.数字签名
数字签名主要经过以下几个过程:
① 信息发送者使用一单向散列函数(HASH函数)对信息生成信息摘要。
② 信息发送者使用自己的私钥签名信息摘要。
③ 信息发送者把信息本身和已签名的信息摘要一起发送出去。
④ 信息接收者通过使用与信息发送者使用的同一个单向散列函数(HASH函数)对接收的信息本身生成新的信息摘要,再使用信息发送者的公钥对信息摘要进行验证,以确认信息发送者的身份和信息是否被修改过。
数字加密主要经过以下几个过程:
① 当信息发送者需要发送信息时,首先生成一个对称密钥,用该对称密钥加密要发送的报文。
② 信息发送者用信息接收者的公钥加密上述对称密钥。
③ 信息发送者将第一步和第二步的结果结合在一起传给信息接收者(称为数字信封)。
④ 信息接收者使用自己的私钥解密被加密的对称密钥,再用此对称密钥解密被发送方加密的密文,得到真正的原文。
数字签名和数字加密的过程虽然都使用公开密钥体系,但实现的过程正好相反,使用的密钥对也不同。数字签名使用的是发送方的密钥对,发送方用自己的私有密钥进行加密,接收方用发送方的公开密钥进行解密,这是一个一对多的关系,任何拥有发送方公开密钥的人都可以验证数字签名的正确性。数字加密则使用的是接收方的密钥对,这是多对一的关系,任何知道接收方公开密钥的人都可以向接收方发送加密信息,只有惟一拥有接收方私有密钥的人才能对信息解密。另外,数字签名只采用了非对称密钥加密算法,它能保证发送信息的完整性、身份认证和不可否认性,而数字加密采用了对称密钥加密算法和非对称密钥加密算法相结合的方法,它能保证发送信息的保密性。
4.SSL安全协议
SSL安全协议最初是由Netscape Communication公司设计开发的,又叫安全套接层(Secure Sockets Layer)协议,主要用于提高应用程序之间数据的安全系数。SSL安全协议的整个概念可以被总结为:一个保证任何安装了安全套接字的客户和服务器问事务安全的协议,它涉及所有TC/IP应用程序。
SSL安全协议主要提供三方面的服务:
(1) 用户和服务器的合法性认证。认证用户和服务器的合法性,使得它们能够确信数据将被发送到正确的客户机和服务器上。客户机和服务器都有各自的识别号,这些识别号由公开密钥进行编号。为了验证用户是否合法,安全套接层协议要求在握手交换数据时进行数字认证,以此来确保用户的合法性。
(2) 加密数据以隐藏被传送的数据。安全套接层协议所采用的加密技术既有对称密钥技术,也有公开密钥技术。在客户机与服务器进行数据交换之前,交换SSL初始握手信息,在SSL握手信息中采用了各种加密技术对其加密,以保证其机密性和数据的完整性,并且用数字证书进行鉴别,这样就可以防止非法用户进行破译。
(3) 保护数据的完整性。安全套接层协议采用HASH函数和机密共享的方法来提供信息的完整性服务,建立客户机与服务器之间的安全通道,使所有经过安全套接层协议处理的业务在传输过程中能全部完整准确无误地到达目的地。
安全套接层协议是一个保证计算机通信安全的协议,对通信对话过程进行安全保护,其实现过程主要经过如下几个阶段:
① 接通阶段。客户机通过网络向服务器打招呼,服务器回应。
② 密码交换阶段。客户机与服务器之间交换双方认可的密码,一般选用RSA密码算法,也有的选用Diffie-Hellmanf和Fortezza-KEA密码算法。
③ 会谈密码阶段。客户机与服务器间产生彼此交谈的会谈密码。
④ 检验阶段。客户机检验服务器取得的密码。
⑤ 客户认证阶段。服务器验证客户机的可信度。
⑥ 结束阶段。客户机与服务器之间相互交换结束的信息。
当上述动作完成之后,两者间的资料传送就会加密,另外一方收到资料后,再将编码资料还原。即使盗窃者在网络上取得编码后的资料,如果没有原先编制的密码算法,也不能获得可读的有用资料。
发送时信息用对称密钥加密,对称密钥用非对称算法加密,再把两个包绑在一起传送过去。接收的过程与发送的过程正好相反,先打开有对称密钥的加密包,再使用对称密钥解密。
在电子商务交易过程中,由于有银行参与,按照SSL协议,客户的购买信息首先发往商家,商家再将信息转发银行,银行验证客户信息的合法性后,通知商家付款成功,商家再通知客户购买成功,并将商品寄送客户。
5.数字时间戳技术
数字时间戳技术就是数字签名技术的一种变种应用。在电子商务交易文件中,时间是十分重要的信息。在书面合同中,文件签署的日期和签名一样均是十分重要的防止文件被伪造和篡改的关键性内容。数字时间戳服务(Digital Time Stamp Service,DTS)是网上电子商务提供的安全服务项目之一,它能提供电子文件的日期和时间信息的安全保护。
时间戳(Time-Stamp)是一个经加密后形成的凭证文档,它包括三个部分:
① 需加时间戳的文件的摘要(Digest)。
② DTS收到文件的日期和时间。
③ DTS的数字签名。
一般来说,时间戳产生的过程为:用户首先将需要加时间戳的文件用HASH编码加密形成摘要,然后将该摘要发送到DTS,DTS在加入了收到文件摘要的日期和时间信息后再对该文件加密(数字签名),然后送回用户。
书面签署文件的时间是由签署人自己写上的,而数字时间戳则不然,它是由认证单位DTS来加的,以DTS收到文件的时间为依据。
(四) 计算机病毒的防治
(1) 计算机病毒是一种程序,它具有这样的特性:它可以修改别的程序,使得被修改的程序也具有这种特性。
(2) 病毒程序与通常的程序不同,它具有寄生性、隐蔽性、非法性、传染性和破坏性的特点。
(3) 按照病毒程序的寄生方式和它对系统的侵入方式,通常将微机病毒分成:系统引导型病毒、文件外壳型病毒、混合型病毒、目录型病毒和宏病毒。
(4) 计算机病毒的种类正在以越来越快的速度增加,同时,病毒程序的伪装也越来越隐蔽,特别值得注意的有:变种、病毒程序加密、多形性病毒以及伪装。
(5) 计算机病毒防治的主要手段有:人工预防、软件预防和管理预防。
(6) 解决网络安全问题的技术包括:划分网段、局域网交换技术和VLAN;加密技术、数字签名和认证、VPN技术;防火墙技术;入侵检测技术;网络安全扫描技术。
(五) 计算机可靠性及性能评价
(1) RAS:可靠性R、可用性A、可维护性S。
(2) 计算机可靠性模型:串联系统、并联系统和N模冗余系统。
(3) 提高计算机可靠性的途径:提高元器件质量,改进加工工艺与工艺结构,完善电路设计;发展容错技术。
(4) 计算机系统性能评价方法。
•时钟频率。
•指令执行速度。
•等效指令速度法。
•数据处理速率法。
•核心程序法。
(5) 基准测试程序。
•整数测试程序。
•浮点测试程序。
•SPEC基准测试程序。
•TPC基准程序。
(六) 计算机故障诊断与容错
(1) 计算机故障:永久性故障、间歇性故障和瞬时性故障。
(2) 故障诊断包括故障检测和故障定位两个方面。
(3) 故障诊断的方法:故障定位法、检查诊断程序法、微诊断法。
(4) 容错通过采用冗余方法来消除故障的影响。硬件冗余一般有时间和元器件冗余两种。
三、重点与难点分析
1.计算机可靠性及性能评价
(1) 可靠性与失效率的关系等式、平均无故障时间、平均修复时间内和可用性的定义。
(2) 重点掌握计算机系统的三个可靠性模型。
① 串联系统:可靠性R = R1R2…RN,失效率λ= λ1 + λ2 + … + λN。
② 并联系统:可靠性R = 1-(1-R1)(1-R2)…(1-RN),失效率 。
③ N模冗余系统可靠性: 。
(3) CPU性能公式。大多数计算机的时钟速度是固定的,它的运行周期称为时钟周期。时钟可以用时钟周期的长度(如2 ns)或其频率(如500 MHz)来表示。一个程序所花的CPU时间可以用两种方式来表示:
CPU时间 

CPU时间 = CPU时钟数 × 时钟周期长度
除了用时钟周期数来表示一个程序的执行时间外,还可以用指令条数(IC)来表示一个程序的执行时间。如果已知执行的指令条数和所用的时钟周期数目,就可以算出每条指令的平均时钟周期数CPI:
CPI 
代换可得:
CPU时间=IC × CPI × 时钟周期长度
CPU时间=
上式表明,CPU的性能取决于三个要素:时钟频率、每条指令所花的时钟周期数及指令条数。
① 时钟频率取决于硬件技术和组织。
② CPI取决于系统结构组织和指令集。
③ 指令条数(IC)取决于系统结构的指令集和编译技术。
MIPS表示每秒百万指令条数。对于一个给定的程序,MIPS定义为
MIPS 
程序的执行时间为

MIPS越高,则机器的执行速度越快。
MIPS有三个方面的缺陷:
① MIPS依赖于指令集,所以用MIPS来比较指令集不同的机器的性能好坏是很不准确的。
② 在同一台机器上,MIPS因程序不同而变化,有时其变化是很大的。
③ MIPS可能与性能相反。
最后一种情况的典型例子就是可选硬件浮点运算部件的机器。因为浮点运算远慢于整数运算,所以很多机器提供了可选的硬件浮点运算部件,但是软件实现浮点运算的MIPS高,然而硬件实现浮点运算所花的时间少,这时MIPS与机器性能恰好相反。类似的情况在具有优化功能的编译器中也可以发现。
(4) 评价两个计算机系统快慢的最好方法是比较运行同一基准程序所需要的时间。
2.计算机故障诊断与容错
(1) 主要了解故障诊断与容错的基本方法和概念。
(2) 故障处理步骤和方法:故障封闭,检错,重复执行,诊断,系统重构与恢复,修复,重入


相关内容