You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Sebastian Preisner 4160a7dcc6 Scheduling verfahren close #1 4 years ago
img Rename Picture 4 years ago
raw Initialer Commit 4 years ago
README.md Scheduling verfahren close #1 4 years ago

README.md

Netzwerk

OSI

OSI Schichtenmodel mit Beispielen

Topologien

Bus:

Bustopologie

  • Anzahl zerstörter Verbindungen = 1 (nur Ausgefallener Knoten ist betroffen)
  • minimalem Aufwand beim Anschluss neuer Knoten
  • zunehmende Kollision bei Überlastung
Eigenschaft Wert
Anschlüsse 1
Anzahl zerstörter Verbindungen 1 (nur Ausgefallener Knoten Betroffen)
max. Entfernung n-1

Ring

Ringtopologie

  • einfach und kostengünstig
Eigenschaft Wert
Anschlüsse 2
Anzahl zerstörter Verbindungen 2
max. Entfernung \frac{n}{2}

Kette

  • einfach und kostengünstig
Eigenschaft Wert
Anschlüsse 2
Anzahl zerstörter Verbindungen 1
max. Entfernung n-1

Barrel Shifter:

  • Erweiterung des Rings um zusätzliche Verbindungen
  • Überspringen eines oder mehrerer Knoten möglich
  • Anzahl von Anschlüssen einer Station wird erhöht
  • verringert max. Entfernung
  • erhöht die Redundanz durch alternative Wege
Eigenschaft Wert
Anschlüsse
Anzahl zerstörter Verbindungen 2 \cdot log_{2}(n) - 1
max. Entfernung

Baumtopologie:

  • geeignet für Broadcastartige Kommunikation (von der Wurzel aus)
  • Engpass ist der Pfad über die Wurzel
Eigenschaft Wert
Anschlüsse
Anzahl zerstörter Verbindungen 1
max. Entfernung log(n)

Sterntopologie

Sterntopologie

  • Spezialfall eines einstufigen Baums
  • Große Anzahl von Anschlüssen an der Zentralstation
  • Hauptlast liegt auf der Zentralstation
  • Zentralstation = Single Point of Failuer (Ausfall = Totalausfall)
  • Anschluss neuer Knoten sorgt für höhere Last auf der Zentralstation
Eigenschaft Wert
Anschlüsse 1 (Zentralstation = n)
Anzahl zerstörter Verbindungen 1
max. Entfernung 2

2D-Gitter:

  • Jeder Knoten ist mit 4 Nachbarn verbunden
  • leicht Skalierbar
Eigenschaft Wert
Anschlüsse
Anzahl zerstörter Verbindungen 2 (beim Eckknoten)
max. Entfernung \sqrt{n}

3D-Torus:

  • 6 Anschlüsse pro Station
Eigenschaft Wert
Anschlüsse 6
Anzahl zerstörter Verbindungen 2 \cdot n^{\frac{2}{3}}
max. Entfernung \sqrt{3}{n}

Vollvermascht:

  • Jede Station ist mit jeder Station verbunden
  • sehr hoher Hardwareaufwand
  • nur bei kleiner Anzahl von Stationen realisierbar
Eigenschaft Wert
Anschlüsse n
Anzahl zerstörter Verbindungen n-1
max. Entfernung 1

Leitungscodierung

  • selbsttaktende Leitungscodes
    • ermöglichen Taktrückgewinnung aus dem Datenstrom
    • wird bei der synchronen seriellen Datenübertragung benötigt (alle Rechnernetze inkl. Sensor-Aktuator- und Feldbusse)
    • setzt einen regelmäßigen Wechsel zwischen 0 und 1 Pegel voraus
    • Sicherstellung von Signalen die keine zu langen Eins- bzw. Nullfolgen ohne Flankenwechsel haben
    • Takt kann aus den Flanken rekonstruiert werden
  • gleichstromfreie Leitungscodes
    • Leitungscodes ohne Gleichanteil im Signal
    • Datenübertragung über Stromversorgungsleitung möglich, sofern eine Gleichspannung als Energieversorgung verwendet wird.
    • Senke kann durch Tiefpass den Gleichanteil der Energieversorgung und durch einen Hochpass das Datensignal herausfiltern.

(Unipolarer) NRZ-Codierung (Non Return to Zero)

Eigenschaften Wert
Taktrückgewinnung nicht gegeben
Gleichstromfreiheit nein
Logische 1 High-Pegel (+1)
Logische 0 Low-Pegel (0)
Pegelwechsel Bei jedem wechsel von logischer 1 und 0
Anwendungsbereich asynchrone Übertragung, bei der Synchronisation durch Rahmendaten erfolgt

(Bipolarer) NRZ-Codierung (Non Return to Zero)

Eigenschaften Wert
Taktrückgewinnung nicht gegeben
Gleichstromfreiheit nein
Logische 1 High-Pegel (+1)
Logische 0 Low-Pegel (-1)
Pegelwechsel Bei jedem wechsel von logischer 1 und 0
Anwendungsbereich asynchrone Übertragung, bei der Synchronisation durch Rahmendaten erfolgt

NRZI-Codierung (Non Return to Zero Inverted)

Eigenschaften Wert
Taktrückgewinnung nicht gegeben
Gleichstromfreiheit nein
Logische 1 wechsel des Pegels
Logische 0 beibehalten des Pegels
Pegelwechsel bei jeder logischen 1
Bandbreitenanforderung NRZ

RZ-Codierung (Return to Zero)

Eigenschaften Wert
Taktrückgewinnung möglich
Gleichstromfreiheit nein
Logische 1 Heigh-Pegel (+1)
Logische 0 Low-Pegel (-1)
Pegelwechsel nach halber Taktperiode zurück auf Null
Bandbreitenanforderung 2 * NRZ

Unipolare RZ-Codierung

Eigenschaften Wert
Taktrückgewinnung nicht gegeben
Gleichstromfreiheit nein
Logische 1 Heigh-Pegel (+1)
Logische 0 Low-Pegel (0)
Pegelwechsel nach halber Taktperiode zurück auf Null
Bandbreitenanforderung 2 * NRZ

Bipolare RZ-Codierung

Eigenschaften Wert
Taktrückgewinnung nicht gegeben
Gleichstromfreiheit ja
Logische 1 Pegel = +1 und -1 im wechsel (alternierend)
Logische 0 0-Pegel
Pegelwechsel bei jeder logischen 1
Bandbreitenanforderung

Manchester-Codierung (IEEE 802.3)

Eigenschaften Wert
Taktrückgewinnung Ja
Gleichstromfreiheit nur bei Verwendung eines Bipolaren Signals
Logische 1 steigende Flanke
Logische 0 fallende Flanke
Pegelwechsel zu beginn und zur Mitte des Takts
Bandbreitenanforderung 2 * NRZ
Anwendung Teil des Ethernet-Standards

Differential-Manchester-Codierung

Eigenschaften Wert
Taktrückgewinnung Ja
Gleichstromfreiheit
Logische 1 kein Flankenwechsel Taktanfang
Logische 0 Flankenwechsel Taktanfang
Pegelwechsel zur Taktmitte
Anwendung Tokenring

AMI (Alternate Mark Inversion Code)

Eigenschaften Wert
Taktrückgewinnung Ja
Gleichstromfreiheit Ja
Logische 1 Pegel = +1 und -1 (alternierend)
Logische 0 0-Pegel
Pegelwechsel im Takt
Anwendung

4B/5B-Codierung

  • Blöcke aus 4 Bit werden zu 5 Bit kodiert
  • Es folgen nie mehr als 3 Nullen aufeinander
  • die 5 Bit werden NRZI Codiert zur Vermeidung zu langer 1-Folgen
Eigenschaften Wert
Taktrückgewinnung Ja
Gleichstromfreiheit
Bandbreitenanforderung 1,25 NRZ
Anwendung FDDI (100MBit/s Tokenring)

Bussysteme

LIN (Local Interconnect Network)

  • geringe Anforderungen gegenüber CAN
  • kostengünstig
  • geringe Datenrate
  • Einsatz: Sitze, Türen, Dach, Klimaanlage, Steuereinheiten (Motorsteuerung)
Eigenschaft Wert
Übertragungsmedium
Übertragungsrate 1-20 kbit/s
Teilnehmer max. 16 Knoten
Daten/Nachricht: 1-8 Byte (ab Version 2.0 oder höher)
Busmanagement: Master/Slave (Zeitslots, deterministisch)
Einsatzgebiet KFZ (Sitze, Türen, Dach, Klimaanlagen)

CAN (Controller Area Network)

  • vernetzung komplexer Controller und Steuergeräte
  • Echtzeitfähig (verbesserung in TTCAN)
  • preisgünstig aufgrund von hoher Stückzahl
  • max. Übertragungsrate in der Praxis effektiv 500kBit/s
  • max. Teilnehmer kann durch Aufteilung in Segmenten erhöht werden
Eigenschaft Wert
Übertragungsmedium verdrillte Zweidrahtleitung
Übertragungsrate 10kbit/s (bei wenigen Kilometern) - 1MBit/s (40m)
Teilnehmer max. 32 Knoten
Daten/Nachricht: max. 8 Byte
Busmanagement: serieller Multi-Master-Bus
Buszugriffsverfahren: CSMA/CA
Einsatzgebiet KFZ, Haushaltsgeräte, Medizintechnik

LON (Local Operating Network)

Eigenschaft Wert
Übertragungsmedium verdrillte Zweidrahtleitung und Funk
Übertragungsrate 4,9 kBit/s (Funk 49 MHZ) - 1.25 MBit/s (Zweidraht 500m)
Teilnehmer max. 32000 (127 Endpunkte pro Subnetz, 255 Subnetze)
Daten/Nachricht:
Busmanagement:
Buszugriffsverfahren: CSMA/CD
Einsatzgebiet verteilte industrieelle Anendungen, Gebäudeautomatisierung

EIB (European Installation Bus)

Eigenschaft Wert
Übertragungsmedium
Übertragungsrate
Teilnehmer
Daten/Nachricht:
Busmanagement:
Buszugriffsverfahren:
Einsatzgebiet

Profibus (Process Field Bus)

Eigenschaft Wert
Übertragungsmedium
Übertragungsrate
Teilnehmer
Daten/Nachricht:
Busmanagement:
Buszugriffsverfahren:
Einsatzgebiet

FlexRay

Eigenschaft Wert
Übertragungsmedium
Übertragungsrate
Teilnehmer
Daten/Nachricht:
Busmanagement:
Buszugriffsverfahren:
Einsatzgebiet

MOST (Media Oriented System Transport)

Eigenschaft Wert
Übertragungsmedium
Übertragungsrate
Teilnehmer
Daten/Nachricht:
Busmanagement:
Buszugriffsverfahren:
Einsatzgebiet

Echtzeitsysteme

Echtzeitsysteme sind also Systeme, die korrekte Reaktionen innerhalb einer definierten Zeitspanne produzieren müssen. Falls die Reaktionen diese Zeitlimits überschreiten, führt dies zu Leistungseinbußen und/oder Fehlfunktionen.

Unterteilung

  • harte Echtzeitsysteme

    • Katastrophale Folgen beim Verpassen einer Deadline

    • Deadline muss zwingend eingehalten werden

    • bsp. flight control system (Flugzeugsteuerung)

    • Zeitliche Bindung die vom System stets erfüllt werden muss, da eine auch nur gelegentliche Verletzung erhebliche Folgen nach sich ziehen würde.

  • weiche Echtzeitsysteme

    • Einhaltung von Deadlines wichtig aber nicht notwendig zur korrekten funktionsweise.
    • zeitliche Bedingung bei der gelegentliche Verletzungen tolerierbar sind
    • bsp. Multimediasysteme (Darstellung 25fps -> verletzung meist tollerierbar)
  • oberen Zeitschranken -> maximal erlaubte Zeitspanne

    • Mindestgeschwindigkeit des Systems oder Teilen wird vorrausgesetzt
    • erreichung durch konstruktive Maßnahmen (aufwändig)
  • untere Zeitschranke -> minimale dauer einer Phase

    • anforderung kann durch warten erfüllt werden
  • beidseitige Zeitschranken

Unterscheidung

  • Ereignis gesteuert (event triggered)
    • Auslösung eines Interrupts bei auftreten eines Ereignisses (der Umgebung)
    • resultiert in kurzen Reaktionszeiten
    • anfällig bei der Verarbeitung vieler gleichzeitiger Ereignissen (sogennante event showers)
  • Zeit gesteuert (time triggered)
    • Auslösung durch periodische Zeitgeber
    • Aktives abfragen von Sensoren durch das Steuergerät (Polling)
    • ggf. puffern kurzer Signale
    • planbares zeitliches Verhalten sämtlicher Systemaktivitäten
    • Prüfbar ob Echtzeitanforderungen eingehalten werden können.

Echtzeitbetriebssysteme

Ein Betriebssystem nach **DIN44300 sind die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften dieser Rechenanlage die Basis der möglichen Betriebsarten des digitalen Rechensystems bilden und die insbesondere die Abwicklung von Programmen steuern und überwachen.

Komponente Beispiele
Prozess-Verwaltung Kreieren und Terminieren von Applikations- und System-Prozessen, Suspendieren und Reaktivieren von Prozessen, Prozess-Synchronisation und Kommunikation, Deadlock-Behandlung
Speicher-Verwaltung „Buchführung“ über freie und belegte Hauptspeicherbereiche, Kommunikation mit den in der Hierarchie angrenzenden Speichermedien, Dynamische Allokation und Deallokation von Hauptspeicher, Speicherschutz und Zugriffskontrolle
Prozessor-Verwaltung Multiprogramming, Dispatching, Zuteilungsalgorithmen (Scheduling), Vorrangunterbrechung (Interrupt, Preemption)
Geräte-Verwaltung
Datei-Verwaltung Datei-Konzepte, -Attribute und -Operationen, Zugriffs-Methoden, Verzeichnis-Strukturen und Implementierungen, Allokations-Methoden

Definition (Echtzeitbetrieb, DIN 44300) (engl. Real Time Operating System, kurz: RTOS) ist ein Betrieb eines Rechensystems, bei dem Programme zur Verarbeitung anfallender Daten ständig betriebsbereit sind derart, dass die Verarbeitungsergebnisse innerhalb einer vorgegebenen Zeitspanne verfügbar sind. Die Daten können je nach Anwendungsfall nach einer zeitlich zufälligen Verteilung oder zu vorbestimmten Zeitpunkten anfallen.

Anforderungen:

  • deterministisches zeitliches Verhalten -> Reihenfolge der Verarbeitungsschritte liegt eindeutig und wiederholbar fest
  • Bearbeitung vieler externer Ereignisse mithilfe eines Unterbrechungskonzepts
  • definierte Antwortzeiten einer Unterbrechung
  • schnelle Reaktion -> geringer Overhead bei direkten Zugriffen oder Kontextwechsel
  • Multitaskingfähigkeit (Vergabe des Prozessors an andere Prozesse bei Interrupts oder Timerablauf)
  • prioritätsgesteuerter anlauf von Programmen
  • effiziente und schnelle Interprozesskommunikation
  • Einsatz in Systemen mit begrenzten Ressourcen (durch Skalierbarkeit)
  • Lastunabhängigkeit muss garantiert sein
  • Verwendung von Standardschnittstellen
  • Kommunikation mit nicht Echtzeitsystemen
  • Verfügbarkeit für verschiedene Prozessorarchitekturen
  • optimierte Werkzeuge zur Entwicklung von Echtzeitanwendungen

Task

  • ist ein Ausführbares Programm inkl. aller dazu gahöriger aktueller Werte, Register, Variablen und Betriebsmittel (Speicher, I/O, Signale, usw.)
  • Organisation in der Task Control Block (TCB) oder Process Control Block (PCB) Tabelle
  • Der PCB enthält die Prozessinformationen sowie CPU- und Systemkontext für den jeweiligen Task.
  • Die Prozessinformationen definieren den Prozesszustand (erzeugt, lauffähig, laufend, suspendiert, terminiert) sowie die Prozesspriarität (hoch, mittel, niedrig)

Scheduler

  • Zuordnung der Ausführungsreihenfolge von Prozessen bzw. Tasks (genannt Schedule)
    • Entscheidet anhand der Prozesspriarität welchem Lauffähigen Programm die CPU zugeordnet wird.
  • zentrale Instanz eines Echtzeitbetriebssystems
  • zulässig (feasible) wenn alle Zeitbedingungen aller Tasks im System erfüllt sind (keine Deadlines werden überschritten)
  • schedulebar heißen Systeme, die für jede mögliche Aktivierungssequenz einen zulässigen Schedule besitzen
  • präemptives (unterbrechendes) Sheduling:
    • von den meisten Echtzeitsystemen unterstützt
    • Tasks mit höherer Priorität unterbrechen laufende Tasks mit niedrigerer Priorität
  • kooperative Scheduling:
    • Tasks geben freiwillig (zu einem ihm passenden Zeitpunkt) die CPU ab
  • Dispatcher (Verteiler, operative Komponente):
    • zuständig für den Systemkontextwechsel (context switch)
    • wechsel von einem Task zu nächsten

Round-Robin-Verfahren

Eigenschaft Wert
Beschreibung Jeder Task erhält einen gleichmäßigen Anteil der Rechenzeit. Dies Zeitscheibe (time slice) wird dabei so kurz gewählt, dass keine bemerkbaren Verzögerungen auftreten.
Einsatzgebiet Mehrbenutzerbetriebssysteme/Timesharingsysteme (Linux, Windows NT, Unix...)
Echtzeitfähig nein

Earliest Deadline First Scheduling-Algorithmus (EDF)

  • neigt zu überflüssigen Kontextwechsel
  • unterbricht laufende Prozesse zu gunsten Prozesse mit kürzerer Laufzeit
  • Berechnung der Laufzeit sporadischer Tasks ist aufwendig
Eigenschaft Wert
Beschreibung Task mit nächstliegender Deadline wird ausgeführt.
Besonderheit Produziert für jedes schedulebare Prozesssystem einen zulässigen Schedule
Einsatzgebiet findet in der Praxis kaum Verwendung
Echtzeitfähig

Raten-monotone Scheduling (RMS)

Eigenschaft Wert
Beschreibung
Einsatzgebiet
Echtzeitfähig

Multitasking

Hierbei werden mehrere Task scheinbar parallel (gleichzeitig) verarbeitet. Dabei wird die CPU unter den Tasks zeitlich aufgeteilt. Der wechsel erfolgt dabei meist so schnell das der Eindruck entsteht, das die Tasks gleichzeitig Ablaufen.

Echtzeitbetriebssysteme sind durchweg Multitasking-fähig, hierbei werden sie durch:

  • Interrupts (Unterbrechungen)
  • Timeouts (Zeitabläufen)
  • Input events (Eingabeereignisse)

gesteuert.

Routing

Dijkstra-Algorithmus

  • Gerichteter, Kantenbewerteter Graph
  • Algorithmus zur Bestimmung des kürzesten Wegs zwischen zwei Punkten
  • Gewichtung nicht von den Hops abhängig sondern nur von den Wegekosten

Embedded Systems

Ein verteiltes System besteht aus Komponenten, die räumlich oder logisch verteilt sind und mittels einer Kopplung bzw. Vernetzung zum Erreichen der Funktionalität des Gesamtsystems beitragen.

Ein Steuergerät (engl. Electronic Control Unit, ECU) ist die physikalische Umsetzung eines eingebetteten Systems. In mechatronischen Systemen bilden Steuergeräte und Sensorik/Aktuatorik oft eine Einheit.

Wird Elektronik zur Steuerung und Regelung mechanischer Vorgänge räumlich eng mit den mechanischen Systembestandteilen verbunden, so sprechen wir von einem mechatronischen System. Der Forschungsbereich der sich mit der Entwicklung mechatronischer Systeme befasst nennt sich Mechatronik.

Klassifikation und Charakteristika

Technische Auspregung

  • kontinuierliche Systeme
  • diskreten Systeme
  • verteilten Systeme
  • monolithischen Systeme
  • hybriden Systeme (sowohl kontinuierlichs als auch diskretes Verhalten)

Systeme die sowohl kontinuierliche (analoge), als auch diskrete Datenteile (wertkontinuierlich) verarbeiten und/oder sowohl über kontinuierliche Zeiträume (zeitkontinuierlich), als auch zu diskreten Zeitbpunkten mit ihrer Umgebung interagieren, heißen hybrid Systeme.

Sicherheitsrelevanz

  • Sicherheitskritische Systeme (wenn Menschenleben oder die Unversehrtheit von Einrichtungen abhängt) z.B. Avionik, Medizintechnik und Kraftfahrzeugbereich
  • nicht Sicherheitskritische Systeme z.B. Konsumelektronik hauptsächlich nicht Sicherheitskritische Systeme
  • Zeitkritische Systeme
  • nicht Zeitkritische Systeme

Produktkategorien

  • Telekommunikation ( Telefon, Fax, etc.)
  • Haushalt (Waschmaschine, Mikrowelle, Fernseher, etc.)
  • Periphere Geräte (Tastatur, Modem, Drucker, etc.)
  • Bürotechnik (Kopierer, Schreibmaschine etc.)
  • Geräte für Freizeit, Hobby und Garten
  • Automobiltechnik (ABS, Wegfahrsperre, Navigationssysteme, etc.)
    • Massenmarkt für eingebettete Systeme
    • häufig Zeit- und zunehmend auch sicherheitskritisch
  • Öffentlicher Verkehr (Fahrkartenautomat, etc.)
  • Luft- und Raumfahrttechnik
  • Fertigungstechnik
  • Steuerungs- und Regelungstechnik, Medizintechnik, Umwelttechnik, Militärtechnik
  • Avionik (Flugzeugbau)
  • uvm

Klassifikation

Transformationelle Systeme

  • Eingaben müssen zu beginn der Systemverarbeitung vollständig vorliegen
  • Ausgaben nur verfügbar wenn die Verarbeitung vollständig terminiert
  • Keine interaktion während der Verarbeitung möglich (=> kein Einfluss auf die Ergebnisse)

Interaktive Systeme

  • Ausgabe nicht nur bei Terminierung
  • Interaktion und Synchronisierung mit der Umgebung
  • Interaktion wird durch das System bestimmt
  • proaktive Synchronisierung durch das System

reaktive Systeme

Ein reaktives System kann aus Software und/oder Hardware bestehen und setzt Eingabeereignisse deren zeitliches Auftreten meist nicht vorhergesagt werden kann - oftmals aber nicht notwendigerweise unter EInhaltung von Zeitvorgaben - in Ausgabeereignisse um.

  • Synchronisierung dich Systemumgebung
  • Reagieren auf ihre Umwelt
  • Arbeiten häufig Nebenläufig
  • müssen sehr zuverlässig sein
  • müssen Zeitschranken einhalten (Echtzeitsysteme)
  • sind in Hardware als auch Software realisiert
  • werden in komplexen, verteilten Systemplattformen implementiert
  • Die funktionale Korrektheit ist ein wichtiger Faktor der Entwicklung
  • eingebettet in komplexe bsp. mechanische, chemische oder biologische Systemumgebung => eingebettete Systeme

Bestandteile

  • Kontrolleinheit
  • Regelstrecke
  • Benutzerschnittstelle
  • technische Systemumgebung
  • menschliche Systembenutzer

Definitionen

Als Steuergerät (engl. Electronic Control Unit, ECU) wird die eigentliche Steuereinheit eines mechatronischen Systems verstanden.

Steuergeräte sind im Prinzip wie folgt aufgebaut: Die Kernkomponente des Steuergeräts stellt ein Mikrocontroller oder Mikroprozessor (Beispiele: Power PC, Alpha, PC) dar. Zusätzlich kann es optional ein externes RAM und/oder ROM besitzen sowie sonstige Peripherie und Bauelemente.

Mikrocontroller kennzeichnen eine Klasse von Mikroprozessoren, die auf den speziellen Anwendungsbereich der Steuerung von Prozessen zugeschnitten sind. Wir betrachten im Folgenden einige Spezialfälle genauer.

Ein ASIP (applikationsspezifischer Prozessor) ist ein Prozessor, der von seiner Struktur als auch von seinem Befehlssatz her auf seinen Einsatz für bestimmte Anwendungen hin optimiert ist. Er besitzt spezielle Instruktionssätze, funktionale Einheiten, Register und spezielle Verbindungsttrukturen.

  • kostengünstiger aufgrund abgespeckter Prozessoren
  • aufgrund Programmierbarkeit flexibel
  • höhere Verarbeitungsgeschwindigkeit und geringere Leistungsaufnahme aufgrund optimierter Strukturen
  • Nachteil = komplizierte und aufwendige Entwicklung

Ein DSP ist ein spezieller Mikroprozessor, der Befehle (und damit Verarbeitungseinheiten) zur Durchführung von Signal-Verarbeitungs-Aufgaben (bsp. Fast Fourier Transformation, FFT) besitzt.

  • Optimiert auf die häufig vorkommenden Opperationen bei der digitalen Signalverarbeitung (bsp. schnelle Multiplikation)
  • hoher Stellenwert ist die Effizienz dieser Operationen
  • Einsatz bsp. MP3 decoder oder Sprachsignalverarbeitung oder Bildverarbeitung

Das Field Programmable Gate Array (FPGA) ist ein komplexer, programmierbarer Logikbaustein, der zum Aufbau digitaler, logischer Schaltungen dient. Er besteht im Wesentlichen aus einzelnen Funktionsblöcken, die in einer regelmäßigen Struktur (Array) angeordnet sind, und einen Netzwerk von Verbindungen zwischen diesen Blöcken. Bei FPGAs wird die Implementierung von logischen Funktionen hauptsächlich durch die Programmierung der Verbindungsleitungen zwischen den Logikblöcken erreicht.

  • zwei Arten von FPGAs
    • rekonfigurierbare (unter verwendung von Speichertechnologien wie SRAM)
      • Nachteil: sie sind flüchtig
    • nicht rekonfigurierbare (einmal Konfiguriert immer Konfiguriert, umsetzung durch physikalische Zerstörung der nicht benötigten Verbindungsleitungen)
  • Realisierung von Speicherzellen möglich
  • Eignung zur Realisierung von Steuererwerken (in Form endlicher Automaten)
  • Im Gegensatz zu gewöhnlichen Gate Arrays (GA) sind FPGAs programmierbare Logikbausteine, deren Funktionalität durch das Zusammenschalten verschiedener Funktionsblöcke erreicht wird