Konzeptionierung und Evaluation eines Anwendungsspezifischen Instruktionssatzes zur Berechnung von dichten Disparitätsfeldern auf konfigurierbaren ASIPs
Student/in: | Cholewa, Fabian |
Jahr: | 2010 |
Datum: | 22-11-10 |
Laufzeit: | 02.11.2009-22.11.2010 |
Ist abgeschlossen: | ja |
Im Rahmen mehrerer Forschungsvorhaben in Kooperation mit namenhaften Firmen der Automobilbranche werden am Fachgebiet „Architekturen und Systeme" dedizierte und programmierbare Architekturen für rechenintensive und echtzeitfähige Bildverarbeitungsaufgaben von Fahrerassistenzsystemen untersucht. Dabei wird ein echtzeitfähiger Demonstrator aufgebaut, der verschiedene, für Fahrerassistenzsysteme typische Aufgaben, wie z. B. die Schätzung von Tiefeninformationen (Disparitätsschätzung), realisiert. Bei der Implementierung rechenintensiver Algorithmen für eingebettete Systeme muss regelmäßig untersucht werden, ob eine Abbildung auf handelsübliche RISC-Prozessoren oder eine dedizierte FPGA-Implementierung geeigneter ist. Ein weiterer, in der Industrie zunehmend mit Interesse verfolgter Lösungsansatz sind sogenannte konfigurierbare RISC-Prozessorkerne, wie sie z.B. von der Fa. Tensilica angeboten werden. Diese RISC-Kerne können um angepasste Befehlssätze erweitert werden und so für bestimmte Anwendungen signifikante Geschwindigkeitsvorteile gegenüber Standard-RISCs erreichen. Gleichzeitig wird durch die C/ASM Programmierbarkeit eine hohe Flexibilität im Vergleich zu dedizierten VHDL-Implementierungen gewahrt.Im Rahmen der Abschlussarbeit ist eine angepasste, Hardware-nahe C/ASM-Implementierung eines Disparitätsschätzungsalgorithmus für einen Tensilica-Core zu erarbeiten. Dazu ist zunächst der Algorithmus hinsichtlich spezieller Hardware-Anforderungen zu untersuchen. Dementsprechend ist ein Tensilica RISC-Core um einen angepassten Befehlssatz in der proprietären Befehlssatzbeschreibungssprache TIE zu erweitern. Anschließend ist ein Benchmark der Implementierung und des erarbeiteten Befehlssatzes für verschiedene Konfigurationen des Tensilica-Cores (z.B. Anzahl Caches, Anzahl VLIW-Issue Slots) zu durchzuführen. Die Funktionsfähigkeit der Implementierung ist durch Simulation und Emulation auf einem FPGA nachzuweisen.Vorkenntnisse zu Prozessor-Design, konfigurierbaren RISC-Cores (Tensilica), oder TIE werden nicht benötigt! Eine ausführliche TIE-Dokumentation ist vorhanden und die Einarbeitung ist Teil der Aufgabenstellung.