Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
Solved

# SISD - SIMD - MISD - MIMD

Posted on 2004-09-02
Medium Priority
1,644 Views
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.).

0
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

LVL 1

Assisted Solution

joephus earned 260 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

PennGwyn earned 260 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

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

teuntje earned 280 total points
ID: 11995734
yes.
0

Author Comment

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

## Featured Post

Question has a verified solution.

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

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.
Most of the applications these days are on Cloud. Cloud is ubiquitous with many service providers in the market. Since it has many benefits such as cost reduction, software updates, remote access, disaster recovery and much more.
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…
Michael from AdRem Software outlines event notifications and Automatic Corrective Actions in network monitoring. Automatic Corrective Actions are scripts, which can automatically run upon discovery of a certain undesirable condition in your network.…
###### Suggested Courses
Course of the Month8 days, 18 hours left to enroll