2013
Aachen, Techn. Hochsch., Diss., 2013
Genehmigende Fakultät
Fak06
Hauptberichter/Gutachter
Tag der mündlichen Prüfung/Habilitation
2013-04-09
Online
URN: urn:nbn:de:hbz:82-opus-45347
URL: https://publications.rwth-aachen.de/record/211242/files/4534.pdf
Einrichtungen
Inhaltliche Beschreibung (Schlagwörter)
Eingebettetes System (Genormte SW) ; Programmierung (Genormte SW) ; Software (Genormte SW) ; Parallelverarbeitung (Genormte SW) ; Ingenieurwissenschaften (frei) ; eingebettete Systeme (frei) ; Parallele Programmierung (frei) ; MPSoCs (frei) ; embedded-systems (frei) ; programming (frei) ; mapping (frei) ; scheduling (frei)
Thematische Einordnung (Klassifikation)
DDC: 620
Kurzfassung
Diese Dissertation befasst sich mit der Verbesserung der Programmierbarkeit von derzeitigen und zukünftigen eingebetteten Systemen im Bereich Multimedia und drahtloser Kommunikation. In diesen Bereichen ist die Entwicklung eingebetteter Software zu einer gewaltigen Aufgabe geworden, hauptsächlich auf Grund zweier Trends: Auf der einen Seite haben sich die zugrunde liegenden Rechnereinheiten eingebetteter Geräte von Einzelkern-Plattformen zu komplexen heterogenen Multiprozessor-Systemen (MPSoCs) entwickelt. Auf der anderen Seite steigt die Komplexität eingebetteter Software stetig weiter an. Diese Software besteht nicht mehr aus einer einzelnen Anwendung, sondern aus mehreren komplexeren Anwendungen, die zum Teil Echtzeit-Anforderungen erfüllen müssen. Dieser Zuwachs an Komplexität kombiniert mit einer immer kleiner werdenden Produkteinführungszeit stellt ein großes Problem dar, welches als Software Productivity Gap bezeichnet wird. Um die Programmierbarkeit heterogener Systeme zu verbessern, werden in dieser Arbeit verschiedene Methoden und Algorithmen eingeführt, welche zum Ziel haben, die o.g. Produktivitätslücke zu verkleinern. Die Algorithmen sind in vier verschiedene Tool-Flows integriert, die in einer interaktiven Programmierumgebung zusammengefasst sind. Die ersten zwei Tool-Flows ermöglichen die sequentielle und parallele Programmierung heterogener MPSoCs. Der Ablauf für sequentielle Anwendungen hilft dem Programmierer, eine parallele Version der Software aus einer in der C-Programmiersprache beschriebenen Spezifikation zu extrahieren. Der Ablauf für parallele Anwendungen berechnet eine Zuweisung zwischen Anwendungstasks und Prozessoren des MPSoCs. Für die Spezifikation paralleler Anwendungen wird eine Sprache eingesetzt, mit der sogenannte Kahn Process Networks (KPN) beschrieben werden können. Der dritte Ablauf ist eine Erweiterung des parallelen Flows, wodurch Anwendungen, die spezielle Hardwarebeschleunigung benötigen, unterstützt werden können. Diese Erweiterung wird gezielt auf Basisband-Algorithmen im Rahmen von neuartigen Software Defined Radios angewendet. Zum Schluss wird ein Ablauf präsentiert, der es ermöglicht, mehrere Anwendungen auf ein MPSoC gleichzeitig zu synthetisieren. Die Evaluierung der verschiedenen Flows erfolgt anhand realer Anwendungen und sogenannter Virtual Platforms, welche die Eigenschaften modernster heterogener MPSoCs akkurat in Software modellieren. Um eine effiziente Laufzeitumgebung zu gewährleisten, die für die Ausführung der zugewiesenen Tasks notwendig ist, wurde im Rahmen dieser Arbeit ein Hardware-Beschleuniger entwickelt, dessen Entwurf ebenfalls in dieser Dissertation detailliert beschrieben wird.Embedded electronic systems have seen an enormous boost in the last few years, evolving from single-processor platforms running single applications to complex heterogeneous Multi-Processor Systems-on-Chip (MPSoCs) capable of executing multiple applications simultaneously. This hardware complexity together with today’s stringent application requirements makes programming a daunting task for embedded software developers. As a consequence, software schedules are rarely met so that software solutions cannot keep up with the pace of market requirements; a phenomenon known as the software productivity gap. This book presents a set of algorithms and methodologies to narrow the software productivity gap, in the same way EDA companies have helped narrowing the hardware gap with synthesis tools in the last 30 years. The book presents four different tool flows: A parallelism extraction flow for applications written using the C programming language, a mapping and scheduling flow for parallel applications, a special mapping flow for baseband applications in the context of Software Defined Radio (SDR) and a final flow for analyzing multiple applications at design time. The tool flows are evaluated on Virtual Platforms (VPs), which mimic different characteristics of state-of-the-art heterogeneous MPSoCs.
Fulltext:
PDF
Dokumenttyp
Dissertation / PhD Thesis
Format
online, print
Sprache
English
Interne Identnummern
RWTH-CONV-143681
Datensatz-ID: 211242
Beteiligte Länder
Germany
The record appears in these collections: |