Dalam komentar untuk jawaban ini Kortuk bertanya apa keuntungan ARM . Saya pertama kali menambahkan beberapa argumen dalam jawaban saya, tetapi saya pikir pertanyaannya cukup menarik untuk dijadikan pertanyaan, sehingga lebih banyak jawaban yang mungkin.
61
Jawaban:
Kinerja adalah satu keuntungan. Menjadi prosesor 32-bit itu mengungguli (hampir) semua pengontrol 8-bit DMIPS-bijaksana. Inti juga telah melewati beberapa generasi, baca optimasi.
Optimalisasi ini tidak hanya menunjukkan angka kinerja, tetapi juga konsumsi daya . Inti terbaru telah menggandakan rasio DMIPS / mW dibandingkan dengan generasi sebelumnya (lihat juga jawaban ini ).
ARM tersedia dari banyak pabrikan , lebih banyak daripada mikrokontroler lainnya, dan masing-masing memiliki sejumlah versi untuk dipilih, dengan kombinasi berbeda dari periferal dan memori on-chip, serta paket. Contoh kasus: NXP menawarkan tidak kurang dari 35 pengontrol dengan Ethernet on-chip .
ARM adalahmurah ; ARM mungkin merupakan pengontrol 32-bit pertama yang menembus batas USD 1.
Kombinasi kinerja , penawaran luas, dan biaya rendah ini menjadikan Anda tidak bisa mengabaikan ARM:
Pasar ponsel juga memiliki efek lain. Ponsel sangat terbatas ruang dan membutuhkan paket kecil. LPC1102 NXP hadir dalam paket WLP-16 hanya 5mm , skala yang sebelumnya hanya digunakan oleh mikrokontroler 8-bit pin-count rendah.2
sumber
Satu hal yang belum disebutkan: Pada tahun 1908, seorang pria bernama Tn. PL Robertson menemukan kepala sekrup dan pengemudi yang lebih baik . Dia ingin menjadi satu-satunya orang yang membuat sekrup dan driver untuk desainnya. Beberapa dekade kemudian, seseorang bernama Mr. Henry F. Phillips datang dengan desain alternatif . Tidak seperti Mr. Robertson, Mr. Phillips lebih tertarik untuk melisensikan desainnya daripada memproduksi sekrup dan driver.
Demikian juga, pada 1970-an, Sony muncul dengan teknologi yang disebut Betamax ; JVC datang dengan satu yang disebut VHS. Sony tertarik untuk memproduksi VCR; JVC lebih tertarik pada perizinan.
Tampaknya ada pola di sini. (Catatan: Untuk sementara, Intel memang melisensikan teknologi 80x86 -nya , tetapi selama beberapa dekade lebih fokus pada pengembangan teknologi untuk penggunaan internalnya.)
sumber
Perangkat keras / lunak yang sama untuk dikembangkan untuk ARM dari semua vendor. Anda membeli JLINK / ULINK dan beberapa IDE Keil satu kali, dan dapat menggunakannya untuk mengembangkan, meniru, dan men-debug hampir semua ARM di planet.
Tidak perlu mempelajari arsitektur baru ketika pindah ke vendor chip baru => lebih sedikit vendor lockin => lebih banyak kompetisi => harga yang lebih rendah
Dalam proses teknologi modern (0.18um dan di bawah) inti ARM sangat kecil, sehingga mengorbankannya untuk inti 8bit tidak akan menghemat sebagian kecil dari harga yang terlihat. Oleh karena itu alasan pergi untuk arsitektur standar kinerja tinggi namun murah.
Kinerja - hanya dengan ARM Anda dapat memiliki jam tunggal 32 * 32-> 32 multiplikasi dan dukungan perangkat keras untuk 32 * 32-> 64 dan pembagian untuk perangkat sub-1dollar (yaitu, STM32 kelas bawah misalnya)
ARM tidak terlalu serakah, dan tidak mengenakan biaya yang tidak masuk akal untuk lisensi, sehingga produsen dapat menghasilkan micros murah.
sumber
Saya fokus pada prosesor ARM mid-range karena alasan berikut:
Dukungan Linux penuh
Ini berarti driver perangkat hampir gratis. Saya sudah melakukan cukup host USB dan kode perangkat, saya tidak ingin melakukan itu lagi. Saya juga tidak terlalu senang tentang mencoba untuk menambahkan TCP / IP untuk platform prosesor acak (meskipun lwIP / uIP bukan yang buruk). Saya bahkan tidak pernah mencoba melakukan Wi-Fi, tumpukan Bluetooth nyata, webcam, dll. Menggunakan Linux berarti berbagai perangkat yang sangat luas menjadi lebih mudah untuk diajak bicara.
Saya juga sangat kagum pada betapa rasional dan mudahnya menulis driver perangkat Linux. Setelah melakukan beberapa driver perangkat Windows, Linux adalah mimpi. (Agar adil, kerangka kerja driver Windows telah meningkat banyak sejak saya melakukannya.)
Platform perangkat lunaknya juga luar biasa. Saya mendapatkan enkripsi SSL, sistem file, manajemen jarak jauh, pembaruan aplikasi yang mudah (menyalin file alih-alih bootloader yang kompleks), dll. Oh, dan banyak utilitas yang ada jika Anda perlu melakukan sesuatu.
Ini juga bebas royalti dan jauh lebih mudah untuk tunduk pada keinginan Anda daripada mengatakan platform WinCE sumber tertutup . (Bukan berarti saya benar-benar idealis open source ... itu semua alasan yang sangat praktis bagi saya.)
Saya berbicara tentang ARM core dengan MMU yang sebenarnya , jadi ini untuk chip menengah ke atas (walaupun Anda bisa menggunakan μClinux, saya kira).
Konsumsi daya
Ini pada dasarnya adalah pengulangan dari komentar orang lain, tetapi itu adalah faktor besar bagi saya. Platform ARM 454 MHz saya saat ini menghasilkan 1/2 watt, 1 watt pada CPU maks. Anda bahkan tidak bisa mendekati itu dengan x86.
Itu alasan saya. Saya tidak melihat persamaan berubah dalam waktu dekat.
sumber
ARM telah mengalami kemajuan:
Arsitektur ARM memungkinkan beberapa operasi yang agak canggih untuk dilakukan dengan sangat cepat - jauh lebih cepat daripada chip lainnya. Misalnya (menggunakan ARM7-TDMI):
Setiap handler disimpan sebagai byte, yang memberikan 1/4 perpindahan alamat dari awal tabel. Efek bersihnya adalah setelah isi bus alamat diambil, hanya dibutuhkan enam siklus (dua instruksi) untuk melompat ke handler berdasarkan lima bit teratas dari yang diambil, menggunakan tabel lompat 32-byte.
Kode THUMB yang sesuai akan lebih seperti:
Itu bagus dari sudut pandang kepadatan kode, mengingat bahwa instruksi hanya setengah sebesar aslinya, tetapi akan mengambil sembilan siklus setelah pengambilan daripada enam. Dalam aplikasi di mana bus yang diawasi akan berjalan dengan kecepatannya sendiri apakah ARM berhasil menanganinya, instruksi ARM yang lebih cepat adalah nilai tambah yang besar.
Kebetulan, Thumb2 adalah biner yang kompatibel dengan Thumb, yang memfasilitasi penggunaan alat sebelumnya, tetapi berarti ada beberapa hal yang tidak dapat dilakukan serta ARM asli. Misalnya, dalam ARM, seseorang dapat "memutar" bitmap 8x8 yang disimpan dalam empat register menggunakan sekitar 3 instruksi per dua bit:
Di Thumb2, perlu menambahkan instruksi kondisional eksplisit:
Net 33% pengurangan efisiensi waktu dan ruang dibandingkan dengan ARM; itu mungkin tentang contoh terburuk dari kode Jempol yang kurang efisien daripada ARM, dan bahkan itu tidak sepenuhnya mengerikan.
Satu kerugian kecil lain dari Thumb2 dibandingkan dengan ARM: dalam kode ARM, semua instruksi mulai dari batas kata penuh, memfasilitasi analisis statis. Di Thumb2, instruksi bisa secara sewenang-wenang mulai dari batas setengah kata dan mengangkangi batas kata penuh. Analisis statis dapat jauh lebih sulit.
sumber
Sedikit adalah sejarah, Acorn menginginkan CPU kustom (misalnya dengan built in memory control dll) untuk komputer baru pada 1980-an (The 8 bit 6502 membatasi apa yang bisa mereka lakukan). Mereka berbicara dengan Intel, tetapi Intel tidak akan memberikan lisensi CPU kepada mereka.
Jadi Acorn merancang CPU RISC yang sangat sederhana, tetapi karena mereka bukan produsen CPU, mereka bersedia melisensikannya kepada siapa pun (dan membutuhkan semua uang cepat yang bisa mereka dapatkan!). (Saya percaya CPU bekerja pertama kali, sebagian karena itu sangat sederhana dan juga perancang telah menciptakan banyak CPU penelitian selama di Universitas Cambridge.)
Selama bertahun-tahun desain CPU menjadi lebih mudah dan lebih mudah untuk dimasukkan dalam desain chip pelanggan.
Pembuat chip merasa lisensi aman dari Acorn karena mereka bukan pesaing. Juga tidak ada yang mengira mereka akan pergi ke kota asal pesaing untuk mendapatkan lisensi, karena Acorn ada di Cambridge (yang asli!) . (Apakah ada kemungkinan perjalanan “pencarian fakta” ke Cambridge sehingga untuk mengunjungi Acorn memengaruhi shorting daftar opsi di setiap titik….)
Banyak desain yang termasuk CPU Acorn Risc Machine untuk sistem embed adalah penggunaan daya adalah penting. Alat pengembangan yang murah dan bagus juga diciptakan untuk CPU Mesin Acorn Risc.
Jadi ketika ponsel mulai membutuhkan chip khusus dengan CPU yang disematkan, Acorn diubah namanya menjadi ARM dan sisanya adalah sejarah. (Mungkin itu juga sedikit bahwa sebagian besar CPU lain dikendalikan oleh AS, tetapi ponsel pertama kali menjadi normal di Eropa)
(Apakah semua ini mengingatkan Anda tentang Microsoft dan Dos dengan tim kecil yang tidak dikenal dari IBM?)
Fakta bahwa ARM adalah salah satu CPU terbaik pada saat itu (dan masih) untuk banyak tugas memang membantu juga - tetapi hanya memiliki desain CPU "terbaik" tidak cukup.
sumber
Selain masalah teknis, ada banyak alasan non-teknis untuk ARM. Tetapi jawaban cepatnya adalah ini: Ini bukan Intel (atau x86).
Jika Anda melihat di mana CPU R&D dolar diinvestasikan sekarang, pada dasarnya mereka jatuh ke dalam dua kubu: ARM dan Intel. (Saya mengabaikan MCU kecil, dan saya menyamakan AMD dengan Intel.) Ada sangat sedikit uang masuk ke PowerPC, MIPS, SPARC, dan CPU besar lainnya. ARM dan Intel adalah satu-satunya yang masih berdiri.
Dengan Intel dan CPU x86 lainnya, Anda mendapatkan banyak bagasi warisan. Misalnya, Anda memerlukan chipset, BIOS, dan hal-hal lainnya. Sekalipun CPU itu sangat hemat daya, perangkat-perangkat lain itu cenderung membebani sistem Anda dan membuatnya lebih besar, lebih lapar daya, dan lebih mahal. Hanya mengembangkan PCB dengan CPU Intel adalah masalah besar, dan kemudian Anda harus bernegosiasi dengan vendor BIOS, dll. Untuk memperburuk keadaan, banyak vendor untuk chipset, BIOS, chip video, dll. Hanya tidak ingin untuk melakukan bisnis dengan orang-orang kecil yang tidak akan menjual kurang dari satu juta unit setahun.
Dengan ARM, Anda tidak memiliki bagasi itu. Ada banyak sumber chip dari hal-hal mikrokontroler hingga monster multi-core. Anda tidak perlu berurusan dengan lisensi BIOS (yang seperti pergi ke penjual mobil bekas). Dan manufaktur dan vendor umumnya baik untuk Anda.
sumber
Bandingkan ARM7 / ARM9 dengan MIPS IV dan ada sedikit keuntungan selain masalah lisensi yang telah disebutkan dengan baik. Internal dari set instruksi MIPS dan bus internal membuatnya unggul (kinerja per biaya) untuk jenis desain tertentu; itulah sebabnya banyak router Wi-Fi menggunakan core MIPS daripada core ARM.
Karena core ARM diterapkan sebagian besar ke perangkat genggam, ASIC menambahkan lebih banyak fitur kontrol daya sedangkan MIPS lebih berfokus pada kinerja per siklus daripada daya yang lebih rendah. Manfaat RISC dibandingkan Intel x86 adalah diskusi yang berbeda.
sumber
Tidak ada keuntungan nyata. Terlampir DSP dan pengendali lain, seperti GSM adalah apa yang membuatnya begitu populer.
sumber