Integrierte Hard- und Softwaresysteme 1

Aus II-Wiki
Wechseln zu: Navigation, Suche

Fragen und Antworten zur Interaktive Vorlesung.

Inhaltsverzeichnis

Fragen zur IHS -2. Teil

Entwicklungsprozess und Aufgaben

Identifizieren Sie die Phasen des Entwicklungsprozesses

  • Analyse Design Implementierung Integration Pflege
  • Analyse wird dann noch in Problemanalyse, Machbarkeitsstudie und Ressourcenanalyse zerlegt
  • Design wird untergliedert in Architektur(TopLevel-), Detail- und Implementierungsdesign

Warum sind Fehler die erst spät im Entwicklungsprozess gefunden werden aufwendiger zu beheben als Fehler die frühzeitig erkannt werden?

  • Weil die Komplexität des Projekts mit der Entwicklungszeit zunimmt und die Auswirkungen eines Fehlers in einem Teilbereich auf einen anderen nicht immer offensichtlich sind. So kann ein Fehler weitere hervorrufen.

Beschreiben Sie den Unterschied zwischen dem Wasserfallmodell und dem Evolutionsmodell? Geben Sie Vor- und Nachteile der Ansätze an.

  • Wasserfallmodell: Alle Entwicklungsschritte werden der Reihe nach durchgeführt. => lineare Entwicklungslinie
    • Vorteil: Entwicklungsprozess ist leicht zu dokumentieren und nachzuvollziehen
    • Nachteil: Wenn nicht Iterativ: Jede Entwicklungsphase muss fehlerfrei abgeschlossen worden sein (unrealistisch, niemand kann an alles denken)
  • Evolutionsmodell: Analyse->Design->Implementierung->Test (erfolgreich: supi | nicht erfolgreich: zurück zum Design)
    • Vorteil: liefert schnell erste Ergebinisse. Kann auf Fehler in früheren Phasen reagieren.
    • Nachteil: Keine klare Struktur mehr. Hoher Testaufwand -> kann sehr teuer werden.


Beschreiben Sie den Unterschied zwischen der Analyse- und der Entwurfs(Design)-Phase bei der Entwicklung integrierter HW/SW-Systeme.

  • bei der Analyse wird nur beschrieben, was das Produkt können soll( Leistungsanforderungen, Schnittstellen, Funktionsweise, Qualität, Sicherheit, Größe, Kosten ..)
  • die konkrete Realisierung der gewünschten Eigenschaften des Produkts findet im Design Prozess statt.
  • man geht dabei von verschiedenen Designmodellen aus (Strukturansicht, Funktionsansicht, Daten-orientierte Ansicht, Verhaltensansicht)

Wann wird die Partitionierung der Anwendung auf Teile die in Software und in Hardware realisiert werden typischerweise vollzogen? Welche Nachteile hat die frühe Partitionierung gegenüber der späten Partitionierung?

  • wenn die Anwendung mehr auf Software basiert, kann man sie leicht nachträglich ändern
  • Hardwaretechnische Implementation ist meist schneller, aber der Aufwand einer nachträglichen Änderung ist erheblich größer

Was versteht man unter dem Begriff der Integration?

  • nachdem die Methode der Implementation ausgewählt wurde (Auswahl der Hardwarekomponenten, HW/SW Partitionierung), werden die gewünschten Funktionen und Algorithmen in der ausgewählten Umgebung kodiert.

Worin unterscheidet sich die Validierung durch Simulationen von der Validierung durch Tests?

  • Im Preis: Simualtionen sind meist billiger, können aber nicht alle realen Probleme erfassen.

Anforderungen und Anforderungsanalyse

Beschreiben Sie den Zweck der Analysephase.

  • Die Ziele der Analysephasen sind laut Folie:
    • Identifizierung von Zweck und Verdienst der Porduktentwicklung, und
    • Identifizierung des Zwecks des Produktes und verstehen seiner exakten Anforderungen
  • Meine Interpretation (Martin):
    • Was genau soll das Teil leisten/können?
    • Für welches Anwendungsgebiet bau ich das und was hab ich davon?


Welchen Zwecken kann die Machbarkeitsstudie (feasability analysis) dienen? Geben Sie ein technisches und ein nichttechnisches Argument an.

  • Überprüfung der Realisierbarkeit
  • technisch: physikalisch realisierbar? z.B. kann Zuverlässigkeit gewährleistet werden?
  • nichttechnisch: wirtschaftlich realisierbar? Entstehende Nebenkosten für Lizenzen und Neuanschaffungen


Worin unterscheiden sich die Verhaltensbeschreibungen die in der Analyse und der Entwurfsphase erstellt werden?

  • der Beschreibung in der Entwurfsphase enthalten nur Informationen, was das Produkt tun soll und welche Eigenschaften es haben soll
  • in der Entwurfphase wird geklärt, wie das System funktionieren soll.
    • Verkettung der Module (Strukturansicht)
    • Programmablaufplan

Beschreiben Sie die typischen Anforderungen an die Steuerung eines Dampferzeugers.

  • Sicherheit des Produkts (Notabschaltung bei Fehlfunktion)
  • Zuverlässigkeit (der Sensoren)
  • Maßnahmen zum Abfangen von Reaktionen des Nutzers (Fehler des Nutzers)

Beschreiben Sie die typischen Anforderungen an ein ABS-System.

  • Deadline einheiten (der Zeitpunkt der Bremsverzögerung ist wichtig)
  • Zuverlässigkeit ( muss erkennen, wenn ein Sensor ausfällt)
  • Sicherheit

Verhaltensbeschreibungen

Spezifizieren Sie die Bearbeitung des Finite Impulse Response (FIR)-Filters gegeben durch die Funktion out(n) = c1 * in(n) + c2 * in(n-1) durch einen Datenflussgraphen (DFG). Skizzieren Sie eine mögliche direkte Realisierung in Hardware (Register-Transfer-Ebene) mit maximaler Parallelität. Bestimmen Sie die nötigen Taktzyklen für die Berechnung eines Ausgangswertes unter der Annahme, dass eine Multiplikation fünf Zeiteinheiten und eine Addition eine Zeiteinheit benötigt.

Beschreiben Sie dasselbe Problem durch ein SW-Programm (Pseudo-Code). Bestimmen Sie die nötigen Taktzyklen unter den selben Annahmen wie oben, d.h. den gegebenen Taktzyklen für Multiplikation und Addition.

Identifizieren Sie die Mechanismen für Kommunikation zwischen Prozessen und vergleichen Sie diese.

Wozu dient Nichtdeterminismus von Automaten bei der Spezifikation von Systemen und ihrer Umgebung?

Prozessoren und Hardware (2006 teilweise)

Warum sind General-Purpose Prozessoren (z.B. Pentium) für Systeme mit harten Echtzeitanforderungen im allgemeinen nicht geeignet?

  • die Reaktionsgeschwindigkeit ist nicht so gut, wie z.b. bei ASICs

Vergleichen Sie Vor- und Nachteile von Prozessoren im Vergleich zu dedizierter Hardware.

  • Vorteile
    • geringere Entwicklungszeit da mehr Softwarerealisierung
    • größere Flexibilität
    • geringe Kosten bei kleinen Stückzahlen
    • Nachträgliche Änderungen sind schnell gemacht
  • Nachteile
    • hohe Kosten bei großen Stückzahlen
    • geringere Performance als dedizierte Hardware

Warum sind ASICs leistungsfähiger als FPGAs? Welche Vorteile haben FPGAs gegenüber ASICs?

  • ASICs sind speziell für die Anwendung entwickelte und optimierte logische Schaltungen, daher schneller
    • Nachteil: - extrem höhere Entwickungskosten und Entwicklungszeit gegenüber FPGAs
  • FPGAs können einfach programmiert werden (Automatengraph aufstellen, z- Gleichungen minimieren.. fertisch)
    • wenig Entwicklungszeit
    • geringe Kosten

High-level Synthese

Beschreiben Sie die Unterschiede zwischen high-level Synthese und der RTL-Synthese.

  • High Level Systhese: Man entwirft das System von oben nach unten. Zu erst Blockschlaltbilder des Systems mit den ganzen Modulen und Bussen. Dann geht man in die Modulebene und entwirft jedes Modul (bestehend aus Gates, Flip Flops, Logik). Zum Schluss die unterste Hardwareebene mit den Transistoren und dem ganzen Zeuch)

Ermitteln Sie den DFG für eine gegebene Funktion (z.B. f(x,y,z) = (6y + 7) + 4y (z + 4x)). Bestimmen Sie die Ablaufpläne (Mapping und Schedule) nach den verschiedenen in der Vorlesung besprochenen Strategien (ASAP, ALAP, Varianten für List Scheduling) unter verschiedenen Annahmen für die Allokation (d.h. die Anzahl der verfügbaren Resourcen (Multiplizierer, Addierer) und deren Taktzyklen).