Startseite   |  Site map   |  A-Z artikel   |  Artikel einreichen   |   Kontakt   |  
  


informatik artikel (Interpretation und charakterisierung)

Allgemeine features von dsp


1. Java
2. Viren

Digitale Signalprozessoren müssen für Echtzeitverarbeitung einen sehr hohen Datendurchsatz haben, der größer ist als jener von herkömmlichen Mikroprozessoren. Da aber die Taktraten bei Mikroprozessoren in der Regel bereits knapp am technologisch sinnvoll Machbaren liegen, stellt sich die Frage welche Mittel man anwenden kann, um einen DSP schneller zu machen?
Zum einen liegt die Antwort in der Architektur der DSP\'s. Diese Prozessoren werden immer mit einer relativ großen Wortbreite (16 oder 32 Bit) ausgeführt, und haben Fest- oder Fließkomma-Arithmetik bereits hardwaremäßig implemen¬tiert. Dadurch ist bereits eine gewisse Parallelverar¬beitung von Informationen möglich.
Außerdem werden sie oft mit einer Pipeline-Architektur gebaut, die zwar noch keine vollständige Parallelverar¬beitung ausmacht, aber immerhin garantiert, daß Arbeits¬schritte, die nicht zwingend hintereinander ablaufen müs¬sen, gleichzeitig erfolgen. Diese Fähigkeit sei an folgen¬dem Beispiel erklärt: Um einen Befehl abzuarbei¬ten ist es notwendig, daß dieser erst einmal aus dem Programmspeicher in den Prozessor geladen wird (Instruction-fetch), dann entschlüsselt wird, was auszu¬führen ist, (instruction-decode) und schließlich muß der Befehl auch abgearbeitet wer¬den (execution). Der Prozessor gewinnt an Geschwin¬digkeit, wenn er die Fähigkeit besitzt. während der Aus¬führung eines Befehls den nächsten bereits zu laden und zu dekodieren. Dieses Verfahren verwenden übrigens nicht nur DSP, sondern auch die Mikroprozessoren der letzten Generation (Intel 80386).
Eine weitere Methode zur Beschleunigung eines Prozessors ist die Implementierung der Harvard-Architektur. Auch diese stellt einen Schritt in Richtung Parallelverarbei¬tung dar. Dabei werden Programm und Daten in getrennten Bereichen gespeichert, und auch über eigene Busse ge¬führt. Allerdings führt dieses Verfahren schnell zu hoher Komplexität der Hardware, weshalb oft folgender Weg be¬schritten wird: Innerhalb des Prozessors wird der Bus getrennt geführt, außerhalb wird durch Multiplextechnik die doppelte Busstruktur auf eine einfache reduziert, um den Aufwand an extern erforderlicher Hardware gering zu halten. Welcher Architektur im konkreten Anwendungsfall der Vorzug zu geben ist, hängt davon ab, wie zeitkritisch die Applikation ist, bzw. wie weit ökonomische Gesichts¬punkte berücksichtigt werden müssen. Der Zeitfaktor wird aber in der Regel dadurch gemildert, daß die meisten DSP\'s bereits internes RAM und ROM besitzen, das sie über die getrennten Busse ansprechen können. Ein wesentlicher Fak¬tor zur Erhöhung der Arbeitsgeschwindigkeit ist die Imple¬mentierung eines Hardware-Multiplizierers, da die Multiplikation als typischer Befehl in signalverarbeiten¬den Algorythmen bei einer Realisierung über Software sehr viel Zeit in Anspruch nehmen würde. Ein moderner 16x16 Bit Hardware-Multiplizierer benötigt zur Produktbildung etwa 100 bis 200ns, während selbst moderne Mikroprozessoren dafür einige Mikrosekunden benötigen. Wenn man bedenkt, daß etwa in einem digitalen Audiosystem zur Abarbeitung einfacher Filteralgorythmen maximal 30us zu Verfügung stehen und daß dabei mehrere Multiplikationen sowie Additionen und Schiebeoperationen (neben Ein- Ausgabebe¬fehlen) durchzuführen sind, wird der Einsatz spezieller Prozessoren unentbehrlich, wenn man nicht auf eine \"dis¬krete\" Logik wie in Abschnitt 2 beschrieben zurückgreifen will.


























Bild 3.1 Blockschaltbild eines gebräuchlichen DSP IC\'s
mit Harvard-Architektur und Hardware Multiplizierer
(Texas Instruments TMS 32010)

Die bisher genannten Methoden zur Vergrößerung des Daten¬durchsatzes sind nicht unbedingt typisch für DSP\'s, sondern der Technologie von Großrechnern entlehnt. Die zweite Kategorie von Maßnahmen, die einen Signalprozessor für eine bestimmte Aufgabe geeignet oder ungeeignet er¬scheinen läßt, wird dadurch gesetzt, daß sein Anwendungs¬gebiet bekannt ist. Der Zugang dazu wird sowohl über Hard- als auch Software ermöglicht.
Von der Softwareseite erfolgt die Problemlösung über die Gestaltung des Befehlssatzes. Da der Prozessor ja nur für ein ganz bestimmtes Anwendungsgebiet gedacht ist, kann der Befehlssatz spezielle Instruktionen enthalten, die die Verarbeitung bestimmter Algorythmen begünstigen. Darüber hinaus kann eine Instruktion mehrere Operationen aus¬führen. Damit kann der für einen speziellen Anwendungsfall gedachte DSP unter Umständen mit einem einzigen Befehl das erreichen, wofür ein herkömmlicher Mikroprozessor ein ganzes Unterprogramm benötigen würde. So kann z.B. bei einem Signalprozessor in einem einzigen Befehl ein gerade erstelltes Produkt zum Akkumulator addiert werden, das Multiplikanden-Register mit dem nächsten Wert geladen und dieser Wert im Datenram auf die nächste Seite kopiert werden. Alle drei Einzeloperationen sind bei der Realisierung eines Digitalfilters von größter Wichtigkeit, und die Ausführungszeit liegt bei einem DSP in der Größen¬ordnung von etwa 200ns. Außerdem beschleunigen Bit-Test¬befehle, die ein bestimmtes Bit in einem Wort testen können ohne vorher maskieren zu müssen, den Ablauf.
Das Wissen um das spezielle Einsatzgebiet erlaubt die entsprechende Gestaltung des Prozessor-Hardwareaufbaus. Die Möglichkeiten reichen hier vom Einsatz verschiedener ALU\'s für verschiedene Aufgaben, die dann gleichzeitig gelöst werden können über spezielle Register, die bestim¬mte Befehle abarbeiten, ohne daß die Daten dazu in den Akkumulator transportiert werden müssen, bis zu Rück¬kopplungswegen, die bestimmte Befehle (z.B. multipliziere und akkumuliere) erst ermöglichen. Daneben können noch Wiederholzähler (für rekursive Algorithmen) und Barrel¬shifter (der Befehl enthält die Anzahl der Stellen, um die der Operand verschoben wird, und erspart damit mehrmaligen Aufruf eines Befehls, der nur imstande ist, um ein Bit zu verschieben) vorgesehen sein. Ein entsprechend großer RAM-Bereich auf dem Prozessorchip ermöglicht die sinnvolle Nutzung der getrennten Programm- und Datenbusstruktur, wobei auch hier der Befehlssatz den Datenaustausch zwischen Programm und Datenbus wirksam unterstützt. So kann mit einem einfachen Befehl ein Abschnitt des Programmspeichers in den Datenspeicher übertragen werden. Filterkoeffizienten können damit in vergleichsweise große externe Programm-RAM\'s (oder EPROM\'s) abgelegt werden und bei Bedarf in den kleinen internen Datenspeicher des Signalprozessors geholt werden, da die ALU oft nur Daten vom internen RAM direkt verarbeiten kann. Einige Herstel¬ler bieten auch erweiterte Versionen an, bei denen ein schneller Analog-Digital-Wandler auf dem Chip integriert ist, was bei qualitativ weniger kritischen Anwendungen Vorteile bringen kann.

 
 

Datenschutz
Top Themen / Analyse
indicator IMPULSDIAGRAMME + SPEZIFIKATIONEN
indicator TCP/IP - Dienste
indicator Ethernet -
indicator Konstruktoren und Destruktoren
indicator Was ist das - ein Computer:
indicator Entwurfsphilosophie
indicator Sequentielle Suche (sequential search)
indicator Einleitung, Anforderungen an Netzwerke, ISO-OSI-Modell
indicator Das Complete Trust Model
indicator Symmetrische und asymmetrische Verfahren


Datenschutz
Zum selben thema
icon Netzwerk
icon Software
icon Entwicklung
icon Windows
icon Programm
icon Unix
icon Games
icon Sicherheit
icon Disk
icon Technologie
icon Bildung
icon Mp3
icon Cd
icon Suche
icon Grafik
icon Zahlung
icon Html
icon Internet
icon Hardware
icon Cpu
icon Firewall
icon Speicher
icon Mail
icon Banking
icon Video
icon Hacker
icon Design
icon Sprache
icon Dvd
icon Drucker
icon Elektronisches
icon Geschichte
icon Fehler
icon Website
icon Linux
icon Computer
A-Z informatik artikel:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #

Copyright © 2008 - : ARTIKEL32 | Alle rechte vorbehalten.
Vervielfältigung im Ganzen oder teilweise das Material auf dieser Website gegen das Urheberrecht und wird bestraft, nach dem Gesetz.
dsolution