ARM vs x86: Apa perbedaan antara kedua arsitektur prosesor?

Anda mungkin tahu bahwa dunia prosesor terbagi menjadi dua kubu. Jika Anda menonton video ini dari smartphone, maka prosesor ARM berfungsi untuk Anda, dan jika dari laptop, chip x86 berfungsi untuk Anda.



Dan sekarang Apple telah mengumumkan bahwa mereka memigrasi Mac-nya ke prosesor Silicon ARM milik Apple. Kami telah memberi tahu Anda mengapa ini terjadi. Dan hari ini, mari kita lihat lebih dekat apa perbedaan mendasar antara x86 dan ARM. Dan mengapa Apple cocok dengan semua ini?





Jadi, sebagian besar perangkat seluler, iPhone, dan Android berjalan di ARM. Qualcomm, HUAWEI Kirin, Samsung Exynos, dan Apple A13 / A14 Bionic semuanya adalah prosesor ARM.



Tetapi di komputer tidak begitu - itu didominasi oleh x86 di bawah sayap Intel dan AMD. Itulah mengapa kami tidak dapat menjalankan Word dari komputer di telepon.



x86 adalah nama yang diberikan untuk digit terakhir dari keluarga prosesor Intel klasik dari tahun 70-an dan 80-an. Bagaimana mereka berbeda? Ada dua perbedaan utama.















Yang pertama adalah satu set instruksi, yaitu bahasa yang dimengerti oleh prosesor



Prosesor x86 menggunakan set instruksi kompleks yang disebut CISC - Complex Instruction Set Computing.



Prosesor ARM, sebaliknya, menggunakan set instruksi yang disederhanakan - RISC - Reduced Instruction Set Computing.



Omong-omong, ARM adalah singkatan dari Advanced RICS Machines - Advanced RISC Machines.



Kumpulan instruksi juga biasa disebut arsitektur atau ISA - Arsitektur Set Instruksi.



Perbedaan kedua adalah mikroarsitektur. Apa itu?



Bahasa yang digunakan prosesor bergantung pada desainnya. Karena untuk menjalankan setiap instruksi pada prosesor, Anda perlu mencari blok logisnya sendiri. Karenanya, instruksi yang berbeda berarti desain prosesor yang berbeda. Dan desain adalah mikroarsitektur.



  • x86 - CISC
  • LENGAN - RISIKO


Jadi, kami ingat. Kami mengatakan x86 - yang kami maksud adalah arsitektur CISC, ARM adalah RISC.



Tetapi bagaimana bisa terjadi prosesor mulai berbicara dalam bahasa yang berbeda?



Sejarah CISC





Memo Programmer, 1960-an. Kode (mesin) digital "Minsk-22".



Semuanya dimulai pada 1960-an. Pada awalnya, pemrogram bekerja dengan kode mesin, yaitu, mereka menulis nol dan satu. Ini dengan cepat membuat semua orang bosan dan Assembler muncul. Bahasa pemrograman tingkat rendah yang memungkinkan penulisan perintah sederhana seperti tambah, salin, dan sebagainya. Tetapi pemrograman di Assembler juga sulit. Karena itu perlu secara harfiah "dengan pegangan" langkah demi langkah menjelaskan kepada prosesor setiap tindakannya.



Oleh karena itu, jika Anda sedang makan malam dengan prosesor, dan meminta untuk memberikan garam, akan terlihat seperti ini:



  • Hai prosesor, lihat bagian tengah meja.
  • Apakah kamu melihat garam? Bawa dia.
  • Sekarang lihat aku.
  • Beri aku garam. - Ya terima kasih!
  • Sekarang ambil garam dariku lagi.
  • Taruh di tempat Anda mendapatkannya
  • Terima kasih banyak! Lanjutkan bisnis Anda.
  • Ahem ... Prosesor, lihat lada?
  • Dll ....


Pada titik tertentu, ini semua mengganggu programmer. Dan mereka memutuskan: Hei, mengapa kita tidak menulis saja instruksi "Berikan garamnya padaku"? Dan begitulah yang mereka lakukan. Serangkaian instruksi kompleks seperti itu disebut CISC.



Pendekatan ini telah menjadi penyelamat nyata bagi pengembang dan bisnis. Klien menginginkan instruksi baru - bukan masalah, jika ada uang - kami akan melakukannya. Dan klien punya uang.



Kerugian dari CISC



Tetapi apakah pendekatan ini optimal ??? Dari sudut pandang pengembang, ya. Tapi mikroarsitektur menderita.



Bayangkan Anda membeli sebuah apartemen dan sekarang Anda perlu melengkapinya dengan furnitur. Areanya kecil, setiap meter persegi diperhitungkan. Dan sekarang, bayangkan jika prosesor CISC melengkapi ruang tamu Anda dengan furnitur, di satu sisi, prosesor tersebut akan menjaga kenyamanan setiap calon tamu dan mengalokasikan ruang pribadinya sendiri untuknya.



Di sisi lain, dia tidak akan menyisihkan anggaran. Sofa untuk satu orang, pouf untuk orang lain, sofa untuk ketiga, tahta Game of Thrones untuk Daenerys Anda. Dalam hal ini, area ruangan akan sangat cepat habis. Untuk mengakomodasi semua orang, Anda harus meningkatkan anggaran dan memperluas aula. Ini tidak rasional. Tetapi yang paling penting, arsitektur CISC telah ada sejak lama dan instruksi yang ditulis pada tahun 60-an tidak lagi relevan sekarang. Oleh karena itu, beberapa furnitur, atau lebih tepatnya unit eksekusi, tidak akan digunakan. Tapi banyak dari mereka tetap di sana. Oleh karena itu, RISC muncul ...



Manfaat RISC



Di satu sisi, sangat tidak nyaman untuk menulis prosesor di Assembler untuk prosesor RISC. Jika kita secara langsung membandingkan kode yang ditulis untuk prosesor CISC dan RISC, keuntungan dari yang pertama sudah jelas.



Seperti inilah tampilan kode dari operasi yang sama untuk x86 dan ARM.



x86



  • MOV AX, 15; AH = 00, AL = 0Fh
  • AAA; AH = 01, AL = 05
  • MEMBASAHI


LENGAN

  • MOV R3, # 10
  • DAN R2, R0, # 0xF
  • CMP R2, R3
  • IT LT
  • BLT elsebranch
  • TAMBAH R2. # 6
  • TAMBAHKAN R1. # 1
  • elsebranch:
  • AKHIR


Tapi itu sebelumnya. Tidak ada yang menulis di assembler untuk waktu yang lama. Sekarang kompiler melakukan semua ini untuk programmer, jadi tidak ada kesulitan dalam menulis kode untuk prosesor RISC. Tapi ada keuntungannya.



Bayangkan Anda sedang mendesain prosesor. Susunan blok pada x86 akan terlihat seperti ini. Setiap kotak berwarna adalah perintah terpisah. Ada banyak dari mereka dan mereka berbeda. Seperti yang Anda pahami, di sini kita telah berbicara tentang mikroarsitektur, yang mengikuti set instruksi. Tapi prosesor ARM terlihat seperti ini. Itu tidak membutuhkan blok yang dibuat untuk fungsi yang ditulis 50 tahun yang lalu. Faktanya, ada blok di sini hanya untuk tim paling populer. Tetapi ada banyak blok seperti itu. Ini berarti bahwa lebih banyak perintah dasar dapat dijalankan secara bersamaan. Dan yang langka tidak memakan tempat.























Bonus lain dari pengurangan panggilan RISC: lebih sedikit ruang pada chip ditempati oleh blok dekode instruksi. Ya, itu juga butuh tempat. Arsitektur RISC lebih sederhana dan lebih nyaman, tekuk jari Anda:



  • lebih mudah bekerja dengan memori,
  • arsitektur register yang lebih kaya,
  • lebih mudah dilakukan 32/64/128 digit,
  • lebih mudah untuk dioptimalkan,
  • konsumsi daya lebih sedikit,
  • lebih mudah untuk diskalakan dan di-debug.


Misalnya, berikut adalah dua prosesor dari generasi yang sama. ARM1 dan Intel 386. Dengan performa serupa, ARM berukuran setengahnya. Dan transistor di atasnya 10 kali lebih sedikit: 25 ribu versus 275 ribu. Konsumsi daya juga berbeda menurut urutan besarnya: 0,1 W versus 2 W untuk Intel. Syok.



Oleh karena itu, smartphone kami yang berjalan pada prosesor ARM dengan arsitektur RISC memiliki masa pakai yang lama, tidak memerlukan pendinginan aktif, dan sangat cepat.



Perizinan



Tetapi ini semua adalah perbedaan teknis. Ada perbedaan organisasi juga. Pernahkah Anda bertanya-tanya mengapa ada begitu banyak produsen prosesor untuk smartphone, dan di dunia PC x86 hanya AMD dan Intel? Sederhana - ARM adalah perusahaan pemberi lisensi, bukan manufaktur.



Bahkan Apple memiliki andil dalam pengembangan ARM. Bersama dengan Komputer Acorn dan Teknologi VLSI. Apple telah bergabung dengan aliansi untuk perangkat mereka yang akan datang, Newton. Perangkat yang fungsi utamanya adalah pengenalan teks.



Bahkan Anda dapat mulai memproduksi prosesor Anda sendiri dengan membeli lisensi. Tetapi tidak seorang pun kecuali perusahaan biru dan merah yang dapat memproduksi prosesor x86. Apa artinya? Benar, persaingan lebih sedikit, perkembangan lebih lambat. Bagaimana ini bisa terjadi?







BAIK. Katakanlah ARM melakukan pekerjaan yang hebat dengan smartphone dan tablet, tetapi bagaimana dengan komputer dan server, di mana seluruh kliring secara historis terbagi? Dan mengapa Apple bahkan terburu-buru ke sana dengan Apple Silicon-nya.



Apa sekarang?



Katakanlah kami memutuskan bahwa arsitektur ARM lebih efisien dan serbaguna. Sekarang apa? x86 dimakamkan?



Nyatanya, Intel dan AMD bukanlah orang bodoh. Dan sekarang, di balik kap, prosesor CISC modern sangat mirip dengan RISC. Secara bertahap, para pengembang prosesor CISC sampai pada hal ini dan mulai membuat prosesor hibrida, tetapi buntut lama tidak dapat dilepaskan dengan mudah. Tetapi untuk waktu yang lama, prosesor Intel dan AMD telah memecah instruksi input menjadi instruksi mikro yang lebih kecil (operasi mikro), yang di masa depan - Anda akan terkejut - dijalankan oleh kernel RISC. Ya, teman-teman! 4-8 core di PC Anda juga merupakan core RISC! Saya harap Anda benar-benar bingung di sini. Tetapi intinya adalah bahwa perbedaan antara desain RISC dan CISC sekarang minimal.



















Dan yang tetap penting adalah mikroarsitektur. Begitulah efektifnya segala sesuatu diatur di atas batu itu sendiri.



Nah, Anda mungkin sudah tahu bahwa iPad Modern hampir sebagus MacBook Pro 15 inci dengan prosesor Core i7 dan Core i9. Bagaimana dengan komputer? Ampere baru-baru ini meluncurkan prosesor ARM 80-inti. Menurut pabrikannya, dalam pengujian, prosesor Ampere berkinerja 4% lebih baik daripada prosesor EPYC tercepat dari AMD dan menggunakan daya 14% lebih sedikit.























Ampere naik ke segmen Cloud dan Workstation dan menunjukkan jumlah yang bagus di sana. Superkomputer tercepat di dunia saat ini menggunakan ARM ISA. Di sisi lain, Intel masih berusaha masuk ke segmen daya rendah dan untuk ini Intel merilis prosesor baru yang menarik berdasarkan mikroarsitektur Lakefield.



Sejauh ini, laptop dan prosesor dari Intel memiliki satu keunggulan yang tak terbantahkan - (pendinginan dan) kesatuan arsitektur. Sementara Qualcomm, Samsung, MediaTek ada di pasar prosesor ARM, monopoli dibuat di dunia x86 dan jauh lebih mudah bagi pengembang untuk membuat perangkat lunak dan game untuk prosesor "dewasa".



Dan Apple adalah perusahaan yang dapat memotivasi cukup banyak pengembang untuk memotong ARM mereka. Namun inti dari transisi ini bukanlah konfrontasi antara CISC dan RISC. Saat kedua pendekatan bertemu, fokus bergeser ke mikroarsitektur yang dibuat Apple untuk perangkat selulernya. Dan ternyata mikroarsitektur mereka keren. Dan mereka ingin menggunakannya di komputer mereka.



Dan jika Intel melisensikan x86 untuk mendapatkan uang kepada orang lain, maka mungkin Apple baru saja mengadaptasi mikroarsitekturnya saat ini untuk x86. Tetapi karena mereka tidak dapat melakukan ini, mereka memutuskan untuk beralih ke ARM saja. Masalah dengan mikroarsitektur bagi kami adalah bahwa ini adalah rahasia dagang. Dan kami tidak tahu apa-apa tentang dia.



Hasil







Permintaan ARM pada akhirnya akan meningkat. Untuk industri, ini bukan hanya langkah penting, tetapi juga langkah yang sangat penting. Linus Torvalds mengatakan bahwa hingga workstation dijalankan pada ARM, pasar server akan menggunakan x86.



Dan begitulah yang terjadi - dalam jangka panjang jutaan dolar diinvestasikan dalam solusi server. Yang tentu saja bagus untuk konsumen juga. Masa depan cerah menanti kita dan Apple memang telah membuat evolusi!



Editor materi: Anton Evstratenko. Pemirsa kami Nikita Kulikov dan Grigory Chirkov membantu menyiapkan materi ini. Terima kasih teman-teman!



All Articles