Viele eingebettete Systeme, wie Smartphones, PDAs, MP3-Player und zahlreiche weitere, werden zur Miniaturisierung, Kostenreduktion und Steigerung der Robustheit zunehmend als System-on-a-Chip, also auf nur einem Stück Silizium, gefertigt. In solchen Systemen arbeiten sowohl Prozessoren und Speicher, wie auch mannigfaltige andere Peripherieeinheiten, welche spezialisierte Aufgaben des jeweiligen Einsatzgebietes des Systems übernehmen. Einige dieser Einheiten sind jedoch nicht durchgängig im Einsatz, wie beispielsweise ein GSM-Modulator bei Smartphones oder ein Hardware MPEG-Dekoder im PDA. Aufgrund der benötigten Flexibilität und des einfacheren Entwurfsprozesses wird es zunehmend populärer, Systems-on-a-Chip mit Field Programmable Gate Arrays (FPGAs), frei programmierbaren Logikbausteinen, zu realisieren. Aktuelle Bausteine erlauben dynamische partielle Rekonfiguration. Sie können also Teile ihrer Logik ersetzen, während andere weiter in Betrieb bleiben. Die Ressourcen nicht aktiver Einheiten des Systems können somit dynamisch für andere Zwecke benutzt werden. Diese Arbeit schlägt eine Prozessorarchitektur vor, deren Rechenleistung sich durch zeitlich variable Hinzunahme und Abgabe von zur Verfügung stehenden Ressourcen der programmierbaren Logik anpasst. Zusätzliche Ressourcen werden, um dies zu erreichen, durch zusätzliche Funktionseinheiten für den Prozessor belegt. Deren Einbindung in die Berechnungen wird durch parallel ausführbare, den Prinzipien des Explicitly Parallel Instruction Computings genügende Instruktionen erreicht. Werden die belegten Ressourcen des Prozessors an anderer Stelle wieder benötigt, werden schrittweise Funktionseinheiten abgetreten, bis ein Minimum an Rechenleistung des Prozessors erreicht ist. Durch diesen Ansatz werden die zeitweise ungenutzten Ressourcen des Prozessors sinnvoll verwendet. Zudem bietet die vorgeschlagene Architektur die Fähigkeit, sich selbst an die auszuführenden Berechnungen anzupassen und sie somit schneller auszuführen. Ziel dieser Arbeit ist es, eine solche Klasse neuer Prozessoren zu definieren, ihren möglichen Nutzen zu quantifizieren und ihre technische Umsetzbarkeit nachzuweisen. Die mögliche Beschleunigung durch eine solche Architektur wird durch simulative Zuordnung von Befehlen potentieller Traces von Programmen auf Funktionseinheiten ermittelt. Die technische Machbarkeit des Ansatzes wird durch prototypische Implementierungen der kritischen Elemente der Architektur, vor allem im Bereich der partiellen Rekonfiguration von FPGAs, gezeigt.
«Viele eingebettete Systeme, wie Smartphones, PDAs, MP3-Player und zahlreiche weitere, werden zur Miniaturisierung, Kostenreduktion und Steigerung der Robustheit zunehmend als System-on-a-Chip, also auf nur einem Stück Silizium, gefertigt. In solchen Systemen arbeiten sowohl Prozessoren und Speicher, wie auch mannigfaltige andere Peripherieeinheiten, welche spezialisierte Aufgaben des jeweiligen Einsatzgebietes des Systems übernehmen. Einige dieser Einheiten sind jedoch nicht durchgängig im Einsa...
»