====== ES + PSys ====== * Prüfer: Teich * Beisitzer: Matthias Hartl * Ergebnis: 1,7 ===== Bemerkungen ===== * Entspannte Atmosphäre, nettes "Gespräch" * Teich stellt Fragen teilweise etwas "schwammig", hilft einem aber in die richtige Richtung, wenn man nachfragt. * Fragen und Diagramme waren vorbereitet. Zitat Teich hinterher: "Ich traue mich schon fast nicht mehr, die Fragen zu stellen...", also wohl fester Satz an Prüfungen. * Äußerst faire Bewertung, ich hatte mich schlechter gesehen. ===== Fragen ===== ==== ES ==== * Beispiele für eingebettete Systeme, speziell energiekritische (-> z.B. Handy etc.) und zeitkritische (-> z.B. Steuerung für Airbag). * Abstraktionsebenen im Entwurfsprozess -> das berühmte "Doppeldach" * Wo kommt dabei die Synthese (-> senkrechte Pfeile) und was macht man da? -> Allokation, Bindung, Ablaufplanung jeweils mit Erklärung. * Welche Möglichkeiten der Ablaufplanung gibt es? -> ASAP, ALAP, mit Ressourcenbeschränkungen List-Scheduling. Mehr wollte er nicht. * Zeigt mir ein Petri-Netz: Was ist das? Was macht man damit? (-> Modellierung von parallelen Abläufen) Ist das ein besonderes? -> Das vorliegende Netz war ein markierter Graph. * Wie funktioniert ein Petri Netz? -> Plätze, Transitionen, Marken, wann ist eine Transition feuerbereit, was passiert beim feuern * Welche besonderen Eigenschaften hat ein markierter Graph? -> Alle Kanten haben das Gewicht 1, jeder Platz hat nur je eine Eingangs-/Ausgangskante. Ich wusste nur das Kantengewicht, alles andere wurde gemeinsam "erarbeitet". * Was bedeutet das für die Sicherheit/Deadlocks? -> Feste Anzahl von Marken in allen Zyklen => beschränkt (=sicher), min. 1 Marke in jedem Zyklus => deadlockfrei. Ich hab's nicht gewusst, da hat er mich die komplette Erreichbarkeitsmenge aufstellen lassen und die Sicherheit/Deadlockfreiheit daran zeigen lassen. ==== PSys ==== * Klassifikation von parallelen Systemen nach Flynn mit schematischer Darstellung -> SISD/SIMD/MISD/MIMD: Jeweils Command Unit(s), Data Path(s) und Speicher malen und entsprechend mit Pfeilen verbinden * Was ist Speedup? (-> Verhältnis der Ausführungszeit auf einem Prozessor zur Ausführungszeit auf n Prozessoren) Welche Modelle gibt es? -> Fixed Load (Amdahl), Fixed Time (Gustavson). * Modell von Amdahl genauer erläutern -> Prozessor entweder rein sequentiell oder voll parallel (Formel für den Speedup abhängig vom Anteil parallelisierten Codes), dadurch starker Einbruch des Speedup bei weniger Parallellisierung. * Ist das Fixed Load-Modell realistisch? -> Nein, zu pessimistisch. Fixed Time näher an der Realität. * Was ist ein SoC, wie kann man SoCs klassifizieren? -> Programmierbare Hardware mit Steuerung und Peripherie auf einem Chip. Klassifizierung nach HW/SW-Partitionierung, Granularität, (Re-)Konfigurierbarkeit (programmierbar, (re-)konfigurierbar, partiell?, dynamisch?) * Was sind die Bernstein-Bedingungen? -> Bedingungen unter denen sich Prozesse/Anweisungen/sonstwas parallel ausführen lassen (Schnittmengen von Ein-/Ausgangsvariablen...) * Für ein Fragment Pseudo-Code (5 Anweisungen, davon eine Schleife) die Bernstein-Bedingungen überprüfen, anschließend vollständige Abhängigkeitsanalyse (Daten-, Anti-, Ausgabeabhängigkeit), "zum Überprüfen, ob das gleiche rauskommt". Ich hab mich bei den Bernstein-Bedingungen vertan und hatte ein falsches Ergebnis. Nach der Abhängigkeitsanalyse (die ich wohl richtig hatte) hat mich Teich auf die unterschiedlichen Ergebnisse angesprochen. Ich durfte korrigieren, der Fehler ging __nicht__ negativ in die Bewertung ein.