根据提供的文件内容,我们可以归纳总结出以下关键知识点:
### 一、码制的表示
- **定点整数**: 表示方法包括原码、反码、补码和移码。
- **原码**: 范围从 \(-2^{n-1}+1\) 到 \(+2^{n-1}-1\)。
- **反码**: 范围同原码。
- **补码**: 负数范围从 \(-2^{n-1}\) 到正数 \(2^{n-1}-1\)。
- **移码**: 和补码相同。
- **定点小数**: 同样采用上述四种码制进行表示。
- **原码**: 范围从 \(-(1-2^{-n+1})\) 到 \(+(1-2^{-n+1})\)。
- **反码**: 范围同原码。
- **补码**: 负数范围从 \(-1\) 到正数 \(1-2^{-n+1}\)。
- **移码**: 和补码相同。
### 二、浮点数的表示
- **格式**: 阶码决定了浮点数的范围,尾数决定了浮点数的精度。
- **阶码越长**: 范围越大。
- **尾数越长**: 精度越高。
- **运算过程**: 包括对阶、尾数计算和格式化三个步骤。
- **对阶**: 小数向大数看齐,尾数向右移动。
### 三、校验码
- **校验码的作用**: 检测错误和纠正错误。
- **种类**:
- **奇偶校验**: 仅能检测奇数位错误,不能纠正错误。
- **奇校验**: 最终1的个数为奇数个。
- **偶校验**: 最终1的个数为偶数个。
- **CRC循环冗余校验**: 可以检测错误但不能纠正错误,通过模二除法求余数来实现。
- **海明校验**: 可以检测并纠正错误,满足\(2^r \ge m+r+1\)的条件。
- **分组奇偶校验**: 在数据的不同部分应用奇偶校验。
### 四、CPU组成
- **主要组成部分**: 运算器和控制器。
- **运算器**:
- **算术逻辑单元(ALU)**: 执行算术运算和逻辑运算。
- **累加寄存器(AC)**: 用于暂存数据。
- **数据缓冲寄存器(DR)**: 用于暂存数据。
- **状态条件寄存器(PSW)**: 存储运算状态。
- **控制器**:
- **指令计数器(PC)**: 存储下一条指令的地址。
- **指令寄存器(IR)**: 存储当前指令。
- **指令译码器(ID)**: 解析指令。
- **时序部件**: 控制指令执行的时序。
### 五、CISC与RISC
- **CISC(复杂指令集)**:
- 特点: 大量指令、频率差异大、指令长度不定、多种寻址方式。
- 实现: 使用微码或微程序。
- **RISC(精简指令集)**:
- 特点: 指令数量少、频率接近、固定长度、单周期执行、多寄存器寻址。
- 优点: 支持高级语言、优化编译、硬布线控制。
### 六、流水线技术
- **概念**: 通过将指令分解成多个阶段来提高处理器的执行效率。
- **指标**:
- **流水线建立时间**: 第一条指令的执行时间。
- **流水线周期**: 最长的指令阶段所需的时间。
- **执行时间**: 由流水线建立时间和指令的数量决定。
- **吞吐率**: 单位时间内完成的指令数量。
- **最大吞吐率**: 流水线周期的倒数。
### 七、局部性原理
- **时间局部性**: 如果一个指令被执行,则在不久之后可能会再次被执行。
- **空间局部性**: 如果一个存储单元被访问,则在不久之后其附近的存储单元也可能会被访问。
### 八、常见存储器
- **分类**:
- **按内容存取**: 如Cache。
- **按地址存取**: 如RAM。
- **顺序存取**: 如磁带。
- **直接存取**: 如磁盘。
- **工作方式**:
- **随机存取**: 如RAM。
- **只读**: 如ROM。
### 九、Cache
- **作用**: 缓解CPU与主存之间的速度差距。
- **映射方式**:
- **直接映射**: 冲突率较高,电路简单。
- **全相联映射**: 冲突率较低,电路复杂。
- **组相联映射**: 冲突率适中,电路复杂度适中。
### 十、主存编址计算
- **计算方法**:
- **内存单元数**: 最大地址与最小地址之差加一。
- **按字编址**或**按字节编址**。
- **总容量**: 内存单元数乘以编址内容。
- **总片数**: 总容量除以单位芯片容量。
### 十一、输入输出技术
- **程序控制方式**: 方法简单,硬件开销小,但I/O能力不高。
- **程序中断方式**: 提高了传输请求的响应速度。
- **DMA方式**: 实现主存与外设之间的高速数据交换。
### 十二、中断
- **处理流程**:
- I/O系统准备就绪后发出中断请求。
- CPU保存当前程序的状态,并转向中断服务程序执行。
- 完成数据交换后返回原程序。
### 十三、可靠性
- **串联系统计算**: 整体可靠性等于各组件可靠性的乘积。
以上是对软件设计师考试中涉及到的部分核心知识点的总结和解释,涵盖了码制表示、浮点数表示、校验码、CPU组成、指令集架构、流水线技术、局部性原理、存储器分类与管理、主存编址、输入输出技术以及中断和可靠性等多个方面。这些知识点对于理解和掌握软件设计的基础理论至关重要。