Posted on 2004-09-02
Last Modified: 2008-01-09
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
Question by:DEEGBAL

Assisted Solution

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.  
LVL 11

Assisted Solution

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....)


Author Comment

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 ?

Accepted Solution

teuntje earned 70 total points
ID: 11995734

Author Comment

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

Featured Post

Manage your data center from practically anywhere

The KN8164V features HD resolution of 1920 x 1200, FIPS 140-2 with level 1 security standards and virtual media transmissions at twice the speed. Built for reliability, the KN series provides local console and remote over IP access, ensuring 24/7 availability to all servers.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Fiber optic multimode cable issue 6 58
How to simulate latency? 5 40
FreeRADIUS vs Windows NPS (server 2016) 2 133
Router Question 12 56
Short answer to this question: there is no effective WiFi manager in iOS devices as seen in Windows WiFi or Macbook OSx WiFi management, but this article will try and provide some amicable solutions to better suite your needs.
Don’t let your business fall victim to the coming apocalypse – use our Survival Guide for the Fax Apocalypse to identify the risks and signs of zombie fax activities at your business.
Here's a very brief overview of the methods PRTG Network Monitor ( 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…
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor ( If you're interested in additional methods for monitoring bandwidt…

821 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