软考笔记——计算机系统知识

第一章节------计算机系统知识


文章目录


一、计算机系统基础知识

1.计算机系统硬件基本组成

  • 计算机的基本硬件系统由运算器,控制器,储存器,输入设备,输出设备五大部件组成(冯·诺依曼结构)

  • 运算器,控制器等部件被集成在一起统称为中央处理单元(CPU)

  • 储存器是计算机系统中的记忆设备,分为内部存储器(内存)和外部存储器(硬盘)。内部存储器速度快,容量小,一般用于临时存放程序,数据及中间结果;外部存储器速度慢,容量大,可长期保存程序和数据

  • 输入设备和输出设备合称为外部设备(外设),输入设备用于输入原始数据及各种命令,而输出设备则用于输出处理结果。


2.中央处理单元

  • CPU主要由运算器控制器,寄存器组和内部总线等部件组成

2.1 运算器

2.1.1 运算器的功能

  1. 执行算数运算:如加,减,乘,除等基本运算
  2. 执行逻辑运算并进行逻辑测试:如与,或,非等逻辑运算

2.1.2 运算器中各组件的功能

  1. 算数逻辑单元(ALU:Arithmetic and logic unit):负责处理数据,实现对数据的算数运算和逻辑运算
  2. 累加寄存器(AC:Accumulator):又称累加器,是一个通用的寄存器,为ALU提供一个工作区,暂存运算结果
  3. 数据缓存寄存器(DR:Data Register):作为CPU和内存,外设之间数据传送的中转站,用于缓冲速度上的差异性,如在对内存进行读/写操作时,用DR暂存由内存读/写的指令或数据字
  4. 状态条件寄存器(PSW:Program Status Word):保存数据/逻辑运算结果的一种状态,主要分为状态标志和控制标志,如运算结果进位标志,溢出标志,中断标志

2.2 控制器

2.2.1 控制器的功能

  • 运算器只能完成运算操作,而整个运算过程是由控制器来完成的,控制器控制整个CPU的工作

  • 指令格式:

2.2.2 控制器的组成和特点

  1. 指令寄存器(IR):保存当前正在执行的指令
  2. 程序计数器(PC):指向下一条指令的地址;自增的功能
  3. 地址寄存器(AR):
  4. 指令译码器:

2.3寄存器组

寄存器组分为专用寄存器和通用寄存器。运算器和控制器中的寄存器是专用寄存器。通用寄存器的用途由程序员决定

通用寄存器:当ALU执行算术或逻辑运算时,为ALU提供一个工作区。

分类 寄存器
程序员可见的寄存器 通用寄存器组,PSW,PC,AC
程序员不可见 IR,DR,AR

2.4 CPU模型


3.数据表示

3.1 基础知识

3.1.1.进制转换
二进制:由0、1表示的数,逢2进1。如: 10111B或者(10111)2
八进制:由0...7表示的数,逢8进1。如: 27Q或者(27)8
十六进制:由0...和A...F表示的数,逢16进1。如: 17H或者(17)16

3.2.2.单位换算

单位 表示 换算
bit,b 1b=二进制的一位
字节 Bytc,B 1B=8bit
千字节 KB 1KB=2^10B
兆字节 MB 1MB-2^10KB
吉字节 GB 1GB-2^10MB
太字节 TB lTB=2^10GB

3.2 定点数

**小数点位置不变的数。分为纯整数(定点整数),和纯小数(定点小数)。

表示方式:原码,反码,补码,移码**

二进制数据

原码:二进制表示的码。最高位是符号位。0表示正数,1表示负数。
反码:正数的反码与原码相同,负数的反码是原码的符号位不变,其他位取反。
补码:正数的补码与原码相同,负数的补码等于反码的末尾+1。
移码:补码符号位取反即可。常用于表示浮点数的阶码。

3.3 定点数的加减运算

表示方式 加减运算特点
原码 零的表示不唯一;真值与机器码易转换;加减法运算复杂。
反码 零的表示不唯一;加减法运算稍复杂。
补码 零的表示唯一;加减法运算简单。(可以将减法运算转化为加法运算; 符号位当做数值位直接参与运算;如高位溢出,则直接舍弃)
移码 符号位0为负,1为正;相同真值的移码和补码数值位相同,符号位相反; 移码进行加减法运算时得到的结果是真值的补码形式

3.4 浮点数

小数点不固定的数。例如:

  • 十进制科学计数法:123.456=1.23456×10^2
  • 二进制的规格化:1011.10101=1.01110101×2^3
  • 二进制N的一般形式:N=2^E×M
  • 其中E为阶码(指数),决定二进制的表示范围(阶码约大表示二进制的范围越大),M为尾数,决定二进制数的精度(尾数长精度高)

3.5 IEEE 754标准

分类 S E M
32位浮点数 1 8 32
64位浮点数 1 11 52

其中,32位的浮点数中:

  • S是浮点数的符号位,占一位,安排在最高位,S=0表示正数,S=1表示负数。
  • E是阶码,占8位,将浮点数的指数真正值e变为阶码E时,应在指数e上加一个固定的偏执常数127,即E=e+127(64位浮点数:E=e+1023)
  • M是尾数,放在最低位,占32位,小数点位置放在尾数域最左有效位的右边
  • 当尾数M的值不为0时,尾数的最高有效位为1
  • 32位浮点数x对应的数值为x=(-1)^S×1.M×2^(E-127)
  • 64位浮点数x对应的数值为x=(-1)^S×1.M×2^(E-1023)

3.6浮点数加减法

  1. 零操作数处理
  2. 求阶差并对阶,小阶向大阶看齐;
  3. 尾数求和
  4. 规格化处理
  5. 舍入处理,在对结果右规时,超出尾数的低部分要进行舍入处理;
  6. 溢出判断,判断阶码是否溢出。对于32位浮点数,除去全0和全1的特殊情况,阶码E∈[1,254]

4.校验码

4.1 奇偶校验码

奇偶校验码通过在编码中增加一位校验位,使编码中1的个数为奇数(奇校验)或偶数(偶校验)。

数据 奇校验 偶校验
10101010 101010101 101010100
11111110 111111100 111111101

4.2 海明码

海明码是一种多重奇偶校验码,具有检错和纠错的功能(考不到)。数据位n,校验位k的关系应满足: n+k+1≤2^k


二、计算机体系结构

1.计算机体系结构的发展(了解)

1.1 计算机体系结构的分类

从宏观上按照处理机的数量分类

  • 单处理系统:利用一个处理单元和其他外部设备结合起来,实现存储,计算,通信,输入和输出等功能的系统
  • 并行处理与多处理系统:为了充分发挥问题求解过程中处理的并行性,将两个以上的处理机互连起来,彼此进行通信协调,便于共同求解一个大问题的计算机系统
  • 分布式处理系统:物理上远距离而松耦合的多计算机系统。物理上的远距离意味着通信时间与处理时间相比已不可忽略,在通信线路上的数据传输速率要比在处理机总线上传慢的多。

从微观上按照并行程度分类

  • Flynn分类法:1966年,由Flynn提出按指令流和数据流的多少进行分类。将计算机系统结构分为单指令流、单数据流(SISD),单指令流、多数据流(SIMD),多指令流、单数据流(MISD)和多指令流、多数据流(MIMD)四类
  • 马泽云分类法:1972年由美籍华人马泽云提出按并行度对各种计算机系统进行结构分类。将计算机系统分为字串行位串行(WSBS)计算机、字并行位串行(WPBS)计算机、字串行位并行(WSBP)计算机和字并行位并行(WPBP)计算机四类
  • Handler分类法:1977年,德国的汉德勒(Wolfgang Handler)提出一个基于硬件并行程度和计算并行程度的方法,把计算机的硬件结构分为三个层次:处理机级、每个处理机中的算术逻辑单元级、每个算术逻辑单元中的逻辑门电路级
  • Kuck分类法:1978年美国的库克(David J.Kuck)提出与Flynn分类法类似的方法,用指令流和执行流及其多重性来描述计算机系统控制结构的特征。主要分为单指令流单执行流(SISE)、单指令流多执行流(SIME)、多指令流单执行流(MISE)和多指令流多执行流(MIME)四类

1.2 指令系统

(1)指令格式
操作码指定要完成的操作或功能,地址码指定参与操作的操作数的地址


(2) 指令的寻址方式:

  • 顺序寻址:下一条指令的地址由程序计数器PC给出,PC每次自增+1
  • 跳跃寻址:下一条指令的地址由指令本身给出

(3) 操作数的寻址方式:

  • 立即寻址:指令的地址码字段不是操作数的地址,而是操作数本身,速度最快
  • 直接寻址:指令的地址码字段给出操作数在内存的地址(操作数在内存中)
  • 间接寻址:指令的地址码字段给出操作数在内存的地址的地址(操作数在内存中)
  • 寄存器寻址:指令的地址码字段给出操作数在寄存器的编号(操作数在寄存器中)
  • 寄存器间接寻址:指令的地址码字段给出寄存器的编号,寄存器中所存的内容为操作数在内存额地址(操作数在内存中)
  • 相对寻址:指令的地址码字段是一个偏移量,这个偏移量加上程序计数器的值即为操作数在内存的地址
  • 基址寻址:指令的地址码字段是一个偏移量,这个偏移量加上基址寄存器的值即为操作数在内存的地址
  • 变址寻址:指令的地址码字段是一个偏移量,这个偏移量加上变址寄存器的值即为操作数在内存的地址

操作数寻址方式速度比较:

计算机指令执行过程:

  • 计算机指令执行过程:取指令->分析指令->执行指令三个步骤,首先将程序计数器PC中的指令地址取出,送入地址总线,CPU依据指令地址去内存中取出指令内容存入指令寄存器IR;之后由指令译码器进行分析,分析指令操作码;最后取出指令执行所需的源操作数,执行指令。
  • CPU如何区分指令和数据:CPU根据指令周期的不同阶段来区分二进制的指令和数据,因为在指令周期的不同阶段,指令会命令CPU分别去取指令或数据

(4) 指令的分类:

  • CISC指令集:复杂指令集,各条指令按顺序串行执行
  • RISC指令集:精简指令集,减少指令总数,采用优化编译,硬布线,重叠寄存器窗口等技术
特性 CISC RISC
指令数目
指令长度 可变长指令 大部分等长指令
控制器复杂性 复杂 简单
寻址方式 较丰富,提高编程的灵活性 较少,以提高效率
编程便利性 指令多编程灵活 编程量更大,采用较多的通用寄存器
实现方式 为程序控制技术 采用硬布线逻辑控制优化编译程序,采用流水线技术

(5) 指令的流水处理

**指令流水线原理:**将指令的执行划分成若干个过程段,每个过程段由不同的部件进行处理

指令流水线计算:

  • 非流水线执行时间:一条指令执行的时间×指令总数
  • 流水执行时间:第一条指令执行时间+(n - 1)×最长流水段时间,n为指令总数
  • 加速比:非流水方式与流水方式所用时间之比
  • 流水线的操作周期:为最长流水段时间
  • 流水线的吞吐率:为最长流水段时间的倒数
  • 连续n条指令的吞吐率:指令总数/总时间

2.存储系统

2.1 存储器的层次结构

存储器分级的目的:构建容量大,速度快,成本低的存储系统

2.2 存储器的分类

(1) 随机存储器(RAM)
静态随机存储器SRAM,用于Cache
动态随机存储器DRAM,用于主存;

特性 SRAM DRAM
储存元 触发器 电容器
主要用途 Cache 主存
操作 读/写 读/写/周期性刷新
存储速度 稍慢
存储容量
成本 稍高
芯片集成率

(2) 只读存储器(ROM)=>(MAC,U盘)

ROM分类 擦除方式 擦除速度 可编程速度
固定只读存储器
可编程只读存储器 - 较慢 一次
可擦除可编程只读存储器 紫外线照射 较慢 较少
电擦除可擦除可编程储存器 电擦除 较快 100W次左右
闪速存储器(闪存 如U盘) 电擦除 最快 较少

2.3 高速缓存Cache

(1) Cache原理

高速缓存Cache位于CPU与主存之间,用于储存当前的程序和数据

  • Cache的功能:解决CPU和主存之间的速度不匹配问题
  • Cache的理论依据:程序的局部性原理

CPU对主存中的指令和数据的访问,在一小段时间内,总是集中在一小块存储空间里。

**①时间局部性:**最近被访问过的指令和数据很可能会被再次访问;

**②空间局部性:**最近访问过的指令和数据往往集中在一小片存储区域中。

(2) 主存与Cache的地址映射

在CPU工作时,送出的是主存单元的地址,而应从Cache存储器中读/写信息。这就需要将主存地址转换为Cache的地址,这种地址的转化称为地址映像。由硬件自动完成映射。

  • 全相联映像:主存中的任意一个块可以与Cachc中的任意一行相对应。
  • 直接映像:Cache中一行固定对应主存中的多行。如主存块号对Cache总行数求模。
  • 组相联映像:前两种方式的结合。将Cache进行分组,组间采用直接映射方式,组内采用全相联映射方式。
特点 全相联映像 直接映像 组相联映像
映射方法 多对多 一对多 一组对多
优点 冲突概率小,Cache利用率不高 硬件实现简单,成本低,地址变换速度快 综合前两者的优点,应用普遍
缺点 硬件难实现,且需要访问速度快, 成本高的相联存储器 冲突概率高,且Cache空间利用率低 -
适用场合 小容量Cache 大容量Cache -

2.4 虚拟存储器,磁盘

虚拟存储器由主存,辅存和软件组成
磁盘:

  • 存取时间:寻道时间+旋转等待时间+数据传送时间
  • 寻道时间:将磁头定位至所要求的磁道上所需的时间
  • 旋转等待时间:寻道完成后至磁道上需要访问的信息
    到达磁头下的时间,平均等待时间为磁盘旋转一周所需时间的一半数据传送时间:读取数据所需的时间
  • 数据传送时间:读取数据所需的时间

3.输入/输出技术

CPU与外围设备之间的信息交换方式

IO接口与外设之间的信息交换
CPU与I/O接口之间的信息交换:

  • 程序查询方式
  • 程序中断方式
  • DMA方式
  • 通道方式

3.1 程序查询方式

CPU执行程序来轮询查询外设的状态,判断外设是否准备好接受数据或向CPU输入数据。
特点

  • CPU与外设串行工作
  • 硬件结构简单
  • CPU大量时间都在查询和等待,资源浪费较多
  • 需要CPU保存现场,由CPU将数据放入内存
  • 一次读写单位为字

适用场合: 低速外设或CPU任务不繁忙的情况

3.2程序中断方式

**中断:**CPU展示中止现行程序,转去处理随机发生的紧急事件,处理完成后自动返回原程序的功能和技术。

**中断方式:**当I/O接口与外设交换数据过程中,CPU无须等待;当交换数据完成时,I/O接口产生中断,通知CPU处理数据

特点

  • CPU与外设可并行工作
  • 但硬件结构相对复杂一些,服务开销时间大
  • 需要CPU保存现场,由CPU将数据放入内存
  • 一次读写单位为字

适用场合

  • 微型机中随机出现的服务
  • 对I/O处理的实时性要求很高的系统

中断向量:中断服务程序的入口地址
中断响应时间: 从发出中断请求到开始进入中断处理程序
保存现场: 为了正确返回原程序继续执行

3.3 DMA方式

直接内存存取(DMA) ,DMA控制器接管总线的控制权,数据交换不经过CPU,直接在内存和I/O设备间进行块传送。
特点

  • CPU与外设可并行工作
  • 尽在传送数据块的开始和结束时才需要CPU的干预
  • 不需要CPU保护现场
  • 由外设直接将数据放入内存(或相反)
  • 一次读写单位为块,传送一个数据占用一个存储周期
    适用场合: 微型机中 内存与高速外围设备进行大批量的数据交换

3.4 输入/输出处理机IOP(通道方式)

由通道(输入输出处理机IOP)管理外围设备。
特点

  • 大大提高的CPU的效率
  • 但需要更多的硬件
    适用场合: 处理外设较多,规模较大的情形(大型机

4.总线结构

总线(Bus)是指计算机中,设备和设备之间传输信息的公共数据通道。

总线的分类如下
(1)内部总线:CPU内部连接运算器,控制器,各寄存器部件之间的总线。
(2)系统总线(外部总线):CPU与计算机系统中其他高速功能部件相互连接的总线

按系统总线传输信息内容不同,又可分为三类:数据总线,地址总线,控制总线

  • 数据总线:用来传输各功能部件之间的数据信息,它是双向传输总线,其位数与机器字长,存储字长有关。
  • 地址总线:用来指出数据总线上的源数据或目的数据所在的主存单元或I/O端口的地址,它是单向传输总线,地址总线的位数与主存地址的空间大小有关
  • 控制总线: 传输的是控制信息,包括CPU送出的控制命令和主存(外设)返回CPU的反馈信号

(3)I/O总线:中低速I/O设备相互连接的总线

常见的总线

  • PCI总线: PCI总线是目前微型机上广泛采用的内总线,采用并行传输方式。
  • SCSI总线: 小型计算机系统接口(SCSI)是一条并行外总线,广泛用于连接软硬磁盘、光盘、扫描仪等。
  • RS-232C(串行外总线)USB(串行外总线)、IEEE-1394(串行外总线)、IEEE-488(并行外总线)等。

三、安全性,可靠性与系统性能评测

1.计算机的安全概述

信息安全的基本要素:机密性,完整性,可用性,可控性和可审查性

2.加密技术和认证技术

2.1 对称加密

采用对称密码编码技术,加密和解密的密钥相同,不公开加密算法。优点是加密快,加密过程简单,缺点是加密强度不高(只有一个密钥),密钥分发困难,保密性较差。
常见的对称加密算法:DES,3DES,AES,RC-5,IDEA

2.2非对称加密

非对称加密算法需要两个不同的密钥:公开密钥和私有密钥。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥进行加密,那么只有用对应的公开密钥才能解密。公钥体系也就是公开加密算法,即非对称加密。

优点是无需交换密钥,保密性好。缺点是仅适用少量数据加密,加密速度慢,时间长,常用来加密对称加密算法的密钥。(数字信封原理)

常见非对称加密算法:RSA,DSA,ECC

2.3 数字签名

对称加密技术与非对称加密技术的应用。

数字加密的主要过程:

(1)当信息发送者需要发送信息时,首先生成一个对称密钥,用该对称密钥加密要发送的报文;

(2) 信息发送者用信息接收者的公钥加密上述对称的密钥;

(3)信息发送者将上述两个步骤的结果集合在一起传给信息接收者,称为数字信封;

(4)信息接收者使用自己的私钥解密被加密的对称密钥,再用此对称密钥解密被发送方加密

的密文,最后得到真正的原文。

数字签名的主要过程:

(1)信息发送者使用一个单项散列函数(Hash函数)对信息生成信息摘要;

(2)信息发送者使用自己的私钥签名信息摘要;

(3)信息发送者把信息本身与已签名的信息摘要一起发送出去;

(4)信息接受者使用与发送者相同的单项散列函数(Hash函数)对接收的信息生成新的信息摘要,再使用发送者的公钥对信息摘要进行验证,以确认信息发送者的身份和信息是否被修改过。

  • 数字信封运用了对称加密技术和非对称加密技术,本质是使用对称密钥加密数据,非对称密钥加密对称密钥,解决了对称密钥的传输问题。
  • 信息摘要的特点:无论数据多长,都会产生固定长度的信息摘要;任何不同的输入数据,都会产生不同的信息摘要;单向性,即只能由数据生成信息摘要,不能由信息摘要还原数据。常见的信息摘要算法:MD5(产生128位的输出)、SHA-1(安全散列算法,产生160位的输出,安全性更高)
  • 数字签名,用发送方的私钥签名,用发送方的公钥验证消息的真实性,发送方不可否认。

2.4 公钥基础设施PKI

公钥基础设施(Public Key Infrastructure,PKI) 是以非对称加密技术为基础,以数据机密性、完整性、身份认证和行为不可抵赖性为安全目的,来实施和提供安全服务的具有普适性的安全基础设施。

  • **数字证书:**一个数据结构,是一种由一个可信任的权威机构签署的信息集合。在不同的应用中有不同的证书。如X.509证书必须包含下列信息:(1)版本号(⑵序列号(3)签名算法标识符(4)认证机构(5)有效期限(6)主题信息(7)认证机构的数字签名(8)公钥信息。
  • 公钥证书主要用于确保公钥及其与用户绑定关系的安全。这个公钥就是证书所标识的那个主体的合法的公钥。任何一个用户只要知道签证机构的公钥,就能检查对证书签名的合法性。如果检查正确,那么用户就可以相信那个证书所携带的公钥是真实的,而且这个公钥就是证书所标识的那个主体合法的公钥。例如驾照
  • 签证机构CA:负责签发证书、管理和撤销证书。是所有注册用户所信赖的权威机构,CA在给用户签发证书时要加上自己的数字签名,以保证证书信息的真实性。任何机构可以用CA的公钥来验证该证书的合法性。

3.计算机的可靠性

系统的可靠性是指系统在给定时间间隔内正常运行的概率
串联系统可靠性:R = ∑ i = 1 n \sum_{i=1}^n ∑i=1nRi

并联系统可靠性:R = 1- ∑ i = 1 n \sum_{i=1}^n ∑i=1n(1-Ri)

相关推荐
大白的编程日记.33 分钟前
【Git学习笔记】Git分支管理策略及其结构原理分析
笔记·git·学习
wanjiazhongqi1 小时前
c++ 类和对象 —— 下 【复习总结】
开发语言·c++·笔记
Python破壁人手记1 小时前
《我的Python觉醒之路》之转型Python(十三)——控制流
开发语言·python·神经网络·学习·机器学习
我命由我123451 小时前
游戏引擎 Unity - Unity 顶部菜单栏(文件、编辑、资源、游戏对象、组件、服务、窗口、帮助)
学习·游戏·unity·ue5·游戏引擎·游戏程序·游戏策划
W.KN1 小时前
算法日常刷题笔记(5)
笔记
小程同学>o<1 小时前
嵌入式开发之STM32学习笔记day07
经验分享·笔记·stm32·单片机·嵌入式硬件·学习
eqwaak02 小时前
实时数仓中的Pandas:基于Flink+Arrow的流式处理方案——毫秒级延迟下的混合计算新范式
大数据·分布式·python·学习·flink·pandas
彬彬13132 小时前
【C语言】:学生管理系统(多文件版)
c语言·开发语言·经验分享·笔记·学习方法
是懒羊羊吖~3 小时前
【sql靶场】第11、12关-post提交注入
数据库·笔记·sql·post
X Y O3 小时前
opencv初步学习——图像处理3
图像处理·opencv·学习