一、计算机系统基础知识
1、计算机系统硬件基本组成
基本硬件系统由运算器、控制器、存储器、输入设备和输出设备5大部件组成。
组成 | 说明 |
---|---|
运算器、控制器 | 集成在一起统称为中央处理单元(CPU)。CPU是硬件系统的核心,用于数据的加工处理 |
存储器 | 计算机系统中的记忆设备,分内部存储器和外部存储器 |
输入设备 | 用于输入原始数据及各种命令,与输出设备合称为外部设备(简称外设) |
输出设备 | 用于输出计算机运行的结果,与输入设备合称为外部设备(简称外设) |
2、中央处理单元
中央处理单元(CPU) 是计算机系统的核心部件,它负责获取程序指令、对指令进行译码并加以执行。
(1)CPU的功能
- 程序控制:CPU通过执行指令来控制程序的执行顺序(控制器)
- 操作控制:CPU产生每条指令的操作信号并将操作信号送往对应的部件。
- 时间控制:CPU对各种操作进行时间上的控制,即指令执行过程中操作信息的出现时间、持续时间及出现的时间顺序都需要进行严格控制(控制器)
- 数据处理:CPU通过对数据进行算术运算及逻辑运算等方式进行加工处理,数据加工处理的结果被人们所利用(运算器)
- 对系统内部和外部的中断(异常) 做出响应,进行相应的处理。
(2)CPU的组成
CPU主要由运算器、控制器、寄存器组和内部总线等部件组成。
运算器
运算器由算术逻辑单元(ALU)、累加寄存器、缓冲寄存器和状态条件寄存器组成。
分类 | 说明 |
---|---|
算术逻辑单元(ALU) | ALU 是运算器的重要组成部件,负责处理数据,实现对数据的算术运算和逻辑运算 |
累加寄存器(AC) | AC通常简称为累加器。是通用寄存器。为ALU提供一个工作区,运算的结果存放在累加器中 |
数据缓冲寄存器 (DR) | |
状态条件寄存器 (PSW) | PSW保存由算术指令和逻辑指令运行或测试的结果建立的各种条件妈标志。 |
它是数据加工处理部件,用于完成计算机的各种算术和逻辑运算。
运算器有两个主要功能:
- 执行所有的算术运算
- 执行所有的逻辑运算并进行逻辑测试,例如与、或、非。
控制器
控制器的功能:控制整个CPU的工作,包括程序控制、时序控制等
控制器一般包括指令控制逻辑、时序控制逻辑、总线控制逻辑和中断控制逻辑等几个部分
分类 | 说明 |
---|---|
指令控制逻辑 | 要完成取指令、分析指令和执行指令的操作,其过程分为取指令、指令译码、按指令操作码执行、形成下一条指令地址等步骤 |
时序控制逻辑 | 要为每条指令按时间顺序提供应有的控制信号 |
总线控制逻辑 | 是为多个功能部件服务的信息通路的控制电路 |
中断控制逻辑 | 用于控制各种中断请求,并根据优先级的高低对中断请求进行排队,逐个交给 CPU 处理 |
指令控制逻辑由指令寄存器 (IR: 暂存CPU执行指令)、程序计数器(PC:存放指令执行地址)、地址寄存器 (AR:保存CPU访问的内存地址)、指令译码器 (ID:分析指令操作码) 等组成。
分类 | 说明 |
---|---|
指令寄存器 (IR) | 当 CPU 执行指令时,先把它从内存储器取到缓冲寄存器中,再送入IR暂存,指令译码器(ID)根据IR的内容生各种微操作指令,控制其他的组成部件工作 |
程序计数器(PC) | PC 具有寄存信息和计数两种功能,又称为指令计数器。在程序开始执行前,将程序的起始地址送入PC,该地址在程序加载到内存时确定,因此 PC 的内容即是程序第一条指令的地址 |
地址寄存器 (AR) | AR 保存当前 CPU 所访问的内存单元的地址 |
指令译码器 (ID) | 指令包含操作码和地址码两部分,为了能执行任何给定的指令,必须对操作码进行分析,以便识别所完成的操作 |
寄存器组
寄存器组可分为专用寄存器和通用寄存器。运算器和控制器中的寄存器是专用寄存器,其作用是固定的。通用寄存器用途广泛并可由程序员规定其用途,其数目因处理器不同有所差异。
(3)多核CPU
多核即在一个单芯片上面集成两个甚至更多个处理器内核。
多核 CPU 系统最大的优点 (也是开发的最主要目的) 是可满足用户同时进行多任务处理的要求。
3、数据表示
各种数值在计算机中表示的形式称为机器数,其特点是采用二进制计数制。
机器数有无符号数和带符号数之分。
(1)原码、反码、补码和移码
R进制转十进制
使用按权展开法,其具体操作方式为:将R进制数的每一位数值用 R k R^k Rk形式表示,即幂的底数是R,指数为k,k与该位和小数点之间的距离有关。当该位位于小数点左边,k值是该位和小数点之间数码的个数,而当该位位于小数点右边,k值是负值,其绝对值是该位和小数点之间数码的个数加1。
例如二进制
10100.01
=
1
∗
2
4
+
1
∗
2
2
+
1
∗
2
−
2
10100.01=1*2^4+1*2^2+1*2^{-2}
10100.01=1∗24+1∗22+1∗2−2
例如七进制
604.01
=
6
∗
7
2
+
4
∗
7
0
+
1
∗
7
−
2
604.01 =6*7^2+4*7^0+1*7^{-2}
604.01=6∗72+4∗70+1∗7−2
十进制转R进制
使用短除法。例如将94转换为二进制数
二进制转八进制与十六进制数
转八进制,从右向左,每3位分组,不足补0,分别计算每个值
转十六进制,每4位分组(A是10,E是15)
编码说明
整数 | |
---|---|
原码 | − ( 2 n − 1 − 1 ) = > 2 n − 1 − 1 -(2^{n-1}-1) => 2^{n-1}-1 −(2n−1−1)=>2n−1−1 |
反码 | − ( 2 n − 1 − 1 ) = > 2 n − 1 − 1 -(2^{n-1}-1) => 2^{n-1}-1 −(2n−1−1)=>2n−1−1 |
补码 | − ( 2 n − 1 ) = > 2 n − 1 − 1 -(2^{n-1}) => 2^{n-1}-1 −(2n−1)=>2n−1−1 |
移码 | − ( 2 n − 1 ) = > 2 n − 1 − 1 -(2^{n-1}) => 2^{n-1}-1 −(2n−1)=>2n−1−1 |
(2)浮点数
浮点数表示:
N
=
M
∗
R
e
N = M*R^e
N=M∗Re
其中M称为尾数,e是指数,R为基数。
对阶=>尾数计算=>结果格式化
1000
=
1.0
∗
1
0
3
1000 = 1.0* 10^3
1000=1.0∗103
119
=
1.19
∗
1
0
2
119= 1.19* 10^2
119=1.19∗102
对阶,119转换为
119
=
0.119
∗
1
0
3
119= 0.119* 10^3
119=0.119∗103
尾数计算,
1.0
+
0.119
=
1.119
1.0+0.119 = 1.119
1.0+0.119=1.119
结果格式化,
1.119
∗
1
0
3
=
1119
1.119*10^3 = 1119
1.119∗103=1119
4、校验码
使用校验码来检测传送的数据是否出错,基本思想是把数据可能出现的编码分为合法编码和错误编码。
码距:是指一个编码系统中任意两个合法编码之间至少有多少个二进制位不同。
(1)奇偶校验码
奇偶校验是一种简单有效的校验方法。这种方法通过在编码中增加一位校验位来使编码中 1 的个数为奇数(奇校验)或者为偶数(偶校验),从而使码距变为 2。
常用的奇偶校验码有 3 种:水平奇偶校验码、垂直奇偶校验码和水平垂直校验码。
(2)海明码
海明码是一种利用奇偶性来检错和纠错的校验方法。
海明码的构成方法是在数据位之间的特定位置上插入 k 个校验位,通过扩大码距来实现检错和纠错。
设数据位是n 位,校验位是k位,则n 和必须满足以下关系:
2
k
−
1
≥
n
+
k
2^k-1≥n+k
2k−1≥n+k
海明码的编码规则如下:
设 k 个校验位为
P
k
,
P
k
−
1
,
…
,
P
1
P_k,P_{k-1}, \ldots,P_1
Pk,Pk−1,…,P1,n 个数据位为
D
n
−
1
,
D
n
−
2
,
…
,
D
1
,
D
0
D_{n-1},D_{n-2}, \ldots,D_1,D_0
Dn−1,Dn−2,…,D1,D0,对应的海明码为
H
n
+
k
,
H
n
+
k
−
1
,
…
,
H
1
H_{n+k},H_{n+k-1}, \ldots,H_1
Hn+k,Hn+k−1,…,H1,那么:
-
P
i
P_i
Pi在海明码的第
2
i
−
1
2^{i-1}
2i−1位置,数据位则依序从低到高占据海明码中剩下的位置。
- 海明码中的任何一位都是由若干个校验位来校验的。其对应关系如下:被校验的海明位的下标等于所有参与校验该位的校验位的下标之和,而校验位由自身校验。
- 检测错误
若采用偶校验,则 G 4 G 3 G 2 G 1 G_4G_3G_2G_1 G4G3G2G1,全为 0 时表示接收到的数据无错误(奇校验应全为 1)。当
G 4 G 3 G 2 G 1 G_4G_3G_2G_1 G4G3G2G1不全为 0 时说明发生了差错,而且 G 4 G 3 G 2 G 1 G_4G_3G_2G_1 G4G3G2G1的十进制值指出了发生错误的位置,例如 G 4 G 3 G 2 G 1 G_4G_3G_2G_1 G4G3G2G1=1010,说明 H 10 ( D 5 ) H_{10}(D_5) H10(D5)出错了,将其取反即可纠正错误。
(3)循环冗余校验码
循环冗余校验码(CRC),利用生成多项式为
k
k
k个数据位产生
r
r
r个校验位来进行,其编码长度为
k
+
r
k+r
k+r
n为CRC码的字长,所以又称
(
n
,
k
)
(n,k)
(n,k)码
计算校验码
模2除法是指在做除法运算的过程中不计其进位的除法
例如,10111对110进行模2除法为:
普通除法运算: 计算过程中,使用二进制减法
模2除法运算:计算过程中,使用异或运算,01不同取1,相同取0
例:原始报文为11001010101,其生成多项式为: x 4 + x 3 + x + 1 x^4+x^3+x+1 x4+x3+x+1。对其进行CRC编码后的结果为?
- 先根据多项式,计算除数11011 x的指数是下标位置,存在x为1,不存在为0
- 原始报文补0,位数比除数少一位
- 模2除法运算,得到余数0011
- 结果110010101010011
二、计算机体系结构
1、发展
(1)计算机体系结构的概述
体系结构由结构、组织、实现、性能 4 个基本方面组成。
组成 | 说明 |
---|---|
结构 | 计算机系统各种硬件的互联 |
组织 | 各种部件的动态联系与管理 |
实现 | 各模块设计的组装完成 |
性能 | 计算机系统的行为表现 |
(2)计算机体系结构的分类
从宏观上按照处理机的数量分类
分类 | 说明 |
---|---|
单处理系统 | 利用一个处理单元与其他外部设备结合起来,实现存储、计算、通信、输入与输出等功能的系统. |
并行处理与多处理系统 | 为了充分发挥问题求解过程中处理的并行性,将两个以上的处理机互连起来,彼此进行通信协调,以便共同求解一个大问题的计算机系统 |
分布式处理系统 | 指物理上远距离而松耦合的多计算机系统。 |
从微观上按并行程度分类
Flynn分类法、冯泽云分类法、Handler分类法和Kuck分类法
- Flynn分类法
按指令流和数据流的多少进行分类。指令流为机器执行的指令序列,数据流是由指令调用的数据序列.
体系结构类型 | 结构 | 关键特性 | 代表 |
---|---|---|---|
单指令流单数据流SISD | 控制部分:一个;处理器:一个;主存模块:一个 | 单处理器系统 | |
单指令流多数据流SIMD | 控制部分:一个;处理器:多个;主存模块:多个 | 各处理器以异步的形式执行同一条指令 | 并行处理机、阵列处理机、超级向量处理机 |
多指令流单数据流MISD | 控制部分:多个;处理器:一个;主存模块:多个 | 被证明不可能至少是不实际 | 目前没有,有文献称流水线计算机为此类 |
多指令流多数据流MIMD | 控制部分:多个;处理器:多个;主存模块:多个 | 能够实现作业、任务、指令等各级全面并行 | 多处理机系统、多计算机 |
- 冯泽云分类法
按并行度对各种计算机系统进行结构分类
所谓最大并行度 Pm 是指计算机系统在单位时间内能够处理的最大二进制位数。
冯泽云把计算机系统分成字串行位串行 (WSBS) 计算机、字并行位串行 (WPBS) 计算机、字串行位并行 (WSBP) 计算机、字并行位并行 (WPBP) 计算机 4 类。 - Handler分类法
基于硬件并行程度计算并行度的方法,把计算机的硬件结构分为 3 个层次:处理机级、每个处理机中的算逻单元级、每个算逻单元中的逻辑门电路级 - Kuck分类法
用指令流和执行流(Execution Stream)及其多重性来描述计算机系统控制结构的特征
(3)指令系统
一个处理器支持的指令和指令的字节级编码称为其指令集体系结构(ISA)
指令集体系结构的分类
堆栈、累加器、寄存器组
CISC和RISC
指令系统类型 | 指令 | 寻址方式 | 实现方式 | 其它 |
---|---|---|---|---|
CISC (复杂指令集计算机) | 数量多,使用频率差别大,可变长格式 | 支持多种 | 微程序控制技术(微码) | 研制周期长 |
RISC(精简指令集计算机) | 数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器,只有Load/Store操作内存 | 支持方式少 | 增加了通用寄存器;硬布线逻辑控制为主;适合采用流水线 | 优化编译,有效支持高级语言 |
指令的流水处理
指令控制方式有顺序方式、重叠方式和流水方式 3 种
流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度
流水线周期为执行时间最长的一段
流水线计算公式为:
1条指令执行时间 +(指令条数-1)流水线周期
理论公式:
(
t
1
+
t
2
+
.
.
.
+
t
k
)
+
(
n
−
1
)
∗
△
t
(t1+t2+...+tk)+(n-1)*△t
(t1+t2+...+tk)+(n−1)∗△t
实践公式:
(
k
+
n
−
1
)
∗
△
t
(k+n-1)*△t
(k+n−1)∗△t
流水线的吞吐率(Though Put rate,TP)是指在单位时间内流水线所完成的任务数量或输出的结果数量。
计算流水线吞吐率的最基本的公式如下:
T
P
=
指令条数
/
流水线执行时间
TP=指令条数/流水线执行时间
TP=指令条数/流水线执行时间
流水线最大吞吐率
T
P
m
a
x
=
1
/
△
t
TP_max = 1/△t
TPmax=1/△t
完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比称为流水线的加速比。计算流水线加速比的基本公式如下: S = 不使用流水线执行时间 / 使用流水线执行时间 S = 不使用流水线执行时间/使用流水线执行时间 S=不使用流水线执行时间/使用流水线执行时间
流水线的效率是指流水线的设备利用率。在时空图上,流水线的效率定义为n个任务占用的时空区与k个流水段总的时空区之比
计算流水线效率的公式为:
E
=
n
个任务占用的时空区
/
k
个流水段的总的时空区
=
T
0
/
k
T
k
E=n个任务占用的时空区/k个流水段的总的时空区 = T_0 / kT_k
E=n个任务占用的时空区/k个流水段的总的时空区=T0/kTk
(4)阵列处理机、并行处理机和多处理机
并行性包括同时性和并发性。其中,同时性是指两个或两个以上的事件在同一时刻发生,并发性是指两个或两个以上的事件在同一时间间隔内连续发生。
阵列处理机将重复设置的多个处理单元(PU)按一定方式连成阵列,在单个控制部件(CU)控制下,对分配给自己的数据进行处理,并行地完成一条指令所规定的操作。这是一种单指令流多数据流计算机,通过资源重复实现并行性。
SIMD 和 MIMD 是典型的并行计算机,SIMD 有共享存储器和分布存储器两种形式。
多处理机系统是由多台处理机组成的系统,每台处理机有属于自己的控制部件,可以执行独立的程序,共享一个主存储器和所有的外部设备。它是多指令流多数据流计算机。
2、存储
(1)存储器的层次结构
(2)存储器的分类
按照存储所处的位置分类
分类 | 说明 |
---|---|
内存 | 也称为主存,设在主机内或主机板上,用来存放机器当前运行所需要的程序和数据,以便向 CPU 提供信息。相对于外存,其特点是容量小、速度快。 |
外存 | 也称为辅存,用来存放当前不参加运行的大量信息,而在需要时调入内存。 |
按照存储器的构成材料分类
分类 | 说明 |
---|---|
磁存储器 | 磁存储器是用磁性介质做成的,例如磁带、磁盘 |
半导体存储器 | 根据所用元件又可分为双极型和 MOS 型;根据数据是否需要刷新又可分为静态 (Static Memory) 和动态(Dynamic Memory) 两类 |
光存储器 | 利用光学方法读/写数据的存储器,如光盘 (Optical Disk) |
按照存储器的工作方式分类
分类 | 说明 |
---|---|
读/写存储器 | 它指既能读取数据也能存入数据的存储器 |
只读存储器 | 工作过程中仅能读取的存储器 |
按照访问方式分类
分类 | 说明 |
---|---|
按地址访问的存储器 | |
按内容访问的存储器 | 例如:相连存储器 |
按照寻址方式分类
分类 | 说明 |
---|---|
随机存储器 RAM | 这种存储器可对任何存储单元存入或读取数据,访问任何一个存储单元所需的时间是相同的 |
顺序存储器 SAM | 访问数据所需要的时间与数据所在的存储位置相关,磁带是典型的顺序存储器 |
直接存储器 DAM | 介于随机存取和顺序存取之间的一种寻址方式。磁盘是一种直接存取存储器,它对磁道的寻址是随机的,而在一个磁道内则是顺序寻址 |
(3)相联存储器
相联存储器是一种按内容访问的存储器。
工作原理就是把数据或数据的某一部分作为关键字,按顺序写入信息。读出时并行地将该关键字与存储器中的每一单元进行比较,找出存储器中所有与关键字相同的数据字,特别适合于信息的检索和更新。
(4)高速缓存
高速缓存用来存放当前最活跃的程序和数据。特点是位于CPU与主存之间,由快速半导体存储器构成,是存储系统体系中,访问速度最快的层次
组成
高速缓存中的地址映像方法
在 CPU 工作时,送出的是主存单元的地址,而应从 Cache 存储器中读/写信息。这就需要将主存地址转换成 Cache 存储器的地址,这种地址的转换称为地址映像。Cache 的地址映像有如下 3 种方法。
方法 | 说明 |
---|---|
直接映像 | 主存的块与Cache块的对应关系是固定的。主存中的块只能放在Cache存储器中相同的块中。优点:地址变换简单,缺点:灵活性差 |
全相联映像 | 优点:位置不受限制,十分灵活,缺点:变换比较复杂,速度比较慢 |
组相联映像 |
Cache性能分析
Cache 设计的目标是在成本允许的条件下达到较高的命中率,使存储系统具有最短的平均访问时间
如果以
h
h
h代表对Cache的访问命中率,
t
1
t_1
t1表示Cache的周期时间,
t
2
t_2
t2表示主存储器周期时间,以读操作为例,使用“Cache+主存储器”的系统的平均周期为
t
3
t_3
t3,则:
t
3
=
h
∗
t
1
+
(
1
−
h
)
∗
t
2
t_3=h*t_1 + (1-h)* t_2
t3=h∗t1+(1−h)∗t2
其中,(1-h)又称为失效率(未命中率)。
多级Cahce
在多级 Cache 的计算机中,Cache 分为一级(LI Cache)、二级(L2 Cache)、三级(L3 Cache)等,CPU 访存时首先查找 LI Cache,如果不命中,则访问 L2 Cache,直到所有级别的 Cache都不命中,才访问主存
(5)虚拟存储器
(6)外存储器
外存储器用来存放暂时不用的程序和数据,并且以文件的形式存储。
主要由磁表面存储器、光盘存储器和固态硬盘
(7)磁盘阵列技术
磁盘阵列是由多台磁盘存储器组成的一个快速、大容量、高可靠的外存子系统。
现在常见的磁盘阵列称为廉价冗余磁盘阵列 (RAID)。
(8)存储域网络
在大型服务器系统的背后都有一个网络,把一个或多个服务器与多个存储设备连接起来,
每个存储设备可以是 RAID、磁带备份系统、磁带库和 CD-ROM 库等,构成了存储域网络。
3、输入/输出技术
(1)微型计算机中最常用的内存与接口的编址方法
常见的有两种:
- 内存与接口地址独立编址
- 内存预借款地址统一编址
(2)直接程序控制
直接程序控制是指外设数据的输入/输出过程是在 CPU 执行程序的控制下完成的。这种方式
分为无条件传送和程序查询方式两种情况。
- 无条件传送
在此情况下,外设总是准备好的,它可以无条件地随时接收 CPU 发来的输出数据,也能够无条件地随时向 CPU 提供需要输入的数据。 - 程序查询方式
通过 CPU 执行程序来查询外设的状态判断外设是否准备好接收数据或准备好了向 CPU 输入的数据。根据这种状态,CPU 有针对性地为外设的输入/输出服务。
这种工作方式有如下两大缺点: - 降低了CPU 的效率。在这种工作方式下,CPU 不做别的事,只是不停地对外设的状态进行查询。在实际的工程应用中,对于那些慢速的外设,在不影响外设工作的情况下,CPU 应可以执行其他任务。
- 对外部的突发事件无法做出实时响应
(3)中断方式
利用中断方式完成数据的输入/输出过程为:当I/O 系统与外设交换数据时,CPU 无须等待也不必去查询 IO 的状态,而可以抽身出来处理其他任务。当 IO 系统准备好以后,则发出中断请求信号通知 CPU,CPU 接到中断请求信号后,保存正在执行程序的现场,转入 IO 中断服务程序的执行,完成与 IO 系统的数据交换,然后再返回被打断的程序继续执行。与程序控制方式相比,中断方式因为 CPU 无须等待而提高了效率。
中断处理方法
多中断信号线法、
中断软件查询法
菊花链法
总线仲裁法
中断向量表法
中断优先级控制
在具有多个中断源的计算机系统中,各中断源对服务的要求紧迫程度可能不同。在这样的计算机系统中,就需要按中断源的轻重缓急来安排对它们的服务。
- 当不同优先级的多个中断源同时提出中断请求时,CPU 应优先响应优先级最高的中断源。
- 当 CPU 正在对某一个中断源服务时,又有比它优先级更高的中断源提出中断请求,CPU 应能暂时中断正在执行的中断服务程序而转去对优先级更高的中断源服务,服务结束后再回到原先被中断的优先级较低的中断服务程序继续执行,这种情况称为中断嵌套,即一个中断服务程序中嵌套着另一个中断服务程序。
(4)直接存储器存取方式
直接内存存取 (DMA) 是指数据在内存与 I/O 设备间的直接成块传送,即在内存与IO 设备间传送一个数据块的过程中,不需要 CPU 的任何干涉,只需要 CPU在过程开始启动与过程结束时的处理,实际操作由 DMA 硬件直接执行完成。
(5)输入/输出处理机 (IOP)
通道的出现则进一步提高了 CPU 的效率。
通道是一个具有特殊功能的处理器,又称为输入输出处理器(Imput/Output Processor,IOP),它分担了 CPU 的一部分功能,可以实现对外围设备的统一管理,完成外围设备与主存之间的数据传送。
通道方式大大提高了 CPU 的工作效率,然而这种效率的提高是以增加更多的硬件为代
价的。外围处理机 (PPU) 方式是通道方式的进一步发展。PPU 是专用处理机,它根据主机的 I/O 命令,完成对外设数据的输入输出。在一些系统中,设置了多台 PPU分别承担 I/O 控制、通信、维护诊断等任务。从某种意义上说,这种系统已变成分布式的多机系统。
4、总线结构
所谓总线 (Bus),是指计算机设备和设备之间传输信息的公共数据通道
包括内部总线、系统总线、外部总线
(1)系统总线的分类
数据总线、地址总线、控制总线
数据总线 (Data Bus,DB) :用来传送数据信息,是双向的。CPU 既可通过 DB 从内存或输入设备读入数据,也可通过 DB 将内部数据送至内存或输出设备。DB 的宽度决定了 CPU和计算机其他设备之间每次交换数据的位数。
地址总线 (Address Bus,AB) 用于传送 CPU 发出的地址信息,是单向的。地址总线的宽度决定了 CPU 的最大寻址能力。
控制总线(Control Bus,CB) 用来传送控制信号、时序信号和状态信息等
三、安全性、可靠性与系统性能评测基础知识
1、计算机安全概述
(1)计算机的安全等级
三类安全性:技术安全性、管理安全性和政策法律安全性
(2)安全威胁
所谓安全威胁,是指某个人、物、事件对某一资源的机密性、完整性、可用性或合法性所造成的危害。某种攻击就是威胁的具体实现。安全威胁分为两类:故意(如黑客渗透) 和偶然(如信息发往错误的地址)。
(3)影响数据安全的因素
- 内部因素
- 外部因素
2、加密技术和认证技术
(1)加密技术
加密技术是最常用的安全保密手段,数据加密技术的关键在于加密/解密算法和密钥管理。
- 数据加密是用加密算法 E E E 和加密密钥 k 1 k_1 k1 将明文 P P P 变换成密文 C C C,记为 C = E k 1 ( P ) C=E_{k_1}(P) C=Ek1(P)
- 数据解密是数据加密的逆过程,解密算法 D D D 和解密密钥 k 2 k_2 k2,将密文 C 变换成明文 P,记为 P = D k 2 ( C ) P= D_{k_2}(C) P=Dk2(C)
密码体制:对称密钥体制和非对称密钥体制
加密技术:对称加密(私人密钥加密)和非对称加密(公开密钥加密)
对称加密技术
对称加密采用了对称密码编码技术,其特点是文件加密和解密使用相同的密钥,这种方法在密码学中称为对称加密算法。
算法 | |
---|---|
数据加密标准算法(DES) | DES 主要采用替换和移位的方法加密。运算速度快,密钥生产容易 |
三重DES(3DES, 或TDEA) | 在 DES 的基础上采用三重 DES。发送方用 K 1 K_1 K1 加密, K 2 K_2 K2解密,再使用 K 1 K_1 K1 加密 |
RC-5 | |
国际数据加密算法 (IDEA) | |
高级加密标准算法 (AES) | AES 算法基于排列和置换运算. |
非对称加密技术
非对称加密算法需要两个密钥:公开密钥(Publickey) 和私有密钥(Privatekey )。
非对称加密有两个不同的体制:
RSA (Rivest,Shamir and Adleman)算法是一种公钥加密算法。
密钥管理
密钥是有生命周期的,它包括密钥和证书的有效时间,以及已撤销密钥和证书的维护时间等。
- 密钥产生
- 密钥备份和恢复
- 密钥更新
- 多密钥的管理
(2)认证技术
认证技术主要解决网络通信过程中通信双方的身份认可。
认证的过程涉及加密和密钥交换。
认证一般有账户名/口令认证、使用摘要算法认证和基于PKI的认证。
PKI的基础技术包括加密、数字签名、数据完整性机制、数字信封和双重数字签名等。
完整的PKI系统必须具有权威认证机构(CA)、数字证书库、密钥备份及恢复系统、正数作废系统、应用接口等基本构成部分。
数据的机密性是指数据在传输过程中不能被非授权者偷看;
数据的完整性指数据在传输过程中不能被非法篡改;
数据的有效性是指数据不能被否认。
Hash函数与信息摘要
单向 Hash 函数用于产生信息摘要
MD5算法的特点: 压缩性、容易计算、抗修改性、强抗碰撞
数字签名
数字签名主要经过以下几个过程:
- 信息发送者使用一个单向散列函数 (Hash 函数) 对信息生成信息摘要
- 信息发送者使用自己的私钥签名信息摘要。
- 信息发送者把信息本身和已签名的信息摘要一起发送出去。
- 信息接收者通过使用与信息发送者使用的同一个单向散列函数 (Hash 函数) 对接收的信息本身生成新的信息摘要,再使用信息发送者的公钥对信息摘要进行验证,以确认信息发送者的身份和信息是否被修改过。
SSL协议 安全套接层
主要用于提高应用程序之间数据的安全系数。
SSL 协议主要提供如下三方面的服务:
- 用户和服务器的合法性认证
- 加密数据以隐藏被传送的数据
- 保护数据的完整性
安全套接层协议是一个保证计算机通信安全的协议,对通信对话过程进行安全保护,其实现过程主要经过如下几个阶段。
- 接通阶段。客户端通过网络向服务器打招呼,服务器回应。
- 密码交换阶段。客户端与服务器之间交换双方认可的密码,一般选用 RSA 密码算法,也有的选用 Diffe-Hellmanf 和 Fortezza-KEA密码算法
- 会谈密码阶段。客户端与服务器间产生彼此交谈的会谈密码。
- 检验阶段。客户端检验服务器取得的密码。
- 客户认证阶段。服务器验证客户端的可信度。
- 结束阶段。客户端与服务器之间相互交换结束的信息。
数字时间戳技术
数字时间戳是数字签名技术的一种变种应用。
数字时间戳服务 (DTS) 能提供电子文件的日期和时间信息的安全保护。
时间戳是一个经加密后形成的凭证文档,包括如下 3 个部分:
- 需加时间戳的文件的摘要 (Digest)
- DTS 收到文件的日期和时间。
- DTS 的数字签名。
时间戳产生的过程为:用户首先将需要加时间戳的文件用 Hash 编码加密形成摘要,然后将该摘要发送到 DTS,DTS 在加入了收到文件摘要的日期和时间信息后再对该文件加密 (数字签名),然后送回用户。
3、计算机可靠性
(1)概述
计算机系统的硬件故障通常是由元器件的失效引起的。
计算机系统的可靠性是指从它开始运行(t=0)到某时刻
t
t
t 这段时间内能正常运行的概率,用R(t)表示。
所谓失效率,是指单位时间内失效的元件数与元件总数的比例,用
λ
λ
λ表示,当
λ
λ
λ为常数时,可靠性与失效率的关系为
R
(
t
)
=
e
−
λ
t
R(t)=e^{-λt}
R(t)=e−λt
两次故障之间系统能正常工作的时间的平均值称为平均无故障时间 (MTBF),即
M
T
B
F
=
1
/
λ
MTBF=1/λ
MTBF=1/λ
通常用平均修复时间(MTRF)来表示计算机的可维修性,即计算机的维修效率,指从故章发生到机器修复平均所需要的时间。
计算机的可用性是指计算机的使用效率,它以系统在执任务的任意时刻能正常工作的概率。即
A
=
M
T
B
F
/
(
M
T
B
F
+
M
T
R
F
)
A = MTBF/(MTBF +MTRF)
A=MTBF/(MTBF+MTRF)
计算机的 RAS 是指用可靠性 R、可用性A 和可维修性 S这3 个指标衡量一个计算机系统。
(2)计算机可靠性模型
串联系统
设系统中各个子系统的可靠性分别用
R
1
,
R
2
,
⋅
⋅
⋅
,
R
N
R_1,R_2,···,R_N
R1,R2,⋅⋅⋅,RN来表示,则系统的可靠性
R
=
R
1
R
2
.
.
.
R
N
R =R_1R_2...R_N
R=R1R2...RN
如果系统的各个子系统的失效率分别用
λ
1
,
λ
2
,
.
.
.
,
λ
N
λ_1,λ_2,...,λ_N
λ1,λ2,...,λN 来表示,则系统的失效率
λ
=
λ
1
+
λ
2
+
.
.
.
+
λ
N
λ=λ_1+λ_2+...+λ_N
λ=λ1+λ2+...+λN
并联系统
假如一个系统由 N个子系统组成,只要有一个子系统正常工作,系统就能正常工作,这样的系统称为并联系统
设每个子系统的可靠性分别以
R
1
,
R
2
,
⋅
⋅
⋅
,
R
N
R_1,R_2,···,R_N
R1,R2,⋅⋅⋅,RN 表示,整个系统的可靠性
R
=
1
−
(
1
−
R
1
)
(
1
−
R
2
)
.
.
.
(
1
−
R
N
)
R=1-(1-R_1)(1-R_2)...(1-R_N)
R=1−(1−R1)(1−R2)...(1−RN)
假如所有子系统的失效率均为 λ,则系统的失效率为
N模冗余系统
N 模余系统由 N个( N=2n+1) 相同的子系统和一个表决器组成,表决器把 N 个子系统中占多数相同结果的输出作为系统的输出
设表决器是完全可靠的,每个子系统的可靠性为 R,则N模余系统的可靠性为
混合系统
4、系统的性能评价
(1)性能评测的常用方法
方法 | 说明 |
---|---|
时钟频率 | 计算机的时钟频率在一定程度上反映了机器速度,一般来讲,主频越高,速度越快 |
指令执行速度 | 加法指令的运算速度来衡量计算机的速度 |
等效指令速度法 | ∑ i = 1 n ( w i ∗ t i ) \sum_{i=1}^n (w_i*t_i) ∑i=1n(wi∗ti) 指令i在程序中所占的比例 w i w_i wi,执行时间为 t i t_i ti |
数据处理速率(PDR)法 | PDR 法采用计算 PDR 值的方法来衡量机器性能,PDR 值越大,机器性能越好。 PDR=L/R , |
核心程序法 |