计算机系统知识
1.1 计算机系统知识
1.1.1 计算机系统硬件基本组成
计算机的基本硬件系统由运算器
、控制器
、存储器
、输入设备
和输出设备
五大部件组成
- 运算器、控制器等部件被集成在一起统称为
中央处理单元(CPU)
。 - 存储器是计算机系统中的记忆设备,分为内部存储器 (内存、寄存器)和外部存储器 (硬盘)。
- 输入设备和输出设备合称 外部设备(简称
外设
)
1.1.2 中央处理单元
中央处理单元(CPU)
主要由运算器
、控制器
、寄存器组
和内部总线
等部件组成。
- 运算器:算术运算 (加、减、乘、除)和逻辑运算 (与、或、非)
算术逻辑单元
(ALU):负责处理数据,实现对数据的算术运算和逻辑运算累加寄存器
(AC):是一个通用寄存器,暂存运算结果数据缓冲寄存器
(DR):作为CPU和内存、外设之间数据传送的中转站,用于缓冲速度上的差异性状态条件寄存器
(PSW):丰要分为状态标志和控制标志,如运算结果进位标志、溢出标志、中断标志等
- 控制器:它决定了计算机运行过程的自动化。它不仅要保证程序的正确执行,而且要能够处理异常事件。
指令寄存器
(IR):保存当前正在执行的指令程序计数器
(PC):①指向下一条指令的地址; ②自增的功能地址寄存器
(AR):存放CPU访问的内存单元地址指令译码器
(ID):对指令进行译码
- 寄存器组
- 通用寄存器:用途由程序员来决定,AC
- 专用寄存器:DR、PSW、IR、PC、AR
- 总线
内部总线
:CPU内部连接各寄存器及运算器部件之间的总线- 系统总线:CPU和计算机系统中其他高速功能部件相互连接的总线
- I/O总线:中低速1/O设备相互连接的总线
1.1.3 数据表示
- 进制转换
- 二进制 (B):11011B
- 八进制 (O或Q):33Q
- 十进制 (D):27D
- 十六进制 (H):1BH
- 单位换算
- 1B (字节) = 8b (位)
- 1kB = 1024B
- 1MB = 1024KB
- 定点数:小数点位置固定不变的数。分为纯整数 (定点整数)和纯小数 (定点小数)。表示方式:原码、 反码、补码、移码
原码
:二进制表示的码。最高位是符号位。0表示正数,1表示负数。-19 的原码:10010011反码
:-19 的反码:11101100- 正数的反码与原码相同
- 负数的反码是原码的符号位不变,其他位取反
补码
:-19 的补码:11101101- 正数的补码与原码相同
- 负数的补码等于反码的末尾+1
移码
:补码符号位取反即可。-19 的移码:01101101
- 浮点数:小数点位置不固定的数
- 二进制数N的一般形式: N = M × $2^e$ ,其中e为
阶码
,决定二进制数的表示范围
;M为尾数,决定二进制数的精度
- IEEE754标准
- S 是浮点数的
符号位
,占1位,安排在最高位,S=0 表示正数,S=1表示负数。 - E 是
偏置阶码
,占8位 ,将浮点数的指数真值 (实际阶码) e 变成偏置阶码 E 时,应将指数 e 加上一个固定的偏置常数 127,即E = e + 127
。64位浮点数: E = e + 1023 - M 是
尾数
,放在低位部分,占 23 位,小数点位置放在尾数域最左 (最高)有效位的左边 - 利用IEEE754标准将数176.0625表示为单精度浮点数的二进制存储格式:0 10000110 01100000001000000000000
- 若浮点数的IEEE754标准存储格式为 43301000H,求其浮点数的十进制数值:176.0625
- 二进制数N的一般形式: N = M × $2^e$ ,其中e为
- 浮点数的加减法
- 零操作数处理:若其中一个数为零,直接返回另一个数作为结果
- 求阶差并对阶。
小阶向大阶看齐
- 尾数求和
- 规格化处理
- 舍入处理。在对结果右规时,超过尾数的低位部分要进行舍处理;
- 溢出判断。判断阶码是否溢出。对于32位浮点数,除去全0和全1的特 情况,阶码EE[1,254]
1.1.4 校验码
- 奇偶校验码:通过在数据码后增加一位校验码,使编码中1的个数为奇数 (奇校验)或偶数 (偶校验)
- 循环冗余校验码(CRC):数据码后多位校验码
- 海明码:校验码分布在 $2^n$ (1、2、4、8、16…)位置上。如 信息位是8位,则校验码分别位于1、2、4、8,也就是最少需要4为校验码
1.2 计算机体系结构
1.2.1 计算机体系结构的发展
- 计算机体系结构的分类
- 从宏观上按处理机的数量分类
- 单处理系统 利用一个处理单元与其他外部设备结合起来, 现存储、计算、通信、输入和输出等功能的系统
- 并行处理与多处理系统 为了充分发挥问题求解过程中处理的并行性,将两个以上的处理机互连起来,彼此进行通信协调,便于共同求解一个大问题的计算机系统
- 分布式处理系统 物理上远距离而松耦合的多计算机系统。物理上的远距离意味着通信时间 与处理时间相比已不可忽略,在通信线路上的数据传输速率要比在处理机总线上传慢得多
- 从微观上按并行程度分类
- Flynn分类法
- 马泽云分类法
- Handler分类法
- Kuck分类法
- 从宏观上按处理机的数量分类
- 指令系统
- 指令格式:指令码 = 操作码OP + 地址码A (操作数) 。操作码指定要完成的操作或功能,地址码指定参与操作的操作数的地址
- 指令的寻址方式:
- 顺序寻址:下一条指令的地址由程序计数器PC给出,PC每次自增+1
- 跳跃寻址:下一条指令的地址由指令本身给出
- 操作数的寻址方式:
立即寻址
:指令的地址码字段不是操作数的地址,而是操作数本身,速度最快直接寻址
:指令的地址码字段给出操作数在内存的地址 (操作数在内存中)间接寻址
:指令的地址码字段给出操作数在内存的地址的地址 (操作数在内存中)寄存器寻址
:指令的地址码字段给出操作数在寄存器的编号 (操作数在寄存器中)寄存器间接寻址
:指令的地址码字段给出寄存器的编号,寄存器中所存的内容为操作数在内存的地址 (操作数在寄存器中)相对寻址
:指令的地址码字段是一个偏移量,这个偏移量加上程序计数器的值即为操作数在内存的地址基址寻址
:指令的地址码字段是一个偏移量,这个偏移量加上基址寄存器的值即为操作数在内存的地址变址寻址
:指令的地址码字段是一个偏移量,这个偏移量加上变址寄存器的值即为操作数在内存的地址从快到慢
依次是:- 立即寻址 (无内存/寄存器访问,数据直接在指令中)
- 寄存器寻址 (访问寄存器1次)
- 直接寻址 (访问内存1次)
- 寄存器间接寻址 (访问寄存器1次 + 访问内存1次)
- 相对寻址/基址寻址/变址寻址 (访问寄存器1次 + 计算 + 访问内存1次)
- 间接寻址 (访问内存2次以上)
- 指令执行过程:
取指令 -> 分析指令 -> 执行指令
三个步骤,首先将程序计数器PC中的指令地址取出,送入地址总线,CPU依据指令地址去内存中取出指令内容存入指令寄存器IR;之后由指令译码器ID进行分析,分析指令操作码;最后取出指令执行所需的源操作数,执行指令 CPU如何区分指令和数据
:CPU根据指令周期的不同阶段
来区分二进制的指令和数据,因为在指令周期的不同阶段,指令会命令CPU分别去取指令或数据- 指令集的分类:
- CISC指令集:复杂指令集,各条指令按顺序串行执行
- RISC指令集 :精简指令集,减少指令总数,大部分等长,寻址少效率高
- 指令的流水处理
- 指令流水线原理:将指令的执行划分成若干个过程段,每个过程段由不同的部件进行处理
- 指令流水线的计算
- 非流水执行时间:一条指令执行的时间 × 指令总数
- 流水执行时间:
第一条指令的执行时间 + (n-1) × 最长流水段时间,n为指令总数
- 加速比:非流水方式与流水方式所用时间之比
- 流水线的操作周期:为最长流水段时间
- 流水线的吞吐率:为最长流水段时间的倒数
1.2.2 存储系统
- 存储系统的层次结构
- CPU内:寄存器、cache
- 主板内:cache、主存储器 (内存)
- 主板外:硬盘、光盘
- 离线:磁带
- 存储器的分类
- 随机存取存储器(RAM)
- 静态随机存储器SRAM,用于
Cache
;存储元为触发器
- 动态随机存储器DRAM,用于
主存
;存储元为电容器
,需要周期性刷新
- 静态随机存储器SRAM,用于
- 只读存储器 (ROM)
- 固定只读存储器(ROM):电脑中BIOS信息的存储等
- 闪速存储器(闪存):U盘
- 高速缓存Cache:位于CPU与主存之间,用于存储当前活跃的程序和数据
解决CPU和主存之间的速度不匹配的问题
- Cache的理论依据:程序的局部性原理
- 时间局部性:最近被访问过的指令和数据很可能会被再次访问
- 空间局部性:最近访问过的指令和数据往往集中在一小片存储区域中
- 主存与Cache的地址映射:在CPU工作时,送出的是
主存单元的地址
,而应从Cache存储器中读/写信息时。就需要将主存地址转换成Cache的地址
,这种地址的转换称为地址映像。由硬件自动完成映射
- 直接映像:Cache中一行固定对应主存中的多行。举例:假设 Cache 有 8 块(块号 0-7),主存块号为 10 的块,映射到 Cache 块号 = 10 mod 8=2。
冲突概率高,且Cache空间利用率不高,适用于大容量Cache
- 全相联映像:主存中的任意一个块可以与Cache中的任意一行相对应。举例:主存块 10 可存入 Cache 的 0-7 任意块,查找时需对比所有 Cache 块的标记。
冲突概率小,Cache的利用率高,存取时间长,适用于小容量Cache
- 组相联映像:前两种方式的结合。将Cache进行分组,组间采用直接映射方式,组内采用全相联映射方式。举例:Cache 分 4 组,每组 2 块(共 8 块),主存块 10 映射到组号 = 10 mod 4=2,可存入组 2 的块 0 或块 1。
- 直接映像:Cache中一行固定对应主存中的多行。举例:假设 Cache 有 8 块(块号 0-7),主存块号为 10 的块,映射到 Cache 块号 = 10 mod 8=2。
- 虚拟存储器、磁盘
- 虚拟存储器:由主存、辅存和软件组成
- 磁盘:存取时间 = 寻道时间+旋转等待时间+数据传送时间
- 随机存取存储器(RAM)
1.2.3 输入/输出技术
CPU与外围设备之间的信息交换方式
I/O接口
与外设之间的信息交换- CPU与
I/O
接口之间的信息交换程序查询方式
:CPU执行程序来轮询查询外设的状态
,判断外设是否准备好接收数据或向CPU输入数据,CPU与外设串行
工作程序中断方式
:当I/O接口与外设交换数据过程中,CPU无须等待;当交换数据完成时,I/O接口产生中断,通知CPU处理数据。CPU与外设可并行
工作。需要CPU保存现场
,由CPU将数据放入内存。适用于微型机中随机出现
的服务,如键盘- 中断向量:中断服务程序的入口地址
- 中断响应时间:从发出中断请求到开始进入中断处理程序
直接内存存取 (DMA)
:DMA控制器接管总线的控制权,数据交换不经过CPU,直接在内存和I/O设备间进行成块传送。CPU与外设可并行
工作。仅在传送数据块的开始和结束
时才需要CPU的干预。不需要CPU保护现场。由外设直接将数据放入内存。输入/输出处理机IOP (通道方式)
:由通道 (输入输出处理机IOP)管理外围设备。大大提高了CPU的效率。
1.2.4 总线结构
总线 (Bus),是指在计算机中,设备和设备之间传输信息的公共数据通道
内部总线
:CPU内部
连接运算器、控制器、各寄存器部件之间的总线系统总线
:是外部总线,是CPU外部总线。CPU和计算机系统中其他高速功能部件相互连接的总线数据总线
:用来传输各功能部件之间的数据信息,它是双向传输总线,其 位数 = 机器字长 = 存储字长地址总线
:用来指出数据总线上的源数据或目的数据所在的主存单元或I/O端口的地址,它是单向传输总线,地址总线的位数与主存地址空间的大小有关,地址总线的位数 = n,主存地址空间的大小 m = $2^n$控制总线
:传输的是控制信息,包括CPU送出的控制命令和主存 (或外设)返回CPU的反馈信号
I/O总线
:中低速1/O设备相互连接的总线- 常见的总线
- PCI总线:并行内部总线
- USB:串行系统总线
- IEEE-1394:串行系统总线
- IEEE-488:并行 I/O 总线
- SCSI总线:并行 I/O 总线, 广泛用于连接软硬磁盘、光盘、扫描仪等。
- RS-232C:并行 I/O 总线
1.3 安全性、可靠性与系统性能评测
1.3.1 计算机安全概述
信息安全的基本要素:机密性、完整性、可用性、可控性和可审查性
1.3.2 加密技术和认证技术
对称加密
:加密和解密的密钥相同- 常见对称加密算法:
DES
、3DES
、AES
、RC-5
、IDEA
- 常见对称加密算法:
非对称加密
:需要两个不同的密钥,公开密钥与私有密钥。- 如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密
- 常见非对称加密算法:
RSA
、DSA
、ECC
- 数字签名
- 数字加密
- (1) 当信息发送者需要发送信息时,首先生成一个
对称密钥
,用该对称密钥加密要发送的报文; - (2) 信息发送者用信息接收者的
公钥加密
上述对称的密钥; - (3) 信息发送者将上述两个步骤的结果集合在一起传给信息接收者,称为数字信封;
- (4) 信息接收者使用自己的私钥解密被加密的对称密钥,再用此对称密钥解密被发送方加密的密文,最后得到真正的原文。
- (1) 当信息发送者需要发送信息时,首先生成一个
- 数字签名
- (1) 信息发送者使用一个
单项散列函数
(Hash 函数)对信息生成信息摘要; - (2) 信息发送者使用自己的
私钥签名
信息摘要; - (3) 信息发送者把信息本身与已签名的信息摘要一起发送出去;
- (4) 信息接受者使用与发送者相同的单项散列函数 (Hash 函数)对接收的信息生成新的信息摘要,再使用发送者的公钥对信息摘要进行验证,以确认信息发送者的身份和信息是否被修改过。
- (1) 信息发送者使用一个
数字信封
运用了对称加密技术和非对称加密技术,本质是使用对称密钥加密数据
,非对称密钥加密对称密钥
,解决了对称密钥的传输问题。数字签名
,用发送方的私钥签名,用接收方的公钥验证消息的真实性,可以验证消息的完整性、发送方不可否认性信息摘要
的特点:无论数据多长,都会产生固定长度的信息摘要;任何不同的输入数据,都会产生不同的信息摘要:单向性
,即只能由数据生成信息摘要,不能由信息摘要还原数据。常见的信息摘要算法:MD5 (产生128位的输出)、SHA-1 (安全散列算法,产生160位的输出,安全性更高)
- 数字加密
- 公钥基础设施PKI
- 公钥基础设施PKI是以不对称密钥加密技术为基础,以数据机密性、完整性、身份认证和行为不可抵赖性为安全目的,来实施和提供安全服务的具有普适性的安全基础设施
PKI
的核心问题:解决 “公钥
是谁的” 这个关键疑问- CA(
证书颁发机构
):整个 PKI 的 “权威核心”,负责审核用户身份、签发数字证书,是公认的 “可信第三方”。相当于现实中的 “公安局”“公证处”,负责给公钥 “发身份证” 数字证书
:CA 签发的 “电子凭证”,里面包含:用户身份信息(如人名 / 机构名)、用户公钥、CA 签名、证书有效期等。相当于公钥的 “身份证”,证明 “这张公钥属于这个人 / 机构
1.3.3 计算机可靠性
系统可靠性
是指系统在给定时间间隔内正常运行的概率
- 串联系统可靠性 R = $\prod_{i=1}^{n} R_i$ 如:$(R_1\times R_2\times R_3)$
- 并联系统可靠性 R = 1 - $\prod_{i=1}^{n} (1 - R_i)$ 如:$1 - [(1-R_1)\times(1-R_2)\times(1-R_3)]$