Software Optimization Techniques for DSP-based Embedded Systems

Josef Brunner

Publikation: AbschlussarbeitMasterarbeit

Abstract

Digitale Signalprozessoren (DSP) werden heutzutage sehr of tin eingebetteten Systemen verwendet. Diese Prozessoren sind im Stande eine hohe Rechenleistung bei geringem Energieverbrauch zur Verfügung zu stellen. Um die hohe Rechenleistung bzw. die spezielle Hardware des DSPs nutzen zu können, muss dem Softwareentwicklungsprozess besondere Aufmerksamkeit gewidmet werden. Typischerweise liefert eine Software, die in einer Hochsprache für allgemeine Plattformen entwickelt wurde, nicht die gewünschte Rechenleistung wenn sie auf einer DSP Plattform eingesetzt wird. In den meisten Fällen müssen daher unterschiedliche Software-Optimierungsmethoden angewandt werden. In dieser Diplomarbeit werden verschiedene Software-Optimierungsverfahren für die Portierung von Software auf DSP Plattformen vorgestellt und diskutiert. Neben Optimierungstechniken, die sich mit Schleifkonstrukten, Speicherzugriffen und Unterprogrammaufrufen beschäftigen, werden auch spezielle Optimierungsmethoden demonstriert. Die intelligente Kamera kombiniert das Aufnehmen von Bildern, die Bildverarbeitung und die Kommunikation mit anderen Geräten in einem eingebetteten System. Der Prototyp dieser intelligenten Kamera ist mit einem TMS320C6416 DSP von Texas Instruments, einem CMOS Bildsensor und einer Ethernetschnittstelle ausgestattet, Der Bildverarbeitungsalgorithmus wurde von einer MATLAB Implementierung in eine C Implementierung auf den DSP des Prototypen portiert., Durch die Anwendung der unterschiedlichen Optimierungsmethoden konnte der Algorithmus um den Faktor 27 beschleunigt werden. Digital signal processors (DSP) are nowadays often applied as target platforms in embedded systems, and these processors are capable of delivering a very high computing performance with low power consumption. In order to exploit the high-performance of the DSP as well as the specialized hardware features of these processors much cate must be taken in the software development process. Typically, software developed in high-level languages on general-purpose platforms is not able to deliver the required performance on DSPs. Software optimization must then be applied for the mapping of software on embedded DSP-platforms. In this thesis various software optimization techniques for mapping high-level software on embedded DSP-platforms are introduced and discussed. These techniques include loop transformation, memory access transformations, and procedure call transformations as well as methods specially developed for DSPs. The effect of some optimizatino methods has been demonstrated by the mapping of a high-level video algorithm - the automated detection of stationary vehicles - on a smart camera. The smart camera combines sensing, processing and communication within a single embedded device. The prototype of the smart camera is equipped with a TMS320C6416 DSP from Texas Instruments, a CMOS image sensor and an Ethernet interface. The video algorithm has been mapped from a MATLAB implementation to a C implementation on the DSP of the smart camera's prototype. By the application of the optimization methods a speed up of 27 has been achieved.
OriginalspracheEnglisch
Gradverleihende Hochschule
  • Graz University of Technology
PublikationsstatusVeröffentlicht - 2004

Research Field

  • Nicht definiert

Fingerprint

Untersuchen Sie die Forschungsthemen von „Software Optimization Techniques for DSP-based Embedded Systems“. Zusammen bilden sie einen einzigartigen Fingerprint.

Diese Publikation zitieren