Rosetta 2 Apple vs Emulasi Windows x86: Semuanya Dijelaskan

Apple membuat sejarah ketika meluncurkan MacBook baru dengan prosesor Apple M1 berbasis ARM internal, menggantikan prosesor Intel setelah lebih dari satu dekade. Dengan transisi yang begitu besar, ada tugas besar di tangan Apple untuk menjaga kompatibilitas aplikasi di M1. Namun, tampaknya Apple telah melakukannya melalui lapisan terjemahannya yang kuat — Rosetta 2. Kami telah melihat bagaimana Windows di ARM gagal memikat pengguna karena masalah kompatibilitas dengan aplikasi x86. Jadi apa yang membuat Rosetta 2 begitu kuat dan mengapa emulasi Windows x86 sepertinya tidak menjanjikan itu? Nah, untuk menemukan jawabannya, mari kita lanjutkan dan bandingkan Rosetta 2 Apple vs Windows x86 Emulation secara berdampingan.

Rosetta 2 Apple vs Emulasi Windows x86: Semua yang Perlu Anda Ketahui

Di sini, kami telah menyebutkan semua bagian yang telah kami bahas sehingga Anda dapat dengan mudah menemukan semua informasinya. Anda dapat mengeklik tautan untuk berpindah dengan mulus di antara bagian yang berbeda.

Bagaimana Apple’s Rosetta 2 Bekerja?

Setelah pengenalan Rosetta pada tahun 2006 selama transisi PowerPC-Intel, Apple telah mengumumkan Rosetta 2 yang jauh lebih baik pada tahun 2020 untuk transisi Intel-Apple Silicon yang mulus. Untuk yang belum tahu, Rosetta 2 adalah lapisan terjemahan yang memungkinkan Anda menggunakan aplikasi berbasis Intel di Apple Silicon Macs . Tapi bagaimana cara kerja lapisan terjemahan yang kuat ini? Ada sedikit informasi tentang hal ini sehingga kami akan mencoba membedah Rosetta 2 dan memahami bagaimana Rosetta 2 berfungsi.

Pertama-tama, Rosetta 2 adalah lapisan terjemahan yang berarti menerjemahkan kumpulan instruksi arsitektur Intel x86 ke dalam arsitektur Apple Silicon berbasis ARM. Ketika saya mengatakan set instruksi, itu berarti perintah (juga disebut kode mesin dalam komputasi) diperlukan untuk menjalankan program dari satu arsitektur ke arsitektur lainnya. Karena arsitektur x86 dan ARM sangat berbeda , terjemahan ini diperlukan untuk kelancaran fungsi aplikasi berbasis Intel.

Sekarang muncul pertanyaan, bagaimana terjemahan ini terjadi dan bagaimana Rosetta mengelola untuk menjalankan aplikasi berat x86 di ARM Mac dengan mulus? Anda dapat mengaitkan alasan utama dengan kompiler Ahead-of-time (AOT) yang telah diterapkan Apple pada Rosetta 2. Sebelumnya dengan Rosetta pada tahun 2006, Apple hanya menggunakan kompiler Just-in-time (JIT) untuk terjemahan biner statis. Kini dengan kompiler AOT di Rosetta 2, Apple Silicon mampu menerjemahkan dan mengompilasi kode dengan cepat melalui terjemahan biner dinamis.

Artinya adalah bahwa Rosetta 2 sekarang menggunakan kompiler AOT dan JIT, tergantung pada skenarionya. Bahkan sebelum Anda membuka aplikasi, Rosetta 2 menggunakan kompiler AOT selama penginstalan aplikasi untuk menerjemahkan kode. Itu membuat aplikasi berbasis Intel berperilaku seperti aplikasi Universal yang dibuat secara asli untuk Apple Silicon. Dalam kasus di mana parameter tidak diketahui atau nilai akan dihasilkan dalam waktu proses, Rosetta 2 menggunakan JIT untuk terjemahan waktu nyata.

Bersamaan dengan itu, Rosetta 2 mampu menerjemahkan set instruksi x86 ke kode khusus ARM jauh sebelum dan dengan cara yang lebih cepat, membawa perbedaan kinerja antara aplikasi asli Universal dan aplikasi berbasis Intel ke margin yang sempit.

Bagaimana Emulasi Windows x86 Bekerja?

Tidak seperti Apple, Microsoft belum sepenuhnya merangkul ARM dan ada perkembangan yang lambat di bagian depan ini. Perusahaan sejauh ini hanya melisensikan beberapa laptop Windows berbasis ARM termasuk Surface Pro X dan beberapa PC yang selalu terhubung oleh HP, Lenovo, dll. Alasan utama di balik lambatnya adopsi laptop Windows berbasis ARM tampaknya adalah kurangnya dukungan untuk aplikasi x86-64 bit (64-bit berbasis Intel) yang mencakup sebagian besar aplikasi Windows modern.

Saat ini, laptop Windows berbasis ARM hanya mendukung aplikasi asli yang dibangun di set instruksi ARM dan aplikasi berbasis Intel 32-bit yang dijalankan melalui Windows x86 Emulation. Anda dapat menyimpulkan bahwa Emulasi Windows x86 telah menjadi hambatan untuk kelancaran transisi ke ARM. Datang ke pertanyaan, mengapa Microsoft tidak dapat melakukan sesuatu seperti Rosetta 2 di Windows 10? IrfanView berjalan melalui x86 Emulator di Windows 10X

Nah, untuk menjawab pertanyaan Anda, sudah. Berlawanan dengan persepsi populer, Microsoft sebenarnya menggunakan pendekatan yang sama seperti Rosetta — menerjemahkan binari ke kode mesin melalui lapisan WOW64-nya. Menurut dokumen Microsoft tahun 2018, “Lapisan WOW64 Windows 10 memungkinkan kode x86 berjalan pada Windows 10 versi ARM64. Emulasi x86 bekerja dengan mengkompilasi blok instruksi x86 ke dalam instruksi ARM64 dengan pengoptimalan untuk meningkatkan kinerja. Sebuah layanan meng-cache blok kode yang diterjemahkan ini untuk mengurangi overhead terjemahan instruksi dan memungkinkan pengoptimalan saat kode berjalan kembali.”

Selain itu, pada September 2020, Microsoft mengumumkan bahwa emulasi x86 baru akan hadir di laptop Windows berbasis ARM tahun depan. Selain itu, ini juga akan menghadirkan dukungan untuk aplikasi 64-bit berbasis Intel pada silikon ARM. Adapun kompiler, sangat sedikit informasi tentang hal ini. Namun, diketahui bahwa Microsoft telah menggunakan JIT untuk terjemahan dan kompilasi waktu nyata. Kami harus menunggu dan melihat apa yang dimiliki emulator x86 baru di toko saat diluncurkan tahun depan.

Rosetta 2 Apple vs Emulasi Windows x86: Kinerja Terjemahan

Sementara emulasi Windows x86 baru akan tiba tahun depan, ada beberapa masalah lain yang membuat terjemahan x86 di Windows jauh lebih lambat daripada Rosetta. Pertama, macOS hanya mendukung dua arsitektur: ARM 64-bit dan x86 64-bit . Apple menghapus dukungan aplikasi 32-bit pada tahun 2019. Sebagai perbandingan, Windows di ARM mendukung arsitektur ARM 32-bit dan 64-bit; x86 32-bit dan x86 64-bit yang akan datang tahun depan. Dengan overhead sumber daya seperti itu, sulit untuk membuat terjemahan lebih cepat.

Selanjutnya, Windows harus mempertahankan kompatibilitas ke belakang dengan ribuan program, plugin, alat, pustaka usang, dan yang lainnya. Padahal, kontrol ketat Apple terhadap platform memastikan pengembang selalu menggunakan kerangka kerja modern untuk mengembangkan aplikasi yang pada gilirannya membantu dalam membuat transisi yang begitu besar. Selain itu, karena Apple telah berhasil melakukan transisi dari PowerPC ke Intel Macs (2006-2009) di masa lalu, ia memiliki pengalaman yang jauh lebih baik untuk menarik sesuatu seperti ini.

Terakhir, perbedaan performa antara Qualcomm Snapdragon 8cx (ditemukan pada laptop ARM berbasis Windows) dan Apple M1 sangat signifikan. Bahkan Snapdragon 888 terbaru setidaknya satu generasi di belakang Apple A14 Bionic. Namun ada kabar baik. Qualcomm telah mengumumkan iterasi berikutnya dari prosesor desktop — Snapdragon 8cx Gen 2 5G — pada bulan September, dan akan tersedia di laptop Windows berbasis ARM tahun depan. Kombinasi chip baru dan peningkatan emulasi dapat membantu Microsoft.

Rosetta 2 Apple vs Emulasi Windows x86: Mana Pemenangnya?

Jelas bahwa Rosetta 2 cukup kuat dan Apple telah melakukan pekerjaan luar biasa dalam menghadirkan dukungan aplikasi untuk program berbasis Intel. Saat ini, Windows di ARM mungkin tida
k terlihat begitu menjanjikan, tetapi mengingat pengumuman Microsoft tentang metode emulasi baru, hal itu tentunya menimbulkan harapan bagi pengguna Windows. Masih harus dilihat apakah Microsoft mengungguli Apple di kuartal berikutnya. Bagaimanapun, itu semua dari kami. Jika Anda memiliki pertanyaan, beri komentar di bawah dan beri tahu kami.