yamaharacer schrieb:
bin mal gespannt ob der Emulator wirklich ohne Leistungseinbußen funktioniert. Kann mir das beim besten Willen nicht vorstellen.
Bei einer Emulation gibt es immer Leistungseinbußen. Ob diese Leistungseinbußen jedoch »spürbar« sind, hängt von der Emulation ab und wo diese eben ansetzt.
Selbst x86 und x64-Code werden ja in einem gewissen Sinn heute in Intel und AMD-Prozessoren »emuliert«, da der CISC-Code in RISC-Code (die MicroOPs) umgewandelt wird.
Ich denke, Microsoft und Qualcom werden den Maschinencode der Programme als Ausgangsquelle nehmen und die dortigen Anweisungen von x86/x64-CISC nach ARM-RISC umwandeln. Also was die Decoder in x86-CPUs ohne hin machen. So müssen sie nur den Decoder in Software nachbilden.
Cr4y schrieb:
Es kann sogar sein, dass sie von Intel überhaupt keine Zustimmung brauchen - egal ob noch Patente bestehen oder nicht - da es auch eine Frage ist, was genau emuliert wird.
Am Ende könnte es eher auf Urheberrecht/Copyright hinaus laufen. Gab ja entsprechende Verfahren zwischen Oracle und Google wegen der Java-API.
AAS schrieb:
Was du schreibst ist zum größten Teil falsch, auch wenn du mit ein paar Aussagen richtig liegst
Ja, Windows on ARM wird mit sehr hoher Wahrscheinlichkeit auf dem »Windows on Windows«-Subsystem aufbauen. Je nach verwendetem Öko-System ist jedoch etwas mehr notwendig.
Unter der x86/x64-Hardware ist eine »Emulation« nicht notwendig. x64-Code ist zu x86-Code kompatibel. Das WoW64-Subsystem muss nur darauf achten, dass es die Kerne - auf denen ein Thread ausgeführt wird - in den richtigen Modus schaltet und wieder zurück. Selbst die Bibliotheken müssen nicht angepasst werden oder neu kompiliert werden. Sie werden einfach mit Windows mit geliefert.
Bei ARM ist es jedoch etwas komplizierter. Nativer x86/x64-Code kann auf ARM-Prozessoren nicht ausgeführt werden. Genauso wenig kann man nativen ARMv7 oder v8-Code auf einer x86/x64-Prozessor ausführen. Beide Prozessoren haben vollständig unterschiedlichen Assembler-Code und damit Maschinencode.
Beispiel ist das WoW64-Subsystem für die Itanium-Plattform. Dort wird ein besagter Software-Maschinencode-Decoder eingesetzt, der x86-Code nach IA64 übersetzt.
Bestimmte Sachen kann man dann abfangen, in dem man die Bibliotheken (dll) bereits für das System kompiliert, funktioniert aber auch nur, solange die Software keine eigenen Versionen mit bringt.