21 research outputs found

    TUKUTURI: eine dynamisch selbstrekonfigurierbare Softcore Prozessorarchitektur

    Get PDF
    Der Entwurf von Systemen zur digitalen Signalverarbeitung stellt den Entwickler vor stetig wachsende Herausforderungen, die durch zunehmende Komplexität von Anwendungen und die dafür benötigte Steigerung der Leistungsfähigkeit eingebetteter Systeme verursacht werden. Ein weiterer Aspekt neben der Leistungsfähigkeit ist die Flexibilität, die es erlaubt, Anwendungen und Algorithmen auch nach Auslieferung eines Systems zu verändern. Diese kann zum einen durch Verwendung von FPGAs erreicht werden, die eine Rekonfiguration der Hardware ermöglichen. Zum anderen können prozessorbasierte Systeme verwendet werden, die Flexibilität durch Programmierbarkeit bereitstellen. Anwendungsspezifische Anpassungen der Prozessorarchitektur und ein hohes Maß an paralleler Datenverarbeitung, beispielsweise durch VLIW-Prozessoren, stellen dabei Mittel zum Erreichen hoher Leistungen dar. Das Thema dieser Arbeit ist die Untersuchung eines Entwurfsprozesses für anwendungsspezifische Prozessorsysteme. Dieser basiert auf einem flexiblen SIMD-VLIW-Prozessor, der in großem Umfang konfiguriert und durch zusätzliche Hardwaremodule erweitert werden kann. Zur Exploration des Entwurfsraums werden Werkzeuge zur Analyse von Prozessorkonfigurationen in realen Anwendungen bereitgestellt sowie Methoden zur automatisierten Adaption der Architektur auf Basis dieser Analyseergebnisse untersucht. Die Kompilierung von Anwendungen für VLIW-Architekturen wird aufgrund der kombinatorischen Komplexität üblicherweise mittels statischer Heuristiken durchgeführt, wodurch eine optimale Adaption an flexible Architekturen erschwert werden kann. Daher werden hier dynamische Methoden zur Codegenerierung, die auf evolutionären Algorithmen basieren, untersucht. Die Umsetzung der Architektur als Softcore auf einem FPGA bietet zusätzlich die Möglichkeit der dynamischen Adaption der Hardware zur Laufzeit. Diese Möglichkeiten und deren Einfluss auf die Leistungsfähigkeit der Prozessorsysteme werden ebenfalls untersucht. Die Analyse des Entwurfsprozesses in einer exemplarischen Anwendung der bildbasierten Objekterkennung und der Vergleich mit Implementierungen auf einem MIPS-Softcore bzw. VLIW-DSP zeigen die Eignung der Methoden zur Adaption von Softcore-Prozessoren und der EA-basierten Kompilierung von Anwendungen. Die dynamische Hardwarerekonfiguration zur Laufzeit kann bei reduziertem Flächenbedarf für die Hardware ohne Leistungsverlust eingesetzt werden

    Modulares Software Defined Radio

    Get PDF

    Topologie-Optimierung eines radselektiv angesteuerten Fahrzeugs basierend auf einer optimalen Fahrzeugführungsregelung

    Get PDF
    Die Elektrifizierung und Automatisierung von Fahrzeugen fördern Innovationen der gesamten Fahrzeugarchitektur. Werden radselektiv gelenkte und angetriebene Fahrzeuge betrachtet, können Herausforderungen urbaner Regionen begegnet werden. Um diese Entwicklungen mit dem alternativen Fahrzeugkonzept zu kombinieren, wird ein optimales Fahrwerk gestaltet. Die Topologie-Optimierung einer virtuellen Radaufhängung erfolgt im Zusammenspiel mit einer durchgängigen, optimalen Fahrzeugführungsregelung

    Topologie-Optimierung eines radselektiv angesteuerten Fahrzeugs basierend auf einer optimalen Fahrzeugführungsregelung

    Get PDF
    The electrification and automation of passenger vehicles promote innovations of the entire vehicle architecture. If wheel-selective steered and driven vehicles are considered, challenges of urban regions can be met. In order to combine these development priorities with the alternative vehicle concept, an optimal suspension is designed for the vehicle concept. The topology optimization of a virtual wheel suspension takes place in interaction with a continuous, optimal dynamics vehicle control

    COMRADE: A High Level Compiler for Adaptive Computer Systems

    Get PDF
    Rechenleistung wird klassisch durch schnellere oder zusätzliche Mikroprozessoren gesteigert. Dagegen lagert ein Adaptives Computersystem (ACS) rechenintensive Teile in rekonfigurierbare Hardware (HW) aus. Da die Programmerstellung für ein ACS von Hand Wissen über den Entwurf von Software (SW) und Hardware vom Entwickler verlangt und viel Zeit verbraucht, wurde der Compiler COMRADE entwickelt. COMRADE partitioniert einen C-Quelltext in einen SW-Teil und eine HW-Konfiguration für ein ACS. Dabei werden automatisch Regionen für eine HW-Beschleunigung bestimmt und HW-Konfiguration und SW zu einem lauffähigen Ganzen zusammengesetzt. COMRADE kann durch neue HW-Modulbibliotheken und Konfigurationsdateien leicht an neue Zielarchitekturen angepasst werden. Er unterstützt den vollen C-Sprachumfang. Eine verbesserte HW-SW-Partitionierung vergrößert den synthetisierten HW-Anteil. Heuristiken in COMRADE reduzieren die Nachteile der hohen Rekonfigurationszeiten von aktuellen Logikbausteinen durch Zusammenfassen mehrerer HW-Teile zu Konfigurationen. Ein Großteil der während der Programmausführung auf einem ACS sonst nötigen Konfigurationen kann so eingespart werden. Die Steuerung der HW übernimmt eine neu entwickelte Datenflussmaschine. Neben Hardware-Pipelines werden spekulative Berechnungen unterstützt. Aus mehreren Ergebnissen wird das richtige für die weitere Berechnung ausgewählt. Durch das neuartige Ausführungsmodell ergibt sich gegenüber herkömmlichen spekulativen Mechanismen ein Laufzeitgewinn. Die Anwendung verschiedener Optimierungen auf Hochsprachenebene zeigte wesentlichen Einfluss auf die Größe und die Geschwindigkeit der erzeugten HW. Nachgewiesen wurden der Vorteil jeder einzelnen Optimierung sowie die höhere Effektivität der Kombination von Optimierungen. Durch die in COMRADE implementierten Optimierungen konnten der HW-Verbrauch wie auch die Anzahl der Speicherzugriffe wesentlich reduziert werden.Traditionally, computer performance is increased by using faster or additional processors. Adaptive computers (AC) accelerate applications by executing software (SW) on reconfigurable hardware. The programming of an AC generally requires experience beyond conventional software programming, namely detailed knowledge in hardware (HW) architecture and design. COMRADE helps the programmer to develop program for ACs. It partitions C source code into HW configurations and SW. Automatically, HW regions for acceleration are determined, and these HW configurations are linked to the SW to create the program for the AC. COMRADE is easily adaptable to new target architectures with help of new HW module libraries and configuration files. It supports dusty deck C source code. Improved HW/SW partitioning increases the synthesizable HW part of translated application. Heuristics reduce disadvantages of high reconfiguration times of actual reconfigurable logic chips. It combines several HW configurations to one configuration. Thus, many configurations during the program execution are not needed anymore. The HW execution is controlled by a new developed data flow machine. Besides HW pipelining, speculative executions are supported. The right result is chosen from several in parallel calculated values. Because of the new execution model, the runtime of calculations in HW is increased compared to traditional data flow machines. Several optimizations are included in COMRADE. They achieve better performance and decreased resource requirements of the created HW. Besides advantages of single optimizations, the combination of optimizations showed higher efficiency than every single optimization

    Energy management in vehicles with alternative drives

    Get PDF
    Die Automobilindustrie wird in den nächsten Jahren mit vielen Herausforderungen wie zum Beispiel strengeren Abgasnormen und steigenden Ölpreisen konfrontiert. Um sich den Herausforderungen zu stellen, werden zurzeit Fahrzeuge mit alternativen Antrieben entwickelt und auf dem Markt platziert. Um weiterhin einen sicheren und effizienten Betrieb der elektrischen Komponenten zu gewährleisten, ist die Einführung eines ganzheitlichen Energiemanagements notwendig. Es umfasst dabei alle planenden, steuernden und vorausschauenden Maßnahmen. Im ersten Teil der Arbeit wird ein neuartiges Systemkonzept vorgestellt, das mittels interner Fahrzeuginformationen online eine Prognose vorausliegender Fahrsituationen wie z.B. Geschwindigkeits- und Höhenprofile vornehmen kann. Darauf aufbauend kann die Betriebsstrategie den zukünftigen Leistungs- bzw. Energiebedarf des Fahrzeugs berechnen und Steuerbefehle einleiten, um einen effizienteren Fahrbetrieb zu ermöglichen. Die Grundlage dieses Systemkonzeptes ist die Erkennung von Fahrstrecken anhand charakteristischer Lenkradwinkelinformationen und das Anlegen einer Historiendatenbank für die gefahrenen Strecken mit den jeweiligen Geschwindigkeits- und Höhenprofilen. Ausgehend von einer umfassenden Bordnetzanalyse werden im zweiten Teil der Arbeit verschiedene Auswirkungen auf den Entwicklungsprozess für die Dimensionierung der Bordnetzenergieversorgung diskutiert. Hieraus resultiert die Notwendigkeit, eine Toolkette zu entwickeln, welche auf Simulationen basiert. Diese besteht aus kommerziellen Simulationstools und der im Rahmen dieser Arbeit entwickelten Software Avanti (Advanced Analysis Tool and Simulation Interface). Avanti ermöglicht eine automatisierte und optimale Vorgehensweise bei der Dimensionierung unter Berücksichtigung verschiedener Steuerungsalgorithmen. Ein wesentlicher Bestandteil dieser Toolkette ist dabei die Einbindung einer in VHDL-AMS entwickelten und verifizierten Modellbibliothek für die Bordnetzkomponenten.Within the next few years, the automotive industry will be confronted with many challenges, as for example stricter emission standards and increasing oil prices. To meet the challenges, alternative drive concepts are currently being developed and placed in the market. To ensure a secure and efficient operation of the electric components, the introduction of an integrated energy management is required. It comprises all planning, controlling and predictive measures. The first part of this dissertation presents a new system concept, which can make an online prognosis of expected driving situations, such as speed and altitude profiles by means of internal vehicle information during an operating cycle. Based on this the control strategy can calculate the future power requirement of the vehicle and initiate control commands to enable a more efficient driving. The basis of this system concept is the recognition of routes with characteristic steering angle information and the creation of a history database for the routes driven with the respective vehicle speeds and altitudes. On the basis of an extensive analysis of the vehicle's electrical system in the second part of the dissertation, different effects on the development process for dimensioning the electrical system power supply are discussed. From this follows the necessity to develop a tool chain based on simulations. The tool chain consists of commercial simulation tools and the software Avanti (Advanced Analysis Tool and Simulation Interface) which is developed within the scope of the dissertation. Avanti enables an automated and optimal procedure when dimensioning the vehicle's electrical system in consideration of different control algorithms. A substantial part of this tool chain is the integration of a verified VHDL-AMS model library for the electrical system components

    Compileroptimierung und parallele Code-Generierung für zeitkritische eingebettete Multiprozessorsysteme

    Get PDF
    Durch den voranschreitenden Trend der Digitalisierung gewinnen intelligente digitale Systeme in vielen Bereichen des täglichen Lebens zunehmend an Bedeutung. Dies betrifft insbesondere auch den Bereich sicherheitskritischer Echtzeitsysteme, für deren sicheren Betrieb die Echtzeitfähigkeit nachgewiesen werden muss. Im Gegensatz zu Anwendungsfeldern ohne diese Anforderung sind effiziente Mehrkernprozessoren in Echtzeitsystemen derzeit noch kaum verbreitet. Der Hauptgrund für die bisherige Dominanz der Einzelkernprozessoren sind fehlende Methoden und Werkzeuge, um parallele Echtzeit-Software für Mehrkernprozessoren zu entwickeln und selbst im ungünstigsten Fall noch eine maximale Ausführungszeit (englisch Worst Case Execution Time, kurz WCET) garantieren zu können. In diesem Kontext besteht eines der wesentlichen Probleme darin, dass sich parallel ablaufende Software-Routinen im Hinblick auf ihre Laufzeit gegenseitig beeinflussen können. In Mehrkernprozessoren geschieht dies vor allem bei gleichzeitigen Zugriffen mehrerer Kerne auf eine gemeinsam genutzte Hardware-Ressource. Geeignete Methoden, um den Einfluss dieser als Interferenz bezeichneten Effekte bei der Software-Entwicklung präzise vorherzusagen und sichere Garantien für die Ausführungszeit abzuleiten, sind Gegenstand aktueller Forschung. Gleiches gilt für Software-Werkzeuge zur automatischen Parallelisierung, die auf harte Echtzeitanwendungen spezialisiert sind. Diese Arbeit zielt darauf ab, die Anwendbarkeit von Mehrkernprozessoren in Echtzeitsystemen durch Beiträge in den Bereichen der automatischen Software-Parallelisierung, Code-Optimierung und Hardware-Modellierung signifikant zu verbessern. Als Bestandteil einer Werkzeugkette zur automatischen Parallelisierung von sequentieller Echtzeit-Software wird in dieser Arbeit ein Compiler-Werkzeug zur WCET-optimierten parallelen Code-Generierung und ein zugehöriges paralleles Programmiermodell vorgestellt. Hierdurch können -- weitgehend ohne Zutun eines Endanwenders -- gut vorhersagbare parallele Programme erzeugt werden. Durch das Programmiermodell wird dabei sichergestellt, dass die Ausführungszeit, einschließlich der Interferenzeffekte, mit Hilfe einer statischen WCET-Analyse sicher nach oben abgeschätzt werden kann. Als Teil der Code-Generierung stellt die vorliegende Arbeit zwei Optimierungsmethoden vor, die zum einen den Kommunikations- und Synchronisationsaufwand zwischen den Prozessorkernen reduzieren und zum anderen die optimierte Allokation verteilter Speicher in heterogenen Speicherhierarchien ermöglichen. Erstere ist auf des parallele Programmiermodell abgestimmt und erlaubt die optimierte Platzierung von Kommunikations- und Synchronisationsoperationen sowie das Entfernen redundanter Synchronisation auf einer feingranularen Ebene. Die Optimierung der Speicherallokation ergänzt den Ansatz um ein formales Optimierungsmodell zur Zuweisung der Datenfelder eines generierten Programms zu den Speicherbereichen der Zielplattform. Das Modell bezieht dabei sowohl die Kosten für Interferenzeffekte als auch die Speicherhierarchie von Zielplattformen mit verteilten und heterogenen Speichern mit ein. Um die Schritte zur Generierung, Optimierung und Analyse von paralleler Echtzeit-Software weitgehend plattformunabhängig aufbauen zu können, beinhaltet die vorliegende Arbeit außerdem einen Ansatz zur generischen Modellierung von Mehrkernprozessorarchitekturen. Dieser erlaubt es, die Zielplattform mit Hilfe einer entsprechend erweiterten Architekturbeschreibungssprache (ADL) zu beschreiben, wodurch sich die darauf aufbauenden Entwicklungswerkzeuge mit überschaubarem Aufwand auf ein breites Spektrum von Hardware-Plattformen anwenden lassen. Mit dieser neuartigen Kombination erweitert die vorliegende Arbeit den Stand der Technik um einige wesentliche Bausteine, die die weitgehend automatisierte Parallelisierung von Echtzeit-Software ohne stark einschränkende Annahmen bezüglich der Struktur des Eingabeprogramms ermöglichen. Zu den weiteren Neuerungen dieser Arbeit zählen die Plattformunabhängigkeit bei der WCET-optimierten Software-Parallelisierung und die Berücksichtigung von Interferenzeffekten bei der Speicherallokation in Echtzeitsystemen. Die experimentelle Evaluation der vorgestellten Methoden und deren prototypischer Umsetzung zeigt, dass die WCET aller betrachteten Testanwendungen von der Parallelisierung profitieren kann. Auf einer Plattform mit vier Prozessorkernen konnte z.B. die WCET einer Anwendung aus dem Bereich der Bildverarbeitung durch die Parallelisierung im Vergleich zum sequentiellen Eingabeprogramm um Faktor 3,21 verbessert werden. Auch die Optimierungsansätze für Kommunikation und Speicherallokation führen größtenteils zu einer deutlichen Verbesserung der WCET. So konnten die durch Interferenzen verursachten Kosten im Zuge der Speicherallokation z.B. um bis zu 49% reduziert werden. Insgesamt haben die Ergebnisse dieser Arbeit damit das Potential, die effiziente und kostengünstige Nutzung von Mehrkernprozessoren im Bereich harter Echtzeitsysteme wesentlich voranzutreiben

    Untersuchung des Energieeinsparungspotenzials in eingebetteten Systemen durch energieoptimierende Compilertechnik

    Get PDF
    In der Arbeitswelt und in der Freizeit hat die Nutzung von mobilen elektronischen Geräten wie Handys oder PDAs in den letzten Jahren stark zugenommen. Die Funktionen dieser Geräte nehmen sowohl in der Anzahl als auch in der Komplexität weiter zu, wodurch die Kapazitätsgrenze der Akkus häufiger erreicht wird. Dies schränkt die Anwender ein und führt zu der Motivation, den Energieverbrauch zu reduzieren. Außerdem sind andere neue mobile Applikationen zukünftig nur realisierbar, nachdem der Energieverbrauch vorab weiter reduziert wurde. Neben der bekannten Optimierung der Hardware der Geräte auf Energieverbrauch liefert der steigende Anteil der Software ein neues Potenzial zur Energieeinsparung. Das Ziel dieser Arbeit ist die systematische Untersuchung dieses Energieeinsparungspotenzials bei der Ausführung der Applikationssoftware, welches durch modifizierte oder neue Compilertechniken erreicht werden kann.Zu Beginn der Arbeit werden die Grundlagen des Energieverbrauchs untersucht und daraus Ansatzpunkte für die Energiereduzierung durch Software entwickelt. Innerhalb des betrachteten Entwurfsablaufs eingebetteter Systeme liefert die Phase der SW-Synthese die Möglichkeit, Einfluss auf den generierten Maschinencode zu nehmen. Im Compiler liegen ausreichende Informationen zur Abschätzung des späteren Energiebedarfs vor, wenn ein entsprechendes Energiemodell integriert wird. Das in dieser Arbeit neu vorgestellte Energiemodell berücksichtigt die Unterschiede im Energieverbrauch in Abhängigkeit von den ausgeführten Instruktionen, ihren verwendeten Funktionseinheiten, den Zugriffen auf verschiedene Speicher sowie den Bitmustern der über Busse transportierten Daten. Diese Eigenschaften sind eine notwendige Voraussetzung zur umfassenden Untersuchung des Potenzials bei der Codegenerierung.Die verschiedenen Bestandteile und Phasen eines Compilers werden auf der Basis dieses Energiemodells systematisch betrachtet und auf ihr Einsparungspotenzial und die mögliche Integration des Optimierungsziels des Energieverbrauchs hin untersucht. Die Phasen im Front-End des Compilers bieten wenig Ansatzpunkte, da noch kein Bezug zu den Maschineninstruktionen und dem jeweiligen Energieverbrauch hergestellt werden kann. Den Schwerpunkt bilden somit die Phasen im Back-End mit der Instruktionsauswahl, der Instruktionsanordnung, der Registerallokation und den maschinenabhängigen Optimierungen.Im Detail werden die Phasen und Optimierungen betrachtet, in denen der Energieverbrauch einen Einfluss auf die Verarbeitung hat und die energiesparenden Optimierungen ausführlich beschrieben, die den größten Effekt aufzeigen. Insbesondere die Zugriffe auf den Speicher weisen einen hohen Anteil am Gesamtenergieverbrauch auf, so dass sich hieraus ein großes Potenzial ergibt. Daher bilden Optimierungen zur effizienteren Nutzung des Speichers den Schwerpunkt der Untersuchungen. Neben der Anwendung bekannter Optimierungen zur effizienteren Nutzung der Prozessorregister werden neue Optimierungen vorgestellt, die eine effiziente Nutzung kleiner, frei adressierbarer Onchip-Speicher unterstützen. Die bisher eingesetzten Caches beinhalten eine Hardwaresteuerung zum Einlagern von häufig verwendeten Programmteilen und Daten. Dieser Mechanismus kann die Programmausführung nennenswert beschleunigen, verbraucht aber in der zusätzlichen Hardware relativ viel Energie für häufige Adressvergleiche. Die Einbeziehung der während des Compilerlaufs vorliegenden Informationen bei der Entscheidung für die Programmteile und Daten, die in den Onchip-Speicher verlagert werden, bietet ein hohes Energieeinsparungspotenzial. Das dafür notwendige Verfahren wird sowohl als statische Variante mit einer festen Zuordnung von Programmteilen und Daten zum Hauptspeicher und Onchip-Speicher beschrieben als auch in einer erweiterten Variante mit integriertem Umkopieren der Blöcke während des Programmablaufs.Als Abschluss der Arbeit wird untersucht, wie alternative Codierungen auf Bussen zur Reduzierung des Energieverbrauchs genutzt werden können.Insgesamt konnte mit dieser Arbeit das Energieeinsparungspotenzial durch einen Compiler in seinen jeweiligen Phasen aufgezeigt werden, sowie neue Techniken, die die Speicherzugriffe effizienter generieren, vorgestellt werden. Der Energieverbrauch einer Applikation lässt sich dadurch in den betrachteten Fallbeispielen um ca. 50% gegenüber heute eingesetzten Systemen reduzieren

    Optimale Regelung eines prädiktiven Energiemanagements von Hybridfahrzeugen

    Get PDF
    Diese Arbeit verbindet die aktuellen Trends der Automobilindustrie (E-Mobilität, autonomes Fahren und das vernetzte Fahrzeug) in einem Entwurf für ein Fahrerassistenzsystem für Hybridfahrzeuge, das die Geschwindigkeitsregelung als auch die Regelung des Energiemanagements optimal übernimmt

    Ein techno-ökonomisches Modell zur Netzplanung unter Berücksichtigung regulierter Netzentgelte - Ein integrierter Ansatz im Rahmen der wertorientierten Unternehmensführung am Beispiel der 110-kV-Verteilnetzebene

    Get PDF
    Um Effizienzpotentiale in Stromübertragungs- und -verteilnetzen nutzbar zu machen, werden seit einigen Jahren optimierende Energiesystemmodelle für die Netzplanung entwickelt. Die vorliegende Arbeit erweitert die bisherigen ausgabenorientierten Optimierungsansätze um eine auf den Wert des Eigenkapitals ausgerichtete Bewertungsperspektive. Dabei werden die Erlöse aus regulierten Netzentgelten (u.a. nach der Stromnetzentgelt- und Anreizregulierungsverordnung) in der Bewertung berücksichtigt
    corecore