博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

[zz]经典计算机体系结构分类—flynn[概念篇]

Posted on 2006-05-18 16:37  叶落无痕  阅读(1149)  评论(0)    收藏  举报
经典计算机体系结构分类—flynn[概念篇]

flynn1966年提出的根据指令流和数据流特征对计算机系统畸形的分类方法中将计算机分成了四类SISD SIMDMISDMIMD 。由于其他分类方法不如这种分类法经典,就不作介绍了。

 SISD  (Single Instruction Stream Single Data Stream)  单指令单数据流:

计算机的指令部件每次只对一条指令进行译码和处理,并只对一个操作部分分配数据,是按照排序的方式进行顺序处理,也就是说通常由一个处理器和一个存贮器组成,它通过执行单一的指令流 对单一的数据流进行操作,指令按顺序读取,数据在每一时刻也只能读取一个,如单片机,8086/80286/80386/80486 CPU均属此类。弱点是单片处理器处理能力有限,同时,这种结构也没有发挥数据处理中的并行性潜力,在实时系统或高速系统中,很少采用SISD结构。

 SIMD (Single Instruction Stream Multiple Data Stream)单指令多数据流:

属于并行运算计算机:计算机有多个处理单元,由单一的指令部件控制,按照同一指令流的要求为他们分配各不相同的数据并进行处理。系统结构为由一个控制器、多个处理器、多个存贮模块和一个互连总线(网络)组成。所有活动的处理器在同一时刻执行同一条指令,但每个处理器执行这条指令时所用的数据是从它本身的存储模块中读取的。对操作种类多的算法,当要求存取全局数据或对于不同的数据要求做不同的处理时,它是无法独立胜任的。另外,SIMD 一般都要求有较多的处理单元和极高的I/O吞吐率,如果系统中没有足够多的适合SIMD 处理的任务,采用SIMD 是不合算的。 如:阵列处理机,联机处理。

MISD(Multiple Instruction Stream Single Data Stream)多指令流单数据流:

流水线处理计算机:计算机具有多个处理单元,按照多条不同的指令要求同时对同一数据流及其处理输出的结果进行不同的处理,是把一个单元的输出作为另一个单元的输入。这种结构在目前常见的计算机系统中很少见,但是如果把早期的自动控制系统也作为计算机来看待的话,则在早期的自动控制系统中比较常见。同时CPU 进行复杂处理的过程中,其数据流在很多时候依然是按照这种模式在运行。我想Flynn在进行分类时的设想也许是基于此处的考虑才有了这样的分类方法吧。

 MIMD(Multiple Instruction Stream Multiple Data Stream)多指令流多数据流:

又称为多处理机系统:是指能实现指令、数据作业、任务等各级全面并行计算的多机处理系,统,典型的MIMD系统由多台处理机、多个存储模块和一个互连网络组成,每台处理机执行自己的指令,操作数也是各取各的。MIMD结构中每个处理器都可以单独编程,因而这种结构的可编程能力是最强的。但由于要用大量的硬件资源解决可编程问题,硬件利用率不高。常见的有MPPMassively Parallel Processor)系统;目前科研机构中的分布式计算系统