第8章 多核并发(并行)程序设计 主讲:黎忠文Date Date1 1目 录8.1 什么是多核并发(并行)程序设计8.2 为什么要学习多核程序设计8.3 多核并发程序设计环境及开发方法8.4 IXP2400平台上多核程序并发(并行) 设计Date Date2 28.1 什么是多核并发(并行)程序(并行)程序设计8.1.1 并发与并行的区别是什么? 并发与并行是两个既相似而又不相同的概念:并发性,又称共行性,是指能处理多个同时性活动的能力;并行是指同时发生的两个并发事件,具有并发的含义,而并发则不一定并行,也亦是说并发事件之间不一定要同一时刻发生。 本课程中并发和并行概念基本相同,都包含同时性,同时并发的概念含义更广泛一些。Date Date3 38.1.2 什么是并行计算? 并行计算是相对于串行计算来说的,所谓并行计算分为时间上的并行和空间上的并行。 时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。 并行计算科学中主要研究的是空间上的并行问题。 空间上的并行导致了两类并行机的产生,按照Flynn的说法分为:单指令流多数据流(SIMD)和多指令流多数据流(M