python并行编程学习之并行计算存储体系结构

基于指令和可被同时处理的存储单元的数目,计算机系统可以分为以下四种类目:

  • 单指令,单数据单元(SISD)在该体系结构中,计算机是单处理器机器,一次只能用单一的指令来操作单一的数据流。在SISD中,机器指令按照顺序被处理。在一个计算机的时钟周期里,CPU执行三个操作,匹配、译指(decode,解码)和执行。

      所谓匹配,指的是CPU从寄存器中读取需要进行操作处理的数据以及需要执行的指令;

      所谓译指,是指CPU对指令的解码,使得计算机能够将指令转换为机器所能读懂的二进制码;

      所谓执行,是指指令在数据上执行,所得的计算结果,存储到另一个寄存器中。

   以上三个操作,不只是在SISD结构中存在,它们是所有计算机运行执行的基本操作。

     在这种体系结构中,CPU按照顺序执行相应的程序,该架构主要包含三个部分,中心存储单元、CPU以及I/O系统,中心存储单元用于存储指令和程序数据;CPU用于从存储单元中获取数据和指令,并且     对指令进行译指,然后按照程序既定的顺序执行它。I/O系统则是用来输入和输出程序的数据。

  • 单指令,多数据单元(SIMD)SIMD结构的计算机,由n个相同的处理器构成,每个处理器拥有其独有的存储单元,用于存储数据。所有处理器在单一指令流的控制下工作,另外,每个处理器处理相对应的一条数据流。每个处理器对不同的数据,同时执行同一条指令。这种架构比MISD架构功能更为全面和强大。在这种结构的计算机中,结合并行算法,适合解决涵盖多种功能的问题,此外,在这种计算机结构中,算法更容易设计、分析以及嵌入。唯一的限制是,需要将一个大问题分成多个子问题,要求每个子问题都是相同性质的,这样每个子问题才能通过相同的指令被同时处理。
  • 多指令,单数据单元(MISD)在这个结构中,计算机拥有多个处理器核,每个处理器拥有其自己的控制单元,它们共享存储单元。在每个时钟周期中,每个处理器根据从自己的控制单元中读取的指令,同时处理从存储器中读取的数据。在这个结构下,并行性(指令层面的并行性)是通过对同一段数据执行多种操作而获得的。在这个结构中,能够解决的问题类型相当特殊,比如与数据加密有关的问题。
  • 多指令,多数据单元(MIMD)。
posted @ 2018-06-25 00:11  守功  阅读(235)  评论(0编辑  收藏  举报