Zum Inhalt springen

„Application-specific instruction-set processor“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
AlleborgoBot (Diskussion | Beiträge)
überarbeitet
Zeile 1: Zeile 1:
Ein '''application-specific instruction-set processor''' (ASIP, zu deutsch etwa: Prozessor mit anwendungsspezifischem Befehlssatz) ist eine [[Hauptprozessor|CPU]], deren [[Befehlssatz]] für eine spezielle Anwendung optimiert wurde.
Ein '''application-specific instruction-set processor''' (ASIP, zu deutsch etwa: Prozessor mit anwendungsspezifischem Befehlssatz) ist ein [[Prozessor (Hardware) | Prozessor]], dessen [[Befehlssatz]] für eine Klasse von Anwendungen optimiert wurde.


Unter dem Begriff "Anwendung" oder "Applikation" versteht man dabei einen bestimmten [[Algorithmus]], also beispielsweise eine [[Schnelle Fourier-Transformation|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 [[Anwendungsspezifische Integrierte Schaltung|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.
Unter dem Begriff ''Anwendung'' oder ''Applikation'' versteht man dabei einen bestimmten [[Algorithmus]], beispielsweise eine [[schnelle Fouriertransformation]] oder einen [[Sortieralgorithmus]]. Der Zweck eines ASIPs besteht darin, eine Klasse von Algorithmen mit ähnlichen Anforderungen effizient mit einer digitalen Schaltung zu realisieren. Darüber hinaus ist ein ASIP aufgrund seiner Programmierbarkeit flexibel für Änderungen an den Algorithmen.


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.
Je nach Zielvorgabe möchte man beim Entwurf des ASIPs die benötigte Siliziumfläche, den Energieverbrauch oder die Rechengeschwindigkeit 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 einem Standardprozessor (z.B. [[ARM-Architektur | ARM]] oder [[PowerPC]]) oder einem Standard-DSP ([[Digitaler Signalprozessor]]). Dies wird erreicht, indem die Hardwarearchitektur des ASIPs und seine Software gemeinsam optimiert werden.


== ASIP Entwurf ==
== 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.


Beim Entwurf werden zunächst die in der Anwendung verwendeten Gruppen von elementaren Rechenoperationen (z.B. Additionen, Subtraktionen, logische Operationen) und der [[Datenfluss]] analysiert. Zur Veranschaulichung kann dazu ein [[Datenflussdiagramm]] dienen. Anhand der Häufigkeit einzelner Gruppen von Operationen können dann optimierte Instruktionen definiert werden.
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 ==
== Literatur ==

Version vom 29. Juli 2008, 16:09 Uhr

Ein application-specific instruction-set processor (ASIP, zu deutsch etwa: Prozessor mit anwendungsspezifischem Befehlssatz) ist ein Prozessor, dessen Befehlssatz für eine Klasse von Anwendungen optimiert wurde.

Unter dem Begriff Anwendung oder Applikation versteht man dabei einen bestimmten Algorithmus, beispielsweise eine schnelle Fouriertransformation oder einen Sortieralgorithmus. Der Zweck eines ASIPs besteht darin, eine Klasse von Algorithmen mit ähnlichen Anforderungen effizient mit einer digitalen Schaltung zu realisieren. Darüber hinaus ist ein ASIP aufgrund seiner Programmierbarkeit flexibel für Änderungen an den Algorithmen.

Je nach Zielvorgabe möchte man beim Entwurf des ASIPs die benötigte Siliziumfläche, den Energieverbrauch oder die Rechengeschwindigkeit 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 einem Standardprozessor (z.B. ARM oder PowerPC) oder einem Standard-DSP (Digitaler Signalprozessor). Dies wird erreicht, indem die Hardwarearchitektur des ASIPs und seine Software gemeinsam optimiert werden.

ASIP Entwurf

Beim Entwurf werden zunächst die in der Anwendung verwendeten Gruppen von elementaren Rechenoperationen (z.B. Additionen, Subtraktionen, logische Operationen) und der Datenfluss analysiert. Zur Veranschaulichung kann dazu ein Datenflussdiagramm dienen. Anhand der Häufigkeit einzelner Gruppen von Operationen können dann optimierte Instruktionen definiert werden.

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.