1. Foren
  2. Kommentare
  3. Sonstiges
  4. Alle Kommentare zum Artikel
  5. › ARM statt x86: Was Apple Silicon für…

Rosetta 2 ist keine Emulationsschicht.

Für Konsolen-Talk gibt es natürlich auch einen Raum ohne nerviges Gedöns oder Flamewar im Freiraum!
  1. Thema

Neues Thema Ansicht wechseln


  1. Rosetta 2 ist keine Emulationsschicht.

    Autor: windbeutel 23.06.20 - 14:15

    Die x86-Binaries werden vor dem Start einmalig in arm64 übersetzt.

  2. Re: Rosetta 2 ist keine Emulationsschicht.

    Autor: ms (Golem.de) 23.06.20 - 14:31

    Ja, du hast Recht - ist technisch nicht korrekt, mein Fehler ... habe mich von "Emulation" bei der Tomb Raider Präsentation irritieren lassen.

    Marc Sauter, Sr Editor
    Golem.de

  3. Re: Rosetta 2 ist keine Emulationsschicht.

    Autor: ashahaghdsa 26.06.20 - 10:17

    Heißt das, Programme die dynamisch Code erzeugen laufen dann nicht? Also die Java VM, Browser und so? Die werden sicherlich auch nativ zur Verfügung stehen. Aber das betrifft dann jedes Programm/Spiel, was intern eine Scriptsprache JITtet...

  4. Re: Rosetta 2 ist keine Emulationsschicht.

    Autor: wurstdings 26.06.20 - 11:17

    Hä? GeJITet wird halt auf die ARM-Plattform und fertig, sofern das Java nicht irgendwelche Platformabhängigen Libs verwendet ist das doch ein noBrainer.

  5. Re: Rosetta 2 ist keine Emulationsschicht.

    Autor: ashahaghdsa 26.06.20 - 12:27

    Na ja, mir ging es um x86 Programme, die eine JIT nutzen. Einfach neu compilieren ist nicht, weil man den JIT neu schreiben muss. Java und Browser werden das sicherlich machen (weil sie ohnehin schon eine ARM JIT für andere Platformen haben). Aber alle Electron Apps nutzen JIT und können dann nicht "emuliert" werden. Klar wird es eine natives Electron geben, die App muss dennoch aktualisiert werden.
    Genauso alles, was z.B. LuaJIT nutzt. LuaJIT wird auch praktisch nicht mehr supportet, da wird es wohl kein Update geben.
    (Konsolen) Emulatoren nutzen auch öfters nen JIT. Da wird es sicherlich dann Probleme geben.

    Wenn nur statisch recompiliert wird, werden einige wenige Programme große Probleme haben.

  6. Re: Rosetta 2 ist keine Emulationsschicht.

    Autor: wurstdings 26.06.20 - 14:15

    ashahaghdsa schrieb:
    --------------------------------------------------------------------------------
    > Na ja, mir ging es um x86 Programme, die eine JIT nutzen.
    Just In Time Kompilierung, bedeutet ja gerade, dass das Programm vor dem Ausführen erst Compiliert wird und dann natürlich für die aktuelle Plattform, auf der es läuft.

    Klar brauchts dazu dann die JavaVM für MAC/ARM aber für MAC existiert sie schon und für ARM auch, sollte also nicht all zu lange dauern, bis die entsprechend angepasst für MAC/ARM rauskommt.

    > Einfach neu
    > compilieren ist nicht, weil man den JIT neu schreiben muss.
    Ne wie gesagt, minimalste Anpassungen, der Compilercode für ARM existiert schon
    > Aber alle Electron Apps nutzen JIT und können
    > dann nicht "emuliert" werden.
    Wenn ich das richtig verstehe, dann ist das Javascript und läuft somit in jedem Browser.
    > Genauso alles, was z.B. LuaJIT nutzt. LuaJIT wird auch praktisch nicht mehr
    > supportet, da wird es wohl kein Update geben.
    Dann sollte man es auch nichtmehr verwenden.
    > (Konsolen) Emulatoren nutzen auch öfters nen JIT. Da wird es sicherlich
    > dann Probleme geben.
    Nee, JIT ist nunmal das, was beim Architekturwechsel die wenigsten Probleme macht. Klassisch kompilierte Programme, da muss man basteln und anpassen.

  7. Re: Rosetta 2 ist keine Emulationsschicht.

    Autor: ashahaghdsa 26.06.20 - 14:50

    wurstdings schrieb:
    --------------------------------------------------------------------------------
    > Just In Time Kompilierung, bedeutet ja gerade, dass das Programm vor dem
    > Ausführen erst Compiliert wird und dann natürlich für die aktuelle
    > Plattform, auf der es läuft.
    Natürlich wird das nicht für die aktuelle Plattform compiliert, sondern für die Plattform, für die es programmiert wurde. Ein x86 JIT wird nicht magisch ein ARM Jit, wenn es nach ARM Cross compiliert wird.

    Alles was JIT nutzt, hat einen JIT Compiler dabei. Dieser Compiler erzeugt den Code, für den es gedacht war. Auf x86 erzeugt der JIT x86 Bytecode. Wenn der JIT jetzt nach ARM crosscompiliert wird, erzeugt der JIT Compiler aber immer noch x86 Bytecode. Woher soll er auch ARM kennen? Wenn du nen x86 Compiler in ANSI C mit nem Arm Compiler übersetzt, dann hast du nen x86 cross compiler der auf ARM läuft.

    Ohne Anpassung wird ein x86 JIT immer x86 Bytecode erzeugen, egal wo und wie er ausgeführt wird.

    Electron is ein Framework, wo ein Chrome Browser Javascript ausführt. Ein Mac-x86 Binary enthält also einen x86 Chrome mit einem x86 JIT. Das x86 Binary wird dann nicht ohne Modifikation auf ARM Macs laufen. Wenn Electron auf Mac/Arm portiert wurde wird es leicht sein, die app mit dem neuen Framework neu zu bauen. Es sei denn, man nutzt externe native x86 libraries... OOTB wird es aber nicht laufen.

  8. Re: Rosetta 2 ist keine Emulationsschicht.

    Autor: wurstdings 27.06.20 - 16:44

    ashahaghdsa schrieb:
    --------------------------------------------------------------------------------
    > Ohne Anpassung wird ein x86 JIT immer x86 Bytecode erzeugen, egal wo und
    > wie er ausgeführt wird.
    Dann hab ich dich falsch verstanden, das ist ja logisch. Ich meinte, dass der JIT Compiler bereits für ARM existiert. Oder kennst du einen, der keinen ARM-Codepfad hat?
    > Electron is ein Framework, wo ein Chrome Browser Javascript ausführt.
    Jupp, den Chrome-Browser gibts bereits für ARM (Android-Phones?), das ist also ne Sache von ein paar Wochen und schwupps läuft auch das Electronzeugs.

  1. Thema

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. Dell Technologies, Halle (Saale)
  2. LÖWEN ENTERTAINMENT GmbH, Bingen am Rhein (Großraum Mainz)
  3. Interhyp Gruppe, München
  4. WBS GRUPPE, Berlin (Home-Office)

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Hardware-Angebote
  1. 499,99€


Haben wir etwas übersehen?

E-Mail an news@golem.de


Programm für IT-Jobeinstieg: Hoffen auf den Klebeeffekt
Programm für IT-Jobeinstieg
Hoffen auf den Klebeeffekt

Aktuell ist der Jobeinstieg für junge Ingenieure und Informatiker schwer. Um ihnen zu helfen, hat das Land Baden-Württemberg eine interessante Idee: Es macht sich selbst zur Zeitarbeitsfirma.
Ein Bericht von Peter Ilg

  1. Arbeitszeit Das Sechs-Stunden-Experiment bei Sipgate
  2. Neuorientierung im IT-Job Endlich mal machen!
  3. IT-Unternehmen Die richtige Software für ein Projekt finden

Weclapp-CTO Ertan Özdil: Wir dürfen nicht in Schönheit und Perfektion untergehen!
Weclapp-CTO Ertan Özdil
"Wir dürfen nicht in Schönheit und Perfektion untergehen!"

Der CTO von Weclapp träumt von smarter Software, die menschliches Eingreifen in der nächsten ERP-Generation reduziert. Deutschen Perfektionismus hält Ertan Özdil aber für gefährlich.
Ein Interview von Maja Hoock


    Fiat 500 als E-Auto im Test: Kleinstwagen mit großem Potenzial
    Fiat 500 als E-Auto im Test
    Kleinstwagen mit großem Potenzial

    Fiat hat einen neuen 500er entwickelt. Der Kleine fährt elektrisch - und zwar richtig gut.
    Ein Test von Peter Ilg

    1. Vierradlenkung Elektrischer GMC Hummer SUV fährt im Krabbengang seitwärts
    2. MG Cyberster MG B Roadster mit Lasergürtel und Union Jack
    3. Elektroauto E-Auto-Prämie übersteigt in 2021 schon Vorjahressumme