next up previous contents
Next: Fazit Up: Implementierung in Hardware Previous: Einbau in den Controller   Inhalt

Größe und Geschwindigkeit

Abbildung 4.6 zeigt die Laufzeiten des Earliest Deadline First in Hardware ohne Optimierungen. Diese Werte sind mit Synopsys in der Version 1999.10 ermittelt. Wenn Randbedingungen vorgegeben werden, kann EDF mit 31 bit breiten Deadlines und vier Threads auch mit 50ns, also 20MHz betrieben werden. Man sieht, daß die Laufzeit linear mit der Breite der Deadline ansteigt, da jeder Subtrahierer und jeder Vergleicher für jedes zusätzliche Bit einen Schritt mehr ausführen muß.

Hingegen steigt die Laufzeit weniger als linear mit der Anzahl der Threads, da der Vergleicherbaum für jede Verdoppelung der Threads nur um eine Ebene tiefer wird. Da die Vergleicher den Entwurf dominieren, verläuft die Zeit näherungsweise logarithmisch.

Abbildung 4.6: Laufzeiten des EDF-Schedulers ohne Optimierung

Abbildung 4.7 zeigt die Größe des EDF-Schedulers in logischen Blöcken (Configurable Logic Blocks, CLB). Auch die Größe wächst linear mit der Breite der Deadlines, da alle Verarbeitungseinheiten breiter werden müssen. Allerdings ist auch das Verhältnis zwischen der Größe des Entwurfs und der Anzahl der Threads linear, da auch der dominierende Vergleicherbaum für n Threads n-1 Vergleicher braucht.

Abbildung: Größe des EDF-Schedulers ohne Optimierung

Abbildung 4.8 zeigt die Laufzeiten der drei Scheduling-Verfahren im Vergleich. Für EDF werden 31 bit breite Parameter angenommen, für GP zehn und für FPP bei n Threads ld(n) bit. Zum Vergleich ist noch EDF mit 16 bit breiten Parametern angegeben. Diese Variante ist in etwa so groß und so schnell wie Guaranteed Percentage.

Abbildung 4.8: Laufzeiten der Scheduler

Abbildung: Größe der Scheduler

Es wirkt sich positiv auf den Entwurf aus, wenn man anstelle der internen Signale Variablen benutzt. Obwohl die Variablen nach jeder Verarbeitung sofort für die nachfolgende Berechnung zur Verfügung stehen müssen, der Aufbau also weitestgehend serialisiert wird, ist die Benutzung von Variablen schneller.

Tabelle 4.3 zeigt die Laufzeiten, die für die verschiedenen Scheduler erreicht werden, wenn man dem Compiler von Xilinx weitere Rahmenbedingungen mitgibt. Die Vorgabe für die Signallaufzeit lautet für alle drei Verfahren 40ns.


Tabelle 4.3: Laufzeiten der Scheduler mit Optimierung
Verfahren Threads Parameter Laufzeit
EDF 4 31 bit 48 ns
FPP 4 2 bit 47 ns
EDF 4 16 bit 45 ns
GP 4 10 bit 44 ns

Leider lassen die verwendeten Compiler keine Rückschlüsse darauf zu, wie die Geschwindigkeitssteigerung erreicht wird. Es gibt keine Hinweise, welche Komponenten vervielfacht werden und wieviel Hardware man zusätzlich benötigt, um die Laufzeit zu verkürzen.

Zudem sind die Laufzeiten stark von der verwendeten Technologie abhängig. Auf dem FPGA kommt die Hälfte der Laufzeit durch Verzögerungen auf den Verbindungswegen zwischen den Funktionseinheiten zustande. Wird ein Chip speziell für den Komodo-Mikrocontroller entworfen, werden die Laufzeiten deutlich kürzer sein.


next up previous contents
Next: Fazit Up: Implementierung in Hardware Previous: Einbau in den Controller   Inhalt
Alexander Schulz
2000-06-18