11.07.2015 Aufrufe

Datenflussoptimierung in rekonfigurierbarer Hardware ... - ihmor.de

Datenflussoptimierung in rekonfigurierbarer Hardware ... - ihmor.de

Datenflussoptimierung in rekonfigurierbarer Hardware ... - ihmor.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

4 Rekonfigurierte AusführungIm vorigen Kapitel wur<strong>de</strong> gezeigt, wie durch geschicktes Pipel<strong>in</strong><strong>in</strong>g im IFB die Latenz<strong>de</strong>s IFBs reduziert wer<strong>de</strong>n konnte. Dies geschah unter <strong>de</strong>r Annahme, dass alle Mo<strong>de</strong>s, diebenötigt wer<strong>de</strong>n, immer auf <strong>de</strong>m Chip vorhan<strong>de</strong>n s<strong>in</strong>d. Geht man nun davon aus, dasse<strong>in</strong> IFB mit vielen Tasks verbun<strong>de</strong>n ist und viele Mapp<strong>in</strong>g Equations implementiert,so wer<strong>de</strong>n entsprechend viele Mo<strong>de</strong>s benötigt. Somit benötigt die Implementierung <strong>de</strong>sIFB viel Platz. Der Platz stellt auf e<strong>in</strong>em Chip aber e<strong>in</strong>e teure Ressource dar und Chipskönnen nicht beliebig gross konstruiert wer<strong>de</strong>n. Die damit verbun<strong>de</strong>nen Kosten und dieGröße <strong>de</strong>r Chips wür<strong>de</strong>n enorm steigen, was <strong>in</strong> <strong>de</strong>m meisten Fällen unerwünscht ist.Man möchte eher ”kle<strong>in</strong>e” Chips verwen<strong>de</strong>n.Hier setzt <strong>de</strong>r zweite Optimierungsansatz an. Es wird davon ausgegangen, dass nichtausreichend Platz für alle Mo<strong>de</strong>s vorhan<strong>de</strong>n ist, die von e<strong>in</strong>em IFB benötigt wer<strong>de</strong>n.Somit ergibt sich die Notwendigkeit, Mo<strong>de</strong>s zu verdrängen und an<strong>de</strong>re Mo<strong>de</strong>s zu la<strong>de</strong>n.Das wie<strong>de</strong>rum erfor<strong>de</strong>rt <strong>Hardware</strong>, die zur Laufzeit rekonfiguriert wer<strong>de</strong>n kann.Es wer<strong>de</strong>n also multifunktionale Ausführungse<strong>in</strong>heiten benötigt, <strong>in</strong> die dynamisch diebenötigten Komponenten gela<strong>de</strong>n und dann ausgeführt wer<strong>de</strong>n können. Dazu wird e<strong>in</strong>FPGA verwen<strong>de</strong>t.Wie bereits im Abschnitt 2.1 kurz erläutert, besteht das FPGA aus slices, die wie<strong>de</strong>rumgruppiert und zu Slots zusammengefasst wer<strong>de</strong>n können (siehe Abbildung 2.1).Diese Slots s<strong>in</strong>d dynamisch rekonfigurierbar, d.h., dass zur Laufzeit vorhan<strong>de</strong>ne Mo<strong>de</strong>sdadurch verdrängt wer<strong>de</strong>n, <strong>in</strong><strong>de</strong>m neue Mo<strong>de</strong>s <strong>in</strong> diese Slots gela<strong>de</strong>n wer<strong>de</strong>n. Hierbeiunterschei<strong>de</strong>t man zwischen multi reconfigurable (es können mehrere Mo<strong>de</strong>s gleichzeitiggela<strong>de</strong>n wer<strong>de</strong>n) und s<strong>in</strong>gle reconfigurable (es kann nur e<strong>in</strong> Mo<strong>de</strong> gleichzeitig gela<strong>de</strong>nwer<strong>de</strong>n) FPGAs.Zur Rekonfigurierung wird e<strong>in</strong>e Kontrollkomponente benötigt, die <strong>de</strong>n Vorgang <strong>de</strong>r Rekonfigurierungausführt und kontrolliert. Denn bevor e<strong>in</strong>e Rekonfigurierung ausgeführtwer<strong>de</strong>n kann, muss die E<strong>in</strong>haltung bestimmter Bed<strong>in</strong>gungen sichergestellt wer<strong>de</strong>n. Esergeben sich folgen<strong>de</strong> Aufgaben für die Kontrolle<strong>in</strong>heit:• Auswahl <strong>de</strong>s Mo<strong>de</strong>s, <strong>de</strong>r verdrängt wird• Sicherstellung, dass zu Beg<strong>in</strong>n <strong>de</strong>r Rekonfigurierung ke<strong>in</strong> Mo<strong>de</strong> aktiv ist und somitke<strong>in</strong>e Kommunikation o<strong>de</strong>r Verarbeitung im Gange ist• Das korrekte E<strong>in</strong>b<strong>in</strong><strong>de</strong>n <strong>de</strong>s neuen Mo<strong>de</strong>s <strong>in</strong> <strong>de</strong>n Slot (u.a. die Verb<strong>in</strong>dungen)• Das Anpassen <strong>de</strong>s Interfaces an die neuen Funktionalitäten (wenn nötig)• Das Sicherstellen e<strong>in</strong>es reibungslosen Ablaufes ohne Bee<strong>in</strong>flussung <strong>de</strong>r an<strong>de</strong>renMo<strong>de</strong>s (ohne dass bei diesen Datenverlust auftritt)45

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!