Themenwechsel.
Was ist Emulation?
Wie unterscheided sie sich von Simulation? – Er wollte hören, dass die Grenze fließend ist und von der Schicht abhängt, die simuliert/emuliert werden soll.
Warum ist es langsam? – CPU simulation langsam
Lohnt es sich dann überhaupt, wenn so viel langsamer? – Auf IO warten muss man eh.
Busse, Chips, Komponenten. Wie krieg ich das schnell? – Callbacks und Cachen.
Bios ändert die PCI belegung, was jetzt? – Cache invalidieren.
Wie kann ich es schneller machen? – JIT
Was ist ein JIT?
Warum ist das schneller? Der compiler braucht ja auch Zeit. – compile once, execute often
Bei Kontextwechseln wird ja immer neuer Code eingeblendet, also muss ich immer alles neu übersetzen. Ist das nicht langsam? – Braucht halt gute Invalidierungsstrategie, die über Kontextwechsel hinaus speichert.
Preisfrage. Ich cache ja virtuelle Adressen, die sind nicht eindeutig, bei Adressraumwechseln. Was tun? – CR3 mit als key verwenden.