软件设计师考试重点1 计算机组成与体系结构
- 一、 数据的表示
-
- 1. 进制转换
- 2. 原码/反码/补码/移码
- 3. 数值表示范围
- 4. 浮点数的运算
- 二、运算器与控制器
-
- 1. 计算机结构
- 2. 计算机五大组成部分:
- 3. CPU组成部分:
- 4. 控制器组成部分:
- 5. 运算器组成部分:
- 6. Flynn分类法
- 7. 指令的基本概念
- 8. 寻址方式
- 9. CISC与RISC
-
- 常见的CISC指令集:x86指令集
- 常见的RISC指令集: ARM指令集
- 国产的RISC指令集: 龙芯 指令集
- 新兴的RISC指令集:RISC-V
- 五、流水线技术
-
- 1. 流水线概念
- 2. 流水线计算
- 3. 超标量流水线
- 4. 流水线吞吐率计算
- 六、存储系统
-
- 1. Cache
-
- 局部性原理与命中率
- 映像
- 2. 主存-编址与计算
- 七、总线系统
- 八、可靠性
-
-
- 串联系统
- 并联系统
- 复合系统
-
- 九:校验码
-
- 1. 基础知识
- 2. 奇偶校验
- 3. 循环冗余校验码
- 4. 海明码
一、 数据的表示
1. 进制转换
- R进制转十进制使用按权展开法。
- 十进制转R进制使用短除法。
2. 原码/反码/补码/移码
- 正数的原码、反码、补码是相同的。
- 负数:
– 原码:原始数据;
– 反码:原码除符 位求反;
– 补码:在反码基础上加1;
– 移码:在补码的基础上,符 位取反。
3. 数值表示范围
码制 | 定点整数 | 定点小数 |
---|---|---|
原码 | ? ( 2 n ? 1 ? 1 ) -(2^{n-1}-1) ?(2n?1?1) 至 + ( 2 n ? 1 ? 1 ) +(2^{n-1}-1) +(2n?1?1) | ? ( 1 ? 2 ? ( n ? 1 ) ) -(1-2^{-(n-1)}) ?(1?2?(n?1)) 至 + ( 1 ? 2 ? ( n ? 1 ) ) +(1-2^{-(n-1)}) +(1?2?(n?1)) |
反码 | ? ( 2 n ? 1 ? 1 ) -(2^{n-1}-1) ?(2n?1?1) 至 + ( 2 n ? 1 ? 1 ) +(2^{n-1}-1) +(2n?1?1) | ? ( 1 ? 2 ? ( n ? 1 ) ) -(1-2^{-(n-1)}) ?(1?2?(n?1)) 至 + ( 1 ? 2 ? ( n ? 1 ) ) +(1-2^{-(n-1)}) +(1?2?(n?1)) |
补码 | ? ( 2 n ? 1 ) -(2^{n-1}) ?(2n?1) 至 + ( 2 n ? 1 ? 1 ) +(2^{n-1}-1) +(2n?1?1) | ? 1 -1 ?1 至 + ( 1 ? 2 ? ( n ? 1 ) ) +(1-2^{-(n-1)}) +(1?2?(n?1)) |
移码 | ? ( 2 n ? 1 ) -(2^{n-1}) ?(2n?1) 至 + ( 2 n ? 1 ? 1 ) +(2^{n-1}-1) +(2n?1?1) | ? 1 -1 ?1 至 + ( 1 ? 2 ? ( n ? 1 ) +(1-2^{-(n-1}) +(1?2?(n?1) |
4. 浮点数的运算
浮点数表示: N = 尾 数 ? 基 数 指 数 N = 尾数* 基数^{指数} N=尾数?基数指数
浮点数的运算顺序:
- 对阶
- 尾数计算
- 结果格式化
运算要点:
- 一般尾数用补码,阶码用移码
- 阶码的位数决定数的表示范围,尾数位数决定数的有效精度
- 对阶时,小数向大数看齐
- 对阶是通过较小数的尾数右移实现的
二、运算器与控制器
1. 计算机结构

2. 计算机五大组成部分:
- 运算器
- 控制器
- 存储器:分主存(内存储器)、辅助存储器
- 输入设备
- 输出设备
3. CPU组成部分:
- 运算器
- 控制器
- 寄存器组
4. 控制器组成部分:
- 程序计数器 PC:存储下一条要执行指令的地址
- 指令寄存器 IR
- 地址寄存器 PR 记录CPU当前访问的地址
- 指令译码器
- 时序部件:时钟
5. 运算器组成部分:
- 算术逻辑单元ALU:数据计算和逻辑运算
- 累加寄存器 AC:为ALU提供一个工作区,用暂存数据
- 数据缓冲寄存器 DR:写内存时,暂存指令和数据
- 状态条件寄存器PSW(这个比较特殊,历年考试它算在运算器还是控制器不一定):存状态标志和控制标志。
6. Flynn分类法
体系结构类型 | 结构 | 关键特性 | 代表 |
---|---|---|---|
单指令流单数据流 SISD | 控制部分:1个 处理器:1个 主存模块:1个 |
单处理器系统 | |
单指令流多数据流SIMD | 控制部分:1个 处理器:多个 主存模块:多个 |
各处理器以异步的形式执行同一条指令 | 并行处理机 阵列处理机 超级向量处理机 |
多指令流单数据流MISD | 控制部分:多个 处理器:1个 主存模块:多个 |
被证明不可能,至少不实际 | 目前没有,有文献称流水线计算机为此类 |
多指令流多数据流MIMD | 控制部分:多个 处理器:多个 主存模块:多个 |
能够实现作业、任务、指令等各级全面并行 | 多处理机系统 多计算机 |
7. 指令的基本概念
一条指令是机器语言的一个语句,是一组有意义的二进制代码,基本结构:
操作码字段-地址码字段
- 操作码:指出要作什么操作,如加、移位、存取数。
- 地址码: 需要包含各操作数的地址及操作结果的存放地址等,从其地址结构的角度可以分为三地址指令、二地址指令、一地址指令和零地址指令。
8. 寻址方式
- 立即寻址方式:操作数直接在指令中
- 直接寻址方式:指令中存放操作数的地址
- 间接寻址方式:指令中放了地址,地址放的是操作数的地址
- 寄存器寻址方式:寄存器存放操作数
- 寄存器间接寻址方式:寄存器内存放的是操作数的地址