请问多指令流多数据流(MIMD)计算机?

发布于 2022-09-22 12:11:46 字数 475 浏览 15 评论 0

哪位大侠有在通用MIMD上编写过程序的,或对MIMD有了解的,能否介绍下。谢谢!
1.很疑惑MIMD上编程是否和我们通常的SISD上类似,不知道是怎样的情况?
2.如果和SISD上编程类似,那么我猜想,巨大的指令级并行的压力肯定要留给编译器解决了,估计效果不是很好。
3.另外,对于MIMD的汇编指令编程,猜想应该允许人为安排并行指令。即程序中应该允许设定哪些指令能够并行执行。这样既可以减轻编译器的工作量,另外更大的好处是并行效率可能会比纯粹用编译器要来的高。不知MIMD的编译器实际如何解决这一问题,有否提供此机制?
4.对于MIMD的高级语言编程,个人实在无法理解如何做到指令并行的最大化,完全靠编译器???,不知道现在都是如何解决MIMD的高级语言的编译的?
5.考虑到程序空间的利用率,估计MIMD应该都为变长指令编码。不然会造成极大空间浪费。不知是否是这样。

[ 本帖最后由 fineamy 于 2008-10-10 21:59 编辑 ]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

沉睡月亮 2022-09-29 12:11:46

MIMD 是在x86平台上的吗?

眉黛浅 2022-09-29 12:11:46

刚查了下,现在好像
IBM PowerPC, Sun UltraSparc, DEC Alpha, HP 8000这几款CPU都是MIMD的。

下面是一个介绍

Flynn将计算机划分为四种基本类型,即SISD、MIMD、SIMD、MISD。

传统的顺序执行的计算机在同一时刻只能执行一条指令(即只有一个控制流)、处理一个数据(即只有

一个数据流),因此被称为单指令流单数据流计算机(Single Instruction Single Data,SISD)。

而对于大多数并行计算机而言,多个处理单元都是根据不同的控制流程执行不同的操作,处理不同的数

据,因此,它们被称作是多指令流多数据流计算机,即MIMD(Multiple Instruction Multiple Data,MIMD)计算机。

曾经在很长一段时间内成为超级并行计算机主流的向量计算机除了标量处理单元之外,最重要的是具有

能进行向量计算的硬件单元。在执行向量操作时,一条指令可以同时对多个数据(组成一个向量)进行

运算,这就是单指令流多数据流(Single Instruction Multiple Data,SIMD)的概念。因此,我们将向

量计算机称为SIMD计算机。

第四种类型即所谓的多指令流单数据(MultipleInstructionSingleData,MISD)计算机。在这种计算机

中,各个处理单元组成一个线性阵列,分别执行不同的指令流,而同一个数据流则顺次通过这个阵列中

的各个处理单元。这种系统结构只适用于某些特定的算法。

        相对而言,SIMD和MISD模型更适合于专用计算。在商用并行计算机中,MIMD模型最为通用,SIMD次

之,而MISD最少用。

  PII的MMX指令采用的是SISD,高性能服务器与超级计算机大多属于MIMD。

无缘相见啊,很疑惑MIMD的高级语言的编译到底怎么解决的????

酒废 2022-09-29 12:11:46

转过来,发现对MIMD的并行性会有一个很直观的了解。

试确定在下列三种计算机系统中,计算下列表达式所用的时间。   
  S=(A1+B1)*(A2+B2)*(A3+B3)*(A4+B4)*(A5+B5)*(A6+B6)*(A7+B7)*(A8+B   
  其中,加法需用30ns,乘法需用50ns.而在SIMD和MIMD计算机中,数据由一个PE(处理单元)传送到另一个PE需要10ns,而在SISD计算机中数据传送时间可忽略不计。在SIMD计算机中PE间线性环连接(以单向方式传送数据),而在MIMD计算机中,PE间以全互连方式连接。   
  1。具有一个通用PE的SISD的计算机系统。   
  2。具有8个通用PE的SIMD的计算机系统。   
  3。具有8个CPU的MIMD的计算机系统。   
  答案:   
  1.       30*8+50*7=590(ns)   
  2.       30+50*3+10*7=250(ns)        
  3.       30+50*3+10*3=210(ns)   

树深时见影 2022-09-29 12:11:46

对于非SISD,全用汇编指令编程以获得最高的效率是不现实的,虽然理论上这样确实可以做到最高。在这个时候,编译器的优化起到非常重要的作用

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文