Masih ingat dengan Rosetta, tools dynamic binary translator yang digunakan Apple pada saat beralih dari PPC ke CPU Intel?
Kemarin di WWDC20, Apple menjelaskan bahwa mereka akan beralih dari CPU Intel ke Apple Silicon alias CPU buatan Apple sendiri.
Untuk mendukung masa transisi selama 2 tahun ke depan, Apple telah memberikan beragam tools untuk membantu para pengembang aplikasi sehubungan dengan hal tersebut.
Salah satunya adalah merilis Rosetta 2. Tujuannya? Sama seperti era awal PPC ke Intel. Yaitu membantu pengembang pihak ketiga agar aplikasi mereka dapat berjalan di Apple Silicon tanpa membuat versi baru alias native.
Baca Juga: Preview macOS Big Sur: Desain Tampilan Baru, Safari, Control Center
Secara teknis, Rosetta 2 akan menerjemahkan beragam instruksi x86 64bit ke standar baru di Apple Silicon.
Namun dari catatan yang dibagikan MacRumors, Rosetta 2 tidak dapat digunakan untuk aplikasi berbasis Virtual Machine yang menjalankan sistem operasi berbasis x86 secara virtual.
Singkatnya, komputer Mac dengan Apple Silicone di masa depan tidak akan mendukung aplikasi seperti Virtual Box, VMWare atau Paralles untuk menjalankan Windows secara virtual.
Rosetta can translate most Intel-based apps, including apps that contain just-in-time (JIT) compilers. However, Rosetta doesn’t translate the following executables:
- Kernel extensions
- Virtual Machine apps that virtualize x86_64 computer platforms
Rosetta translates all x86_64 instructions, but it doesn’t support the execution of some newer instruction sets and processor features, such as AVX, AVX2, and AVX512 vector instructions. If you include these newer instructions in your code, execute them only after verifying that they are available. For example, to determine if AVX512 vector instructions are available, use the sysctlbyname function to check the hw.optional.avx512f attribute.