next up previous
Next: Spezifikation und Simulation eingebetteter Up: Eingebettete Systeme Previous: Wiederverwendung (Ralf Seepold)

HW/SW-Codesign (Wolfram Hardt)

Durch die HW/SW-Partitionierung wird ein Teil der gegebenen C-Spezifikation in Form von Software auf einen Standard-Prozessor und der andere Teil in Form von Hardware auf eine spezifische funktionale Einheit abgebildet. Dabei werden einzelne C-Funktionen als elementare Einheiten interpretiert. Die zugrundeliegende Zielarchitektur besteht aus einem Standard-Prozessor (SPARC), welcher über ein HW/SW-Interface mit einer spezifischen funktionalen Einheit zur Realisierung der HW-Komponenten gekoppelt ist. Die Pipeline-Struktur des Prozessors wird dabei vom HW/SW-Interface direkt unterstützt.

Die Partitionierung zielt auf eine Beschleunigung des Gesamtsystems unter Hinzunahme zusätzlicher spezifischer Hardware (in vertretbarem Umfang) ab. Der Codesign-Schritt kann in mehrere Teilschritte zerlegt werden: Zunächst werden innerhalb einer Spezifikationsanalyse statische Kriterien wie Kontrolldominanz und Übergabeparameter, sowie dynamische Kriterien wie Laufzeit- und Speicherzugriffsverhalten heuristisch extrahiert. Für die dynamische Analyse werden dabei Profiling-Daten zugrunde gelegt. Der Partitionierungsalgorithmus entscheidet anhand eines Kostenvektors für jedes Modul der Ausgangsbeschreibung, ob dieses Modul in Hardware oder in Software realisiert werden soll. Ergebnis ist somit jeweils eine Beschreibung für den HW-Anteil und für den SW-Anteil der späteren Implementierung.



Steffen Wieschalla
Fri Apr 25 18:56:55 MET DST 1997