本书为《并行体系结构》(作者:陈国良)提供了详尽的课后习题解答和解析,帮助读者深入理解并行计算的基本概念与应用技巧。
### 并行体系结构知识点详解
#### 一、并行计算机概述
- **定义**:并行计算机是指能够同时执行多个任务或指令的计算机系统,它通过多个处理单元的协同工作来加速计算过程。
- **Flynn分类法**:
- **SISD (Single Instruction Stream, Single Data Stream)**:单指令流单数据流,传统的冯·诺依曼架构计算机即属于此类。
- **SIMD (Single Instruction Stream, Multiple Data Streams)**:单指令流多数据流,适用于需要对大量数据执行相同操作的场景。
- **MISD (Multiple Instruction Streams, Single Data Stream)**:多指令流单数据流,实际应用较少。
- **MIMD (Multiple Instruction Streams, Multiple Data Streams)**:多指令流多数据流,最常见的一种并行处理模式。
#### 二、当代并行机系统
- **并行向量机(PVP)**:专门用于处理向量运算的并行计算机。
- **对称多处理机(SMP)**:多个处理器共享内存和总线的系统。
- **大规模并行处理机(MPP)**:多个节点各自拥有独立的内存,通过网络连接进行通信。
- **分布式共享存储(DSM)**:通过高速网络连接多个节点,每个节点有自己的本地内存,但整体形成一个统一的内存空间。
- **工作站机群(COW)**:由多台工作站组成的工作站集群,通过网络进行通信。
#### 三、并行计算机的需求与发展趋势
- **需求**:
- 加快计算速度。
- 提高计算精度。
- 满足快速时效要求。
- 进行无法替代的模拟计算。
- **发展趋势**:
- **位级并行**:利用数据的位宽来实现并行处理。
- **指令级并行**:在同一时钟周期内执行多条指令。
- **线程级并行**:通过多个线程的并发执行来提高性能。
#### 四、SIMD阵列机特点
- 使用资源重复方法来开拓计算问题空间的并行性。
- 所有处理单元必须同步工作。
- 与并行算法紧密结合可以提高效率。
- 通常用于特定领域的计算任务。
#### 五、多计算机系统演变
- **第一代(1983-1987)**:如Ipsc1、Ameteks14等。
- **第二代(1988-1992)**:如Paragon、Intel Delta等。
- **第三代(1993-1997)**:如MIT的J-machine。
#### 六、并行计算机的访存模型
- **UMA(Uniform Memory Access)**:所有处理器均等访问内存。
- **NUMA(Non-Uniform Memory Access)**:不同处理器访问内存的速度不同。
- **COMA(Cache Only Memory Access)**:所有数据只存在于缓存中。
- **CC-NUMA(Cache Coherent Non-Uniform Memory Access)**:结合了缓存一致性和NUMA的特点。
#### 七、性能评测
- **有效CPI**(Cycles Per Instruction):衡量执行指令所需时钟周期的数量。
- **MIPS**(Million Instructions Per Second):每秒百万条指令数,衡量计算机的性能。
- **CPU执行时间**:完成特定任务所需的总时间。
#### 示例题目解答
1. 使用40MHz主频的标量处理器执行一个典型测试程序,计算有效CPI、MIPS速率及总的CPU执行时间:
- 有效CPI为1.55
- MIPS速率为25.8
- CPU执行时间为0.00375秒
2. 欲在40MHz主频的标量处理器上执行20万条目标代码指令程序,计算平均CPI和相应的MIPS速率:
- 平均CPI为2.12
- MIPS速率为18.9
#### 八、并行机性能评测的意义
- 发挥并行计算机的优势,提高使用效率。
- 评估并行算法的性能,优化策略。
- 为系统优化提供依据。
通过对《并行体系结构》的学习,不仅可以了解基本概念和技术,还能深入理解各种架构的特点及其适用场景。这对于从事高性能计算、大数据处理等领域的人来说尤为重要。同时,通过解答书中习题可以帮助更好地掌握核心知识和技术要点。