Hardware für Digitale Filter

Hardware für Digitale Filter​ - ein Informatik Referat

Dieses Referat hat Anna geschrieben. Anna ging in die 11. Klasse. Für dieses Informatik Referat hat wurde die Note 2 vergeben.
Schulnote.de und alle anderen SchülerInnen, die dieses Referat benutzen, bedanken sich bei Anna herzlichst für die fleißige Unterstützung und Bereitstellung dieser Hausaufgabe.

Ihr könnt die Leistung von Anna würdigen und mit Sternen nach Schulnoten bewerten.

Reden und Vorträge halten.

Bei Vorträgen ist die Vorbereitung und Übung das Wichtigste. Notiere Dir nur Stichpunkte zu Deinem Referat, um nicht in Versuchung zu kommen abzulesen. Vergiss bei Deiner Vorstellung nicht zu erwähnen, wer Du bist – also Deine Vorstellung, und über wen bzw. über was Du Deine Rede hältst. Rede frei und beachte Deine Zuhörer, aber lasse Dich nicht ablenken. Schaue in Deine Klasse und beobachte die Reaktionen. Passe dann Deine Redegeschwindigkeit an. Ein gutes Referat sollte 5-7 Minuten dauern. Verpacke etwas Witz in Deinem Vortrag, um Dein Publikum nicht zu langweilen. Viel Erfolg wünscht Schulnote.de!

Verbessere Deine Anna Note und profitiere mit Geschichten und Referaten bei Vorträgen von dem Wissen hunderter Schüler deutschlandweit. Viele Schüler haben ihre Anna Vorträge bei schulnote.de gefunden und durch unsere Referate, Biographien und Geschichten ihre Leistungen verbessert. Beachte bitte, dass Du diese Arbeiten nur für die Schule verwenden darfst. Du darfst sie nirgendwo posten oder anderweitig verwenden. Wir freuen uns, wenn wir Dir geholfen haben. Berichte uns von Deiner neuen Note! Nutze dafür die Feedback-Funktion.

Dies ist ein Artikel geschrieben von SchülerIn Anna, schulnote.de ist weder für die Richtigkeit noch für die Quelle verantwortlich.

Filter mit -diskreter- Logik, FIR-Filters, Digitalen Signalprozessor ICs DSP, Features von DSP, fehlende GRAFIKEN FORMELN usw. sonst gutes Referat

1. Allgemeines

Digitale Filter können entweder off-line („Filterung“ eines gespeicherten Datensatzes) oder on-line (Echtzeit­verarbeitung der ankommenden Datensätze) ausgeführt wer­den. Bei off-line Verarbeitung sind die Ansprüche an die Hardware gering, es kann problemlos ein herkömmlicher Computer mit geeignetem Programm eingesetzt werden. Die on-line Verarbeitung wird bereits bei relativ geringen zu verarbeitenden Frequenzen zeitkritisch (bei 20kHz: Ab­tastung mit 40 kHz => 25 us Verarbeitungszeit für einen Abtastpunkt). Diese Geschwindigkeit ist aufgrund der um­fangreichen Rechenoperationen für einen Abtastpunkt für einen herkömmlichen uP nicht mehr erreichbar. Hier werden spezielle Ausführungen benötigt.

Früher wurde bei off-line Verarbeitung prinzipiell „diskrete“ Logik verwendet, heute werden vielfach spezielle Prozessoren für digitale Signalverarbeitung verwendet.


2. Filter mit „diskreter“ Logik


2.1 Multiplizierer


Zur Erreichung hoher Verabeitungsgeschwindigkeiten sind schnelle arithmetische Einheiten notwendig. Hierbei sind speziell die Multiplizierer beachtenswert, da sie meist auf mehrfaches Addieren zurückgeführt werden, und deshalb wesentlich mehr Rechenzeit benötigen, als die Addierer.

Die einfachste Möglichkeit wäre ein Multiplizierer aus einem Addierer und Schieberegistern.

Bei diesem Aufbau wird mit Clock 1 der eine Faktor in einem Schieberegister bitweise weitergeschoben. Wenn an den Gattern eine 1 ansteht, wird zum Akkumulator (Ergeb­nis) der Wert des anderen Faktors dazuaddiert. Nach jedem Additions- oder Nichtadditionsvorgang wird der Akkumulator um eine Stelle nach rechts geschoben (Erniedrigung des Stellenwerts).

Dieser Multiplizierer ist zwar vom Aufbau her sehr ein­fach, aber sehr langsam.

Eine schnellere Möglichkeit ist der Array-Multiplizierer, der gänzlich aus Addierern aufgebaut ist.

Auch dieser Multiplizierer ist noch nicht sehr zeit­­effizient, da er mit Ripple-Carry arbeitet, d. h. der am weitesten links befindliche Addierer liefert erst dann eine gültige Summe, wenn alle Addierer weiter rechts fertig sind.

Dieser Multiplizierer arbeitet mit diagonalem Carry, sodaß die Summen von niedrigeren Stufen gleichzeitig zu den Addierern auf den höheren Stufen gelangen. Dieses Prinzip heißt Carry-Save und ist auch auf andere als Array-Multiplizierer anwendbar. Die höchste Berechnungszeit ergibt sich hierbei entweder aus 8 Carry-Zeiten, oder 5 Summier-Zeiten, je nach dem welches länger dauert. Im Gegensatz dazu benötigt der Multiplizierer von Bild 2.2 mindestens 2 x 5 Carry-Zeiten + 8 Summier-Zeiten.

Eine weitere Möglichkeit zum Aufbau eines Multiplizierers wäre eine Baum-Struktur, mit der sich die Anzahl der Summier-Zeiten stark verringern ließe. Bild 2.4 zeigt den prinzipiellen Aufbau eines solchen n x 16 Bit-Multiplizie­rers, wobei jedes Plus-Symbol n Bit repräsentiert. Bei diesem Aufbau sind nur 4 Summier-Zeiten nötig. Es wird hier die selbe Anzahl von Addierern verwendet, aber es arbeiten mehr parallel.

Bild 2.5 zeigt die Realisierung eines 6 x 8 Bit-Multipli­zierers mit Baum-Struktur, wobei die Carries reihenweise verarbeitet werden. Dadurch benötigt jede Reihe die ge­samte Carry-Ripple-Zeit. Da 4 Reihen vorhanden sind, wird für die gesamte Multiplikation 4 x die Carry-Ripple-Zeit einer Reihe benötigt. Dadurch ist diese Methode nicht so effizient, wie die in Bild 2.3 gezeigte, außer wenn die Summier-Zeit sehr hoch ist. Es ist jedoch auch beim Multi­plizierer mit Baumstruktur der Übergang auf Diagonal-Carry möglich.

Diese Kombination von Baumstruktur und diagonale Weiter­gabe des Carrys ist die wahrscheinlich schnellste Möglich­keit einen Multiplizierer auszuführen.

Die Diskussion der anderen Möglichkeiten des Aufbaus eines Multiplizierers ist aber trotz des eindeutigen Geschwin­digkeitsvorteils der letztgenannten Methode notwendig, da der Aufwand an ICs bei den einzelnen Methoden stark unter­schiedlich ist.

2.2 Ausführung von digitalen Filtern ohne Rückführung (Finite Duration Impuls Response – FIR)

Man könnte dieses Prinzipschaltbild praktisch direkt in eine Schaltung übernehmen, es wären dann aber 6 Multipli­zierer und 7 Addierer nötig, was einen sehr hohen Hard­ware-Aufwand bedeuten würde. Dieses System wird später noch beschrieben.

Die hardwaremäßig einfachste Struktur besteht aus einem ROM zur Speicherung der Koeffizienten, einem Schiebe­register für die Amplitudenwerte, einem Multiplizierer und einem Addierer-Akkumulator.

Hierbei sind die letzten 6 digitalisierten Amplitudenwerte in einem Schieberegistersatz, bei dem jede Stufe ein ganzes Wort faßt, gespeichert.

Zunächst wird x(n-6) mit dem Koef­fizienten a_6 verknüpft. Das Ergebnis wird im Akkumulator abgelegt. Mit dem ersten Takt wird x(n-6) aus dem Schieberegister herausgeschoben, und x(n-5) steht am Multiplizierer an. Gleichzeitig wurde der aktuelle Ampli­tudenwert in das Schieberegister herein­genommen. x(n-5) wird mit a_5 multipliziert und zum Akku­mulator dazuaddiert. Mit dem nächsten Takt wird das Schieberegister wieder um 1 weitergeschoben, wobei aber x(n-5) nicht aus dem Register hinausgeschoben wird, sondern an den Anfang des Registers zurückgeführt wird. Dieser Vorgang findet nun solange statt, bis x(n)a_0 zum Akkumulator dazuaddiert und an die erste Stelle des Schieberegisters geschoben ist. Dann steht im Akkumulator der richtige Ausgangswert, und der nächste Auswertezyklus kann beginnen.

In der Schaltung aus Bild 2.8 wurde aber noch keine Rück­sicht auf die Verfügbarkeit geeigneter Schieberegister genommen. Die hier dargestellte Methode würde entweder mehrere parallele 1 Bit Schieberegister mit einer relativ einfachen Logik benötigen, oder ein RAM mit einer relativ komplizierten Logik. Es ist aber relativ einfach möglich, auf einem IC tausende von seriell angeordneten Speicher­zellen anzuordnen. Hierbei würde dann aber eine serielle Verarbeitung der einzelnen Wörter nötig.

In diesem Fall wäre jeder Amplitudenwert seriell ge­­speichert, obwohl es nur für x(n-6) explizit dargestellt ist. Die Multiplikationsroutine sollte hierbei nach der Addier-Schiebe-Methode durchgeführt werden, da die Daten bereits in serieller Form vorliegen. Hierbei würden die Amplitudenwerte zur Ansteuerung der Register verwendet, da diese Faktoren ohnehin geschoben werden müssen. Diese Methode ist sehr einfach für positive Zahlen, benötigt aber für vorzeichenbehaftete Zahlen, die nicht in 2er-Komplementdarstellung gespeichert sind eine relativ komplizierte Logik, weshalb meist die 2er-Komplement-Dar­stellung gewählt wird.

Wie bereits bei der Diskussion erwähnt wurde, ist dieser Multiplizierer relativ langsam, weshalb diese Methode in dieser Ausführung bald an die Grenzen ihrer Möglichkeiten gelangt. Wenn die Schiebezeit pro Bit 100ns beträgt (=> Addierzeit des oberen Addierers < 100ns), die Wortgröße 16 Bit beträgt, und 16 Amplitudenwerte verarbeitet werden müssen (Filter 16.Ordnung), dann ist die höchste verar­beitbare Datenrate


R=1 / (Wortgröße x Ordnung des Filters x Schiebezeit)=

=10_9 / (16 x 16 x 100) = 39062.5 Hz


Mit dieser Datenrate könnten höchstens Frequenzen bis etwa 20kHz verarbeitet werden (Abtasttheorem).

Die Datenrate kann vergrößert werden, indem man Parallel­verarbeitung einführt.

Durch Verwendung mehrerer Schieberegister kann die Ge­schwindigkeit proportional vergrößert werden, ebenso durch Verwendung mehrerer Arithmetikeinheiten (AE)

Diese Schaltung wäre nicht ganz doppelt so schnell wie die in Bild 2.9 dargestellte, wenn man die gleichen AE’s voraus­setzt. Hier würden x(n) bis x(n-3) und x(n-4) bis x(n-6) getrennt und gleichzeitig bearbeitet, und an­schließend die beiden Ergebnisse addiert werden.


2.2.1 Kaskadiertes FIR-Filter


Die selbe Basisstruktur wie in Bild 2.10. kann auch für kaskadierte FIR-Filter verwendet werden. Bild 2.11 zeigt ein Beispiel für ein dreistufiges Filter, wobei jedes Filter 4. Ordnung ist, und Bild 2.12 zeigt die Realisie­rung mit einer AE.

Der einzige Trick, der hierbei benötigt wird, ist das Retten der Ausgänge jeder Sektion, um sie zu geeigneter Zeit in das Schieberegister einzuspeisen.

Für größere Geschwindigkeitsansprüche kann das Filter aus Bild 2.11 ebenfalls durch Parallelverarbeitung beschleu­nigt werden. Hierbei gibt es eine besonders ins Auge springende Möglichkeit: Die Realisation jeder Filter­stufe mit einer eigenen AE.

2.2.2 Vollparallele Form eines FIR-Filters


Wie bereits in der Einleitung zu diesem Kapitel erwähnt, gibt es die Möglichkeit, das Prinzipschaltbild unter Ver­wendung von 6 Multiplizierern und 7 Addierern bei einem Filter 6. Ordnung praktisch direkt zu übernehmen.

In diesem Fall ist keine Zirkulation der Amplitudenwerte nötig, sodaß das Schieberegister nur mehr als angezapfte Verzögerungsleitung benützt wird. Wegen der Notwendigkeit dieser Anzapfungen verschwindet aber der Vorteil der LSI-Bausteine, die zwar sämtliche Amplitudenwerte problemlos speichern können, aber nicht auch gleichzeitig ausgeben. Die Schieberegister können auch hier gleichzeitig bitweise arbeiten, sodaß eine Addier-Schiebe-Multiplikation möglich wird. Hierbei wäre es aber kaum ein zusätzlicher Aufwand, wenn man alle Amplitudenwerte parallel speichert, und einen Schieberegistersatz mit voller Wortbreite verwendet, wodurch auch die Multiplizierer parallel arbeiten könnten (Array-Multiplizierer). Wenn man annimmt, daß die Multi­plikationszeit zur Schiebezeit hinzuaddiert wird, wird noch zusätzliche Zeit zum Addieren benötigt. Diese zusätzliche Zeit kann aber vermieden werden, indem man Buffer (in diesem Fall=Speicher) an den gekennzeichneten Stellen einfügt. Wenn man annimmt, daß die Addierzeit exakt gleich der Multiplikationszeit ist, dann tritt dadurch nur eine Verzögerung des Ausgangssignals um eine Abtastperiode ein.


2.3. Ausführung von digitalen Filtern mit Rückführung

(Infinite Impulse Response IIR)


Die Ausführung von IIR-Filtern unterscheidet sich von jener von FIR-Filtern nur sehr wenig. Bild 2.16 zeigt ein IIR-Filter, das die selbe Grundstruktur wie das FIR-Filter von Bild 2.9. benützt.

Hierbei wird während der ersten Multiplikation (Addier-Schiebe-Prinzip) das Wort y(n-12) aus dem Schieberegister hinausgeschoben. Während der nächsten 11 Multiplikationen zirkuliert das Schieberegister, d.h. die am Ende herausge­schobenen Bits werden am Anfang wieder eingefügt. Das Ergebnis y(n) ist nicht verfügbar, solange nicht bx(n) berechnet ist. Deshalb darf während der Berechnung von bx(n) das Schieberegister nicht rotiert werden. Im letzten Schiebezyklus wird dann keine Berechnung mehr durchge­führt, sondern nur mehr y(n) in das Schieberegister hinein­geschoben.

In typischen Anwendungen beträgt die Abtastfrequenz 8kHz und die Abtastzeit 125us. Bei einer Wortlänge von 16 Bit werden 16 x (12 + 2) Taktzyklen für einen Abtastvorgang eines Filters 12.Ordnung benötigt, was zu einer Takt­frequenz von etwa 2MHz führt, die mit LSI-Bausteinen leicht zu bewältigen ist.


2.3.1 Kaskadierte IIR-Filter


Bild 2.17 zeigt das Prinzipschaltbild einer Kaskade von 3 Filtern 2. Ordnung, von denen jedes 2 Pole und 2 Nullstel­len hat.

Bild 2.18 zeigt Struktur, Programm und Zustände einer Realisation dieses Filters mit 2 AE’s. Die Struktur ist vergleichbar mit dem früher gezeigten mit 1 Bit breiten Schieberegister und Addier-Schiebe Multiplizierer. Die Aufgabenstellung der beiden AE’s ist so verteilt, daß eine die Vorwärts-Summen berechnet (AE2) und die andere die in das Schieberegister einzuspeisenden Summen (AE1).

Da die in das Schieberegister einzuspeisenden Daten vor­handen sein müssen, bevor die Vorwärtssummen endgültig berechnet werden können, folgen auf 2 Schiebezyklen 2 Zyklen, in denen nicht geschoben wird, sondern nur die AE’s arbeiten. Während dieser Zeit wird zunächst das in das Schieberegister einzuspeisende Datum berechnet, und anschließend unter Verwendung dieses Datums die Vorwärts­summe berechnet, die für die ersten beiden Filter im x_i-Register abgelegt wird, und für das letzte Filter an den Ausgang gelangt.

Dieses Filter benötigt insgesamt 7 Schiebezyklen mit Be­rechnungen und 6 Zyklen, in denen nur gerechnet wird. Die reinen Schiebezyklen, in denen nur die x_0(n), x_1(n) und x_2(n) weitergeschoben werden, können während der zweiten reinen Berechnung stattfinden.

2.4. gemultiplexte Filterbänke


Nur sehr selten sind in der Praxis so einfache Konfigu­rationen wie die hier gezeigten in Verwendung. Wesentlich häufiger sind Filterbänke, die IIR oder FIR-Filter verwen­den, wo möglicherweise jedes Filter eine Kaskade oder eine parallele Ausführung ist. Desto mehr Filter gemultiplext werden können, desto größer ist der Vorteil, der durch die Verwendung von digitalen Filtern erzielt werden kann, da man speziell die Speicher leicht an die speziellen Erfor­dernisse der zusätzlichen Zustände anpassen kann. Vorsicht ist hierbei nur geboten, wenn man zu viele verschiedene Funktionen mit einer Filtereinheit realisieren will, da dann die Kontrollogik schnell anwächst.

Die Bilder 2.19 und 2.20 zeigen ein Beispiel der Realisa­tion von 3 getrennten FIR-Filtern mit einer Filter­einheit.


Bei der gezeigten Konfiguration wird der AE jeweils das passende Eingangsdatum zugeführt, und über den Distributor werden jeweils die richtigen Daten an die Ausgänge ver­teilt. Im Schieberegister zirkulieren jeweils die Daten aller 3 Filter.

3. Digitale Filter mit Digitalen Signalprozessor IC’s

(DSP)


3.1 Allgemeine Features von DSP


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 16×16 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.

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.


3.2 DSP mit Harvard-Architektur


Diese Art von DSP soll am TMS 320xx von TI dargestellt werden.


Das Blockschaltbild dieses Prozessors ist bereits in Bild 3.1 dargestellt.

Die wichtigsten Merkmale dieses Einchip-Computers sind: 200ns Instruktionszyklus, 32 Bit Arithmetikeinheit, 16×16 Bit Parallelmultiplizierer (benötigt für eine Multiplikation nur einen Zyklus), 0..16 Bit Barrel-Shifter, 288 Byte Daten RAM (144×16), 3kByte Programm-Rom (1,5k x 16), die extern auf 8 kByte erweiterbar sind.

Dieser Prozessor arbeitet mit einer Harvard Architektur mit 2 getrennten 16 Bit-Bussen für Programm und Daten. Durch diese Struktur ist es möglich, Befehle zeitlich überlappend aufzunehmen und auszuführen.


Architektur:


Das Herzstück des Prozessors ist eine schnelle Arithmetik-einheit, die aus einer 32 Bit-ALU, einem 16 Bit Shifter, dem 16×16 Bit Parallelmultiplizierer sowie einem 32 Bit Akkumulator besteht. Daten werden entweder aus dem RAM über den Shifter oder aus dem Produktregister P in die ALU geladen. Daten aus dem RAM mit einer Wortbreite von 16 Bit werden nach Schiebeoperationen mit Vorzeichenzusatz für Zweierkomplement-Arithmetik auf 32 Bit erweitert. Arithmetik-Operationen mit 32 Bit aus dem RAM werden auch durch eine Kombination spezieller Befehle, bei denen die Vorzeichenerweiterung im Shifter unterdrückt wird, unter­stützt. Die ALU verfügt auch über logische Operationsan­wendungen für Steueranwendungen. Eine Sättigungs-Überlauf-Betriebsart dient zur Simulation von Sättigungsereignissen in Signalverarbeitungssystemen. Der 32 Bit Akkumulator wird im Multiplexbetrieb auf den 16 Bit Datenbus umge­schaltet, damit die Resultate im RAM gespeichert werden können. Die höherwertigen Akkumulatorwerte können auch mit einem vorgegebenen Offset gespeichert werden, um die Skalierung der Resultate zu ermöglichen.


Adressierungsarten:


Der Prozessor unterstützt 4 Adressierungsarten. Die erste ist die direkte Adressierung, sie erfolgt von einem 7 Bit-Feld der Instruktion und einem Page-Register.Der Speicher ist für die direkte Adressierung in 128 Wort-Seiten aufge­teilt.

Die zweite ist die indirekte Adressierung, bei der eines der 2 Hilfsregister (AR) Verwendung findet. Diese Register unterstützen die automatischen Inkrement-/Dekrement-Operationen parallel zu Speicherbezügen und Arithmetik­operationen. Daraus ergeben sich zwei verschiedene Adres­sierungsarten. Die Auswahl des AR-Registers als Quelle für eine Adresse wird durch das ARP-Register festgelegt. Der Datenspeicher ist so aufgebaut, daß ein Wort auf die nächsthöhere Adresse vom derzeitigen Speicherplatz in einem Maschinenzyklus dupliziert werden kann, während andere Operationen parallel ablaufen. Außerdem sind einige direkte Operationen möglich, bei denen Teile des Instruktionsworts als Daten Verwendung finden. Aus diesem Grund können Konstanten wie z.B. Filterkoeffizienten Teil des Programms sein.

Da Programm- und Datenbus getrennt sind, verfügt der Programm-Zähler über einen eigenen Inkrementer und einen 4-Ebenen-Stack für die Unterprogrammsteuerung.


Software:


Der Prozessor verwendet 16 und 32 Bit Instruktionen. Bei Unterprogrammen und Interrupts wird der gesamte Maschinen-Kontext gesichert. Verzweigungen können bei den meisten arithmetischen Bedingungen, bei Überlauf, bei Register = 0 und ohne Bedingung erfolgen. Es ist ebenfalls möglich, den Akkumulator-Inhalt als Programm-ROM-Adresse zu verwenden, um an Konstanten, die im ROM gespeichert sind, zu gelan­gen, oder zum Unterprogrammaufruf bei datenabhängigen Verarbeitungsvorgängen. Der Prozessor ist zur Unter­stützung von 2 Arten der Programm-Speicher-Operationen konfiguriert. Die erste Konfiguration (TMS320M10) besitzt ein Programm-ROM auf dem Chip, und eignet sich daher für Einchip-Anwendungen mit hoher Stückzahl. Eine Kombination von internem ROM (1,5 k Worte) und externem Programm­speicher (2,5 k Worte) ist ebenfalls möglich, und kann z.B. bei Systemen mit festen Kernroutinen und unterschied­lichen Anwendungs-System-Konfigurationen verwendet werden. Die zweite Ausführung (TMS 32010) unterstützt 4 k Worte externen Programmspeicher und unterdrückt das interne ROM. Diese Ausführung ermöglicht, daß das Benutzer-Programm in einem externen 4 k Speicher untergebracht ist, und die Entwicklungssystem-Software in dem Programm-ROM auf dem Chip. Daher kann dieses Bauelement nicht nur zur Unter­stützung der Eigen-Emulation, sondern auch als das eigene Entwicklungssystem verwendet werden. Das Interface des externen Programmspeichers arbeitet mit der selben Ge­schwindigkeit, wie das interne ROM, wodurch Echtzeit-Ent­wicklung und -Ausführung möglich ist.

Ein-/Ausgangsoperationen werden über einen parallelen 16 Bit Bus ausgeführt, auf dem 8 Kanäle definiert sind. Der Prozessor kann E/A-Operationen mit einer Rate von 40 MBaud ausführen. Ein Polling-Eingang ermöglicht softwaremäßige E/A-Steuerung, außerdem ist ein Interrupt-Anschluß für Hardware E/A und Multitasking vorgesehen.


Chip


Hergestellt wird der Prozessor in einem 3um Silizium-Gate-NMOS-Pozeß. Er umfaßt eine Chipfläche von 43,81 mm_2. Die Bausteine sind in einem 40poligem DIL-Gehäuse unterge­bracht und weisen eine Verlustleistung von 950mW auf. Bei einer maximalen Taktfrequenz von 20MHz beträgt die Be­fehls-Rate 5 Millionen Instruktionen/s. Verschiedene Test­arten sind zur Produktionsüberwachung und Ausbeuteanalyse vorgesehen. Für Prüfzwecke und Zuverläßigkeitsanalysen sind Prozessor, Datenspeicher und PROM auf dem Chip ge­trennt ansprechbar.


3.3 DSP mit Datenfluß-Methode


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.


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.

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.

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.

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.

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


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.

Anhang: Literaturverzeichnis


Theory and Application of Digital Signal Processing

Lawrence R. Rabiner

Bernard Gold

Verlag: Prentice-Hall Inc.


32 Bit Mikrocomputer für Signalverarbeitung und

Prozessteuerung

P. von Bechen

TI Sonderdruck aus Elektronik 22 / 5.11.1982


DSP: Ein zugeschnitzter uP

J. Thoma

F. Pavuza

ES 6 / Juni 1986


Signalprozessor für die Bildverarbeitung

R. Hell

ES 6 / Juni 1986




Der Autor hat leider keine Quellen genannt.

Direktor Schulnote.de

Anna

Autor dieses Referates

Informatik
Schulfach

0 .
Klasse - angegeben vom Autor
0 ,0
Note - angebenem vom Autor


0,00

Note 6Note 5Note 4Note 3Note 2Note 1
Welche Note gibst Du?

Loading…
0
Aufrufe deses Referates
0
lesen gerade dieses Referat

TCP IP-Protokolle und Dienste
Edward Albee
Milben
Mitochondrien
Viren
AIDS Aufbau des HIVirus
Erkenntnisse über AIDS
Was ist AIDS
Alkohol und der Mensch
Aufbau und Wachstum Bakterien
Darstellung verschiedener Sehsysteme
Termiten – Isoptera
Das Auge
Natürliche Zuchtwahl
Funktion des Gehörsinnes
Das menschliche Gehirn
Der Gedanke der Urzeugung
Diabetes Zuckerkrankheit
Die Tropen
Dinosaurier
Elektrosmog
Gentechnik in der Landwirtschaft
Hormone
Parthenogenese
Anatomie des Kehlkopfes
Kommunikation von Bakterien
Konrad Lorenz Verhaltensforscher
Entstehung von Krebs
Ökosysteme in der Tiefsee
Parasitismus
Beschreibung einzelner Parasitenarten
Pest im Mittelalter
Photosynthese
Heroin
Ringelwürmer
Gentechnologie Grundlagen
Alternative Landwirtschaft
Die Medizin im antiken Rom
Der Traum und die Traumpsychologie
Die chemische Bindung
Bohrsches Atommodell
Brom Eigenschaften
Halogene
Der pH-Wert – pH Messtechnik
Chemische Schädlingsbekämpfung
Atomvorstellungen
Benzin
Fettverseifung
Kalk
Natronlauge Sodaherstellung
Grundlagen der Nuklearphysik
Fotographie
Entdeckung des Atoms
Gegenwartsliteratur der Mythos
Das Ikosaeder
Parallele Programmabläufe
Burleske
Alfred Andersch Literaturbesprechung
Besuch der alten Dame
Biographie Erich Kästners
Friedrich Dürrenmatt Literaturbespr…
Georg Büchner Literaturbesprech…
Wolfgang Borchert Literaturbesprechung
Bertolt Brecht Literaturbesprechung
Friedrich Hebbel Literaturbesprechung
Biographie Johann Nepomuk Nestroy
Ernst Theodor Amadeus Hoffmann Liter…
Max Frisch Literaturbesprechung
Die Blechtrommel
Die Bürger von Calais
Carmen Literaturbesprechung
Das Cafe der toten Philosophen
Eichendorff-Marmorbild
Das Tagebuch der Anne Frank Lietratu…
Demian
Der abenteuerliche Simplicissimus
Der Begriff Heimat
Der einsame Weg
Der Name der Rose – Umberto Ecos
Der Realismus
Der Talisman
Georg Büchner Dantons Tod
Deutsche Satire – Vertreter
Die Angst des Tormannes vor dem Elfm…
Die letzten Kinder von Schewenborn
Die Schwarze Spinne
Das Leben des Galilei – Brecht
Draußen vor der Tür
Effi Briest
Emil Kolb
Emil Erich Kästner
Expressionismus
Friedrich Dürrenmatt – Der Verdacht
Ferdinand Raimund
Die Feuerprobe
Fräulein Else
Frauenliteratur
Frühlings Erwachen Literaturbesprec…
The Good Earth
Gegenströmungen zum Naturalismus
Generationenkonflikt in der Literatur
Nicht alles gefallen lassen
Egmont
Goethe als Wissenschaftler
Franz Grillparzer
Hackl Erich
Heinrich Heine
Hermann Hesse Jugend
Homo Faber – Der Steppenwolf
Hugo von Hofmannsthal
Heinrich von Kleist
Henrik Ibsen
Ich bin ein Kumpel
Die Insel des vorigen Tages
Kafka Literaturverzeichnis
Franz Kafka – Das Schloss
Biographie von Franz Kafka
Klassik Literaturbesprechung
Lange Schatten
Gotthold Ephraim Lessing
Liebelei
Literatur der Arbeitswelt
Zeitkritische Literatur im 1. Weltkr…
Literaturmappe Gottfried Keller und …
Biedermeier
Johann Wolfgang von Goethe
Hermann Hesse
Max Frisch Biografie
Analyse Monolog von Faust
Trostlose Monotonie eines Arbeitsall…
Nathan der Weise – Die neuen Leiden…
Neue Sachlichkeit
Nicht nur zur Weihnachtszeit
Ödön von Horvath
Peter Handke
Peter Schlemihls wundersame Reise
Der Prozeß – Franz Kafka
Goerge Orwell 1984
Romantik
Romantik 1795-1835
Friedrich Schiller
Friedrich Torberg – der Schüler
Spielplatz der Helden
Sturm und Drang
Katherine Mansfield: The Dolls House…
Kurt Tucholsky
Unterm Rad von Hemann Hesse
Zukunftsvisionen – Utopien
Vergangenheitsbewältigung
Von Mäusen und Menschen
Vormärz, Junges Deutschland
Richard Wagner
Weh dem der lügt
Bürgerlicher Realismus
1984 – Orwell
Reise um die Erde in 80 Tagen
Maturavorbereitung – Deutsch
Wiener Aktionismus
Analyse rhetorischer Texte
Antike
Arthur Schnitzler Werke
Die Aufklärung
Bertolt Brecht Biographie
Heinrich Böll
Macht der Boulevardpresse
Brennendes Geheimnis
Chagall Biografie und Werke
Mutter Courage und ihre Kinder
Wiener Biedermeier
Datenautobahn
Der Kriminalroman
Die Ehe des Herrn Mississippi
Die Globalisierung
Ilse Aichinger – Die größere Hoffn…
Die Judenbuche – Annette von Droste-…
Die Rolandsage
Dshamilja Tschingis Aitmatow
Friedrich Dürrenmatt Lebenslauf
Dürrenmatt und die Komödie
Die Eisenbahn
Der Expressionismus
Werner Bergengruen – Die Feuerprobe
Franz Kafkas Lebenslauf
Frühlingserwachen von Frank Wedekind
Geschichte des Internets
Die Presse und das Pressewesen
GreenPeace Referat
Der Trend zur Globalisierung
Hermann Hesse Biographie und Werke
Hermann Hesse Kinderseele
Ödön von Horvath – Jugend ohne Gott
Johann Wolfgang von Goethe wichtigst…
Der kaukasische Kreidekreis
Lebenslauf Milan Kundera
Bildende Kunst
Das Drama
Literatur im Mittelalter
Deutsche Literatur im Mittelalter
Literarische Entwicklung ab 1945
Gerhart Hauptmann Biographie
Medienkunde
Die Merowinger
Naturalismus – Hauptvertreter
Naturalismus Hintergrund
Die neuen Rechtschreibregeln
Die Nibelungen Sage
Olympische Spiele
Richard Wagner Parsifal
Realismus
Die Rede
Sansibar
Friedrich Schiller – Don Carlos
Die Welt der Science Fiction
Der Gute Mensch von Sezuan – Brecht
William Shakespeare Biographie
Siddharta
Theodor Fontane – Der Stechlin
Stefan Heym Schwarzenberg
Steppenwolf Hermann Hesse
The Lord of the Rings
Utopien in der Literatur
Ferdinand von Saar Biographie
Warten auf Godot
Wolfgang Borchert Lebenslauf
Wilhelm Tell – Schiller
Wirtschaftsordnungen
Die Verantwortung des Wissenschaftler
Literatur in der Zwischenkriegszeit
Preußen – Gescheiterte Revolution v…
Interviewtechniken Ideenfindung
Nationalsozialismus – Faschismus
Die griechischen Sagen
Die 68er Bewegung
Ernst Theodor Wilhelm Hoffmann – s…
Die Klassik Literatur
Zustandekommen von Vorurteilen
Arbeitslosigkeit
Kollektives Arbeitsrecht
I2C am 80C552 Microprozessor
Cray-Code-Zähler
Adressierungsarten
Fehlersuche auf Integrierten Schaltk…
Grundschaltungen des JFET
Interrupts
Feldeffekttransistor – JFET
Logikfamilien
Logische Elektronik
PN-Übergang – Halbleiter – Diode
Luftdruckmessung
Dimmerschaltung
Temperaturmessung
IEC-Bus – comp.gest Meßsystem
Messwertaufnehmer
Serielle Datenübertragung
Fuzzy-Logic
Amerikas Westen
Umweltbewusste Energiegewinnung
Zusammenfassung Globalisierung
Bundesrepublik Deutschland
Artificial Intelligence
Doing Business in Japan
Production Technique
Mount Everest – Kilimanjaro – Mc Kin…
New Zealand – Land of the Kiwi
All quiet on the western front
All the kings men
Animal Farm
Animal Farm – Georg Orwell
Tolstoy Anna Karenina
Rain Man
The Call of the Wild
The Catcher in the Rye
Ernest Hemingway For Whom the Bell T…
Count Zero
John Briley Cry Freedom
One Flew Over the Cuckoo s Nest
Marylin Sachs The Fat Girl
William Faulkner As I lay dying
A Farewell to Arms
The invisible man
John Knowles A seperate Peace
A midsummer nights dreamA midsummer …
Of Mice and Men
Harry Sinclair Lewis Babbitt
The House of the Spirits
Little Buddha
The Pearl
Walkabout
Acid Rain
Principles of Marketing – Advertising
Alcohol and Tobacco
Australia
Bill Gates Background information
England and the English
Finance in Britain
Canada
The development of letters and books
Drug Takers
Engines
The Future
The Existence of God
Expert Systems Artificial Intelligence
The first art
The beauty of fractals
From Gliders to Rockets
George Orwell Nineteen Eighty-fou
Heat Treatment of Steel
Hemp
Histroy of the English language
Television
Divided Ireland
Nineteen eighty-four
Production of Iron
Television
The Channel Tunnel
The Client
Internet
The moving finger
The Red Pony
The X-Files
Tombstone
Voices Across the Earth
Kurt Vonnegut
Wire Pirates
Collection of english workouts
Investing in poeple
Economic backgrounds of the Gulf cri…
American Revolution
Virgil The Aeneid
Autism
Die Schweiz
Die sieben Weltwunder
Der Alpentransit
Das Sonnensystem
Die Sterne
Bevölkerungsproblem Chinas
Bodenkundewissenschaften in der 3.Welt
Prachtstraßen in Wien
Paris
Endogene Kräfte – Vulkane
Energie – Gestern Heute Morgen
Entstehung des Erdöls
Japan – Geographische Daten
Entstehung von Erdbeben
Geologie Österreichs
Grönland
Geschichte der Agrarwirtschaft
Ökologische. Belastungen d. Tourismus
Polarlichter
Vulkanismus
Berliner Mauer
Computer im Militärwesen
Demokratie – Ursprung und Entwicklung
Das Burgenland in der Zwischenkriegs…
Die industrielle Revolution in Deuts…
Vormärz Metternichsche Staatensystem
WBRS-Referat Gerichtsbarkeit
Wiener Kongress Metternichs Polizeis…
Der Erste Weltkrieg
der erste Weltkrieg
Der Erste Weltkrieg
Der 2.Weltkrieg
Kriegsverlauf von 1942-1945
Geschichte ab 1848
Alexander der Große
Wien in der Donaumonarchie
Der amerikanische Sezessionskrieg
Weltbilder
Verfassungsstaat – Ausgleich mit Ung…
Außenpolitik unter Adolf Hitler
Die Geschichte der Südslawen am Bal…
Balkankonflikte
War in Bosnia – Herzegowina – a review
Biologische Kriegsführung
Bundeskanzler Engelbert Dollfuß
Cäsars gallische Ethnographie
Geschichte Chinas
Christenverfolgung im Römischen Reich
Rettung der dänischen Juden
Das faschistische Italien
Tatsachenbericht des jüdischen Gesc…
Der Aufstieg Japans
Der Golfkrieg
Der kalte Krieg
Der Nahostkonflikt
Der spanische Bürgerkrieg
Der Deutsche Widerstand
Die zweite Republik
Österreich unter den Babenbergern
Die französische Revolution
Geschichte Frankreichs
Die Kelten
Die lateinische Sprache
Die Phönizier
Die Schlacht von Stalingrad
Die Westslawen
Widerstand gegen Hitler und das At…
Ende des Kolonialsystems in Afrika
Die Ausbildung der Konfessionen
Die Entwicklung im nahen Osten
Faschismus und Nationalsozialismus
Judenverfolgung
Kosovo
Die Geschichte Der Atombombe
Geschichte Jugoslawiens
Griechenland – geographisch und öko…
Griechenland vor den Perserkriegen
Die Grund- und Freiheitsrechte
Die Freiheitlichen und Rechtsextremi…
Die indianischen Hochkulturen Amerikas
Der Imperialismus
Deutsche Kolonien
John Fitzgerald Kennedy
Judenverfolgung der NSDAP
Jugend unter dem Hakenkreuz
Jugend, Schule und Erziehung im 3. R…
Das Königtum im Mittelalter
Geschichte Koreas vor dem 2. WK
Der Koreakrieg
Lebenslauf von Adolf Hitler
Das Lehnswesen im Mittelalter
Das Erbe des Mittelalters und der We…
NATO Referat
Otto von Bismarck
Pariser Vorortverträge
Der Fall Barbarossa
Pol Pot
Der Faschismus in Rom
Das sowjetische Experiment
Die Russische Revolution von 1917
Rolle der Schweiz im zweiten Weltkrieg
Die SS und ihr Krieg im Westen
Die Trajanssäule
Die Außenpolitik der USA
Der Erste Weltkrieg
Die Wandmalerei Kalk
Alexanders Weg zur Größe
Der Erste Weltkrieg
Zentralisierung Entstaatlichung NS R…
Zivilgerichtsbarkeit
Wie sich der Mensch aus dem Tierreic…
Bürgertum in Frankreich im 18. Jahr…
Die Europäische Union – EU
Geschichte – Die Entstehung von Hoc…
China
Die Ringstraße
Islamische Kunst in Spanien
Die Römer und die Philosophie
Augustinus – Kirchenvater und Philos…
UHF–und-Mikrowellen-Messtechnik
Datenübertragung – Begriffe
Compilerbau
Datenbankserver – SQL
Großrechner
Kryptologie
Magnetspeicher
Instrumentationen und Schnittstellen
Optische Nachrichtensysteme mit Lich…
Monitore und Grafikkarten
Netzwerktechnik
Windows NT Ressourcenverwaltung
Objektorientierte Programmierung
Plotter und Drucker
AMD-K6-III Prozessor
Einführung in die fraktale Geometrie
Matura Mathematik
Mathematik Zusammenfassung
Mathematik der Funktionen
Funktionen Mathematik
Wahrscheinlichkeitsrechnung
Maturamappe Mathematik
Referat-Albert-Einstein
Alternativenergiegewinnung
Doppler-Effekt
Der-Delphi-Report
Grundlagen-zum-Thema-Strom
Gravitationsfeldstärke
Optik-Referat
Kernfusion–Wasserstoffbombe
Laser
Die-Quantentheorie
Der-Stirlingmotor
Sternentwicklung
Antimaterie
Kernspaltung
Batterien-Akkumulatoren
Explosivstoffe
Flammenfärbung-Feuerwerke
Natürliche-Radioaktivität
Modell-für-elektrische-Leitungsvorg…
Photographie
Radioaktivität
Raketenantriebe
James-Joyce-The-Dead
Reibung
Der-Saturn
Solarzellen
Kommutierung
Photovoltaik
Schwingungen-und-Wellen
Chaos
Liturgiegeschichte
Die Spieler im Systemspiel
Schutz für Dateien
Aufwandschätzung
Ausgeglichene Bäume
AVL-Bäume
Betriebssysteme
Binäre Bäume
Der Algorithmus von Bresenham
Computerviren
Concurrency-Problem
3D-Grafik

Insgesamt 513 Referate von Anna

YKM.de ✔ Quickly Shorten Url

YKM.de ✔ Quickly Shorten Url

ykm.de/SN_Inf_5287

Diese short-URL bringt Dich direkt zu  Biographie Referate auf schulnote.de.
Teile Sie mit Deinen Freunden.

Diese Suche hilft Dir, alles auf den Seiten von schulnote.de zu finden. In den Schulfächern kannst du Deine Suche verfeinern, in dem Du die Tabellensuche verwendest.