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.

2 GrundlagenSomit ist es möglich, neue Funktionalitäten zur Laufzeit h<strong>in</strong>zuzufügen. Ist die neueFunktionalität komplett gela<strong>de</strong>n, kann diese e<strong>in</strong>fach h<strong>in</strong>zugeschaltet wer<strong>de</strong>n. E<strong>in</strong> weitererVorteil ist die Möglichkeit, vorhan<strong>de</strong>ne Funktionalitäten zu verdrängen. Soll e<strong>in</strong>eAnwendung verdrängt wer<strong>de</strong>n, wer<strong>de</strong>n die Bereiche, die von <strong>de</strong>r auszutauschen<strong>de</strong>n Taskbenutzt wer<strong>de</strong>n, <strong>de</strong>aktiviert. Dann wird die neue Funktionalität gela<strong>de</strong>n und die Bereichewie<strong>de</strong>r aktiviert, so dass die neue Funktionalität genutzt wer<strong>de</strong>n kann.In Abbildung 2.1 ist e<strong>in</strong> partiell rekonfigurierbares FPGA mit e<strong>in</strong>er gela<strong>de</strong>ne Taskabgebil<strong>de</strong>t. Der rechte Slot ist e<strong>in</strong>e nicht austauschbare Komponente (als ’fixed’ gekennzeichnet).Über diesen Slot, <strong>de</strong>r die zentralen und nicht austauschbaren Teile e<strong>in</strong>es IFBsbe<strong>in</strong>haltet, wird die Verb<strong>in</strong>dung zu externen Anwendungen hergestellt. Zusätzlich fungiertdieser Slot als Speicher. Dieser Speicher steht <strong>de</strong>n Anwendungen <strong>in</strong> allen Slots zurVerfügung, da <strong>de</strong>r Inhalt dieses Slots niemals ausgetauscht (also rekonfiguriert) wird.Der fest <strong>in</strong>stallierte Slot enthält im Falle <strong>de</strong>s IFB neben <strong>de</strong>m Speicher im Wesentlichene<strong>in</strong>e Kontrolle<strong>in</strong>heit. Diese wird u.a. für die Steuerung und Überwachung <strong>de</strong>r Rekonfigurierungbenötigt. Denn bevor e<strong>in</strong>e Rekonfigurierung durchgeführt wer<strong>de</strong>n kann, müssene<strong>in</strong>ige Bed<strong>in</strong>gungen erfüllt se<strong>in</strong>. Beispielsweise muss sichergestellt se<strong>in</strong>, dass zum Zeitpunkt<strong>de</strong>r Rekonfigurierung ke<strong>in</strong>e zu rekonfigurieren<strong>de</strong> Komponente aktiv ist. Details zu<strong>de</strong>r Kontrolle<strong>in</strong>heit wer<strong>de</strong>n <strong>in</strong> Kapitel 4 genauer erläutert.2.2 Interface Block (IFB)Im Folgen<strong>de</strong>n wird die eigentliche Anwendung, die auf <strong>de</strong>m FPGA implementiert wer<strong>de</strong>nsoll, näher erläutert. Dazu siehe auch [6] und [5].E<strong>in</strong> Interface Block (IFB) fungiert, wie bereits <strong>in</strong> <strong>de</strong>r E<strong>in</strong>leitung beschrieben, als”Übersetzungskomponente”. Existieren zwei Kommunikationspartner A und B (im Folgen<strong>de</strong>nals Task bezeichnet), <strong>de</strong>ren Kommunikationsstruktur (Protokolle) <strong>in</strong>kompatibels<strong>in</strong>d, so ist generell e<strong>in</strong>e direkte Kommunikation zwischen diesen bei<strong>de</strong>n Tasks nichtmöglich. Der IFB ist <strong>in</strong> <strong>de</strong>r Lage, mit bei<strong>de</strong>n Komponenten zu kommunizieren und dieDaten, die zwischen A und B ausgetauscht wer<strong>de</strong>n, so zu transformieren, dass die empfangen<strong>de</strong>Task die Daten vom sen<strong>de</strong>n<strong>de</strong>n Task verstehen kann. Der IFB ist dabei für Aund B transparent.Wie <strong>in</strong> Abbildung 2.2 dargestellt, besteht <strong>de</strong>r IFB generell aus drei Hauptkomponenten:<strong>de</strong>m Protocol Handler(PH), <strong>de</strong>m Sequence Handler(SH) und <strong>de</strong>r Control Unit(CU).Der Aufbau und die Funktionsweise dieser Komponenten wer<strong>de</strong>n im Folgen<strong>de</strong>n erklärt.Der Protocol Handler ist die Schnittstelle zwischen <strong>de</strong>n externen Tasks und <strong>de</strong>nan<strong>de</strong>ren Komponenten <strong>de</strong>s IFB. Der PH besteht aus e<strong>in</strong>zelnen PH Mo<strong>de</strong>s , die mit jeweils<strong>de</strong>r Schnittstelle e<strong>in</strong>er Task verbun<strong>de</strong>n s<strong>in</strong>d und die Kommunikation mit dieser Taskrealisieren. Um die Daten korrekt zu empfangen, muss <strong>de</strong>r PH Mo<strong>de</strong> das Protokoll <strong>de</strong>r externenTask verarbeiten können. Dazu besteht <strong>de</strong>r Mo<strong>de</strong> aus e<strong>in</strong>er F<strong>in</strong>ite State Mach<strong>in</strong>e(FSM), die das komplementäre Protokoll dieser Task implementiert. Dabei wer<strong>de</strong>n aus<strong>de</strong>m Protokoll, das von <strong>de</strong>r Task empfangen wird, Kontrollbits ausgefiltert, die e<strong>in</strong>enkorrekten Kommunikationsablauf sicherstellen sollen. E<strong>in</strong> PH Mo<strong>de</strong> kann ausschließlichmit <strong>de</strong>r Task kommunizieren, <strong>de</strong>ssen komplementäres Protokoll implementiert wird. Es16

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!