第1章计算机网络概述
计算机系统基础知识
计算机系统硬件基本组成
计算机系统是由硬件和软件组成的。基本硬件系统由 运算器
控制器
存储器
输入设备
输出设备
。
1、中央处理单元
运算器、控制器 等部件被集成在一起统称为中央处理单元(CPU)
(硬件系统的核心)。CPU 用于数据加工处理,完成各种算术、逻辑运算及控制能力。
2、存储器
存储器
是计算机系统中的记忆设备,分为内部存储器
和外部存储器
。内部存储器速度高、容量小。一般用于临时存放程序,数据及中间结果。;外部存储器容量大、速度慢。可以长期保存程序和数据。
3、外部设备
输入和输出设备合称为 外部设备
中央处理单元
CPU 是计算机系统的核心,负责获取程序指令
、对指令进行译码
并加以执行
。
功能
- 程序控制(重要功能):通过执行指令来控制程序的顺序。
- 操作控制:生产指令操作信号–>把操作信号送往对应的部件–>控制相应的部件按指令的功能要求进行操作。
- 时间控制:指令执行过程中操作信号的出现时间、持续时间以及出现的时间顺序都需要进行严格控制。
- 数据处理(根本任务):对数据进行算术运算及逻辑运算等方式对数据进行加工处理。
组成
运算器、控制器、寄存器和内部总线等部件组成。
运算器
由算术逻辑单元
、累加寄存器
、数据缓冲寄存器
、状态条件寄存器
组成。是数据加工处理部件。
注意:运算器所进行的全部操作都是由控制器发出的控制信号来指挥的,so 它是执行部件。
1、算术逻辑单元(ALU):负责数据处理,实现对数据的算术运算和逻辑运算。
2、累加寄存器(AC): 为 ALU 提供一个工作区。例如:在执行一个减法运算前,先将被减数取出暂存在 AC 中,再从内存存储器中取出减数,然后同 AC 的内容相减,将所得的结果送回 AC 中
。
注意:运算器中至少要有一个累加器寄存器。
3、数据缓冲寄存器(DR):作为 CPU 和内存、外部设备之间数据传送的中转站。作为 CPU 和内存、外围设备之间在操作速度上的缓冲。
注意:在单累加器结构的运算器中,数据缓冲寄存器还可兼作为操作数寄存器。
4、状态条件寄存器(PSW):状态条件寄存器保存由算术指令和逻辑指令运行或测试或测试的结果建立的各种条件码内容,主要分为状态标志和控制标志。
功能
1、执行所有的算术运算
2、执行所有的逻辑运算并进行逻辑测试
控制器
用于控制整个 CPU 的工作,它决定了计算机运行过程的自动化。控制器一般包括指令控制逻辑
、时序控制逻辑
、总线控制逻辑
和中断控制逻辑
等几个部分。
指令控制逻辑过程:取指令–>指令译码–>按指令操作执行–>形成下一条指令地址。
1、指令寄存器(IR):当 CPU 执行一条指令时,先把它从内存储器取到缓冲寄存器中,再送入 IR 暂存,指令译码器根据 IR 的内容产生各种微操作指令,控制其他的组成部件工作,完成所有的功能。
2、程序计数器(PC):具有寄存信息
和计数
功能,即又称指令计数器
。程序的执行一般分为两种,一种是顺序执行,一种是转移执行。由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单地对 PC 加 1。当遇到转移指令时,后继指令的地址根据当前指令的地址加上一个向前或向后的位移的位移得到,或者根据转移指令给出直接转移的地址得到。
3、地址寄存器(AR): 保存当前 CPU 所访问的内存单元的地址。
4、指令译码器(ID):指令包含操作码和地址码。指令译码器是对指令中的操作码字段进行分析解析,识别该指令规定的操作,向操作控制器发出具体的控制信号,控制各部件工作,完成所需的功能。
时序控制逻辑–>为每条指令按时间顺序提供有应有的控制信号。
总线逻辑–>为多个功能部件服务的信息通路的控制电路。
中断控制逻辑–>用于控制各种中断请求,并根据优先级的高低对中断请求进行排队,逐个交给 CPU 处理。
寄存器组
分为专用寄存器
和通用寄存器
。运算器和控制器中的寄存器是专用寄存器,其作用是固定的。
多核 CPU
核心又称为内核,是 CPU 最重要的组成部分。CPU 所有的计算、接受/存储命令、处理数据都由核心执行。各种 CPU 核心都是具有固定的逻辑结构,一级缓存、二级缓存、执行单元、指令级单元和总线接口等逻辑单元都会有合理的布局。
多核即在一个单芯片上面集成两个甚至更多个处理器内核,其中每一个内核都有自己的逻辑单元、控制单元、中断处理器、运算单元,一级缓存、二级 Cache 共享独有,其中部件的完整性和单核处理器内核相比完全一样。
多核 CPU 最大的优点是可以满足用户同时进行多任务处理的要求。
要发挥 CPU 的多核性能,就需要操作系统能够及时、合理得给各个核分配任务和资源(如:缓存、总线、内存等),也需要应用软件在运行时可以把并行的线程同时交付给多个核心分别处理。
数据表示
各种数值在计算机中表示的形式称为机器数
。
机器数分为:无符号数
和 带符号数
无符号数
表示正数,在机器数中没有符号位。
带符号数
机器数的最高位是表示正、负的符号位,其余位则表示数值。为了便于运算,带符号的机器数采用原码、反码、补码等不同的编码方法,机器数的这些编码方法称为码制
。
原码、反码、补码和移码
原码表示法
n为机器字长
最高位是符号位,0表示正数,1表示负数
,其余的 n-1 位表示数值的绝对值
。
例子:若机器字长为8位
反码表示法
n为机器字长
正数的反码和原码相同
,负数的反码则是其绝对值按位求反
。
例子:若机器字长为8位
补码表示法
n为机器字长
正数的补码与其原码和反码相同,负数的补码等于其反码的末尾加1。
例子:若机器字长为8位
移码表示法
只有将补码的符号位取反。
定点数和浮点数
定点数
小数点的位置固定不变的数。小数点的位置通常有两种约定方式:定点正数
、定点小数
浮点数
小数点的位置不确定
一个二进制 N 可以表示为更一般的形式 $N=2^{E}\times F$ ,其中 E 称为阶码,F称为尾数。用阶码和尾数表示的数称为浮点数,表示方法称为浮点表示法
。
在浮点表示法中,阶码为带符号的纯正数,尾码为带符号的纯小数。
浮点数的表示格式:
浮点数所能表示的数值范围
有由阶码
决定,精度
由于尾数
决定
规范化就是将位数的绝对值限定在区间[0.5,1]。
当尾数用补码表示时,要注意:
若为数 $$M\geq 0$$ ,规格化的尾数形式为 M=0.1XXX…X ,X 可为0,也可为1,即将尾数限定在区间[0.5,1]。
若为数 $$M <0$$,………..即将尾数限定在区间[-1,-0.5]。
当浮点数的阶码用 R 位的移码表示,尾数用 M 位的补码表示,浮点数表示的数值范围:
最大:$+\left( 1-2^{-m+1}\right) \times 2^\left( 2^{r-1}-1\right)$
最小:$ -1 \times 2^\left( 2^{r-1}-1\right)$
工业标准 IEEE754
标准的表示形式为: $\left( -1\right) ^{S}2^{E}\left( b_{0}b_{1}b_{3}\ldots b_{p-1}\right)$
其中,$\left( -1\right) ^{S}$ 浮点数的数符,当 S 为 0 时表示正数,S 为 1 时表示负数;E 为指数(阶码),用移码表示;
$\left( b_{0}b_{1}b_{3}\ldots b_{p-1}\right)$为尾数,长度为 p 位,用原码表示。
根据 IEEE754 标准,被编码的值分为 3 种不同的情况:规范化的值
、非规范化的值
和特殊值
。
【1】、规范化的值:当阶码部分的二进制值不全为0,也不全为1时。
例子:利用 IEEE754 标准将数 176.0625 表示为单精度浮点数。
1、十进制数–>转成二进制 (转换过程访问:https://www.cnblogs.com/xkfz007/articles/2590472.html)
$\left( 176.065\right) _{10}=\left( 10110000.001\right) _{2}$
2、规格化处理
$10110000.001$ = $1\langle \rangle 01100000001\times 2^{7}$
将 $$b_{0}$$ 去掉并扩展为单浮点数所规定的 23 位尾数。
01100000010000000000000
3、求阶码
$1\langle \rangle 01100000001\times 2^{7}$$的指数为 7 ,单精度浮点数规定指数的偏移量为 127
。
所有 E = 7 + 127 = 134 ,求得移码为 10000110。
0 10000110 01100000010000000000000
【2】、非规范化的值
阶码的二进制全为 0 。指数的真值为1–偏移量(对于单精度浮点数为-126,双精度浮点数为-1022),尾数的值就是二进制形式对应的小数,不包含隐含的1。
用途:①表示数值0;②表示哪些非常接近于0的数。
【3】、特殊值
阶码的二进制全为1。
尾数部分全为0:无穷大;符号为为0:$+\infty$,1:$-\infty$;
尾数部分不全为0:NaN;
浮点数的运算
校验码
使用校验码的方法来检测传送的数据是否出错。
码距
指一个编码系统中任意两个合法编码之间至少有多少个二进制位不同。例如:4 位 8421 码的码距为1 ,在传输过程中,该代码的一位或多位发生错误,都将变成另一个合法的编码,因此这样编码无检错能力。
奇偶校验码
在编码中增加一位校验位来使编码中 1 的个数为奇数(奇校验)或者为偶数(偶校验),从而时码距变为2。奇校验,可以检测代码中奇数位出错的编码,但不能发现偶数位出错的情况,即当合法编码中的奇数位发生了变化,即当编码中的0变成了1或1变成了0,则该编码中1 的个数的奇偶性就发生了变化。
常用的奇偶检验码有:水平奇偶检验码
、垂直奇偶校验码
、水平垂直奇偶校验
海明码
构成方法是在数据位之间的特定位置上插入 k 个校验位,通过扩大码距来实现检错和纠错。
设数据位是 n 位, 校验位是 k 位,则 n 与 k 必须满足以下关系: $2^{k}-1\geq n+k$
计算机体系结构
计算机体系结构的发展
概述
计算机体系结构
、计算机组织
和计算机实现
的关系:
体系结构:计算机的概念性结构和功能属性。
组织:计算机组成原理(计算机体系结构的逻辑实现,包括计算机内的数据流和控制流的组成以及逻辑设计等)。
实现:计算机组织的物理实现。
分类
1、(宏观)按处理机的数量分:单处理系统
、并行处理与多处理系统
、分布式处理系统
2、(微观)按并行程度分:Flynn 分类法
、冯泽云分类法
、Handler 分类法
、Kuck分类法
指令流:机器执行的指令序列;
数据流:指令调用的数据序列;
并行度:计算机系统在单位时间内能够处理的最大二进制位数。
Flynn :按指令流和数据流的多少分类(单/多指令:单/多数据流,4种)
冯泽云:按并行度分类(字串/并行:位串/并行,4种)
Handler:提出一个基于硬件并行程度计算并行度的方法。
Kuck:按指令流和执行流及其多重性分(单/多指令:单/多执行流,4钟)
指令系统
指令集体系结构:一个处理器的指令和指令的字节级编码;不同的处理器族支持不同的指令集体系结构。
指令集体系结构的分类
从体系结构的观点分
1、操作数在 CPU 中的存储方式
2、显式操作数的数量
3、操作数的位置
4、指令的操作
5、操作数的类型与大小
按暂存机制分
堆栈(Stack)、累加器(Accumulator)、寄存器组
CISC 和 RISC
CISC(复杂 指令集)和 RISC(精简指令集)是指令集发展的两种途径。
CISC:用更为复杂的新指令取代原先由软件子程序完成的功能,实现软件的硬件化,导致机器的指令系统越来月庞大、复杂。
RISC:通过减少指令总数和简化指令功能降低硬件设计的复杂度,使用指令能够单周期执行,并通过优化编译提高指令的执行速度。采用硬布线控制逻辑优化编译程序。
优化:
提高目标程序的实现效率:对动态和静态使用频率进行优化,既可以减少程序所需的存储空间,又可以提高程序的执行速度。
面向高级程序语言:缩小高级语言与机器语言之间的语义差距。
面向操作系统:缩小操作系统与体系结构之间的语义差异。
指令的流水处理
指令控制方式
①顺序执行
:指各条机器指令之间顺序的执行。优点是控制简单;缺点是速度慢,各部件的利用率低。
②重叠方式
:指在解释第K条指令的操作完成之间就可以开始第K+1条指令。优点是速度提高,控制简单;缺点是出现冲突、转移和相关等问题。
③流水方式
:把并行性和并发性嵌入到计算机系统的一种形式,把重复的顺序处理过程分解为若干个子过程,每个子过程能在独立的模块上有效地并发工作。
流水线的种类
①级别:部件级、处理级、系统级
②功能:单功能、多功能
③连接:静态、动态
④是否有反馈回路:线性流水、非线性流水
⑤流动顺序:同步流水、异步流水
⑥数据表示:标准、向量
流水的相关处理
1、流水线时同时处理多条指令,会出现相关。相关带来的影响是局部性的,所以称为局部性相关。解决方式:推后法
和通路法
。推后法:推后相关单元的读,直到写入完成。通路法:设置相关专用通路直接使用运算结果,以加快速度。
2、转移指令与后面的指令之间存在关联,使之不能同时解释。执行转移指令时,可能会改动指令缓冲器中预取到的指令内容,造成流水线吞吐率和效率下降,称全局性相关。解决:猜测转移分支
、加快和提前形成条形码
、加快断循环程序的处理
。
3、RISC 采用的流水技术:
①超流水线
:在所有的功能单元都采用流水,并有更高的时钟频率和更深的流水深度。
②超标量
:
③超长指令字
:
吞吐率和流水建立的时间
单位时间内流水线处理机流出的结果数(对指令,单位时间内执行的指令数)。
当流水线的子过程所用的时间不一样,吞吐率 $p=1/\max \left{ \Delta t_{1},\Delta t_{2},\ldots ,\Delta t_{m}\right}$
若m个子过程所用的时间一样,均为 $\Delta t_{0}$ ,则建立时间 $T_{0}=m\Delta t_{0}$
阵列、并行、多处理机
并行性
:同一时刻发生;并发性
:同一时间间隔内连续发生。
1、阵列处理机:将重复处理的多个单元(PU)按一定方式连成阵列。是一中单指令多数据流计算机,通过资源重复实现并行。
2、并行处理机:SIMD(共享存储器和分布式存取器形式) 和 MIMD 是典型的并行计算机。
3、多处理机:由多台处理及组成的。各自独立,共享一个主存器和所有的外部设备。多指令多数据流计算机。
4、其他计算机:集群计算机是一种并行或分布式处理系统。主要用来解决大型计算问题。这种系统可以提供一种价格合理的且可获得所需性能和快速而可靠的服务的解决方案。
存储系统
存储器的层次结构
例子:CPU 内部的通用寄存器组、CPU 内的 Cache(高速缓存)、CPU 外的 Cache、主板上的主存储器等。
注意:Cache 和主存之间的交互功能全部由硬件实现,主存和辅存由硬件和软件结合起来实现。
存储器的分类
1、按位置:
内存(主存) | 外存(辅存) |
---|---|
主机内和主机板上 | 磁盘、磁带和光盘 |
容量小速度快(相对于外存) | |
存放当前运行的程序和数据,向CPU提供信息 | 存放不参与运行的信息,需要是才调入 |
2、按构成材料:
磁存储器、半导体存储器、光存储器
3、按工作方式:
读/写存储器、只读存储器
4、按访问方式:
按地址访问存储器、按内容访问存储器
5、按寻址方式:
随机存储器、顺序存储器、直接存储器
相连存储器
是一种按内容访问的存储器。按关键字顺序存储和读取。适合于信息的检索和更新。相连存储器可用在高速缓存存储器中,在虚拟存储器中用来作为段表、页表和快表存储器,用在数据库和知识库中。
高速缓存
用来存放当前最活跃和程序和数据。特点
:位于 CPU 与主存之间;容量 几千~~几兆字节;速度比主存快 5~10 倍,由快速半导体存储器构成;其内容是主存局部域和副本,对程序员来说是透明的。
组成
高速缓存(Cache)、主存(Main Memory)与 CPU。关系如下:
现代 CPU 的缓存分为多层,关系如下:
地址映像方法
CPU 工作时,送出去的是主存单元地址,而应从 Cache 存储器中读/写信息。需要将主存地址转化成 Cache 存储器地址,这种地址转换称为地址映像
。
①直接映像
:主存块与Cache 的对应关系是固定。
②全相联映像
:主存的任一块可以调入Cache 存储器的任何一个块的空间。
③组相联映像
:将 Cache 中的块再分成组。
映射名称 | 优点 | 缺点 |
---|---|---|
直接映像 | 地址变换很简单 | 灵活性差 |
全相联映像 | 主存的块调入Cache 的位置不限制,灵活 | 无法从主存块号中直接获得 Cache 的块号,变换复杂,速度比较慢 |
组相联映像 | 前两种方式的折中 |
替换算法
目的:使 Cache 获得尽可能高的命中率。
①随机替换:随机产生一个要替换的块号,将该块替换出去。
②先进先出:将最先进入Cache的块替换出去。
③近期最少使用:
④优化替换:必须先执行一次程序,统计 Cache 的替换情况。在第二次执行该程序便可以使用做有效的方式来替换。
性能分析
设 $H_{c}$ 是Cache 的命中率, $t_{c}$ 是Cache 的存取时间, $t_{m}$ 是主存的访问时间,则 Cache 存储器的等效加权平均访问时间 $t_{a}$ 为:$t_{a}=H_{c}t_{c}+\left( 1-H_{c}\right) t_{m}=t_{c}+\left( 1-H_{c}\right) \left( t_{m}-t_{c}\right)$
假设 Cache 访问和主存的访问是同时启动的, $t_{c}$ 是Cache 的存取时间,$\left( t_{m}-t_{c}\right)$ 为失效访问时间。如果在 Cache 不命中时才启动主内存,则 :$t_{a}=t_{c}+\left( 1-H_{c}\right) t_{m}$
总结:降低 Cache 的失效率是提高 Cache 性能的一项重要措施。主要方法是:选择恰当的块容量、提高 Cache 的容量和提高 Cache 的相联度
。
Cache 容量越大(增加 Cache 的成本和Cache 的命中时间),命中率越高,随着 Cache 容量的增加,失效率接近0%。
多级 Cache
多级,一般分为:一级(L1 Cache),二级(L2 Cache),三级(L3 Cache)等。CPU 访问首先查找 一级,若命不中就访问 二级,直到所有级别的 Cache 都命不中才访问主存。
虚拟存储器
是一种对主存的抽象。使用虚拟地址(Virtual Address ,由 CPU 生成)的概念来访问主存,使用专门的 MMU 将虚拟地址转为物理地址后访问主存。它实际上是一种逻辑存储器,实质是对物理存储设备进行逻辑化的处理
。
访问主存中的数据:CPU 给出存储单元地址
–>主存的读写控制部件定位对应的存储单元–>进行读(写)操作完成访问。
外存储器
存放暂时不用的程序和数据,以文件的形式存储。CPU 不能直接访问外存中的程序和数据,只有将其以文件为单位调入主存才可访问
。
磁表面存储器
由盘片
(控制数据写入和读出)、驱动器
(寻找目标磁道位置)、控制器
(控制驱动器的读/写操作)和接口
(主机和磁盘存储器之间的连接逻辑)组成。
注意:控制器接收主机发来的命令,转化成控制命令,实现主机和驱动器之间数据格式的转换及数据传送,以控制驱动器的读/写操作。
硬盘
是常见的外部存储器。
硬盘的寻址信息由硬盘驱动号
、圆柱面号
、磁头号
(记录面)、数据块号
(或扇区号)、交换量
组成。
磁盘容量的两中指标:
①非格式化容量(总位数):面数 X(磁道数/面)X 内圆周长 X 最大位密度
②格式化容量(各扇区中数据区容量的总和):面数 X(磁道数/面)X(扇区数/道)X(字节数/扇区)
光盘存储器
采用聚焦激光束在盘式介质上非接触地记录高密度信息的新型存储装置。由光学、电学和机器部件组成。
特点是:记录密度高、存储容量大、采用非接触式读/写信息,信息可长期保存、数据传送率可超过200Mb/s、制造成本低、对机械结构的精度要求不高、存取时间较长。
分为:只读型光盘、只写型光盘、可擦除型光盘
固态硬盘
具有传统机械硬盘不具备的读写快速、质量轻、能耗低以及体积小等特定。但其价格昂贵、容量较低、一旦硬件损坏,数据较难恢复。
存储介质分为两种:采用闪存(FLASH 芯片)
、采用DRAM
作为介质。
磁盘阵列
由多台磁盘存储器组成的一个快速、大容量、高可靠的外存子系统。常见的磁盘阵列称为廉价冗余磁盘阵列(RAID)
。
级别:从 RAID-0 到 RAID-6,各种类型的 RAID 可以组合起来,构成复合型的 RAID。
存储域网络(SAN)
把一个或多个服务器与多个存储设备连接起来,每个存储设备可以是 RAID 、磁带备份系统、磁带库和 CD-ROM 库等。
解决了①服务器对存储容量的要求;②多个服务器之间共享文件系统和辅助存储空间;③实现分布式存储系统的集中管理,降低管理成本,提高管理效率;
SAN 的结构:存储域网络是连接服务器与存储设备的网络,它将多个分布在不同地点的 RAID 组织成一个逻辑存储设备,供多个服务器共同访问。
输入/输出技术
微型计算机中最常用的内存与接口的编址方法
常见的两种:内存与接口独立编制
和内存与接口地址统一编址
说明 | 优点 | 缺点 |
---|---|---|
内存地址和接口地址是完全独立的两个地址空间 | 在编程序或读程序很易使用和辨认 | 接口的指令太少,功能太弱。 |
内存单元和接口共用地址空间 | 指令上不再区分内存指令和接口指令,增强了对接口的操作功能 | 内存地址不连续,需要参数定义表辨别 |
直接程序控制
指外设数据的输入/输出过程是在 CPU 执行程序的控制下完成的。
分为:无条件传送
(可随时向 CPU 接收或发送数据)、有条件传送
(需要CPU查询外设状态;降低 CPU 的效率、无法实时的响应外部事件)
中断方式
程序控制 I/O 的方法。
缺点:CPU 需要定期查询 I/O 的状态,来确认传输是否完成,降低了系统的性能。
与程序控制方式相比,中断方式因为CPU无需等待而提高了效率。
处理方法
名称 | 说明 |
---|---|
多中断信号线 | 中断请求信号线向 CPU 提出中断请求 |
中断软件查询 | 轮询每个中断源确定发出请求中断者 |
菊花链(硬件查询) | 中断确认信号在 I/O 模块间传递,直达发出请求的模块,该模块把它的ID送往数据线由 CPU 读取 |
总线仲裁 | 在发中断前需要获取总线控制权,总线可决定谁可以发出中断请求 |
中断向量表 | 中断向量表保存各个中断源的中断服务程序入口地址。 |
优先级控制
给最紧迫的中断源分配高的优先级,给相对不紧迫的中断源分配低一些的优先级。
优先级控制可以解决以下情况:
1、当多个优先级不同的中断请求提出时,CPU 优先响应优先级最高的中断源。
2、执行中断嵌套。
直接存储器存取方式
直接存储器简称 DMA
。指在内存与I/O设备传送一个数据块的过程,不需要 CPU 的干涉(只需要在过程开启和结束)。在 DMA 传送过程中,整个系统都交给了 DMA 控制器(DMAC),由它控制系统总线完成数据传送。在 DMA 传送数据期间,CPU 不能使用总线。
输入输出处理机
简称 IOP
。IOP 也被成为通道,它分担了 CPU 的一部分功能,实现对外围设备的统一管理,完成外围设备与主存之间的数据传送,提高 CPU 的工作效率,但是它需要增加更多的硬件作为代价。
几步发展产品:外围处理机(PPU)、专用处理机(PPU)
总线结构
总线简称 Bus
。指计算机设备和设备之间传输信息的公共数据通道。它的特征是由总线上的所有设备共享,可将计算机系统内的多种设备连接到总线上。
总线的分类
数据总线
、地址总线
、控制总线
,不同型号的CPU芯片,它们也不同。
1、数据总线(DB):双向、CPU通过DB从内存或输入输出设备读入数据也可以传送数据、宽度决定了CPU和计算机其他设备之间每次交换数据的位数
。
2、地址总线(AB):用于传送 CPU 发出的地址信息、单向、宽度决定了 CPU 的最大寻址能力
。
3、控制总线(CB):用来传送信号(例如:控制信号、时序信号、状态信号)、作为整体是双向的。
总结:总线的性能直接影响到整体系统的性能;任何系统研制和外围模块的开发都必须依从所采用的总线规范。
常见总线
名称 | 说明 |
---|---|
ISA 总线(AT标准) | 工业标准;支持16位I/O;传速16Mb/s |
EISE总线 | 基于ISA起来的;32位;传输 33Mb/s |
PCI总线 | 使用较广的内总线,采用并发传输方式;32/64位;PCI上的设备是即插即用;在传输时会进奇偶校验 |
PCI Express 总线 | 简称 PCI-E ;采用点对点串行连接,无需向总线请求宽带,提高传输频率;PCI-E支持热拔插;双向传输,可运行全双工和双单连接工模式,连接的每个装置都可使用到做大宽度。 |
前端总线 | 简称 FSB ;将CPU 连接到北桥芯片。系统需要主板和CPU都支持某个总线,才能工作;数据传输能力决定对计算机整体性能影响大; |
RS-232C | 串行外总线;至少需要三条;传输距离远;具有较好的抗干扰性 |
SCSI总线 | 并行外总线;广用于连接硬磁盘、光盘、扫描仪;传输距离20m(差分传送) |
SATA | 串行;主要用在主板和大量存储(硬盘、光盘)之间传输;能对传输指令进行校验并自动校正;接口优点:结构简单、支持热拔插 |
USB | 串行;由四条信号线组成(两条数据传送,两条传送电源);优点:支持热插拔、即插即用 |
IEEE-1394 | 最高速串行外总线;支持热拔插,可提供电源;支持同步和异步数据传输;由6条信号线组成(两条传送数据两条传送控制信号;两条传送电源);传输可达3.2Gb/s |
IEEE-488 总线 | 并行总线接口标准;总线连接方式;仪器设备(微计算机、数字电压表、数码显示器等)不需中介单元直接并行、字节串行双向异步方式传输信号;最多可连接15台设备; |
安全性、可靠性与系统性能评测基础知识
计算机安全概述
计算机安全包括:安全管理、通信与网络安全、密码学、安全体系及模型、容错与容灾。
计算机的安全等级
4组7个等级
组 | 安全级别 | 定义 |
---|---|---|
1 | A1 | 可验证安全设计。提供B3级保护,给出形式化隐秘通道分析,非形式化代码一致性验证 |
2 | B3 | 安全域。TCB必须满足访问监控的要求,提供系统恢复过程 |
B2 | 结构化安全保护。建立安全策略模型,对所有的主体和客体实施自主访问和强制访问 | |
B1 | 标记安全保护。对数据进行标记,对标记的主体和客体实施强制存取控制 | |
3 | C2 | 受控访问控制。存取控制以用户为单位 |
C1 | c初级的自主安全保护,实现用户和数据的分离,进行自主存取控制,以用户组为单位 | |
4 | D | 最低级、保护措施很小、没有安全功能 |
安全威胁
分两类:故意
(黑客渗透)和 偶然
(信息法网错误的地址)
典型的安全威胁
授权侵犯、拒绝服务、窃听、信息泄露、截获/修改、假冒、否认、非法使用、人员疏忽、完整性破坏、媒体清理、物理入侵、资源耗尽
影响数据安全因素
1、内部因素:数据加密;安全规划 ;安全存储等
2、外部因素:设置权限;设置身份、密码、口令等多种认证;设置防火墙;
加密认证技术和认证技术
加密技术
密钥加密技术的密码体制分为对称密钥体制
和非对称密钥体制
。
数据加密的技术分为两类,即对称加密
(私人密钥加密)和非对称加密
(公开密钥加密)。
对称机密技术
文件加密和解密使用相同的密钥。
常用的对称加密算法:
(1)、数据加密标准算法简称DES
:运算速度块、密钥产生容易;适合在当前大多数计算机上用软件方法实现;适合于在专用芯片上实现。
(2)、三重DES(3DES或TDEA):在 DES 的基础上采用三重DES,密钥长度加倍;发送方式,K1加密–>k2解密–>K1加密;接收方式,K1解密–>k2加密–>K1解密
(3)、RC-5:是在RCF2040中定义的
(4)、国际数据加密算法(IDEA):密钥为 128位置;是一种据库块加密算法
(5)、高级加密标准(AES)算法:基于排列(对数据进行重新安排)和置换(将一个数据单元替换为另一个)运算。AES 是一个迭代的、对称密钥分组的密码,可使用 128、192和256位密钥。
非对称加密技术
因为加密和解密使用的是两个不同的密钥。非对称加密算法需要两个密钥:公开密钥
和私有密钥
。若使用公开密钥进行加密则私有密钥才能解密;反之;
优缺点
:保密性好;加密和解密花费的事件长、速度慢,不适合对文件加密,适合少量数据加密。
RSA算法
是一种公钥加密算法;安全性是基于大素数分解的困难性能。
密钥管理
包括密钥生产
、密钥备份和恢复
、密钥更新
等
密钥生产:密钥对的产生是证书申请中的一步,产生的私密由用户保留,公密由和其他信息交给CA中心进行签证,从而产生证书。普通/测试证书由浏览器或固定的终端应用产生。重要(商家证书、服务器证书)的证书,一般由专用应用或CA中心直接产生。
密钥备份和恢复:在 PKI(公开密钥体系) 系统中,即使密钥丢失,使用 PKI 的企业和组织必须仍能得到确认,受密钥保护的重要信息也必须能够恢复。
密钥更新:对没和由CA颁发的证书都会有有效期,密钥对生命周期的长短由签发证书的CA中心来确定,各证书的有效期都不同。
多密钥的管理:Kerberos 建立了一个安全的、可信任的密钥中心(KDC),每个用户只要知道一个和KDC进行会话的密钥就可以了。
认证技术
主要解决网络通信过程中通信双方的身份认可。涉及加密(对称加密、不对称加密、两种混合)和密钥交换。认证一般有账户名/口令认证
、使用摘要算法认证
和基于PKI认证
。
认证机构:数字证书的申请及签发机关(CA);
PKI 的主要目的通过自动管理密钥和证书为用户建立一个安全的网络运行环境,是用户可以在多种环境下方便的使用加密和数字签名技术,保证网上数据的机密性、完整性和有效性。
KPI标准化主要有两方面:1、RSA 公司的公钥加密标准;2、一组具有互操作性的公钥基础设施协议
Hash 函数与信息摘要
信息摘要:简要地描述一份较长的信息或文件。用于创建数字签名(是唯一的)。
例子:
MD5(MD表示信息摘要),是被广泛应用的 Hash 函数。特点:压缩性(长度固定)、容易计算、抗修改性、强抗碰撞。
数字签名
数字签名过程:信息发送者对信息生成信息摘要–>信息发送者使用私钥签名信息摘要–>把信息本身和已签名的信息摘要一起发送出去–>(使用同一个散列函数)接收者对信息本身生成新的信息摘要,并使用公钥对信息摘要进行验证
总结:数字签名是一对多的关系;可以验证数字签名的正确性;
数字加密过程:
1、信息发送者需要生成一个对称密钥,用该密钥加密要发送的报文。
2、信息发送者用接收者的公钥加密对称密钥。
3、数字信封:步骤1和步骤2结合在一起的结果。
4、接收者使用私钥解密被解密的对称密钥,再用对称密钥解密被加密的密文,得到原文。
总结:数字加密是多对一的关系;任何知道公钥的人都可向接收方发送加密信息;采用对称加密算法和非对称加密算法,保证发送信息的保密性。
SSL 协议
SSL 是安全套接层,主要用于提高应用程序之间数据的安全系数。是一个保证计算机通信安全的协议。
提供以下3方面的服务:
1、用户和服务器的合法性认证。是它们确信数据被送到正确的客户端和服务器上。验证用户的合法性,安全套层协议要求在握交换数据时,进行数字认证。
2、加密数据易隐藏被发送的数据。在客户端与服务器进行数据交换之前,交换SSL初始握手信息,在 SSL 握手信息中采用了各种加密技术对其加密,保证其机密性和数据完整性,并用数字证书进行鉴别,防止破译。
3、保护数据的完整性。安全套接层协议采用 Hash 函数和机密共享的方法来提供信息的完整性服务,建立客户端与服务器之间的安全通道。
主要经过的阶段:
接通(服务响应)–>密码交换–>会谈密码–>检验–>结束
发送时,信息用对称密钥加密,对称密钥用非对称算法加密,再把两个包捆绑在一起送过去。
数字事件戳技术
是数字签名技术的一种变种应用。
数字时间戳服务(DTS)是网上电子商务安全服务项目之一,提供电子文件的日期和时间信息的安全保护。是一个经加密后形成的凭证文档。
包括如下3步骤:
文件的摘要–>DTS收到文件的日期和时间–>DTS的数字签名
计算机可靠性
计算机可靠性概述
其中,$R\left( t\right)$ 是正常运行的概率;$$\lambda$$ 指单位时间内失效的元件数与元件总数的比例,当它为常量时,可靠性与失效性的关系为:$R\left( t\right) =e^{-\lambda t}$
失效率特征如下图
平均无故障时间:$MTBF=\dfrac {1}{\lambda }$
计算机的维修效率(MTRF)。计算机的可用性是指计算机的使用效率。它以系统在执行任务的任意时刻能正常工作的概率A表示,即:$A=\dfrac {ETBF}{MTBF+MTRT}$
计算机的 RAS 是指用可靠性 R 、可用性 A 和可维修性S这3个指衡量一个计算机系统。
计算机可靠性模型
常见的系统可靠性数学模型有一下3种:
串联系统
且仅当所欲的子系统都能正常工作时。系统才正常工作。
可靠性公式:($R_{1}$ $R_{2}$ 表示子系统)
$R=R_{1}R_{2}\ldots R_{N}$
失效公式:($$\lambda _{1}$$ $$\lambda _{2}$$ 表示子系统的失效率)
$\lambda =\lambda _{1}+\lambda _{2}+\ldots +\lambda _{N}$
并联系统
只要有一个子系统正常工作,系统就能正常运行
可靠性公式:$R=1-\left( 1-R_{1}\right) \left( 1-R_{2}\right) \ldots \left( 1-R_{N}\right)$
失效率:$\mu =\dfrac {1}{\dfrac {1}{\lambda }\sum ^{N}_{j=1}\dfrac {1}{j}}$
N 模冗余系统
由N个(N=2n+1)相同的子系统和一个表决器组成。只要有 n+1 个或 n+1 个以上的子系统能正常工作,系统就正常工作。
公式:
$R=\sum ^{N}{i=n+1}\begin{pmatrix} j \ N \end{pmatrix}\times R^{i}{0}\left( 1-R_{0}\right) ^{N-i}$
$\begin{pmatrix} j \ N \end{pmatrix}$ 表示从 N 个元素中取 i 个元素的组合数。
提高可靠性:提高元器件数量;发展容错技术。
计算机系统的性能评价
性能测评的常用方法
(1)时钟频率。主频越高,速度越快
(2)指令执行速度。加法指令的运算速度衡量计算机的速度。
(3)等效指令法。统计各类指令在程序中所占的比例,并进行折算。
(4)数据处理频率法(PDR)。采用计算 PDR 值得方法来衡量机器性能,PDR 值越大,机器性能越好。注意,PDR 值只要对 CPU 和主存储器的速度进行度量,但不适合衡量机器的整体速度,因为它没有涉及到Cache、多功能部件等技术对性能的影响。
(5)核心程序法。把应用程序中用得最频率的那部分核心程序作为评价计算机性能的标准程序,在不同的计算机上运行,测得其执行时间。机器软/硬件结构的特点能在核心程序中的到反映,但是核心程序各部分之间的联系较小。
基准测试程序
目前测试性能较好的方法。有多种多样的基准程序。
(1)整数测试程序。测试编译器及CPU处理整数指令和控制功能的有效性。
(2)浮点测试程序。机器的浮点性能对系统的应用有很大的影响。
(3)SPEC基准程序。
(4)TPC基准程序。