一、计算机系统
1、计算机基础
1、计算机的基本硬件系统:运算器、控制器、存储器、输入设备和输出设备**5大部件组成
- CPU是硬件系统的核心
- 存储器是计算机系统中的记忆设备
- 输入设备和输出设备合称为外部设备(简称外设)
1、CPU功能

1、它负责获取程序指令、对指令进行译码并加以执行。
2、如图
| 控制器 | 程序控制 | CPU通过执行指令来控制程序的执行顺序, |
|---|---|---|
| 操作控制 | 一条指令功能的实现需要若干操作信号配合来完成,CPU产生每条指令的操作信号并将操作信号送往对应的部件,控制相应的部件按指令的功能要求进行操作。 | |
| 运算器 | 时间控制 | CPU对各种操作进行时间上的控制,即指令执行过程中操作信号的出现时间、持续时间及出现的时间顺序都需要进行严格控制。 |
| 数据处理 | CPU通过对数据进行算术运算及逻辑运算等方式进行加工处理,数据加工处理的结果被人们所利用。所以,对数据的加工处理也是CPU最根本的任务。 | |
| 此外,CPU还需要对系统内部和外部的中断(异常)做出响应,进行相应的处理。 |
2、运算器
1、功能
- 执行算术运算
- 执行所有的逻辑运算并进行逻辑测试
2、部件
| 运算器 | 作用 |
|---|---|
| 算术逻辑单元(ALU) | ALU是运算器的重要组成部件,负责处理数据,实现对数据的算术运算和逻辑运算。 |
| 累加寄存器**(AC)** | AC通常简称为累加器,它是一个通用寄存器,其功能是当运算器的算术逻辑单元执行算术或逻辑运算时,为ALU提供一个工作区。例如,在执行一个减法运算前,先将被减数取出暂存在AC 中,再从内存储器中取出减数,然后同AC的内容相减,将所得的结果送回AC中。运算的结果是放在累加器中的,运算器中至少要有一个累加寄存器。为ALU提供数据并暂存运算结果 |
| 数据缓冲寄存器**(DR)** | 在对内存储器进行读/写操作时,用DR暂时存放由内存储器读/写的一条指令或一个数据字,将不同时间段内读/写的数据隔离开来。DR的主要作用为:作为CPU和内存、外部设备之间数据传送的中转站;作为CPU和内存、外围设备之间在操作速度上的缓冲;在单累加器结构的运算器中,数据缓冲寄存器还可兼作为操作数寄存器。 |
| 状态条件寄存器**(PSW)** | PSW保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,主要分为状态标志和控制标志,例如运算结果进位标志(C)、运算结果溢出标志(V)、运算结果为0标志(Z)、运算结果为负标志(N)、中断标志(I)、方向标志(D)和单步标志等。这些标志通常分别由 1 位触发器保存,保存了当前指令执行完成之后的状态。通常,一个算术操作产生一个运算结果,而一个逻辑操作产生一个判决。 保存由算数指令和逻辑指令运行或测试的结果建立的各种条件码内容。 |
3、控制器
1、指令 = 操作码 + 地址码
- 例如:1 + 2 中 1 和 2 为地址码; + 为操作码。
2、控制器一般包括指令控制逻辑、时序控制逻辑、总线控制逻辑和中断控制逻辑
3、指令控制逻辑要完成取指令、分析指令和执行指令的操作,其过程分为取指令、指令译码、按指令操作码执行、形成下一条指令地址等步骤。
4、部件
| 指令寄存器(IR) | 当CPU执行一条指令时,先把它从内存储器取到缓冲寄存器中,再送入IR暂存,指令译码器根据 IR 的内容产生各种微操作指令,控制其他的组成部件工作,完成所需的功能。保存当前CPU执行的指令(指令 = 操作码 + 地址码) |
| 程序计数器(PC) | PC具有寄存信息和计数两种功能,又称为指令计数器。程序的执行分两种情况,一是顺序执行,二是转移执行。在程序开始执行前,将程序的起始地址送入PC,该地址在程序加载到内存时确定,因此PC的内容即是程序第一条指令的地址。执行指令时,CPU自动修改PC的内容,以便使其保持的总是将要执行的下一条指令的地址。由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单地对PC加1。当遇到转移指令时,后继指令的地址根据当前指令的地址加上一个向前或向后转移的位移量得到,或者根据转移指令给出的直接转移的地址得到。 |
| 地址寄存器(AR) | AR保存当前CPU所访问的内存单元的地址。由于内存和CPU存在着操作速度上的差异,所以需要使用AR保持地址信息,直到内存的读/写操作完成为止。 |
| 指令译码器(ID) | 指令包含操作码和地址码两部分,为了能执行任何给定的指令,必须对操作码进行分析,以便识别所完成的操作。指令译码器就是对指令中的操作码字段进行分析解释,识别该指令规定的操作,向操作控制器发出具体的控制信号,控制各部件工作,完成所需的功能。对指令中的操作码字段进行分析解释 |
4、总结(背)
1、运算器:
- 算术逻辑单元(ALU)
- 累加寄存器(AC)
- 数据缓冲寄存器(DR)
- 状态条件寄存器(PSW)
2、控制器
- 指令寄存器(IR)
- 程序计数器(PC)
- 地址寄存器(AR)
- 指令译码器(ID)
3、用户可见
- 通用寄存器组
- 程序状态字寄存器(PSWR)
- 程序计数器(PC)
- 累加寄存器(ACC)
4、用户不可见
- 指令寄存器(IR)
- 暂存寄存器(DR)
- 存储器地址寄存器(MAR)
- 存储器数据寄存器(MDR)
2、单位进制
1、基本单位
| 中文名称 | 英文全称 | 英文缩写 | 转换关系 |
|---|---|---|---|
| 位(比特) | bit | b | |
| 字节 | byte | B | 1 B = 8b |
| 千字节 | KB | K | 1KB = 1024B |
| 兆字节 | MB | 1MB = 1024KB | |
| 吉字节 | GB | 1GB = 1024MB | |
| 太字节 | TB | 1TB = 1024GB |
了解: 计算机中最小的数据单位:bit 最小的操作单位: byte
2、后缀表示
| 进制 | 后缀表示 | 基数 |
|---|---|---|
| 二进制 | B | 0和1 |
| 八进制 | O | 0-7 |
| 十进制 | D | 0-9 |
| 十六进制 | H | 0-9,A-F(0-15) |
基数是指一种进制中组成的基本数字,也就是不能再进行拆分的数字
3、1个16进制位 ==4位2进制位,因为2^4=16
4、1个8进制位 == 3个二进制位,因为2^3=8
3、原码、反码、补码
1、正数的原码、反码、补码 == 本身
2、负数的补码==原码取反+1
3、负数的补码的补码 ==原码
4、移码就是,二进制左移或者右移
- 左移:乘2
- 右移:除2
5、补充
- 当机器字长为 n 时,最高位是符号位,所以是2的n次方减1。
- 有128位,但超市范围是从0开始的,因此要减1,【0-127】刚好128位
4、浮点数
1、在浮点表示法中,阶码为带符号的纯整数,尾数为带符号的纯小数
2、公式

3、阶码越大,浮点数的范围越大
4、尾数越大,浮点数的精度越高
5、做题中的E和F可能会变化
- 如果浮点数的阶码(包括 1 位阶符)用R位的移码表示,尾数(包括1位数符)用M位的补码表示,
- 则这种浮点数所能表示的数值范围如下。
5、寻址
1、概念

2、理解


3、排序
1、立即寻址1,
2、寄存器寻址2
3、直接选址3
4、寄存器间接选址4
- 以上1最快,4最慢
6、校验码
1、码距为2,有检错能力,没纠错能力
2、码距大于等于2,有检错能力,纠错能力
3、奇偶校验码: 码距2,无法检测偶数个数据位出错的编码
4、海明码: 码距为3,利用多组数位的奇偶性来检错和纠错
- 公式
5、循环冗余校验码: 码距为2,采用 模2运算 得到校验码,k个数据位[n,r+1]后跟r个校验位[r,1]
7、指令计算机
1、RISC精简指令集计算机
2、CISC复杂指令集计算机
3、如图
| RISC精简指令集计算机 | CISC复杂指令集计算机 | |
|---|---|---|
| 指令种类 | 少、精简 | 多、丰富 |
| 指令复杂度 | 低(简单) | 高(复杂) |
| 指令长度 | 固定 | 变化 |
| 寻址方式 | 少 | 复杂多样 |
| 实现(译码)方式 | 硬布线控制逻辑(组合逻辑控制器) | 微程序控制技术 |
| 通用寄存器数量 | 多、大量 | 一般 |
| 流水线技术 | 支持(采用) | 支持(采用) |
8、指令流水线
1、总结
| 概念 | 公式 |
|---|---|
| 流水线执行时间 | 流水线执行时间 = 一条指令执行的时间 + 最长时间段 × (n-1) |
| 加速比 | 加速比 = 不采用流水线的执行时间 / 采用流水线的执行时间 |
| 流水线的操作周期 | 流水线的操作周期为最长操作时间 |
| 吞吐率 | 流水线的吞吐率是最长流水段操作时间的倒数。 |
| 连续输入n条指令的吞吐率 = 总指令数/总指令数执行的时间 (n为总指令数) | |
| 顺序执行时间 | 顺序执行时间=一条指令执行的时间×总指令数 |
9、存储器
1、内存:也称主存,容量小,速度快
2、外存:也称辅存,如:光盘
3、虚拟存储器:由主存和辅存组成
4、闪存:
- 闪存可以理解为U盘,故掉电后信息不会丢失。
- 闪存是以块为单位进行删除的。
- 闪存式EPROM的一种类型,可以代替ROM存储器。
- 闪存不能代替主存
5、局部性
- 空间局部性: 例如:CPU访问0x2内存单元,未来可能会访问其相邻的存储单元的信息 0x1,0x3
- 时间局部性: 例如:CPU访问0x2内存单元,未来可能还会再次访问0x2
6、DRAM**(动态随机存储器)**:构成主存, DRAM需要周期性地刷新保持信息
7、SRAM**(静态随机存储器)**:构成Cache
8、存储系统的层次结构

9、按访问方式分类
- 按地址访问的存储器
- 按内容访问的存储器:相联存储器
10、按寻址方式分类
| 随机存储器(Random Access Memory,RAM) | 这种存储器可对任何存储单元存入或读取数据,访问任何一个存储单元所需的时间是相同的。 |
|---|---|
| 顺序存储器(Sequentially Addressed Memory,SAM) | 访问数据所需要的时间与数据所在的存储位置相关,磁带是典型的顺序存储器。 |
| 直接存储器(Direct Addressed Memory,DAM) | 介于随机存取和顺序存取之间的一种寻址方式。磁盘是一种直接存取存储器,它对磁道的寻址是随机的,而在一个磁道内则是顺序寻址。 |
10、Cache
1、介绍
- 位于CPU与主存之间
- 速度一般比主存快5~10倍
- 对程序员来说是透明的
- Cache存储器部分用来存放主存的部分拷贝(副本)信息
- Cache与主存的地址映射由硬件自动完成
- 替换算法的目标就是使Cache获得尽可能高的命中率
2、地址映像
- 直接映像:冲突多,关系固定
- 全相联映像:冲突少,关系不固定
- 组相联映像:冲突较少,是直接映像与全相联映像的折中
11、中断
1、如图

2、中断向量: 提供中断服务程序的入口地址
3、中断响应时间:从发出中断请求到开始进入中断处理程序
4、保存现场: 为了正确返回原程序继续执行
12、输入输出控制方式
1、程序查询方式
1、CPU和1/O(外设)只能串行工作,CPU需要一直轮询检查,长期处于忙等状态。CPU利用率低
2、一次只能读/写一个字(bit)
3、由CPU将数放入内存
4、需要CPU保护现场
2、中断驱动方式
1、I/O 设备通过中断信号主动向CPU报告I/O操作已完成
2、CPU和I/O(外设)可并行工作
3、CPU利用率得到提升
4、一次只能读/写一个字(bit)
5、由CPU将数据放入内存
6、需要CPU保护现场
3、DMA(直接存储器存取方式)
1、CPU和I/O(外设)可并行工作
2、仅在传送数据块的开始和结束时才需要CPU的干预
3、由外设直接将数据放入内存(主存)或者相反
4、一次读写的单位为“块”而不是字
5、DMA传送一个数据占用一个存储周期
6、不需要CPU保护现场
4、总结
1、一句话:程序查询方式、中断驱动方式都需要CPU保护线程,都需要CPU将数据放入内存,而且都只能读取一个字(bit)。DMA方式不同
13、总线
1、微机中的总线分为
- 数据总线
- 地址总线
- 控制总线
2、如下所示(了解不要求背)
| ISA总线 | ISA是工业标准总线,只能支持16位的I/O设备 |
|---|---|
| EISA总线 | EISA是在ISA总线的基础上发展起来的32位总线。 |
| PCI总线 | PCI总线是目前微型机上广泛采用的内总线,采用并行传输方式。 |
| PCIExpress总线 | PCI Express简称为PCI-E,采用点对点串行连接,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率。 |
| 前端总线 | 微机系统中,前端总线(Front Side Bus,FSB)是将CPU连接到北桥芯片的总线。 |
| RS-232C | S-232C是一条串行外总线,其主要特点是所需传输线比较少,最少只需三条线(一条发、一条收、一条地线)即可实现全双工通信。 |
| SCSI总线 | 小型计算机系统接口(SCSI)是一条并行外总线,广泛用于连接软硬磁盘、光盘、扫描仪等。 |
| SATA | SATA是Serial ATA 的缩写,即串行ATA。它主要用作主板和大量存储设备(如硬盘及光盘驱动器)之间的数据传输之用。串行接口还具有结构简单、支持热插拔的优点。 |
| USB | 通用串行总线(USB)当前风头正劲,近几年得到十分广泛的应用。USB总线最大的优点还在于它支持即插即用,并支持热插拔。 |
| IEEE-1394 | EEE-1394是高速串行外总线,近几年得到广泛应用。IEEE-1394也支持外设热插拔,可为外设提供电源,省去了外设自带的电源,能连接多个不同设备,支持同步和异步数据传输。 |
| IEEE-488总线 | IEEE-488是并行总线接口标准。 |
14、加密技术
1、如下所示
| 场景 | 解决方式 |
|---|---|
| 窃听 | 加密 |
| 篡改 | 摘要(将发送的明文进行Hash算法后得到摘要,将摘要放在加密好的密文的后面一起发送过去,接收方接收到数据使用私钥对密文进行解密得到明文,对明文使用和发送方相同的Hash算法得到摘要) |
| 假冒 | 数字签名,数字证书(向CA权威机构,信任机构(像公安局,法院)申请数字证书) |
| 否认 | 数字签名(发送方用自己的私钥对摘要进行签名(加密)得到数字签名放在密文中一起发送过去,接收方用发送方的公钥对数字签名进行验证(解密)) |
15、加密算法
1、对称加密(私有密钥加密,共享密钥加密解密)
- DES,3DES,RC-5,IDEA,AES 分组加密算法,RC4
2、非对称加密(公开密钥加密,公钥加密私钥解密)
- RSA,ECC,DSA
3、MD5:摘要算法(防止发送的报文被篡改)
- 对任意长度的输入计算得到的结果长度为128位。
4、SHA-1: 安全散列算法
5、认证:阻止主动攻击
6、加密: 阻止被动攻击
16、系统可靠度
1、串联:R1*R2
2、并联:1-(1-R1)(1-R2)...(1-Rn)
3、如下所示


2