TriCore™/AURIX™ Architektur: Performance-Optimierung - Präsenz-Training
Beim TriCore™ handelt es sich um eine spezielle Architektur, die besonders auf den Einsatz als eingebetteter Mikrocontroller optimiert ist. Die geringen Stückkosten werden durch eine besonders sparsame Architektur ermöglicht, die effizientes Arbeiten und Optimierung besonders belohnt. Das Training richtet sich an Entwickler auf der TriCore™-Plattform, welche schon erste Schritte mit der Architektur unternommen haben und alle Möglichkeiten der Hardware bestmöglich nutzen wollen. Ausgehend von der Identifikation von Performance Bottlenecks (sog. Hotspots) werden Methoden und Techniken vermittelt, um die modernen Architekturmerkmale wie SIMD, Multicore und die superskalare Pipeline optimal einzusetzen. Dabei wird besonders auf die speziellen Eigenheiten der TriCore™-Architektur eingegangen, die sich von der ARM- oder x86-Architektur unterscheidet. Die Inhalte werden anhand von Beispielen aus der Bildverarbeitung vermittelt. Ausgehend von einem Anwendungsbeispiel (Fast Fourier Transformation FFT) wird in C eine optimierte Variante erstellt, indem diese immer stärker auf die Hardwarearchitektur angepasst wird. Die gezeigten Methoden sind auch für andere Anwendungsgebiete einsetzbar, z.B. für Regelungstechnik, Signalverarbeitung oder Grafik. Dadurch sind je nach Anwendung Geschwindigkeitssteigerungen um einen Faktor von 2-10 gegenüber optimiertem C-Code möglich. Bildverarbeitungssysteme sind komplex. Ein typisches Bildverarbeitungssystem mit Objekterkennung, etwa für Viola Jones (Gesichtserkennung) oder ADAS (Automotive Driving Assistance Systems) besteht aus den sechs Stufen Preprocessing, Segmentation, Classification, Tracking, Situation Analysis und Information Fusion. Die zeitaufwändigsten Schritte darin sind typischerweise Preprocessing und Classification. Da für diese auch das größte Potential zur Zeiteinsparung mit den im Training behandelten Techniken besteht, werden exemplarisch Algorithmen aus diesen Abschnitten besprochen und optimiert.
Sie erhalten einen Überblick sowie eine praktische Einführung in komplexe Themen der Softwareentwicklung mit der TriCore™-Architektur. Dieses Training ist auf eine der u.a. speziellen Hardware- und Softwareplattformen zugeschnitten und beleuchtet ein spezielles Anwendungsbeispiel.
Applikationsprogrammierer
Kenntnis der TriCore™-Architektur (AUDO Family oder AURIX Family) sowie ANSI-C Kenntnisse.
Kurze Einführung in die TriCore™-Architektur
Anwendungsbeispiel in C
- Fast Fourier Transformation FFT
TriCore™ Assembler Instruction Set
- Advanced SIMD Extension
- Vector Operations
Implementierung des Programmes als:
- Inline-/Embedded-Assembler
- Intrinsic-Funktionen
- Assembler-Routinen
Programmoptimierung
- Optimierung auf C-Ebene
- Optimierung auf Assembler-Ebene mit SIMD-Instructions
- Schleifenoptimierung, Vektorisierung
Performance-Analyse
- Profiling, Hotspots finden
- Hardware-Optimierung
- Cache-Optimierung
- Multiprozessor-Optimierung
- pthread, openMP oder 3 individuelle Main-Funktionen
Floating-Point Extension
- Floating Point Unit Instructions
MicroConsult Plus: Übungen auf einer Zielhardware
- Die Programme werden mit einem Eclipse GNU Tool-Plugin und auf einer TriCore™ basierenden Hardware ausgeführt und getestet (Infineon TC1797, TC1798, TC275).
- Für Onsite-Trainings werden die eingesetzten Tools und die Hardware-Plattform mit dem Kunden individuell abgestimmt.
Präsenz-Training
Onsite-Training
In maßgeschneiderten Workshops kombinieren wir Ihre konkreten Projektaufgaben mit unserem Trainingsangebot. Dabei berücksichtigen wir Ihre Anforderungen bezüglich Inhalt, Zeit, Ort, Dauer, technischem Umfeld und Vermittlungsmethodik.
Für Ihre Anfrage oder weiterführende Informationen stehen wir Ihnen gern zur Verfügung.