Zum Inhalt springen

Application-specific instruction-set processor

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 13. Juni 2008 um 21:31 Uhr durch Oreg (Diskussion | Beiträge) (Literatur: WP-Vorlage, bessere Referenz). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Ein application-specific instruction-set processor (ASIP, zu deutsch etwa: Prozessor mit anwendungsspezifischem Befehlssatz) ist eine CPU, deren Befehlssatz für eine spezielle Anwendung optimiert wurde.

Unter dem Begriff "Anwendung" oder "Applikation" versteht man dabei einen bestimmten Algorithmus, also beispielsweise eine schnelle Fouriertransformation oder einen Sortieralgorithmus. Der Zweck eines ASIPs besteht darin, einen solchen Algorithmus effizient mit einer digitalen Schaltung zu realisieren. Üblicherweise verwendet man dazu eine ASIC-Technologie und eine Hardwarebeschreibungssprache, in der man das Verhalten des ASIPs beschreibt. Je nach Zielvorgabe möchte man dabei verschiedene Parameter wie benötigte Siliziumfläche, Energieverbrauch oder Rechenzeit optimieren.

Für viele Anwendungen erreicht man mit einem ASIP um ein bis zwei Größenordnungen bessere Ergebnisse für jeden dieser Parameter, als mit einer Standard-CPU (also z.B. einem Pentium- oder einem PowerPC-Prozessor) oder einem Standard-DSP (Digitaler Signalprozessor). Dies wird erreicht, indem sowohl die Hardwarearchitektur des ASIPs als auch seine Software gemeinsam optimiert werden.

ASIP Entwurf

Es müssen zunächst die in der Anwendung verwendeten elementaren Rechenoperationen wie z.B. Additionen, Subtraktionen, oder logischen Operationen und der zugrundeliegende Datenfluss analysiert werden. Zur Veranschaulichung kann dazu ein Datenflussdiagramm dienen.

Anhand der Häufigkeit einzelner Operationen oder Gruppen von Operationen können dann optimierte Instruktionen für einen ASIP definiert werden. Die Optimierung beschränkt sich dabei nicht nur auf die Auswahl der eventuell parallel stattfindenden Operationen, sondern es können auch die Schnittstellen zu Außenwelt (engl. Input/Output, I/O) bzw. zum Datenspeicher (engl. data memory) für die Anwendung optimiert werden. Letzteres ist vor allem wichtig, wenn viele parallele Operationen gleichzeitig auf unterschiedlichen Daten ausgeführt werden sollen.

Literatur

  • Paolo Ienne, Rainer Leupers (Hrsg.): Customizable Embedded Processors. Morgan Kaufmann, San Mateo, Kalifornien 2006, ISBN 978-0-12-369526-0.
  • Matthias Gries, Kurt Keutzer (Hrsg.): Building ASIPs: The Mescal Methodology. Springer, New York 2005, ISBN 978-0-387-26057-0.
  • Oliver Schliebusch, Heinrich Meyr, Rainer Leupers: Optimized ASIP Synthesis from Architecture Description Language Models. Springer, Dordrecht 2007, ISBN 978-1-4020-5685-7.