【软考zst2001专辑笔记】001计算机系统

一、CPU

  • 计算机基本硬件系统:运算器、控制器、存储器、输入设备、输出设备
  • 运算器、控制器等部件集成后成为中央处理器,是硬件系统的核心。
  • CPU的功能:
    • 控制器:程序控制、操作控制、时间控制
    • 运算器:数据处理

二、运算器

  • 运算器:由算数逻辑单元(ALU)、累加寄存器、数据缓冲寄存器、状态条件寄存器组成。
  • 运算器的主要功能:
    • 算数运算:加、减、乘、除、附加运算。
    • 逻辑运算、逻辑测试:与、或、非、零值测试、两个值的比较。
  • 算数逻辑单元(ALU):重要组成部件,负责处理数据(算数运算、逻辑运算)。
  • 累加寄存器(AC):通用寄存器,为ALU提供一个工作区。运算结果存储在累加器中。
  • 数据缓冲寄存器(DR):CPU和内存、外部设备之间数据传送的中转站。
  • 状态条件寄存器(PSW):标志,进位、溢出、0标志、负标志、中断、方向。

三、控制器

要保证程序的正确执行,还要能处理异常事件。

  • 指令寄存器(IR):执行指令先从内存取到缓冲寄存器,再送入IR暂存。
  • 程序计数器(PC):具有寄存信息、计数两种功能。存储CPU要执行的下一条指令的地址。大多数情况都是顺序执行,所以修改过程只是简单的加1。
  • 地址寄存器(AR):保持当前CPU所访问的内存地址。
  • 指令译码器(ID):指令包含操作码和地址码。对指令中的操作码进行分析解释。

四、计算机基本单位

名称 英文 简写 换算
位(比特) bit b
字节 byte B 1B = 8b
千字节 KB 1KB = 1024B
兆字节 MB 1MB = 1024KB
吉字节 GB 1GB = 1024MB
钛字节 TB 1TB = 1024GB

最小的数据单位:b

最小的存储单位:byte

五、十进制、二进制

  • 十进制:0—9
  • 二进制:0—1
  • 八进制:0—7
  • 十六进制:0—9 + A—F

按位展开求和:n进制—>进制

  • 将二进制 1011 转换为十进制 为🌰

除n取余法:进制—>n进制

  • 将十进制 23 转换为二进制 为🌰

六、八进制、十六进制

1位十六进制数 = 4位二进制数

1位八进制数 = 3位二进制数

七、进制加减法

n进制加法:逢n进1

n进制减法:借1当n

八、原码、反码、补码、移码

原码:最高位是符号位,0表示正号,1表示负号,其余的n-1位表示数值的绝对值。

  • 0有两种表示形式:[+0] = 0 0000000,[-0] = 1 0000000

反码:最高位是符号位,0表示正号,1表示负号。正数的反码与原码相同,负数的反码是负原码绝对值求反。

  • 0有两种表示形式:[+0] = 0 0000000,[-0] = 1 1111111

补码:最高位是符号位,0表示正号,1表示负号。正数的补码与反码、原码相同,负数的补码是负反码末位加1。

  • 0有唯一值:[+0] = 0 0000000

移码:补码的符号位取反。

特性:[[X]] = [X]

码制 定点整数 定点小数
原码 -(2n-1-1)~+(2n-1-1) -(1-2-(n-1))~+(1-2-(n-1))
反码 -(2n-1-1)~+(2n-1-1) -(1-2-(n-1))~+(1-2-(n-1))
补码 -2n-1~+(2n-1-1) -1~+(1-2-(n-1))
移码 -2n-1~+(2n-1-1) -1~+(1-2-(n-1))

九、浮点数

当机器字长为n时,定点数的补码和移码可表示2n个数,而原码和反码只能表示2n-1个数(0的表示占用了两个编码)。

一个二进制数N的浮点表示法为N = 2E ✕ F,E为阶码,F为尾数。用阶码和尾数表示的数成为浮点数。

对阶:小阶向大阶对其,浮点数向右移。

浮点数中,数值范围由阶码决定,数值精确度由尾数决定。格式化就是将尾数限定在区间[0.5,1]

浮点数的阶码(包括1位阶符)用R位的移码表示,尾数(包括1位数符)用M位的补码表示,则这种浮点数能表示的数值范围:最大正数 最小负数

十、寻址

立即寻址:操作数包含在指令中。

直接寻址:操作数存在内存单元中,指令直接给出操作数所在存储单元的地址。

寄存器寻址:操作数放在寄存器中,指令给出存放操作数寄存器名。

寄存器间接寻址:操作数存放在内存单元中,操作数所在的存储单元的地址在某个寄存器中。

间接寻址:指令中直接给出操作数地址的地址。

速度(由快到慢):立即寻址>寄存器寻址>直接寻址>寄存器间接寻址>间接寻址

以下两个无需掌握

相对寻址:指令地址码给出一个偏移量,操作数地址等于本条指令的地址加上偏移量。

变址寻址:操作数地址等于变址寄存器的内容加偏移量。

十一、奇偶校验码

在编码中增加一位校验位,使编码中1的个数位奇数(奇校验)或偶数(偶校验),从而使码距变为2。

对于奇校验,可以检测出奇数个出错的编码。偶校验是偶数个出错的编码。无法纠错。

常用奇偶校验码:水平奇偶校验码、垂直奇偶校验码、水平垂直校验码。

十二、海明码

码距等于2具有检索能力,码距大于等于3具有纠错能力。

利用奇偶性来检测和纠错的校验方法。

在数据位之间的特定位置插入k个校验位,扩大码距来实现检错、纠错。

公式:2k-1 ≥ n+k (数据位是n位,校验位是k位)

十三、CRC循环冗余校验码

可以检错,但不能纠错。

利用生成多项式,为k个数据位产生r个校验位来进行编码,编码长度为k+r

求CRC编码时,采用的是模2运算。

十四、RISC和CISC

RISC(简单指令集计算机) CISC(复杂指令集计算机)
指令种类 少、精简 多、丰富
指令复杂度 低(简单) 高(复杂)
指令长度 固定 变化
寻址方式 复杂多样
实现(译码)方式 硬布线控制逻辑
(组合逻辑控制器)
微程序控制技术
通用寄存器数量 多、大量 一般
流水线技术 支持 不支持

十五、流水线

总用时:第一条指令的执行时间 + (n-1) ✕ 最长段的时间

加速比:不用流水线的时间/采用流水线的时间

操作周期:最长时间段

吞吐率:最长时间段的倒数

十六、存储器

按位置分类:

  • 内存(主存):SRAM(静态随机存储器)
  • 外存(辅存):磁盘、磁带、光盘等。DRAM(动态随机存储器)需周期性刷新。

工作方式分类:

  • 读写存储器(RAM):既能读取又能写入。
  • 只读存储器:ROM(固定只读存储器)、PROM(可编程的只读存储器)、EPROM(可擦除可编程的只读存储器)、EEPROM(电擦除可编程的只读存储器)、闪速存储器(介于EPROM、EEPROM之间,以块为单位存储,取代ROM,不能代替主存)

访问方式分类:

  • 按地址访问存储器
  • 按内容访问存储器

按寻址方式分类:

  • 随机存储器(RAM)
  • 顺序存储器(SAM)
  • 直接存储器(DAM)

级联存储器是一种按内容访问的存储器

虚拟存储器主存、辅存构成。

十七、Cache

高速缓存主要是存放最活跃的程序和数据。

位于CPU和主存之间。

对于程序员来说是透明的。

部分用来存放主存的部分拷贝(副本)信息。

Cache与主存的映射是由硬件自动完成的。

替换算法:(目标是使Cache尽可能提高命中率,Cache越大,命中率越高)

  • 随机替换算法:
  • 先进先出算法:
  • 近期最少使用算法:
  • 优化替换算法:

地址映像方法:

  • 直接映像:主存的块和Cache的块对应关系是固定的。
  • 全相联映像:允许主存中的任意块放入Cache的任意块中。
  • 组相联映像:主存和Cache都分组,组是一一对应的,但是组内的数据是任意存放的。
  • 冲突:直接映像 > 组相联映像 > 全相联映像

十八、中断

中断向量:提供中断服务程序的入口地址。

中断响应时间:从中断发出开始 到 进入中断服务程序 的时间

保存现场:用于中断处理完,返回执行源程序。

十九、输入输出(IO)控制方式

  1. 程序查询方式
    1. CPU和IO只能串行工作。CPU需要一直轮询。CPU利用率低
    2. 一次只能读写一个字
    3. 由CPU将数据放入内存
    4. 图例:
  2. 中断驱动方式:
    1. IO由中断信号猪肚报告IO操作已完成。
    2. CPU和IO可并行工作。CPU利用率高。
    3. 由CPU将数据放入内存。
    4. 图例:
  3. 直接存储器方式(DMA):
    1. CPU和IO可并行工作。
    2. 仅在传送数据块的开始结束时,才需要CPU干预。
    3. 由外设直接将数据放入内存。
    4. 一次读写的单位为“块”。
    5. 图例:

二十、总线

总线分类:数据总线、地址总线、控制总线(口令:数地控)

常见总线:

  • ISA总线:
  • EISA总线:
  • PCI总线:内总线,并行传输
  • PCI-E总线:点对点串行链接
  • 前端总线:
  • RS-232C:
  • SCSI总线:并行外总线
  • SATA:
  • USB:
  • IEEE-1394:高速串行外总线
  • IEEE-488:

二十一、加密技术与认证技术

窃听——加密

篡改——摘要

假冒、否认——数字签名、数字证书

  1. 对称加密:加解密只有一把密钥(私钥用于加密

    1. 特点:密钥分发存在缺陷。加密解密速度快。适合加密大量明文。
  2. 非对称加密:加密、解密分别有自己的密钥(公钥用于加密

    1. 公钥加密只能私钥解密,私钥加密只能公钥解密。
    2. 使用接收方公钥加密明文,可实现防窃听效果。
    3. 密钥分发无缺陷。加解密速度慢
  3. 混合加密:

  4. 摘要:把明文进行hash算法,得到的摘要同密文一块发送。接收方解密后的明文,进行Hash得要摘要对比。

  5. 数字签名:

    1. 发送方用私钥对摘要进行签名(加密)。得到的数字签名放入密文,一同发送。
    2. 接收方用发送方的公钥对数字签名验证(解密)。

数字证书:

  • 用户向CA(权威)机构申请数字证书。
  • 将个人信息和公钥发送给CA机构。
  • CA机构颁发数字证书给用户。
  • 数字证书用CA的私钥进行签名(加密)。
  • 用CA的公钥验证(解密)数字证书,得要用户的公钥。

二十二、加密算法

对称加密(私钥、私有密钥加密)(共享密钥加密算法):

  • DES
  • 3DES
  • RC-5
  • IDEA
  • AES
  • RC4

非对称加密:

  • RSA
  • ECC
  • DSA

摘要算法:

  • Hash算法
  • MD5
  • SHA-1安全散列算法

二十三、可靠性公式

串联:

  • R = R1 R2 … RN

并联:

  • R = 1 - (1-R1) (1-R2 ) … (1-RN)

二十四、补充

汇编语言中 程序员 可以访问 程序计数器

寄存器的位数取决于指令字长

计算机分级存储的主要目的是为了解决 存储容量、成本和速度之间的矛盾 的问题。

计算机中CPU对其访问速度最快的是 通用寄存器。

**VLIW **是 超长指令字

算术左移指令相当于对操作数乘以2

CPU根据** 指令周期的不同阶段** 来区分内存中以二进制编码形式存放的指令和数据。

平均CPI = (比例 × CPI )相加

运算速度MIPS = CPU主频 / 平均CPI