Solved

SISD - SIMD - MISD - MIMD

Posted on 2004-09-02
5
1,564 Views
Last Modified: 2008-01-09
Hi,
reading a book (Introduction to Parallel Processing Algorithms and Architectures) I came across some words (SISD - SIMD - MISD - MIMD - GMMP - GMSV - DMSV - DMMP) which are partially explained,but I don't entirely understand it.
What is ment by:
* SINGLE/MULTIPLE INSTRUCTION -> what is the "instruction", how can I imagine me an "instruction" ??
* SINGLE/MULTIPLE DATA -> same question but with the word "data" (I know of course what the "classical" meaning of "data" is , but I don't think you can use that meaning here.).

 Thanks in advance
0
Comment
Question by:DEEGBAL
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
5 Comments
 
LVL 1

Assisted Solution

by:joephus
joephus earned 65 total points
ID: 11968771
An instruction can be considered a routine.  A set of "things" or a single thing, general computations that need be performed to produce the desired results. Simply put in the eqution 2 + 2 = 4.  The + would be the instruction and the data would be the 2s.  The instructions say to add 2 to 2.  Now if you had multiple instructions on the same data you would be doing 2 + 2, 2 x 2, and 2 - 2 all at the same time.  At least this is the way I have always understood it.  
0
 
LVL 11

Assisted Solution

by:PennGwyn
PennGwyn earned 65 total points
ID: 11968929
A machine that can add a whole bunch of things simultaneously is doing SIMD -- executing a Single Instruction (Add) against Multiple Data in parallel.

A machine that can take a couple of numbers and add, subtract, multiply, divide them simultaneously is doing Multiple Instructions on the Same (Single) Data.

A machine that consists of a bunch of processors, each doing their own independent thing, is doing MIMD.  

Prior to the Pentium, PC CPUs were essentially SISD.  At the Pentium, they started doing some low-level MIMD -- a Pentium can do two instructions at once, as long as they're on separate data so there's no ambiguity.  The MMX instructions added between Pentium I and II do some low-level SIMD, speeding graphical processing by applying the same transformations to several adjacent pixels at once.

It might be useful to take a look at a real-world CPU architecture.  You'll find it consists of some rules about how "values" are stored in memory, a set of registers (or "register file") for cached access to a hnadful of values at any given moment, and an "instruction set" of binary command patterns which transform regsiter or memory contents in various ways.  (One of the registers contains the memory address of the next instruction ("binary command pattern") to be interpreted; a GOTO command loads a new value into that register....)

0
 

Author Comment

by:DEEGBAL
ID: 11969479
Thanks, this makes a lot more clear.
Just to make sure I understand it correct:
     If you have for example an array with the first 1000000 int's, and you want to check each number if it is prime or not (using a cluster) by sending the first 100 numbers to the first computer, the second 100 numbers to the second computer, ... , the n-th 100 numbers to the n-th computer, where for each number a function "IsPrime(int)" is executed.
     Then you could say that your program (which runs on each computer) is SIMD (because: the same function [instruction] is always executed on different numbers [data] ).
     Is this correct ?
0
 
LVL 2

Accepted Solution

by:
teuntje earned 70 total points
ID: 11995734
yes.
0
 

Author Comment

by:DEEGBAL
ID: 12016448
I'll give each one 1/3 th of the points
0

Featured Post

Free learning courses: Active Directory Deep Dive

Get a firm grasp on your IT environment when you learn Active Directory best practices with Veeam! Watch all, or choose any amount, of this three-part webinar series to improve your skills. From the basics to virtualization and backup, we got you covered.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Meet the world's only “Transparent Cloud™” from Superb Internet Corporation. Now, you can experience firsthand a cloud platform that consistently outperforms Amazon Web Services (AWS), IBM’s Softlayer, and Microsoft’s Azure when it comes to CPU and …
When you try to share a printer , you may receive one of the following error messages. Error message when you use the Add Printer Wizard to share a printer: Windows could not share your printer. Operation could not be completed (Error 0x000006…
After creating this article (http://www.experts-exchange.com/articles/23699/Setup-Mikrotik-routers-with-OSPF.html), I decided to make a video (no audio) to show you how to configure the routers and run some trace routes and pings between the 7 sites…
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…

738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question