• search hit 9 of 9
Back to Result List

Automatisierter Entwurf anwendungsspezifischer VLIW-Prozessoren

Automated design of application specific VLIW-Processors

  • In einigen Einsatzbereichen digitaler Systeme sind die Anforderungen an die Verarbeitungsgeschwindigkeit bei gleichzeitig niedrigem Platz- und Stromverbrauch so hoch, dass sie nur durch die Verwendung spezialisierter Hardware erfüllt werden können. Zugleich sind bereits vor Beginn des Entwurfs solcher Systeme die von ihnen besonders effizient abzuarbeitenden zeitkritischen Algorithmen fest vorgegeben. Eine Hardwarelösung für jeden Algorithmus bietet daher im Allgemeinen die höchste Ausführungsgeschwindigkeit, ist aber unflexibel und sehr zeitintensiv in der Realisierung. Das steht im Widerspruch zu den geforderten kurzen Entwicklungszeiten. Zudem sind bei einer Hardwarelösung kleinere Modifikationen an den Algorithmen in einer späteren Entwurfsphase des Systems kaum noch möglich. Anwendungsspezifische Prozessoren (ASPs) bieten in dieser Hinsicht einen guten Kompromiss zwischen Flexibilität und Ausführungsgeschwindigkeit, da sie durch eine Anpassung an die zeitkritischen Algorithmen diese sehr effizient abarbeiten können undIn einigen Einsatzbereichen digitaler Systeme sind die Anforderungen an die Verarbeitungsgeschwindigkeit bei gleichzeitig niedrigem Platz- und Stromverbrauch so hoch, dass sie nur durch die Verwendung spezialisierter Hardware erfüllt werden können. Zugleich sind bereits vor Beginn des Entwurfs solcher Systeme die von ihnen besonders effizient abzuarbeitenden zeitkritischen Algorithmen fest vorgegeben. Eine Hardwarelösung für jeden Algorithmus bietet daher im Allgemeinen die höchste Ausführungsgeschwindigkeit, ist aber unflexibel und sehr zeitintensiv in der Realisierung. Das steht im Widerspruch zu den geforderten kurzen Entwicklungszeiten. Zudem sind bei einer Hardwarelösung kleinere Modifikationen an den Algorithmen in einer späteren Entwurfsphase des Systems kaum noch möglich. Anwendungsspezifische Prozessoren (ASPs) bieten in dieser Hinsicht einen guten Kompromiss zwischen Flexibilität und Ausführungsgeschwindigkeit, da sie durch eine Anpassung an die zeitkritischen Algorithmen diese sehr effizient abarbeiten können und gleichzeitig in der Lage sind, leicht modifizierte Varianten und andere zeitunkritische Teile der Anwendung abzuarbeiten. In dieser Arbeit wird ein methodisches Vorgehen (DESCOMP - Design By Compilation) und die dafür benötigten Techniken vorgestellt, so dass für ein fest vorgegebenes Spektrum an Algorithmen und zugehörigen Zeitschranken die Anpassung der Parameter eines konfigurierbaren ASPs vollständig automatisiert durchgeführt werden kann und der angepasste Prozessor die Algorithmen innerhalb der Zeitschranken abarbeiten kann. Dabei wird der Platz- und Stromverbrauch des Prozessors minimiert. Schwerpunkt bildet die Anpassung an datenflussdominierte Algorithmen. Daher wird während der Design-Space-Exploration (DSE) insbesondere die verfügbare Parallelität auf Instruktionsebene optimiert. Als Basisarchitektur dient ein heterogener geclusterter VLIW-Prozessor. Dessen anzupassende Parameter umfassen die Clusteranzahl, die Art und Anzahl der funktionalen Einheiten (FUs) in jedem Cluster sowie die Kapazität des Verbindungsnetzwerkes zwischen den Clustern. Bereits bekannte Verfahren zur DSE weisen eine hohe Komplexität bei der Anpassung dieser Parameter auf, da die gegebene Anwendung mit einem Compiler für eine Architektur mit festen Parametern übersetzt wird. Die Parameter der Architektur sowie der Compiler werden bei diesen Ansätzen in einem iterativen Prozess modifiziert, weswegen eine große Anzahl von Konfigurationen zu untersuchen ist. Bei DESCOMP dagegen, werden die Algorithmen wie mit einem Compiler übersetzt, jedoch ohne dass die genauen Parameter der Zielarchitektur bekannt sind. Aus dem so erzeugten Zielcode, der hinsichtlich des Platz- und Stromverbrauchs der für seine Abarbeitung erforderlichen Hardware optimiert wurde, werden dann die Parameter des ASPs abgeleitet. Grundlage von DESCOMP bildet die Einteilung der DSE in eine lokale und globale Optimierungsphase. Für die lokale Optimierungsphase wurden zeitbeschränkte heuristische Planungstechniken aus der High-Level-Synthese modifiziert, um optimierte geclusterte Ablaufpläne unterschiedlicher Länge für dieselben Basisblöcke zu erzeugen. Dabei wird die Kombination verschiedener Operatoren in derselben FU bereits berücksichtigt. Das trägt neben der Clusterung zur Reduzierung der erforderlichen Parallelität in den Clustern bei. Ein neu entwickelter Clusterungsalgorithmus, der mit der Planung gekoppelt ist, erlaubt es, in einem iterativen Vorgehen die gegenseitigen Wechselwirkungen von Clusterung und Ablaufplanung zu berücksichtigen sowie vollständig automatisch eine geeignete Clusteranzahl zu bestimmen. Aus den verschiedenen geclusterten Ablaufplänen, die zu einem Basisblock erzeugt wurden, wird in der globalen Optimierungsphase jeweils ein Ablaufplan für jeden Basisblock ausgewählt, so dass die ausgewählten Ablaufpläne ähnliche Anforderungen an den Prozessor stellen und dieser in der Lage ist, die zuvor festgelegten Zeitschranken bei der Abarbeitung einzuhalten. Für die Auswahl werden Informationen aus der lokalen Optimierungsphase genutzt. Es wird berücksichtigt, dass mit steigender Parallelität in den Clustern die maximal mögliche Taktfrequenz des Prozessors sinkt. Mit den vorgestellten Verfahren zur lokalen Optimierung wurden Architekturen für verschiedene Benchmarkprogramme erzeugt und mit den Ergebnissen aus der Dissertation von Victor Lapinskii hinsichtlich der erforderlichen Parallelität verglichen. Es zeigte sich, dass bei gleicher Abarbeitungsgeschwindigkeit mit dem DESCOMP-Ansatz im Durchschnitt ca. 20 Prozent weniger Parallelität in den Architekturen erforderlich ist, was zu einer deutlichen Verringerung des Platz- bzw. Stromverbrauchs führt und gleichzeitig eine höhere Taktfrequenz zulässt. Die Anwendbarkeit der globalen Optimierungsstrategie wurde anhand der Kombination kleinerer Signalverarbeitungsalgorithmen demonstriert.show moreshow less
  • In many areas of application of digital systems high performance is required. At the same time area and power consumption of the system must be very low. These requirements may only be met by specialized hardware. Furthermore, the algorithms that should be executed by such a digital system are often fixed at the beginning of the development process. Therefore, an application specific integrated circuit (ASIC) for each algorithm may provide the best performance per are/power ratio. However, developing such an ASIC is time consuming and using an ASIC makes it impossible to make little changes in the algorithm at a later development stage. Application Specific Processors (ASPs) provide a good trade-off between performance and flexibility. On the one hand, by adapting them the given algorithm can be executed very fast. On the other hand slightly modified versions of the algorithm and other parts of the application can be executed by the adapted processor, too.This thesis introduces a new methodology (DESCOMP - Design By Compilation) forIn many areas of application of digital systems high performance is required. At the same time area and power consumption of the system must be very low. These requirements may only be met by specialized hardware. Furthermore, the algorithms that should be executed by such a digital system are often fixed at the beginning of the development process. Therefore, an application specific integrated circuit (ASIC) for each algorithm may provide the best performance per are/power ratio. However, developing such an ASIC is time consuming and using an ASIC makes it impossible to make little changes in the algorithm at a later development stage. Application Specific Processors (ASPs) provide a good trade-off between performance and flexibility. On the one hand, by adapting them the given algorithm can be executed very fast. On the other hand slightly modified versions of the algorithm and other parts of the application can be executed by the adapted processor, too.This thesis introduces a new methodology (DESCOMP - Design By Compilation) for adapting automatically a configurable ASP to given algorithms, so that the adapted processor executes the given algorithms within given time constraints. The processor is optimized regarding to area and power consumption. The algorithms are data-flow-dominated. Therefore, instruction level parallelism is carefully considered during Design-Space-Exploration (DSE). The adapted base architecture is a configurable clustered VLIW-processor. Its adaptable parameters include number of clusters, number and type of each functional unit in each cluster as well as capacity of inter-cluster-communication network. Already existing approaches for DSE have a large run time for adapting these parameters, due to their iterative proceeding. This means, the given algorithms are compiled for a certain target architecture. The target architecture and the compiler are modified in each iteration, until a well adapted architecture is found. This leads to a large number of architectures that must be considered. DESCOMP avoids this iterative proceeding by compiling the given algorithms like a compiler but without knowing the parameters of the target architecture. Rather the parameters of the target architecture are derived from the produced target code, which is optimized regarding to area and power consumption of the architecture necessary to execute it. By this, a repetitive compilation is not necessary. The separation of the DSE into a local and global optimization stage forms basis for the DESCOMP approach. The local optimization stage uses modified time constrained scheduling techniques from the High-Level-Synthesis in order to produce optimized clustered schedules of different length for each basic block of the given algorithms. In this step the combination of different operators in the same functional unit is already considered. That contributes next to the clustering to the reduction of the required instruction level parallelism in each cluster. A new developed clustering algorithm, which is coupled with the scheduling in an iterative way, allows to consider the mutual dependencies of clustering and scheduling. Moreover, a suitable number of clusters is determined completely automatically.During the local optimization stage information are gained over those architectures that are necessary for executing individual basic blocks with different performance. These information are used in the subsequent global optimization stage for selecting a clustered schedule from all the schedules that were produced for a particular basic block so that the selected schedules of all basic blocks have similar requirements to the processor and the processor is able to execute them within the previously defined time constraints. It is also considered at the selection, that with increasing instruction level parallelism the highest possible clock rate of the processor is reduced.Architectures were produced with the presented approach for different benchmark programs and compared with the architectures that are given in Victor Lapinskii's dissertation with regard to the necessary instruction level parallelism. The results show, that benchmark programs could be executed at the same performance with the DESCOMP architectures while instruction level parallelism could be reduced on average of 20 percent. This leads to a clear decrease of area and power consumption and approves a higher clock rate. The applicability of the global optimization strategy was demonstrated by means of combination of smaller signal processing algorithms into a single benchmark program.show moreshow less

Download full text files

Export metadata

Additional Services

Search Google Scholar Stastistics
Metadaten
Author: Mario Schölzel
URN:urn:nbn:de:kobv:co1-opus-397
Referee / Advisor:Prof. Dr. Peter Bachmann
Document Type:Doctoral thesis
Language:German
Year of Completion:2006
Date of final exam:2006/10/09
Release Date:2006/12/12
Tag:Design-Space-Exploration; Prozessorentwurf; VLIW
Design-space-exploration; Processor design; VLIW
GND Keyword:Entwurfsautomation; Hardwareentwurf; VLIW-Architektur
Institutes:Fakultät 1 MINT - Mathematik, Informatik, Physik, Elektro- und Informationstechnik / FG Programmiersprachen und Compilerbau
Institution name at the time of publication:Fakultät für Mathematik, Naturwissenschaften und Informatik (eBTU) / LS Praktische Informatik / Programmiersprachen und Compilerbau
Einverstanden ✔
Diese Webseite verwendet technisch erforderliche Session-Cookies. Durch die weitere Nutzung der Webseite stimmen Sie diesem zu. Unsere Datenschutzerklärung finden Sie hier.