一、计算机系统知识

1 计算机系统基础知识

1.1 计算机系统硬件基本组成

系统构成:计算机系统由硬件软件共同组成,协同工作以运行程序。

五大核心部件

组件名称 功能描述
运算器 负责数据加工处理,执行算术运算和逻辑运算
控制器 协调控制各部件工作流程
存储器 计算机记忆设备,分内部存储器和外部存储器
输入设备 接收用户输入的原始数据和命令
输出设备 将处理结果呈现给用户
  • 常见输入设备: 鼠标、键盘
  • 常见输出设备: 打印机、显示器

1.2 中央处理器

中央处理器又称为中央处理单元、CPU。

  • 核心组件:运算器 + 控制器
  • 地位:硬件系统的核心
  • 功能:数据运算、逻辑判断、操作控制
  • 关注指标: 核心数、频率(GHz)

1.2.1 CPU 的功能【重点】

  1. 程序控制
  • 通过执行指令控制程序的执行顺序,是 CPU 的核心功能
  1. 操作控制
  • 单条指令的实现需要多个操作信号配合
  • CPU 生成操作信号并发送至对应部件
  • 控制部件按指令要求协同工作
  1. 时间控制
  • 对操作信号进行严格的时间管理
  • 包括信号出现时间、持续时长和时序关系
  • 确保指令执行的精确同步
  1. 数据处理
  • 执行算术运算和逻辑运算
  • 数据加工结果直接支撑系统功能
  • 是 CPU 最基础的任务
  1. 异常处理
  • 响应系统内外部中断/异常事件
  • 包括硬件故障和软件触发事件
  • 通过异常处理机制保障系统稳定性

1.2.2 CPU 的组成【重点】

  • 运算器

    • 功能:实现对数据的加工、算术和逻辑运算
    • 组成
      • 算术逻辑单元(ALU),实现算术与逻辑运算
      • 累加寄存器(AC),存放操作数与结果
      • 状态条件寄存器(DR),记录一些状态标识,比如进位、溢出
      • 缓冲寄存器(PSW),临时存储指令与数据
  • 控制器

    • 功能:控制整个 CPU 的工作,包括程序控制,处理异常事件
    • 组成
      • 指令寄存器(IR),存储当前执行的指令
      • 指令译码器(ID),将高级语言编译为机器码
      • 程序计数器(PC),指示下一条指令的地址
      • 地址寄存器(AR),存储 CPU 访问内存的地址
  • 寄存器组:保存程序的中间结果

  • (内部)总线

  • 逻辑与算术运算

    • 逻辑运算
      • 与运算(AND)
      • 或运算(OR)
      • 非运算(NOT)
      • 异或运算(XOR)
    • 算术运算
      • 加减乘除等基本运算
  • CPU 响应与处理

    • 内部与外部中断
      • 断电、硬件故障等异常情况响应
      • 清除内存数据,执行关机或重启操作

1.2.3 多核 CPU

  • 多核 CPU 是指在一个芯片上集成多个处理器内核。每个内核都包含自己的逻辑单元、控制单元、中断处理器、运算单元和缓存。
  • 多核 CPU 的主要优势:能够同时处理多个任务,提高多任务处理能力。提升系统的整体性能和响应速度。
  • AMD 与 Intel 的多核技术差异:AMD倾向于在一个晶元上集成多个内核,通过直连架构连接。Intel倾向于将不同核心上的内核封装在一起,称为“双核”。
  • 多核与单核的区别:单核多线程(如Intel的超线程技术)是通过快速切换任务来模拟多核处理。多核CPU允许每个内核独立执行任务,不存在任务切换的延迟。
  • 多核性能的发挥:需要操作系统和应用软件的支持,合理分配任务和资源给各个内核。多核CPU的性能提升依赖于软件的并行处理能力。
  • Intel 超线程技术:通过超线程技术,一个物理内核可以模拟两个逻辑内核。这种技术可以提高单核CPU的多任务处理能力,但性能提升有限。

1.3 数据表示【重点】

1.3.1 原码反码补码移码

原码 最高位是符号位,0 表示正号,1 表示负号。例如二进制 1010 表示十进制数 -2。
反码 负数的反码需要符号位取反,正数的反码还是原码
补码 负数的补码等于反码+1,正数的补码还是原码;计算机采用补码可以将减法运算转换为加法运算从而简化运算器的设计。
移码 补码的符号位取反,主要用于表示浮点数的指数(阶码)

补充:进制转换的知识

以 k 为底的进制,最多有 0 到 k-1 个取值范围。常见的有 2 进制、8 进制、10 进制、16 进制。

k 进制转十进制:按权相加法

十进制转 k 进制

  1. 整数部分用除 k 取余法,依次记录整数部分,直到商为零,将所得一系列余数由下到上输出
  2. 小数部分用乘 k 取整法,依次记录并移除整数部分,直到小数部分为 0 或者达到预期小数点保留位数,将所得一系列整数依次输出

技巧:我一般会 128(2的7次方) 64(2的6次方) 32(2的5次方) 16(2的4次方) 8(2的3次方) 4(2的2次方) 2(2的1次方) 1(2的0次方) 0.5(2的-1次方) 0.25(2的-2次方) 0.125(2的-3次方)和所在位数直接乘积再求和

1.3.2 定点数

定点整数

数值 0 的原码表示有两种形式:[+0]原=0 000 0000,[-0]原=1 000 0000
数值 0 的反码表示有两种形式:[+0]反=0 000 0000,[-0]反=1 111 1111
补码和移码表示 0 有唯一形式: 0 000 0000

技巧:已知补码求原码,也可用求反码再加 1,我认为优于减 1 后再取反,因为我感觉做加法更容易

以有符号 8 位,采用补码为例
在定点整数中,小数点规定在最左边 最大数为 0111 1111 为 2 的 8次方-1 = 127,最小数是 1111 1111 为 -128

定点小数

以有符号 8 位,采用补码为例
在定点小数中,小数点规定在最右边。最大数为 0.111 1111 为 1 减去2的负 7 次方,最小数是 1.111 1111 为 -1

1.3.3 浮点数

浮点小数可以表示为 N = 尾数 × 基数 的 阶码次幂,其中尾数决定精度,阶码决定数的范围。

对阶时,小数(小阶)向大数(大阶)看齐。对阶过程中,阶码增大同时较小数的尾数会右移 n 位。

1.4 校验码【重点】

来检查传送的数据是否正确。

1.4.1 奇偶校验码

奇偶校验码的编码方法是:由若千位有效信息的头部或者尾部,再加上一个二进制位(校验位)组成校验码。

奇校验:整个校验码(有效信息位和校验位)中“1”的个数为奇数。
偶校验:整个校验码(有效信息位和校验位)中“1”的个数为偶数。

如果有奇数个位发生误码,则奇偶性发生变化,可以检查出误码,但不能纠错
如果有偶数个位发生误码,则奇偶性不发生变化,不能检查出误码(也称漏检)。

1.4.2 海明码

设数据位是 n 位,校验位为 k 位,则 n 和 k 必须满足关系 2(k1)>=n+k2^{(k-1)} >= n + k

海明码的编码规则如下:
设 k 个校验位为 Pk, Pk-1 … P1, n 个数据位为 Dn, Dn-1,…,D1,对应的海明码为 Hn+k,Hn+k-1,…,H1
(1)校验码 Pi 要放在 2i-1 的位置。
(2)海明码中的任何一位都是由若干个校验位来校验的。
(3)被校验的海明位的下标等于所有参与校验该位的校验位的下标之和,而校验位由自身校验。

1.4.3 循环冗余校验 CRC

编码原理

• 校验码位数越多,校验能力越强
• 编码时采用模 2 运算
• 模 2 加减运算规则:按位运算,不发生借位和进位

模 2 除法计算过程:

  1. 被除数首位是几,那么商就上几
  2. 异或运算
  3. 异或后首位一定是 0,舍弃掉这个 0 首位
  4. 补末位(落数),再上商

①收发双方约定好一个生成多项式 G(x),算法要求生成多项式必须包含最低次项
② 发送方基于待发送的数据和生成多项式计算出差错检测码(冗余码)将其添加到待传输数据的
后面一起传输
③ 接收方通过生成多项式来计算收到的数据是否产生了误码

2 计算机体系结构

2.1 计算机体系结构的发展【重点】

2.1.1 计算机体系结构概述

计算机系统结构是计算机的概念性结构和功能属性,由阿姆达尔提出。计算机组织指逻辑实现,包括数据流和控制流设计。计算机实现是物理实现。梅尔斯定义计算机系统结构为硬件与软件界面,拜尔扩展为结构、组织、实现、性能四个方面。重点理解计算机系统结构的概念及其与组织和实现的关系,掌握梅尔斯和拜尔的定义。

2.1.2 计算机体系结构分类

按处理机数量分类

  1. 单处理系统:
    • 利用一个处理单元与其他外部设备结合,实现存储、计算、通信、输入输出等功能。
  2. 并行处理与多处理系统:
    • 多个以上的处理机互联,进行通信协调,共同求解一个大问题。
  3. 分布式处理系统:
    • 物理上远距离而松耦合的多计算机系统,数据传输速率要求比处理机内部总线上传输慢。

按并行程度分类

  1. Flynn 分类法:
    • 指令流和数据流的多少进行分类。它主要根据 instruction 指令流data 数据流的组合情况。
    • 单指令流单数据流(SISD)、单指令流多数据流(SIMD)、多指令流单数据流(MISD)、多指令流多数据流(MIMD)。
    • SISD 是一种传统的串行计算机;MIMD 目前用得最多;misd 目前只作为理论模型出现,没有投入到实际应用中。
  2. 冯泽云分类法**:
    • 按并行度Pm对计算机系统进行分类,最大并行度Pm指单位时间内能处理的最大二进制位数。
  3. Handler 分类法:
    • 基于硬件并行程度计算并行度,分为3个层次:处理机级、每个处理机中的算逻单元级、每个算逻单元中的逻辑门电路级。
  4. Kuck 分类法:
    • 用指令流和执行流描述计算机系统结构特征。
    • 分为单指令流单执行流(SISE)、单指令流多执行流(SIME)、多指令流单执行流(MISE)、多指令流多执行流(MIME)。

2.1.3 指令系统

一个处理器支持的指令和指令的字节级编码称为其指令集体系结构(Instruction Set Architecture, ISA)。不同的处理器族支持不同的指令集体系结构,因此,一个程序被编译在一种机器上运行,往往不能在另一种机器上运行。

CISC 和 RISC

指令集发展的两种途径

特性 CISC(复杂指令集计算机) RISC(精简指令集计算机)
指令集大小 指令集庞大,包含复杂指令 指令集精简,指令简单
指令功能 单条指令可完成复杂操作 单条指令功能单一,执行简单
处理器设计 处理器结构复杂,包含大量硬件逻辑 处理器结构简单,依赖软件优化
执行效率 对复杂任务效率高,但可能受制于指令复杂度 简单指令执行快,适合大量简单任务
编译器设计 编译器设计相对简单,因为指令丰富 编译器设计复杂,需要优化指令调度
应用场景 适合复杂任务处理,如早期的桌面计算机 适合高性能计算,如服务器、嵌入式系统
典型代表 Intel x86 系列 ARM、PowerPC、MIPS、risc-v
优点 编程直观,硬件实现复杂任务 高性能,低功耗
缺点 处理器复杂,功耗高 编译器要求高,硬件资源利用率低
寻址方式 支持多种 支持方式少
实现方式 微程序控制技术 增加了通用寄存器,普遍硬布线逻辑控制为主,更适合采用流水线
指令的流水处理

指令执行方式

  • 顺序方式:计算机按照程序中指令的顺序依次执行指令。优点是控制简单;缺点是速度慢,机器各部件的利用率低,执行速度受限于最慢的操作。
  • 重叠方式:把多个相邻的指令以重叠的操作方式并行处理。优点是速度有较大提升,部件利用率提高;缺点是会增加硬件实现的复杂度,且对指令的相关性等问题处理不当会影响效果。
  • 流水方式:模仿工业生产过程的流水线(如汽车装配线),将指令的执行过程分解为多个子过程,在专用的独立功能部件上并行处理。

在使用流水线技术去执行指令时,将每一节指令都分解为取指、分析和执行三步。

知识点 内容
流水线定义 将重复的顺序处理过程分解为若干子过程,每个子过程在专用的独立模块上并发工作。
流水线的种类 从流水的级别上,可分为部件级、处理机级以及系统级的流水;从流水的功能上,可分为单功能流水线和多功能流水线;从流水的连接上,可分为静态流水线和动态流水线;从流水是否有反馈回路,可分为线性流水线和非线性流水线;从流水的流动顺序上,可分为同步流水线和异步流水线;从流水线的数据表示上,可分为标量流水线和向量流水线。
流水线周期 流水线执行过程中最长的一段时间
流水线执行时间 理论公式:流水线建立时间+(指令条数-1)× 流水线周期;实践公式:指令段数×流水线周期+(指令条数-1)×流水线周期。在考试中默认请用理论公式,如果没有答案则用实践公式。

流水线的吞吐率(Though Put rate,TP)是指单位时间内流水线所完成的指令数量。计算流水线吞吐率的最基本公式如下:TP=指令条数流水线执行时间\mathbf{TP = \dfrac{\text{指令条数}}{\text{流水线执行时间}}},最大吞吐率为 TPmax=limnn(k+n1)t=1t\mathbf{TP_{\max} = \lim_{n \to \infty} \frac{n}{(k + n - 1) t} = \frac{1}{t}}

加速比 S=不使用流水线执行时间使用流水线执行时间\mathbf{S = \dfrac{\text{不使用流水线执行时间}}{\text{使用流水线执行时间}}}

2.1.4 并行处理计算机体系结构

并行性包括同时性和并发性:

  • 同时性:指两个或两个以上的事件在同一时刻发生
  • 并发性:指两个或两个以上的事件在同一时间间隔内连续发生

计算机中的并行性可分为以下几类:

  1. 存储器操作并行
  2. 处理器操作步骤并行(流水线处理机)
  3. 处理器操作并行(阵列处理机)
  4. 指令、任务、作业并行(多处理机、分布处理系统、计算机网络)

阵列处理机:由重复设置的多个处理单元(PU)按一定方式连成阵列,在单个控制部件(CU)控制下,对分配给自己的数据进行处理,并行地完成一条指令所规定的操作。这是一种单指令流多数据流计算机,通过资源重复实现并行性。

并行处理机:SIMD 和 MIMD 是典型的并行计算机。

多处理机:由多个处理机构成的系统,每个处理机都有自己的控制部件,可以独立地执行各自的程序。多处理机系统由一个存储器或所有的处理机共享。它是多指令流多数据流计算机。

2.2 存储系统【重点】

2.2.1 存储器的层次结构

计算机系统中可能包括各种存储器,不同特点的存储器通过适当的硬件、软件有机地组合在一起形成计算机的存储体系结构。

关于存储器交互功能的实现:

  • Cache 和主存之间的交互功能全部由硬件实现
  • 主存与辅存之间的交互功能可由硬件和软件结合起来实现

2.2.2 存储器的分类

寄存器 -> cache -> 主存(内存) -> 外存(辅存)

CPU -> SRAM 相联存储器 --由硬件实现–> DRAM --软硬件结合实现–> 固态硬盘、机械硬盘、nand、光盘、u 盘等

读写速度从快到慢
存储容量从小到大

  • 分类: 内部存储器(内存)与外部存储器(硬盘、U盘等)
  • 特点: 内存临时存储,断电清空;外部存储长期保存数据

2.2.3 相联存储器

相联存储器是一种按内容访问的存储器,其工作原理是将数据或数据的某一部分作为关键字,按顺序写入信息,读出时并行地将该关键字与存储器中的每一单元进行比较,找出存储器中所有与关键字相同的数据字,特别适合于信息的检索和更新。

应用场景

• 可用于高速缓冲存储器
• 在虚拟存储器中用作段表、页表或快表存储器
• 应用于数据库和知识库系统中

2.2.4 高速缓存

  • Cache(高速缓存)位于 CPU 与主存之间
  • Cache 对程序员来说是透明的
  • 设置多级高速缓存 Cache 以提高 CPU 访问主存数据或指令的效率(命中率)
  • 使用 Cache 改善系统性能的依据是程序的局部性原理

时间局部性:被引用过一次的存储器位置在未来会被多次引用,主要体现在循环。
空间局部性:如果一个存储器的位置被引用,那么将来他附近的位置也会被引用,主要体现是顺序执行的过程。

Cache 的地址映像方法
直接相联映像
  • 描述:主存的块与 Cache 块的对应关系是固定的。也就是说,主存中的每个块只能映射到 Cache 中一个固定的块位置上。
  • 优点:硬件电路设计、地址变换比较简单。因为映射关系固定,所以硬件设计相对容易,地址变换过程也不复杂。
  • 缺点:冲突率较高,灵活性差。由于主存块只能映射到固定的 Cache 块位置,当多个块映射到同一个位置时就会发生冲突,导致一些块无法被缓存,从而降低了 Cache 的利用率。而且这种方式缺乏灵活性,无法根据实际需求灵活调整映射关系。
全相联映像
  • 描述:主存的任一块可以调入 Cache 存储器的任何一个块的空间中。这意味着主存中的块可以映射到 Cache 中的任意位置,不受限制。
  • 优点:灵活性高。由于主存块可以映射到 Cache 中的任意位置,因此可以根据实际情况灵活选择缓存位置,从而降低冲突率,发生块冲突次数最小
  • 缺点:变换比较复杂,速度比较慢。因为需要在 Cache 中查找主存块的映射位置,所以地址变换过程相对复杂,查找速度也相对较慢。此外,这种映像方式的电路设计和实现难度较大,通常只适用于小容量的 Cache。
组相联映像
  • 描述:将 Cache 中的块再分成组,组采用直接映像方式,而块采用全相联映像方式。即主存中的任何区的组只能存到 Cache 的相应组中,但组内的块则可以任意存放。例如,主存中的第 0 组只能存到 Cache 的第 0 组中,但主存第 0 组中的任意一块可以存入 Cache 第 0 组的任意一块中。
  • 优点:是直接相联与全相联的折中。它结合了直接相联映像的简单性和全相联映像的灵活性,既降低了冲突率,又避免了全相联映像的复杂性。
  • 缺点:复杂度介于直接相联和全相联之间,设计和实现难度也相对较大。
Cache 替换算法
  • 随机替换算法 rand(random)
  • 先进先出 fifo(first in first out)
  • 最近最少使用算法 LRU(least recently used)
  • 最不频繁使用算法 LFU(least frequantly used) 用到了计数器
  • 优化替换算法
Cache 的读写过程

写直达:同时写 cache 与内存
写回:只写 cahe,淘汰页面时,写会内存
标记法:只写入内存

2.2.5 虚拟存储器

基本概念

  • 主存储器可看作由若干个字节构成的存储空间
  • 每个字节称为一个存储单元,具有物理地址
  • CPU 访问主存时,需给出存储单元的物理地址

虚拟存储工作机制

  • 现代系统提供虚拟存储器(Virtual Memory)概念
  • CPU 生成的虚拟地址(Virtual Address)通过MMU(Memory Management Unit)转换为物理地址
  • 转换后才能访问实际主存

2.2.6 外存储器

  • 定义:外存储器用于存放暂时不用的程序和数据,以文件形式存储
  • 特点:CPU 不能直接访问外存中的程序和数据,需通过文件输入主存才能访问
  • 主要类型:硬盘、磁带、光盘存储器、固态硬盘(采用Flash芯片或缩微介质)

磁表面存储器

机械磁盘存在两组运动:磁盘的旋转运动 和 移动机械臂控制磁头沿半经方向的直线运动

存取时间 = 寻道时间(磁头移动到磁道)+ 等待时间

寻道时间:指磁头移动到磁道所需的时间
等待时间:等待读写的扇区转到磁头下方所用的时间

光盘存储器

• 工作原理:利用激光读写技术在光盘上记录和读取信息
• 主要类型:CD-ROM、DVD、蓝光光盘等
• 特点:非接触式读写,寿命长,便于携带

固态硬盘(SSD)
使用 Flash 芯片或者 DRAM 存储数据,无机械部件,具备读写速度快、质量轻、能耗低、体积小、价格较贵、容量较低,一旦损坏,数据较难恢复的特点。

2.2.7 磁盘阵列技术

  • 磁盘阵列:由多台磁盘存储器组成的快速、大容量、高可靠的外存子系统
  • RAID(Redundant Array of Independent Disk):廉价冗余磁盘阵列

常见 RAID 级别特性对比:

RAID级别 核心特点
RAID-0 无容错能力,数据分片存储,读写性能提升N倍,可靠性最低
RAID-1 镜像冗余,通过磁盘镜像实现数据容错
RAID-2 使用海明码进行错误检测(已较少使用)
RAID-3 专用奇偶校验盘,数据条带化,适合大文件读写
RAID-4 独立读写与校验盘设计,存在校验盘性能瓶颈
RAID-5 分布式奇偶校验,无专用校验盘,允许单盘故障(N-1冗余)
RAID-6 双重分布式校验,允许同时两盘故障,写入性能较低

2.2.8 存储域网络(SAN)

存储域网络(Storage Area Network, SAN)是在大型服务器系统背后的网络,用于将一个或多个服务器与多个存储设备连接起来的专用网络。SAN 作为连接服务器与存储设备的专用网络,有效提升了企业级存储系统的可扩展性、可用性和管理效率。

2.3 输入/输出技术【重点】

2.3.1 微型计算机内存与接口编址方法

内存与接口地址独立编址方法

  1. 地址空间独立
    • 内存地址与接口地址完全隔离,形成两个独立空间
  2. 指令系统分离
    • 操作指令严格区分:接口指令仅用于I/O操作,内存指令仅用于数据存取
  3. 易用性优势
    • 程序可读性强,指令功能边界清晰

优点 | 指令集分工明确,编程逻辑直观;接口操作安全性高
缺点 | 接口指令集功能有限;需单独维护内存与接口两套地址映射表

内存与接口地址统一编址方法

  1. 地址空间共享
    • I/O端口与内存单元统一编址,共享同一地址空间
  2. 指令通用性
    • 所有内存操作指令均可直接用于接口操作(如MOV、ADD等)
  3. 资源动态分配
    • 地址空间按需划分,支持灵活配置I/O端口数量

优点 | 指令资源丰富,操作灵活;支持内存/接口地址的透明访问
缺点 | 地址空间碎片化风险;需维护地址译码逻辑复杂度增加

2.3.2 直接程序控制

数据交互过程

  • CPU 控制储存与外设之间的数据交互
  • 需要平衡慢速的输入输出设备(如磁盘)与高速的组织(如内存)之间的速度差异

数据传输方式:不同的数据传输方式根据设备速度和实时性需求选择。DMA 和中断方式在现代计算机系统中广泛应用,以提高整体系统性能。

直接程序控制是指外设数据的输入/输出过程是在CPU执行程序的控制下完成的。这种方式分为无条件传送和程序查询方式两种情况。

1. 无条件传送
在此情况下,外设总是准备好的,它可以无条件地随时接收CPU发来的输出数据,也能够无条件地随时向CPU提供需要输入的数据。

2. 程序查询方式
在这种方式下,利用查询方式进行输入/输出,就是通过CPU执行程序来查询外设的状态,判断外设是否准备好接收数据或准备好了向CPU输入的数据。根据这种状态,CPU有针对性地为外设的输入/输出服务。

这种工作方式有如下两大缺点:

降低了CPU的效率。
对外部的突发事件无法做出实时响应。

2.3.3 中断方式

◎ 利用中断方式完成数据的输入/输出
◎ CPU 接到中断请求信号后,保存正在执行程序的现场
◎ 与程序控制方式相比,因为 CPU 无须等待而提高了效率

常用中断处理方法

  1. 多中断信号线法:每个中断源都有一条专用的中断请求线
  2. 中断软件查询法:通过软件轮询方式判断哪个中断源发出了请求
  3. 菊花链法:通过硬件连接形成优先级链路
  4. 总线仲裁法:多个设备通过一条总线申请中断,总线仲裁器决定响应顺序
  5. 中断向量法:每个中断源对应一个中断向量,包含服务程序入口地址

2.3.4 直接存储器存取方式

● DMA(Direct Memory Access)

◎ 在**主存与 I/O 设备(外设)**之间建立数据通路进行数据的交换处理
◎ 在 DMA 传送过程中无须 CPU 的干预
◎ DMA 传送数据时要占用系统总线,此时 CPU 不能使用总线

2.3.5 输入/输出处理机(IOP)

◎ 分担了 CPU 的一部分功能,可以实现对外围设备的统一管理,完成外围设备与主存之间的数据传送
◎ 大大提高了 CPU 的工作效率,这种效率的提高是以增加更多的硬件为代价的

总结

  • 直接程序控制适用于简单、低速的设备交互
  • DMA 适用于高速设备的数据传输,如显卡、磁盘等
  • 中断方式适用于需要实时响应的设备,如键盘、鼠标

2.4 总线结构【重点】

总线(Bus)是计算机设备和设备之间传输信息的公共数据通道,是连接计算机硬件系统内多种设备的通信线路,由总线上的所有设备共享,可连接多种设备到总线上。

2.4.1 总线的分类

内部总线
系统总线 用于 主存和外设部件
外部总线

  • 数据总线:数据总线的宽度直接影响数据传输的效率。例如,32 位数据总线一次可以传输 4 个字节的数据,而64位数据总线一次可以传输 8 个字节,因此数据总线宽度越大,数据传输速度越快。
  • 地址总线(单向传输):地址总线的宽度决定了系统的寻址能力。例如,32 位地址总线可以寻址 (2^{32}) 个地址空间,即 4GB 的内存或 I/O 空间。
  • 控制总线:控制总线的信号种类和数量取决于系统的复杂度和功能需求。例如,中断请求信号用于设备向CPU请求服务,时钟信号用于同步各部件的操作。

2.4.2 常见总线

名称 特点 数据传输率
ISA总线 工业标准总线,支持16位IO设备 约16MB/s
EISA总线 ISA扩展的32位总线,支持16/32位设备 33MB/s
PCI总线 高性能局部总线,时钟与处理器无关,支持突发传输 32位时133MB/s,64位时266MB/s
PCI - e总线 点对点串行连接,支持热插拔,有多种接口宽度 X1为250MB/s,X16可达4GB/s
前端总线 CPU与北桥芯片间的数据通道 如800MHz外频时,64位总线数据传输速率6.4GB/s
SATA总线 串行接口,用于连接存储设备 有SATA 1.0(1.5Gb/s)、SATA 2.0(3.0Gb/s)、SATA 3.0(6.0Gb/s)等版本
USB总线 通用串行总线,支持热插拔 有USB 1.0/1.1(1.5Mbps/12Mbps)、USB 2.0(480Mbps)、USB 3.0(5Gbps)等版本
IEEE - 1394总线 高速串行总线 IEEE - 1394a为400Mbps,IEEE - 1394b可达800Mbps、1.6Gbps、3.2Gbps

并行通信与串行通信的区别

特性 并行通信 串行通信
数据传输方式 同时传输多个比特(通常为一个字节或字) 每次只传输一个比特
传输速度 传输速度快,适合短距离、高速率传输 传输速度较慢,但适合长距离传输
传输介质 需要多条数据线(如8条、16条、32条等) 只需要一条数据线(单工)或两条数据线(全双工)
硬件成本 硬件成本高(需要多条数据线和复杂的同步机制) 硬件成本低(只需要较少的传输线路)
抗干扰能力 抗干扰能力弱(多条线容易相互干扰) 抗干扰能力强(单线传输)
应用场景 计算机内部的 CPU 与内存之间的通信、主板与扩展卡之间的通信 计算机与外部设备(如串口通信、USB通信)、网络通信(如以太网)

串行通信

  • 传输方式:串行通信是指数据的各位依次逐位传输。例如,一个8位的数据需要通过一条数据线依次传输8次。
  • 优点
    • 硬件成本低,只需要较少的传输线路。
    • 抗干扰能力强,适合长距离传输。
  • 缺点:
    • 传输速度较慢,适合对速度要求不高的场景。
    • 适合计算机与外部设备的通信,如串口通信、USB 通信等。

并行通信

  • 传输方式:并行通信是指数据的各位同时传输。例如,一个8位的并行通信系统会在同一时刻通过8条数据线同时传输 8 个比特。
  • 优点
    • 传输速度快,适合短距离、高速率的通信场景。
    • 适合计算机内部的高速数据传输,如CPU与内存之间的数据交换。
  • 缺点:
    • 需要多条数据线,硬件成本高。
    • 抗干扰能力弱,因为多条数据线容易相互干扰。
    • 适合短距离传输,长距离传输时信号容易衰减和失真。

单工:一个方向上传输(正向或反向),不能改变信号的传输方向

半双工通信

  • 定义:半双工通信是指通信双方在同一时间内只能单向传输,需要切换发送和接收状态。例如,A和B之间在同一时间内只能有一方发送数据,另一方接收数据,然后切换状态。
  • 优点:
    • 硬件成本较低,只需要一条传输线路。
    • 适合对成本敏感的场景。
  • 缺点:
    • 效率较低,需要切换发送和接收状态,带宽利用率低。
    • 适合低速通信场景,如早期的串口通信。

全双工通信

  • 定义:全双工通信是指通信双方可以同时发送和接收数据,互不干扰。例如,A和B之间可以同时发送和接收数据,而不需要切换发送和接收状态。
  • 优点:
    • 高效,通信双方可以同时进行数据传输,充分利用带宽。
    • 适用于现代高速网络通信,如以太网。
  • 缺点:
    • 硬件成本较高,需要两条独立的传输通道。
    • 实现复杂,需要同步机制来协调数据的发送和接收。

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

3.1 计算机安全概述

  • 计算机安全范畴
    • 硬件/软件/技术层面
    • 安全规划、管理、监督
    • 包含:安全管理、通信与网络安全、密码学、容错与容灾等

1. 计算机的安全等级

国际主要标准:

  1. TCSEC(美国国防部)
  2. CTCPEC(加拿大)
  3. FC(美国联邦)
  4. ITSEC(欧盟)
  5. CC标准(ISO/IEC 15408-1999)
  • TCSEC 安全等级划分(4 组 7 个等级)
等级 分组 安全特性
D 最低级别,保护措施很小,没有安全功能
C1 C 级 自主访问控制
C2 受控访问
B1 B 级 强制访问控制+标记
B2 结构化保护
B3 安全域 + 审计
A1 A 级 形式化验证

2. 安全威胁

信息安全五要素(CIA+2扩展模型)

核心三要素

要素 核心目标 关键技术 典型应用场景
机密性 防止未授权访问 数据加密、访问控制 加密文件传输、数据库脱敏
完整性 确保数据未被篡改 哈希校验、数字签名 数字证书、区块链存证
可用性 保障合法用户正常使用 DDoS防护、负载均衡 云服务高可用架构

扩展要素

要素 核心目标 实现手段 管理措施
可控性 对信息流向与操作进行管控 权限分级、网络隔离 防火墙策略、审计日志
可审查性 提供追溯与问责依据 操作日志、全程监控 安全审计、取证分析

记忆技巧

  1. CIA基础:机密性(Confidentiality)、完整性(Integrity)、可用性(Availability)
  2. 扩展双支柱:可控性(Control) + 可审查性(Accountability)
  3. 关联实际
    • 机密性缺失 → 数据泄露(如未加密数据库暴露)
    • 可控性缺失 → 权限滥用(如普通用户访问管理员功能)

典型安全威胁(13种)

  1. 授权侵犯:越权访问
  2. 拒绝服务:资源不可用
  3. 窃听:信息截获
  4. 信息泄露:敏感数据暴露
  5. 截获/修改:数据篡改
  6. 假冒:身份伪造
  7. 否认:交易抵赖
  8. 非法使用:未授权访问
  9. 人员疏忽:意外泄密
  10. 完整性破坏:数据不一致
  11. 媒体清理:废弃介质信息恢复
  12. 物理入侵:绕过物理防护
  13. 资源耗尽:DoS攻击

3. 影响数据安全的因素

分为内部和外部两类:
内部需通过加密技术、安全规划、容灾存储、应急管理及安全制度保障;
外部需实施数据分级管控、多维认证(如生物识别)、防火墙部署、入侵检测与物理防护(防水/防火/防辐射)。

3.2 加密、认证技术【重点】

3.2.1 加密技术

主要用于保护数据的机密性和完整性,防止数据在传输或存储过程中被窃取或篡改。

分类 特点 常见算法 应用场景
对称加密(非公开密钥算法) 加密和解密使用相同密钥,速度快,适合大量数据加密 RC、IDEA、PGP(可用于电子邮件)、AES(高级加密标准)、DES(数据加密标准)、三重 DES(3DES,或称为 TEDA) 数据加密、文件加密、网络通信加密
非对称(公开密钥)加密 加密和解密使用不同密钥(公钥和私钥),安全性高,但速度较慢 DSA、ECC(椭圆曲线算法)、RSA、Diffie-Hellman 数字签名、密钥交换、SSL/TLS 协议

3.2.2 认证技术

主要用于验证用户或设备的身份,确保只有合法用户或设备能够访问系统。

信息摘要 简要地描述了一份较长的信息或文件,它可以被看作一份长文件的“数字指纹”信息摘要。用于创建数字签名,对于特定的文件而言,信息摘要是唯一的。用于验证数据完整性、密码存储等。

信息摘要可以被公开,它不会透露相应文件的任何内容。

原始数据不同,生成的摘要一定不同,单向不可逆。

哈希函数(单向加密)可将任意长度数据转换为固定长度的哈希值,不可逆

SHA-256、SHA-3(推荐使用)、MD5(不安全)、SHA-1(不推荐)

数字签名

采用非对称密码体制(公钥密码体制),即发送者使用私钥加密数据,接收者使用对应的
公钥解密数据,它具有以下功能:

  1. 报文鉴别:用于证明来源,接收者可以通过签名确定是哪个发送者进行的签名;
  2. 防止抵赖:防止发送者否认签名,发送者一旦签名,标记就打上了,无法抵赖;
  3. 防止伪造:防止接收者伪造发送者的签名。

SSL 协议

SSL协议(安全套接层协议)的核心作用:保障客户端与服务器间数据传输的安全性,防止窃听、篡改和伪造。

主要功能

  • 身份认证:验证客户端/服务器的合法性(通过数字证书识别)
  • 数据加密:双向加密技术(对称密钥+公开密钥)保护传输内容
  • 完整性校验:通过Hash函数确保数据未被篡改

数字时间戳技术

数字时间戳是数字签名技术的一种变种应用。在电子商务交易文件中,时间是十分重要的信息。在书面合同中,文件签署的日期和签名一样均是十分重要的防止文件被伪造和篡改的关键性内容。

时间戳的产生过程

  1. 用户首先将需要加时间戳的文件用 Hash 编码加密形成摘要
  2. 然后将该摘要发送到 DTS
  3. DTS 在加入了收到文件摘要的日期和时间信息后再对该文件加密(数字签名)
  4. 然后送回用户

3.3 计算机可靠性

3.3.1 计算机可靠性概述

元器件失效特性:计算机系统硬件故障通常由元器件失效引起

可靠性指标

平均无故障时间(MTBF)
• 两次故障之间系统能正常工作的时间的平均值
• 计算公式:MTBF = 1 / λ

平均修复时间(MTTR)
• 计算机的可维修性指标
• 指从故障发生到机器修复平均所需要的时间

可用性(A)
• 系统在执行任务的任意时刻能正常工作的概率
• 计算公式:A = MTBF / (MTBF + MTTR)

3.3.2 计算机可靠性模型

  • 串联系统:假设一个系统由 N 个子系统组成,当且仅当所有的子系统都能正常工作时系统才能正常工作,这种系统称为串联系统。串行系统可靠性计算公式 r1r2r3...rnr1 * r2 * r3 ... * rn
  • 并联系统:假如一个系统由 N 个子系统组成,只要有一个子系统正常工作,系统就能正常工作,这样的系统称为并联系统。并行系统可靠性计算公式 1(1r1)(1r2)...(1rn)1-(1-r1)(1-r2)...(1-rn)

3.4 计算机系统的性能评价

1. 性能评价指标体系

  • 基础性能指标
    • 主频(时钟频率):直接影响指令执行速度
    • CPI(每指令周期数):平均每条指令所需时钟周期
    • MIPS(百万指令每秒)= 主频 / CPI
  • 综合评价方法
    • 吞吐率(Throughput):单位时间完成的任务数
    • 响应时间(Response Time):用户请求到响应完成的耗时
    • MIPS/Watt:能效比指标

2. 性能评价方法

  • 基准测试程序
    • SPEC 基准程序套件
    • Linpack 浮点运算测试
    • TPC-C 数据库交易处理测试
  • 模拟器与仿真器
    • 精确模拟(Cycle-accurate Simulator)
    • 功能级仿真(Functional Simulator)

4 加餐和总结

冯·诺依曼结构和哈佛结构

特性 冯·诺依曼结构 哈佛结构
存储结构 指令和数据共享同一存储空间(内存) 指令和数据存储在不同的内存区域
总线结构 指令和数据共享同一总线 指令和数据分别使用不同的总线
访问方式 指令和数据顺序访问 指令和数据并行访问
执行效率 存在冯诺依曼瓶颈,不能同时访问指令和数据 可以并行访问指令和数据,提高执行效率
硬件复杂度 设计较简单,内存和总线共享 设计复杂,需要独立存储器和总线
灵活性 设计较为简单,灵活性较高 硬件更复杂,灵活性较低,但适合特定应用
应用场景 通用计算机、服务器、桌面计算机等 嵌入式系统、数字信号处理器(DSP)、微控制器
存储器访问速度 受限于内存带宽,可能较慢 可优化指令和数据的存储访问,通常更快