Die M1 CPU hat Instruktionen, die es erlauben X86_64 effizient zu emulieren.
Siehe hier: https://www.reddit.com/r/hardware/com…gle_for_tso_to/
Jo, das ist ein echt spannender Trick. Dafür haben die extra einen teuren Buffer für die Synchronisierung von Speicherzugriffen in die Hardware eingebaut. Sowas findet man auf anderen ARM CPUs nicht (ausser vielleicht auf dem NVIDIA Tegra K1, der auch ein x86 im ARM Gewand war), weil im simpleren Memory-Modell von ARM schlicht unnötig teuer. Aber wenn du weisst, dass ein grosser Teil der Applikationen emuliert werden müssen (was bei Telefonen ja nicht der Fall ist), dann lohnt sich das evtl.
Das können sie halt auch wirklich nur darum machen, weil sie die CPUs selber bauen (was bei Rosetta 1 nicht der Fall war).