中级软件设计师 第一部分
- 一. 计算机硬件
- 1.1 运算器
- 1.2 控制器
- 二. 数据的进制
- 2.1 数的表示
- 2.2 数的编码方式
- 2.2.1 数据运算用补码运算
- 2.3 码制的取值范围
- 2.3.1 例题一
- 三. 浮点的表示
- 3.1 浮点数运算
- 四. 运算符
- 五. 校验码
- 5.1 海明校验码
- 六. 计算机指令
- 6.1 计算机体系结构分类
- 6.2 指令操作数寻址方式
- 6.3 指令流
- 七. 流水线
一. 计算机硬件
多刷题
计算机系统硬件基本组成 |
---|
运算器 |
控制器 |
存储器 |
输入设备 |
输出设备 |
1.1 运算器
运算器组成 | 缩写 | 作用 |
---|---|---|
算术逻辑单元 | ALU | 数据运算 |
累加寄存器 | AC | 暂存运算结果 |
数据缓冲寄存器 | DR | 暂存指令和数据 |
状态条件寄存器 | PSW | 保存是否进位,溢出标志 |
1.2 控制器
控制器组成 | 缩写 | 作用 |
---|---|---|
指令寄存器 | IR | 暂存CPU执行指令 |
程序计数器 | PC | 存放指令执行地址 |
地址寄存器 | AR | 当前CPU访问内存地址 |
指令译码器 | ID | 分析指令操作码 |
二. 数据的进制
进制转换 | 方法 |
---|---|
R进制转十进制 | 位权展开法 |
二进制转八进制 | 取三位(001 101 = 15) |
二进制转十六进制 | 取四位(0010 1101 = 2D) |
2.1 数的表示
有符号和无符号的概念建议深入了解
分类 | 描述 |
---|---|
有符号 | 最高位为符号位,正数为0,负数为1 |
无符号 | 正数,没有符号位 |
纯小数 | 位置在机器数的最高位之前 (0**.**1110) |
纯整数 | 位置在机器数的最低位之后 (1011**.**0) |
直值 | 机器数对应的实际数值 |
2.2 数的编码方式
建议深入了解
码制 | 正数 | 负数 |
---|---|---|
原码 | 数的正常二进制,最高位为符号位 | 数的正常二进制,最高位为符号位 |
反码 | 原码即反码 | 原码基础上,除符号位,取反 |
补码 | 补码即反码 | 反码基础上+1 |
移码 | 补码的符号位取反 | 补码的符号位取反 |
2.2.1 数据运算用补码运算
1 原码 0000 0001
-1 原码 1000 0001 反码 1111 1110 补码 1111 1111
通过补码运算 1+(-1) = 0000 0001 + 1111 1111 = 1 0000 0000 = 0
(溢出、丢失)
2.3 码制的取值范围
建议深入了解,以理解为主,不行就硬背
2.3.1 例题一
"2X"的补码是 90H,则X的直值是多少?
解
(1)90H转二进制 1001 0000(补码)
(2)转原码 1111 0000
(3)转十进制 -0111 0000 = -112
(4)除以二 -112/2 = -56
即X的直值为-56
三. 浮点的表示
多刷题
公式:N = F * 2^E (2的E次方)
符号 | 考点 | 描述 |
---|---|---|
E为阶码 | 阶码越大,范围越大 | 带符号的纯整数 |
F为尾数 | 尾数越多,精度越高 | 带符号的纯小数 |
2为基数 | 固定为2 |
3.1 浮点数运算
- 对阶(小阶向大阶对齐)(对阶通过较小数尾数右移实现)
- 尾数计算
- 结果规格化
四. 运算符
中文 | 符号 |
---|---|
逻辑与 | & |
逻辑或 | | |
异或 | 同0非1 |
逻辑非 | ! |
逻辑左移 | << |
逻辑右移 | >> |
五. 校验码
多刷题
校验码 | 作用 |
---|---|
奇偶校验码 | 只能查1位数的错,不能纠错 |
循环冗余校验码(CRC) | 只能检错,不能纠错 |
海明校验码 | 本质是奇偶校验码来检错,即可检错,也可纠错 |
5.1 海明校验码
求取校验码:2^k-1 >= n+k (2的k次方减1)
n:数据位
k:校验位
六. 计算机指令
多刷题
6.1 计算机体系结构分类
Flynn分类法 | 控制部分 | 处理器 | 主存模块 | 关键特征 |
---|---|---|---|---|
单指令流-单数据流(SISD) | 一 | 一 | 一 | / |
单指令流-多数据流(SIMD) | 一 | 多 | 多 | 各处理器以异步的形式执行同一条指令 |
多指令流-单数据流(MISD) | 多 | 一 | 多 | 被证明不可能,至少不实际 |
多指令流-多数据流(MIMD) | 多 | 多 | 多 | 能实现作业、任务、指令等各级全面并行 |
6.2 指令操作数寻址方式
6.3 指令流
指令流 | 指令 | 寻址方式 | 实现方式 | 其他 |
---|---|---|---|---|
CICS(复杂指令) | 数量多,使用频率差别大,可变长格式 | 支持多种 | 微程序控制技术 | 研发周期长 |
RISC(精简指令) | 数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器 | 支持方式少 | 增加通用寄存器,硬布线逻辑控制为主,适合采用流水线 | 优化编译,有效支持高级语言 |
七. 流水线
流水线技术建议深入了解
概念 | 描述 |
---|---|
流水线周期 | 执行时间最长的一段 |
建立时间 | 第一条指令执行时间 |
执行时间 | 建立时间 +(指令条数 - 1)* 流水线周期 |
执行时间(理论) | (t1 + t2 + … + tk) + (n - 1) * t |
执行时间(实际) | k * t + (n - 1) * t |
吞吐率 | TP = 指令条数/执行时间 |
最大吞吐率 | 流水线周期的倒数 |
加速比 | 不使用流水线的执行时间 / 使用流水线的执行时间 |
超标量流水线技术 | 指令条数 / 度 |