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


informatik artikel (Interpretation und charakterisierung)

Hacker

Dsp mit datenfluß-methode


1. Java
2. Viren

Der bisher besprochene 320xx ist trotz verbesserter Architektur ein Von-Neumann-Computer, bei dem ein Zyklus das Senden der Adresse, Empfangen des Datums, Entschlüs¬seln und Verarbeiten umfaßt. Der hier beschriebene uPD7281 (\"Image-Pipelined-Processor\") verwen¬det die Datenfluß-Methode.

3.3.1 Datenflußmethode

Der Unterschied in der Arbeitsweise eines Computers, der die Datenflußmethode anwendet sei an einem einfachen Bei¬spiel dargestellt; der Berechnung des folgenden Ausdrucks:


Y = AxB + CxD

Ein von Neumann Computer berechnet zunächst beide Produkte, die er anschließend addiert (Bild 3.2). Hierbei ist nicht einzusehen, warum er eigentlich die beiden Multiplikationen Y1 = AxB und Y2 = CxD nicht gleichzeitig ausführt.















Bild 3.2 Flußdiagramm einer Berechnung mit einem

Von-Neumann-Computer

Ein Datenfluß-Computer ermöglicht diese Art von Parallel-Operationen. Er verfügt über eine Anzahl datengetriebener Arithmetik-Einheiten, die die Operationen beginnen, sobald Daten einlangen. Dieser Vorzug ermöglicht den asynchronen Betrieb jeder Arithmetik-Einheit. Zusätzlich zu diesen Arithmetik-Einheiten besitzt der Datenfluß-Computer einen Fluß-Controller, dessen Aufgabe es ist zu bestimmen, wohin welche Daten gesandt werden sollen. Die Daten selbst sind mit einer ID (Identifikation) versehen und bezeichnen ihren Ursprung.














Bild 3.3 Datenfluß-Methode

Aus diesem Grund ist es nicht erforderlich, die Instruktionen durch das Programm zu beschreiben, und es ist nicht nötig, die Reihenfolge der Abarbeitung anzugeben. Es muß lediglich der Fluß der zu verarbeitenden Daten beschrieben werden.
Da die Flußdiagramme für Von-Neumann-Computer weniger geeignet sind, Datenflüsse und Parallelverarbeitung inner¬halb eines Programmes auszudrücken, werden sogenannte Flowgraphs_*) angewendet, um solche Programme schematisch

_ *) Flowgraphs bestehen aus Knoten, die den Operanden eines Ausdrucks entsprechen (den auszuführenden Befehlen) und Richtungssegmenten, oder \"arcs\", die den Datenflß be¬zeichnen. Flowgraphs bringen weniger eine sequentielle Abarbeitung zum Ausdruck, als vielmehr die Parallelver¬arbeitung bestimmter Prozesse. Die DAten, die zwischen den Knoten fließen werden als Token bezeichnet. Jene Information, die die Hardware steuert, wird den Token hinzugefügt, sobald sie durch die verschiedenen Hardware-Stufen fließen

darzustellen. Der Flowgraph für die Berechnung von


Y = AxB + CxD

ist in Bild 3.4 dargestellt.














Bild 3.4 Flowgraph einer Berechnung mit einem Datenfluß-

Computer

Hier wird veranschaulicht, daß die beiden Operationen für Y1 = AxB und Y2 = CxD parallel ausgeführt werden. Der Unterschied zu einem Von-Neumann-Computer wird noch augen¬fälliger, wenn die Instruktionen tatsächlich auf einem Datenfluß-Computer ausgeführt werden. Um in einem Von-Neumann-Computer eine Instruktion ausführen zu können, muß das Objekt-Programm zunächst von jener Stelle des Speichers ausgelesen werden, an der es abgelegt wurde. Die abgerufene Instruktion wird decodiert, und die für die Ausführung erforderlichen Daten werden zusammengestellt. Ein Großteil der Ausführungszeit fällt damit dem Speicher¬zugriff zum Opfer. Daher ist die traditionelle Computer-Architektur für Hochgeschwindigkeitsverarbeitung nicht ideal. Im Datenfluß-Computer werden dagegen, sobald das Objekt-Programm gesetzt ist, die Instruktionen ausgeführt, sobald die nötigen Daten anstehen.
Als weiteres Beispiel sei die logische UND-Verknüpfung zweier Daten angeführt. Hier nimmt man an, daß die Ausführungszeit eines herkömmlichen Von-Neumann-Computers gleich sei mit der eines Datenfluß-Computers (von den bereitgestellten Daten ausgehend) Bild 3.5 zeigt, daß auch hier der Datenfluß-Computer den herkömmlichen Computer bei weitem Übertrifft.










Bild 3.5 Zeitdiagramm für einen Von-Neumann- und einen

Datenfluß-Computer

Ein weiterer Vorzug von Computern, die sich der Datenflu߬methode bedienen, ist der hohe Überschneidungsgrad der abgearbeiteten Operationen. Während beispielsweise ein Prozeß ausgeführt wird, kann gleichzeitig die Zusammen¬stellung von Daten für den nächsten Prozeß ablaufen. Be¬finden sich diese Daten in einem Speicher, kann die effektive Zugriffszeit nach außen hin nahezu auf Null gesenkt werden.














Bild 3.6 Prozessausführungen in einem Datenfluß- und

einem Von-Neumann-Computer

Zusammenfassend kenn ein Datenfluß-Computer, verglichen mit einem Von-Neumann-Computer die Anzahl der Speicher¬zugriffe drastisch reduzieren, und die Zugriffszeit be¬sonders effektiv nutzen.

3.3.2 NEC uPD7281 \"Image Pipelined Processor\"

Der Datenfluß-Computer in Bild 3.2 enthält mehrere Arithmetik-Einheiten. Wird diese Vielzahl von Einheiten in einem einzelnen Bauteil zusammengefaßt, bedeutet das eine beträchtliche Steigerung der Verarbeitungsgeschwindigkeit. Der Flußcontroller in einem solchen Baustein müßte aber über alle Maßen komplex sein; da jede Einheit nur eine spezifische Operation ausführt, ist bei komplizierteren Operationen eine entsprechend hohe Anzahl solcher Ein¬heiten beteiligt. Zusätzlich weist das System einen weiteren Schwachpunkt auf: auch wenn viele Einheiten zum Einsatz kommen, ist das Risiko sehr groß, daß durch Daten¬konzentration an einer Arithmetik-Einheit die Verarbeitung zusammenbricht. Aus diesem Grund findet im uPD7281 eine einzige universelle ALU Verwendung.
Im vorher beschriebenen Computer ist jeder Einheit eine bestimmte Aufgaabe zugedacht. Welche Einheit angesprochen wird, hängt vom Identifizier-Feld des Token ab. Im Fall des uPD7281 müssen jedoch die Daten, die die Art der Operation bestimmen, im Token enthalten sein. Der an die ALU kommende Token enthält daher einen Operationscode. Weiters kann der in Bild 3.3 gezeigte Flow-Controller in folgende vier Blöcke gegliedert werden:

Link Table: Checkt die IDs der ankommenden Token und leitet den nächsten ID-Wert und die OP-Code Adresse zum Token
Function Table: Fügt dem Token einen OP-Code hinzu
Data Memory: Steuert die Daten, die zwei Token für eine bestimmte Operation zusammengetragen haben
Queue: Steuert den Eingang der Token zu den Verarbeitungseinheiten
























Bild 3.7 Blockschaltbild des uPD7281

Wenn die Token die erwähnten Blöcke durchlaufen, werden ihnen Daten hinzugefügt und einige Token zu Einzel-Token zusammengefaßt. Anschließend gelangen sie in die Verarbei¬tungseinheit oder den Ausgangscontroller. Das Format der den uPD7281 verlassenden Token (entweder über den Aus¬gangscontroller oder über die Verarbeitungseinheit zur Link-Table) ist gleich dem Format jener Token, die als Eingangsinformation an den Eingangscontroller gelangen. Alle diese Konzepte sind in Bild 3.7 dargestellt. Durch den pipelineartigen Datenfluß zwischen den Funktions¬blöcken wird die Weiterleitung der Daten zwischen den Blöcken vereinfacht. Jeder dieser Link-Table-, Function-Table- und Data-Memory-Blöcke ist im RAM konfiguriert, sodaß Programme einfach modifiziert werden können, indem die Inhalte dieser Speicher neu geschrieben werden. Diese Methode wird auch programmierbare Pipeline-Methode ge¬nannt.
Obwohl der uPD7281 nur eine einzige Arithmetik-Einheit besitzt, können mehrere Prozesse glechzeitig ablaufen. Da der externe Speicherzugriff, anders als bei Von-Neumann-Computern, nur aus dem Lesen und Schreiben von Daten besteht, kann die Gesamtanzahl von Speicherzugriffen auch bei dieser Realisation eines Datenfluß-Computers drastisch gesenkt werden. Außerdem ist durch die Parallelverarbei¬tung die Speicherzugriffszeit als Teil der Bearbeitungs¬zeit nahezu nicht mehr erkennbar.


Funktionsbeschreibung

Wie Bild 3.7 zeigt, besteht die ringförmige Pipeline aus 5 Funktionsblöcken:
- Link Table (LT)

- Function Table (FT)
- Data Memory (DM)

- Queue (Q)
- Processing Unit (PU)

Der durch den Input Controller (IC) einlangende Token wird an die Link-Table weitergeführt und im Pipeline-Ring so oft als nötig bearbeitet. Ist diese Bearbeitung abge¬schlossen, so wird der Token im Output Queue abgestellt und über den Output Controller (OC) zum Ausgang weiterge¬führt.
Bevor irgendeine Bearbeitung beginnt, lädt der Host-Prozessor den Objekt-Code in die Link-Table und die Function Table des uPD7281 unter Verwendung speziell formatierter Eingangs-Token. Zu diesem Zeitpunkt können auch Konstanten zur Abspeicherung an den Datenspeicher gesandt werden. Die Inhalte der Link-Table und der Function-Table sind eng verwandt mit der grafischen Dar¬stellung einer Berechnung. Wenn ein Rechenprozess grafisch dargestellt wird, zeigt er gewöhnlich einen gerichteten Datenfluß. In einer derartigen Darstellung bedeuten die Bögen (Ecken, Verbindungen usw.) den Eintritt in die Link-Table. Ein Knoten im grafischen Datenfluß bezeichnet eine Operation. Die Art der Operation wird zusammen mit der Identifikations-Information über den austretenden Bogen in der Function-Table angegeben.
Da der uPD7281 in einem Multiprozessorsystem kaskadiert werden kann, muß ihm während des Reset eine Modul-Nummer zugeteilt werden. Wenn nun während des normalen Betriebs ein Token zum Input-Controller gelangt, dann entscheidet dieser anhand der Information im Modul-Nummer-Feld des ankommenden Token, ob er ihn akzeptiert, oder nicht. Wenn die Modul-Nummer des Token von der des uPD7281 abweicht, wird der Token über den Output-Controller wieder nach außen geschickt. Besitzt der Token die selbe Modul-Nummer,
















Bild 3.7 Kaskadierung von uPD7281 (maximal 14)

entfernt der Input-Controller das Modul-Nummern-Feld, und schickt den verbleibenden Teil des Token in die Link-Table zur Weiterverarbeitung. Sobald ein Token in die Pipeline eintritt, indem er Zugang zur Link-Table erhlaten hat, benötigt er 7 Pipeline-Clockzyklen, um den Ring einmal zu durchlaufen. Je einen Pipeline-Zyklus benötigen die Link-Table, die Function-Table und das Data-Memory, um einen Token zu bearbeiten; zwei Pipeline-Zyklen beanspruchen der Queue und die Processing-Unit. Die Queue und die Processing-Unit sind aus zweistufigen Pipelines aufgebaut. Wenn sich sieben Token gleichzeitig in der Ring-Pipeline befinden, ist diese voll besetzt, und höchstmögliche Parallelverarbeitung findet statt.

Wenn ein Token durch alle Funktionsblöcke des uPD7281 fließt, ändert sich dessen Struktur gewaltig. Ein inner¬halb der Ring-Pipeline fließender Daten-Token besitzt mindestens ein 7 Bit breites Identifizier-Feld (ID), und ein 18 Bit breites Datenfeld. Das Identifizier-Feld dient als Zugriffsadresse auf das Link-Table-Memory. Wenn ein Token auf das LT-Memory zugreift, wird dessen ID-Feld durch ein im LT-Memory gespeichertes ID-Feld ersetzt.
Das Datenfeld eines Token besteht aus einem Control-Bit, Vor¬zeichen-Bit und 16 Bit Daten. Ein Token kann bis zu zwei Datenfelder sowie je nach Bedarf auch noch ein OP-Code-Feld besitzen.


Prozessoreigenschaften


Schnelle Datenverarbeitung

Die hier verwendete Architektur ist besonders geeignet zur schnellen Handhabung von iterativen Operationen, wie sie zum Beispiel in der Bildverarbeitung vorkommen. Bei bis¬herigen Prozessoren, die nach dem Pipeline-Verfahren ar¬beiteten, waren die ausführbaren Operationen durch die Hardware bereits festgelegt. Im uPD7281 können alle Operationen im User-Programm beliebig geändert werden, außerdem können mehrere Prozesse gleichzeitig ablaufen.


Schnelle Arithmetik-Operationen

Der uPD 7281 benötigt für alle Operationen (einschließlich Multiplikation) eine Verarbeitungszeit von 200ns (bei 10MHz), was einer Arbeitsgeschwindigkeit von 5MIPS (Millionen Instruktionen pro Sekunde) entspricht.

Problemlose Multiprozessor-Konfiguration

Die Hochgeschwindigkeitsverarbeitung läßt sich durch den Einsatz mehrerer uPD7281 noch verbessern. Hierbei ist die einfache Zusammenschaltung (vergleiche Bild 3.8) besonders günstig.


Schnelle Daten I/O

In einer Multiprozessor-Konfiguration stellt oft der Datenbus den leistungsbegrenzenden Engpass dar. Um dies Auszuschalten verwendet der uPD7281 getrennte Ein- und Ausgangsleitungen und erreicht so wesentlich verbessete Übertragungsraten. Eine asynchrone Handshaking-Methode auf 2 Leitungen verringert hierbei den externen Schaltungsauf¬wand wesentlich.

 
 

Datenschutz
Top Themen / Analyse
indicator Die drei Layer
indicator Interneteinsatz
indicator Vor dem Mikroprozessor
indicator Veröffentlichung
indicator Netzwerkmanagement
indicator Anwendungsbereiche von Computern
indicator Linux und Systemsicherheit
indicator Routing-Tabellen
indicator Peripheriebusse
indicator Erstellung von DFD's


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