1
0
mirror of https://github.com/2martens/uni.git synced 2026-05-06 11:26:25 +02:00
Files
uni/es/Klausurvorbereitung/Zusammenfassung.md
2015-07-18 17:35:35 +02:00

6.7 KiB

Einführung

Anwendungsgebiete

  • ES werden in unterschiedlichen Bereichen verwendet: ** Autos ** Flugzeuge ** Züge ** Mobiltelefone ** Gesundheitssektor ** Sicherheit ** TVs ** Fabriken ** Intelligente Gebäude ** Logistik (RFID) - Tracking von Objekten ** Robotik

Wichtige Eigenschaften

  • dependable ** Reliability - Probability that system will not fail ** Maintainability - Probability that failing system can be repaired within certain timeframe ** Availability - Probability that system is available ** Safety - System will not cause any harm ** Security - confidential data remains confidential and authentic communication is guaranteed
  • efficient ** Energie ** Laufzeiteffizienz ** Codegröße ** Gewicht/Masse der Hardware ** Kosten

ES müssen oftmals Echtzeitbedingungen umsetzen. Zwei Arten:

  • harte Bedingungen - Nicht-Einhalten führt zu Katastrophe
  • weiche Bedingungen - alle anderen Zeitbedingungen

weitere Eigenschaften

  • reaktiv
  • hybrid - analoge und digitale Bestandteile
  • DUI - dedicated user interface

Herausforderungen im Design von ES

  • Software muss auf Hardware abgestimmt werden
  • ¬funktionale Bedingungen müssen eingehalten werden ** Echtzeitbedingungen ** Energieeffizienz ** Dependability - Verlässlichkeit
  • Zeitmanagement ist eine der größten Herausforderungen
  • Concurrency (Nebenläufigkeit) ist essentiell
  • Kombinieren von Komponenten ist wichtig für Design
  • traditionelle sequentielle Prog.Sprachen sind nicht ideal

Designflow

  • rounded boxes - stored info

  • rectangles - transformations on data

  • application knowledge -> specification -> HW components -> system software => design repository -> design -> [test] | | [application mapping]

  • [optimization]

  • [evaluation & validation]

  • [test]

  • Figure 1.6 page 13

Spezifikationen und Modellierung

Bedingungen

  • Model: Simplification of another entity, which can be a physical thing or another model. The model contains exactly those characteristics and properties of the modeled entity that are relevant for a given task. A model is minimal with respect to a task if it does not contain any other characteristics than those relevant for the task.

Modelle werden in Sprachen beschrieben. Sprachen sollten folgende Eigenschaften aufweisen (Wunschliste):

  • Hierarchie ** Verhaltshierarchien - enthalten für Beschreibung des Systemverhaltens notwendige Objekte, z.B. Zustände, Events ** Strukturhierarchien - beschreiben physische Komponenten des Systems
  • Komponenten-basiertes Design - Verhalten des Systems muss von Verhalten der Komponenten ableitbar sein
  • Nebenläufigkeit
  • Synchronisation und Kommunikation
  • Zeitverhalten (timing behavior) ** elapsed time (vergangene Zeit) seit X ** Verzögern von Prozessen für spezifizierte Zeit ** being able to specify timeouts ** Fähigkeit Deadlines und Schedules zu spezifizieren
  • Zustandorientiertes Verhalten
  • Eventhandling
  • Ausnahmeorientiertes Verhalten
  • Vorhandensein von Programmierelementen
  • Ausführbarkeit
  • Support für Design großer Systeme
  • Support für Anwendungsdomain
  • Lesbarkeit
  • Portabilität und Flexibilität
  • Termination - feasible to identify processes which will terminate from the specification
  • Support für ¬Standard I/O-Devices
  • ¬funktionale Eigenschaften
  • Support für Design von verlässlichen (dependable) Systemen
  • keine Hindernisse für Generierung effizienter Implementierungen
  • angemessenes MoC (Model of Computation)

Models of computation (Berechnungsmodelle)

  • MoCs definieren: ** Komponenten ** Kommunikationsprotokolle

Beziehungen zwischen diesen Punkten können in Graphen festgehalten werden.

Models of Communication:

  • shared memory
  • message passing ** async message passing - non-blocking communication ** sync message passing - blocking communication, rendez-vous based communication ** extended rendez-vous, remote invocation

Organisation von Berechnungen innerhalb der Komponenten

  • Von-Neumann Modell
  • discrete event model
  • endliche Automaten
  • Differentialgleichungen

Kombinierte Modelle: Tatsächliche Sprachen kombinieren normalerweise ein Kommunikationsmodell mit einer Organisation von Berechnungen innerhalb der Komponenten.

Beispiele:

  • StateChart - kombiniert endliche Automaten mit shared memory
  • SDL - kombiniert asynchrones message passing with endlichen Automaten
  • ADA, CSP - kombinieren von-Neumann mit synchronem message passing

Figure 2.7 page 34

Hardware

Input

Sensoren:

  • Beschleunigungssensoren
  • Regensensoren
  • Bildsensoren (charge-coupled devices und CMOS)
  • biometrische Sensoren
  • künstliche Augen
  • RFID
  • andere Sensoren

Sensoren erzeugen Signale.

Diskretisierung von Zeit: Sample-and-hold circuits

  • messen eines Wertes aus dem kontinuierlichen Zeitspektrum
  • gemessener Wert wird für bestimmte Zeitdauer weitergeleitet
  • danach zurück zur Messung des Wertes
  • Output gleicht damit diskreten Werten (gleicher Wert für bestimmte Zeitdauer)

Diskretisierung von Werten: A/D Konverter

  • Flash A/D converter ** large number of comparators ** each comparator has two inputs (+ and -) ** if voltage at + larger than at - -> logical 1, otherwise logical 0

Processing Units

  • Energie"verbrauch" ist wichtigste Beschränkung in ES

ASICs (Application-specific circuits)

  • hohe Kosten
  • sehr gute Performance für sehr kleinen Anwendungsbereich
  • keine Flexibilität

Prozessoren

  • Flexibilität
  • Energieeffizienz ist wichtig - Compiler müssen so effizient sein wie möglich
  • müssen nicht kompatibel mit PC-Prozessoren sein
  • Dynamic power management ** power saving states (idle and sleep) ** changes between states
  • Dynamic voltage scaling ** reduced voltage means significantly less power consumption ** only linear increase of runtime of algorithms
  • Code-size efficiency ** CISC machines (Complex Instruction Set Processors) ** Kompressionstechniken
  • Laufzeiteffizienz

Reconfigurable Logic

application areas:

  • fast prototyping
  • low volume applications
  • realtime systems

Memories

  • großer Geschwindigkeitsunterschied zw. Prozessoren und Memories
  • kleinere Memories wichtig, da sie schnellere Zugriffszeiten bieten
  • mehrere kleine Speicher für häufig genutzte Instruktionen und Daten plus ein größerer Speicher für restliche Daten und Instruktionen bieten i.A. höhere Energieeffizienz
  • Scratch Pad memories (SPMs) als Alternative zu Caches

Communication

  • Informationen können durch Kanäle transportiert werden
  • physische Entitäten, die Kommunikation ermöglichen heißen Kommunikationsmedien
  • wichtige solche Medien: ** drahtlose Medien (Infrarot, RFID) ** optische Medien (Glasfaser) ** Kabel

Requirements

  • Echtzeitverhalten
  • Effizienz
  • angemessende Bandbreite und Kommunikationsverzögerung
  • Support für eventbasierte Kommunikation
  • Robustheit
  • Fehlertoleranz
  • Wartbarkeit, Diagnosefähigkeit
  • Datenschutz

Elektrische Robustheit