多处理机属于多指令流多数据流系统,即MIMD,它和SIMD(单指令流多数据流系统的并行处理机)相比,有很大差别:
  ⑴ 结构灵活性。SIMD带有专用性,主要针对特定的算法设计其结构,其特点是处理单元数量很多,但只需设置较为有限和固定的机间互连通路,即可满足一批并行性很高的算法的需要。而多处理机应有较强的通用性,也不止于向量数组处理。
  ⑵ 程序并行性。由于专用性,加上并行处理机的并行性存在于指令内部,所以并行性的识别还是比较容易的,在指令类型及硬件结构上已考虑,可由程序员在编制程序时掌握。但对于MIMD,并行性存在于指令外部,即表现在多个任务之间。
  ⑶ 并行任务派生。SIMD依靠单指令流对多数据组实现并行操作,这种并行操作是通过各条单独的指令加以反映和控制的。但多处理机是多指令流操作方式,一个程序当中就存在多个并发的程序段,需要专门的指令来表示它们的并发关系以及控制它们的并发执行,使一个任务正在被执行时就能派生出可与它并行执行的另一些任务,这称为并行任务派生(Parallel Task Spawning)。
  ⑷ 进程同步。SIMD实现操作级的并行,所有处于活动状态的处理单元同时执行同一条指令操作,受同一个控制器控制,工作自然是同步的。但MIMD实现指令,任务,程序级的并行,一般说,在同一时刻,不同的处理机执行着不同的指令,由于执行时间互不相等,它们的工作进度不会也不必保持相同。
  ⑸ 资源分配和任务调度。SIMD主要执行向量数组运算,处理单元数目是固定的,程序员据以编写程序,并只能利用屏蔽手段设置处理单元的活动状态来改变实际参加并行操作的处理单元数目。但MIMD执行并发任务,需用处理机的数目没有固定要求,各个处理机进入或退出任务以及所需资源变化的情况都要复杂的多,这就提出了一个资源分配和任务调度问题,解决的好坏对整个系统的效率都有很大的直接影响。