06.06.2014 Aufrufe

Parallele Algorithmen - Ra.informatik.tu-darmstadt.de - Technische ...

Parallele Algorithmen - Ra.informatik.tu-darmstadt.de - Technische ...

Parallele Algorithmen - Ra.informatik.tu-darmstadt.de - Technische ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

seiner Einfachheit u. a. zur Betrach<strong>tu</strong>ng <strong>de</strong>r Terminierung von Programmen. Das Prinzip<br />

<strong>de</strong>r RAM soll nun erläutert wer<strong>de</strong>n, bevor das Mo<strong>de</strong>ll dann zur parallelen RAM<br />

(P-RAM) erweitert wird.<br />

2.1.1. Prinzip <strong>de</strong>r RAM<br />

Die RAM verfügt über eine CPU mit abzählbar unendlich vielen Registern, in <strong>de</strong>nen<br />

beliebig große natürliche Zahlen gespeichert wer<strong>de</strong>n können. Auf <strong>de</strong>n Werten kann die<br />

CPU arithmetische Operationen ausführen, zusätzlich kann die CPU je<strong>de</strong>rzeit auf <strong>de</strong>n<br />

Speicher zugreifen und von dort Werte in die Register lesen o<strong>de</strong>r Werte in <strong>de</strong>n Speicher<br />

schreiben.<br />

Der Arbeitsablauf <strong>de</strong>r CPU wird von einem Programm festgelegt, welches sich im Speicher<br />

befin<strong>de</strong>t. Even<strong>tu</strong>ell benötigte Eingaben für das Programm stehen ebenfalls an <strong>de</strong>finierten<br />

Stellen im Speicher. Das Programm besteht aus arithmetischen Instruktionen<br />

sowie Speicherzugriffsbefehlen. Um <strong>de</strong>n normalen Programmfluss zu modifizieren, sind<br />

außer<strong>de</strong>m bedingte Sprünge erlaubt. Die Instruktionen <strong>de</strong>s Programms wer<strong>de</strong>n gemäß<br />

eines Takts abgearbeitet und die CPU been<strong>de</strong>t ihre Arbeit bei Programmen<strong>de</strong>.<br />

Bei <strong>de</strong>r Aufwandsbetrach<strong>tu</strong>ng eines Programms auf <strong>de</strong>r RAM müssen drei Aspekte unterschie<strong>de</strong>n<br />

wer<strong>de</strong>n:<br />

• Die Programmgröße bestimmt sich aus <strong>de</strong>r Anzahl <strong>de</strong>r Instruktionen, welche das<br />

Programm bil<strong>de</strong>n.<br />

• Die Speichergröße bestimmt sich aus <strong>de</strong>r Anzahl <strong>de</strong>r vom Programm genutzten<br />

Speicherzellen.<br />

• Der Zeitaufwand, bestimmt sich aus <strong>de</strong>r Anzahl <strong>de</strong>r Takte, welche benötigt wer<strong>de</strong>n,<br />

bis das Programm abgearbeitet ist.<br />

2.1.2. Die P-RAM<br />

Das erste Kapitel von [KKT01] liefert eine Möglichkeit zur Parallelisierung <strong>de</strong>s RAM-<br />

Mo<strong>de</strong>lls. Da alle Berechnungen von <strong>de</strong>r CPU ausgeführt wer<strong>de</strong>n, kann die RAM dadurch<br />

parallelisiert wer<strong>de</strong>n, dass es nicht mehr eine einzige CPU gibt, son<strong>de</strong>rn mehrere Prozessoren.<br />

Diese Prozessoren arbeiten synchron, besitzen also einen gemeinsamen Takt und<br />

haben Zugriff auf einen gemeinsamen Speicher.<br />

Der Datenaustausch zwischen <strong>de</strong>n Prozessoren geschieht über <strong>de</strong>n gemeinsamen Speicher.<br />

Ein Prozessor schreibt seine Werte in eine Speicherzelle und an<strong>de</strong>re Prozessoren<br />

können sie dort bei Bedarf lesen. Ein Nachteil an dieser Mo<strong>de</strong>llierung ist, dass sichergestellt<br />

wer<strong>de</strong>n muss, dass keine zwei Prozessoren zur gleichen Zeit auf eine Speicherzelle<br />

schreiben wollen.<br />

14

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!