【软考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)控制方式
- 程序查询方式
- CPU和IO只能串行工作。CPU需要一直轮询。CPU利用率低
- 一次只能读写一个字
- 由CPU将数据放入内存
- 图例:
- 中断驱动方式:
- IO由中断信号猪肚报告IO操作已完成。
- CPU和IO可并行工作。CPU利用率高。
- 由CPU将数据放入内存。
- 图例:
- 直接存储器方式(DMA):
- CPU和IO可并行工作。
- 仅在传送数据块的开始结束时,才需要CPU干预。
- 由外设直接将数据放入内存。
- 一次读写的单位为“块”。
- 图例:
二十、总线
总线分类:数据总线、地址总线、控制总线(口令:数地控)
常见总线:
- ISA总线:
- EISA总线:
- PCI总线:内总线,并行传输
- PCI-E总线:点对点串行链接
- 前端总线:
- RS-232C:
- SCSI总线:并行外总线
- SATA:
- USB:
- IEEE-1394:高速串行外总线
- IEEE-488:
二十一、加密技术与认证技术
窃听——加密
篡改——摘要
假冒、否认——数字签名、数字证书
对称加密:加解密只有一把密钥(私钥用于加密)
- 特点:密钥分发存在缺陷。加密解密速度快。适合加密大量明文。
非对称加密:加密、解密分别有自己的密钥(公钥用于加密)
- 公钥加密只能私钥解密,私钥加密只能公钥解密。
- 使用接收方公钥加密明文,可实现防窃听效果。
- 密钥分发无缺陷。加解密速度慢。
混合加密:
摘要:把明文进行hash算法,得到的摘要同密文一块发送。接收方解密后的明文,进行Hash得要摘要对比。
数字签名:
- 发送方用私钥对摘要进行签名(加密)。得到的数字签名放入密文,一同发送。
- 接收方用发送方的公钥对数字签名验证(解密)。
数字证书:
- 用户向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