Zusammenfassung

Vektorrechner

  • SIMD
  • Havard- Arch. (Datenspeicher und Programmspeicher getrennt)

Anwendungsbeispiele

  • FEM- Berechnungen
  • Multimedia
  • Differentialgleichungssysteme
  • Modeller
  • 3D- Modellierung

Softwareherstellung

Beispiele

  • MMX, 3DNow!, SSE

Vorteile

  • HW- ersparniss gegenüber MIMD
  • keine Sync Probleme
  • leichte Skalierbarkeit
  • gut geeignet für Vektor- und Matrixoperationen

Nachteile

  • kein Speedup bei Nicht- Vektor- Operationen
  • verschärfter Flaschenhals
  • Schwierigkeiten bei Rekursion
  • globaler Takt

Virtuelle Befehlssatz- Architektur

  • Befehlssatz wird durch Software erweitert

Beispiel "Code- Morphing" bei Crusoe und Efficeon

  • x86 kompatibel
  • real: RISC- VLIW- Architektur
    (wenig Chipfläche, wenig Stromverbrauch)

Übersetzungsvorgang

(ähnlich zu “Just-In-Time” - Compiler)

  1. Dekodierung
  2. Optimierung
  3. Scheduling

Vorteile

  • Kompatibilität
  • Flexibilität
  • bessere HW- Optimierung
  • im Grunde kann jede RISC- Architektur benutzt werden

Nachteile

  • Exakte Unterbrechungen
    Commit/Rollback
  • Speicher Aliases
    Alias - Hardware

Datenfluß Architekturen

  • nur Datenabhängigkeiten
  • keine Aussage über die Ablaufrichtung
  • Einteilung
    • klassisch
      • statische Arch
      • dyn Arch
    • hybrid
      (Datenfluß+Steuerfluß Arch)
    • fest verdrahtet
    • Out of Order Kern
      von Steuerfluß- Arch mit OoO Execution

statische DF

  • Programm befindet sich im Activity Store
  • Maschinenzustand im Activity Store
  • nur eine Berechnung zu einem Zeitpunkt

dynnamische DF

  • Programm ro im AS
  • Maschinenzustand in beweglichen Tokens
  • mehrere Berechnungsvorgänge / Zeitpunkt

hybride DF

  • Kombination: Datenfluß + Steuerfluß
  • Beispiel: “Makro- Datenfluß”
  • MIMD- Parallelität
  • makroskopisch: Datenfluß
  • mikroskopisch: Steuerfluß ← bei einfachen Befehlen
  • Nachteil der DFM (Overhead bei den befehlen) wird vermieden

Softwareherstellung

  • Datenfluß- Graph
  • Signalfluß- Graph
  • Visuelle DF Sprache
  • textuelle DF- Sprachen
  • gewöhnliche Programmiersprache

Vorteile

  • implizite Parallelität
  • implizite Synchronisation
  • einfache Programmierung
  • grafische Programmierung möglich

Nachteile

  • imperative Operationen schwierig
  • Overhead im Befehlszyklus größer

Processing in Memory

  • bei anderen Architekturen ist der Bus der Flaschenhals
  • Operationen werden direkt im Speicher ausgeführt

Vorteile

  • erhöhter Durchsatz
    (massive Parallelität)
  • Elemente am Systembus werden eingespart → Energie wird gespart
  • gut Skalierbarkeit
    (weitere gleichartige Elemente können hinzugefügt werden)

Nachteile

  • keine Standardbausteine
  • Programmierung kompliziert
  • Akzeptanz schlecht

konventionelles PIM

typ. Operationen

  • einfache Aritmetik
  • Sortieren
  • Minimum- und Maximumsuche

Anwendung

  • Datenbank
  • Tabellen
  • Suchfunktion

Assoziativrechner

  • implizierte Befehlsadressierung
  • implizite Kommunikation
  • ist skalierbar
  • SIMD
  • gut für Sprungbefehle und Verzweigungen

Neuro- Computer

  • Neuronenmodelle werden bwnutzt
    (wie in der Natur: Gehirn)
  • Varianten:
    • Simulation
      (auf stat. Hardware)
    • Neurocomputer
      • virtuelle
      • direkte
        • digital
          (binäre Aktivierungsfunktion)
        • analog
          analoge Elemente (OPV) werden verwendet, Problem: Analogwerte speichern?
        • hybrid
          wenig Elemente
          Geschwindigkeit kann verändert werden
          langsame Lernphase
  • CPS (Connections per Second, Arbeitsphase)
  • CUPS (Connection Updates per Second, Lernsphase)

Anwendungsbeispiele

  • Mustererkennung
  • Interpolation und Extrapolation
  • Prognosen
  • Optimierung
  • Steuern & Regeln

Vorteile

  • einfache Grundelemente
  • Robustheit gegenüber Fehler, Störungen oder Ausfällen
  • Lernfähigkeit und Selbstorganisation
  • verteilte Parallelität

Nachteile

  • viele Grundelemente werden benötigt
  • schlecht zu realisieren, da analog

Steuerfluß Prozessoren

Situation

  • Integrationsgrade steigern
  • Taktfrequenzen steigen
  • Leitungsverzögerungen steigen

Ziele

  • Rechenleistung erhöhen
  • Verlustleistung senken
  • Zuverlässigkeit erhöhen
  • Programmierung effektivieren

Superspekulative Prozessoren

  • Sprünge durch Vorhersagen

Multi-Thread- und Multi-Skalar - Prozessoren

Multithread (SMT) Multiskalar
verschiedene Tasks bzw. Threads verschiedene Traces eines Programmes
in der Laufzeitumgebung explizit definiert spekulative Trace- Analyse
Multiprozessor- Kernel erforderlich kein angepasstes Betriebssystem nötig
z.B. Pentium 4, Power 5, (21464) Zukunft ;-)

Raw- Machines

(“Rohprozessoren”)

  • einfache Grundelemente
  • Konfigurierbarkeit durch Software
  • Optimierung beim Übersetzungsprozess
  • Leistungsfähige Kommunikation
  • alle Elemente mehrfach
  • Kommunikation bei höchster Bandbreite

Optische Computer

  • Vorteile des Lichtes nutzen
  • Grundaufbau:
    Quell- Array → Gatter (AND/OR) → Schalter Array → Kombinatorik → Sensor- Array

Vorteile

  • hohe Bandbreite
    • keine parasitäten Einflüsse
    • hohe Grundfrequenzen
  • geringe Wechselwirkung
    • Lichtstrahlen können sich kreuzen
      → mehr Verbindungen im selben Raum
  • spatiale Modulierbarkeit
    • Umlenkung mit nur einem Spiegel
    • Bündelung mit nur einer Linse
  • gute EMV- Eigenschaften
  • ausgereifte Verfahren für Transport und Speicherung

Nachteile

  • geringe Wechselwirkung
  • technologische Defizite
  • noch kein massiver Bedarf
  • Akzeptanzprobleme

Quantencomputer

  • Effekte der Quantenmechanik ausnutzen

Quanteneffekte

  • Unteilbarkeit
  • diskrete Zustände
  • mikroskopisch
  • stochastische Eigenschaften
  • Superposition: (kollabiert sofort bei Wechselwirkung)
    gleichzeitige Existenz verschiedener Zustände
  • Verschränkung

Vorteile

  • enorme Parallelität der Verarbeitung
  • echte Zufallszahlen

Nachteile

  • Effekte sind schwer beobachtbar
  • jede Beobachtung zerstört den Effekt
  • Technik nicht vorstellbar
  • Akzeptanz
 
wiki/study/sira/sum.txt · Last modified: 2005/07/26 16:36 (external edit)
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki