Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 4 » vm-2020-02-12 (Übersicht)
no way to compare when less than two revisions
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
— | pruefungen:hauptstudium:ls4:vm-2020-02-12 [25.02.2020 09:56] (aktuell) – angelegt matze123 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | Die Prüfungssituation war den Umständen entsprechend sehr angenehm. Prof. Sieh ist ein sehr ruhiger Prüfer, die Prüfungssituation ist daher eher wie ein Dialog. Wie zuvor angekündigt, | ||
+ | Nachfolgend findet ihr mein Gedächtnisprotokoll mit Stichpunkt artigen Fragen. Im Gegensatz zu den vorherigen Prüfungsprotokollen hielten wir uns eigentlich nur bei Interpreter/ | ||
+ | **Interpreter, | ||
+ | |||
+ | --> Lazy flag (auch in Hinblick auf Exception) | ||
+ | |||
+ | **Wie funktioniert das bei Emulation? | ||
+ | |||
+ | --> Operand merken und bei Exception flags berechnen | ||
+ | |||
+ | **Was ist noch langsam?** | ||
+ | |||
+ | --> Speicherzugriff (7 mal pro Instruktion, | ||
+ | |||
+ | **Was passiert da und wie macht man das in der Simulation? | ||
+ | |||
+ | --> Hier habe ich alles aus der Vorlesung raus gehauen. Alignment-Check, | ||
+ | |||
+ | **Warum ist der virtualisierte Speicher nicht mehrfach assoziativ? | ||
+ | |||
+ | --> Die reale CPU besitzt einen mehrfach assoziativen Speicher. Das bedeutet, das auf einen TLB-Eintrag mehrere Pages gemappt werden. Wird ein TLB-Eintrag gehittet, schaut die CPU mehrere Pages **parallel** an, ob das die gewünschte Page ist. --> In der Virtualisierung macht das keinen Sinn, da wir das sequentiell machen müssten, das kostet Performance. | ||
+ | |||
+ | **Du hast ja bereits den JIT erwähnt, warum ist der schneller als ein Interpreter? | ||
+ | |||
+ | --> Block-Reuse, | ||
+ | |||
+ | |||
+ | **Warum ist die maximale Block-Länge die page size?** | ||
+ | |||
+ | --> CISC Instruktionen | ||
+ | |||
+ | |||
+ | **Wann invalidieren wir kompilierte Blöcke?** | ||
+ | |||
+ | --> Sobald wir self modifying code haben. | ||
+ | |||
+ | |||
+ | **Wer macht denn sowas?** | ||
+ | |||
+ | --> ein simulierter JIT, ein Kernel bei der Terminierung von Programmen | ||
+ | |||
+ | |||
+ | **Zum Ende: Bibliotheksbasierte Virtualisierung. Was ist wichtig?** | ||
+ | |||
+ | --> Gleiche Instruktionen, | ||
+ | |||
+ | |||
+ | **Jetzt ist ja nicht jede CPU gleich...** | ||
+ | |||
+ | --> Es muss der verwendete Subset an CPU Instruktionen unterstützt werden, nicht komplett gleiche CPU sein. | ||
+ | |||
+ | |||
+ | Als Vorbereitung habe ich vor allem die vorherigen Prüfungsprotokolle herangezogen. Bis auf die Frage mit der Speicherassoziation kamen auch keine komplett neuen Fragen dran. |