ARM Cortex-R dan Cortex-M: apa itu, perbedaannya, dan kapan harus memilih masing-masing

  • Cortex-R mengutamakan respons deterministik, latensi rendah, dan keamanan untuk otomotif, penyimpanan, dan jaringan.
  • Cortex-M mengoptimalkan biaya, konsumsi daya, dan integrasi dengan varian dari M0+ hingga M85 untuk kontrol dan DSP.
  • TrustZone, MPU, TCM, Thumb-2 dan NEON/FP membantu menyesuaikan inti dengan kasus penggunaan tertentu.

Penjelasan Prosesor ARM Cortex

Inti ARM ada di mana-mana, namun banyak orang bertanya-tanya apa yang membedakannya Cortex-R dan Cortex-M dalam ekosistem. Dari perangkat otomotif hingga sensor kecil, kedua lini produk ini memenuhi kebutuhan yang sangat berbeda dalam hal waktu nyata dan mikrokontroler.

Untuk memahami sepenuhnya perannya, ada baiknya meninjau cara kerja ARM sebagai perusahaan dan sebagai arsitektur, mengapa pendekatan RISC-nya begitu efisien, dan apa perbedaan seri-seri tersebut. A, R dan MIni akan membantu Anda menentukan kapan waktu terbaik untuk menggunakan Cortex-R dengan respons deterministik atau Cortex-M yang ringan dan hemat biaya yang sempurna untuk mengintegrasikan periferal.

Apa itu ARM dan mengapa itu penting

ARM adalah perusahaan Inggris yang merancang IP prosesor dan lisensi kepada pihak ketiga untuk produsen seperti QualcommSamsung, Apple, dan NXP memproduksi chip mereka sendiri. Tidak seperti Intel atau AMD, ARM tidak memproduksi chip sendiri; kekuatannya terletak pada katalog inti dan ekstensi yang diintegrasikan dan diadaptasi oleh perusahaan lain ke dalam produk mereka.

Sejarahnya dimulai di Acorn Computers pada tahun 80-an, dengan Sophie Wilson dan Steve Furber memimpin pengembangan ARM1 dan ARM2 pertama. Idenya adalah untuk menjaga desain tetap sederhana dan efisien, sesuatu yang dikonsolidasikan dengan ARM6, kesuksesan ARM7TDMI pada perangkat seluler dan hadirnya varian seperti StrongARM dan kemudian XScale. Pendekatan minimalis ini memungkinkan konsumsi daya yang sangat rendah dan kinerja per watt yang tinggi di era tanpa cache besar atau mikrokode yang rumit.

Arsitektur ARM bertipe RISIKO: instruksi ringkas dan berukuran tetap dengan eksekusi sederhana. Hal ini memfasilitasi pipeline yang dalam, latensi yang dapat diprediksi, dan chip yang kecil. Selain itu, ARM memperkenalkan mode-mode seperti Ibu jari (subset 16-bit untuk mendapatkan kepadatan kode), dan teknologi seperti Jazelle (eksekusi bytecode Java yang dipercepat pada beberapa inti), NEON untuk SIMD dan Zona Kepercayaan untuk isolasi yang aman.

Konsep kunci lainnya adalah big.LITTLE, sebuah arsitektur heterogen yang menggabungkan inti berdaya rendah dengan inti berkinerja tinggi: inti KECIL menangani tugas-tugas ringan, sementara inti besar diaktifkan saat daya dibutuhkan. Meskipun terkait dengan seri Cortex-A, arsitektur ini dengan jelas menggambarkan filosofi efisiensi ARM tanpa mengorbankan kinerja saat dibutuhkan.

Seri Cortex: A vs. R vs. M

Pada tahun 2003, ARM mereorganisasi katalognya di bawah naungan Cortex dan membaginya menjadi tiga keluarga. Pemisahan ini mendefinisikan fokus setiap inti dan membantu memilih inti yang tepat untuk setiap proyek. interaktivitas yang kaya terhadap respons deterministik atau ke dunia mikrokontroler.

  • Korteks-A: Profil aplikasi, dirancang untuk sistem operasi berfitur lengkap seperti Linux atau Android, kinerja tinggi, multimedia, dan dukungan MMU.
  • Korteks-R: profil waktu nyata, fokus pada latensi rendah dan determinisme, toleransi kesalahan dan ketersediaan tinggi, khas dalam otomotif dan penyimpanan.
  • Korteks-M:profil mikrokontroler, sangat hemat biaya dan energi, dengan periferal terintegrasi dan eksekusi Thumb atau Thumb-2.

Perbedaan antara Korteks R dan Korteks M

Cortex-R: waktu nyata, keamanan, dan keandalan

Inti Korteks-R Mereka dirancang untuk kontrol waktu nyata dengan respons yang dapat diprediksi, menjadikannya ideal untuk otomotif (kantong udara, ABS, manajemen mesin), pengontrol penyimpanan, dan peralatan jaringan. Latensi interupsi, kanal memori cepat (TCM), dan seringkali skema duplikasi untuk keselamatan fungsional menjadi kunci di sini.

Korteks-R4 meresmikan keluarga dengan frekuensi hingga ~600 MHz, penyaluran 8 tahap dengan emisi ganda, pra-pencarian dan sistem interupsi latensi rendah. Sistem ini sangat dihargai dalam sistem kritis, terutama karena kombinasi kinerja dan prediktabilitasnya.

El Korteks-R5 memperluas kemampuan R4 dengan peningkatan efisiensi, keandalan, dan penanganan kesalahan. Hal ini sering terlihat dalam konfigurasi inti ganda untuk membangun solusi yang kuat dan fleksibel dengan mode redundansi atau lockstep, sambil mempertahankan respons waktu nyata yang sulit.

dengan Korteks-R7 meningkatkan taruhannya: jalur pipa 11 tahap, eksekusi habis dan prediksi cabang yang lebih canggih. Mendukung multiprosesor simetris dan asimetris serta mengintegrasikan pengontrol interupsi generik. Dirancang untuk skenario berat di mana setiap mikrodetik sangat penting dan ketersediaan tidak dapat dinegosiasikan.

Dalam praktiknya, Cortex-R biasanya menggabungkan MPU (Unit Perlindungan Memori) untuk mempartisi ruang dan melindungi tugas waktu nyata, serta TCM untuk akses deterministik. Fokusnya bukan pada menjalankan Linux yang kaya, melainkan memastikan bahwa interupsi kritis ditangani pada saat yang tepat dan selalu dengan waktu respons yang sama.

Cortex-M: Mikrokontroler 32-bit untuk segalanya

Seri Korteks-M Telah menstandardisasi pasar MCU 32-bit: inti yang ringan, terjangkau, mudah di-debug dengan ekosistem yang luas. Anda dapat menemukannya sebagai MCU lengkap dengan memori dan periferal terintegrasi, atau sebagai inti lunak yang ditujukan untuk FPGA dalam kasus tertentu.

Pada ujung yang paling sederhana adalah Cortex-M0 dan M0+, berbasis ARMv6-M dan berfokus pada biaya dan konsumsi daya. Mereka menggunakan subset Thumb-2, jalur pipa pendek, dan, dalam kasus M0+, GPIO siklus tunggal dan mikrotrace opsional. Mereka ideal untuk migrasi dari 8 ke 32 bit sambil mempertahankan Anggaran yang ketat.

Peningkatan kinerja datang dengan Korteks-M3 y Korteks-M4 (ARMv7-M). Mereka berbagi arsitektur dan dukungan Thumb-2, beberapa bus 32-bit, dan kecepatan clock tipikal hingga ~200 MHz, dengan alat debugging yang sangat mumpuni. M4 menambahkan instruksi DSP dan, tergantung variannya, FPUJika Anda melakukan penyaringan sinyal, audio, atau kontrol yang lebih matematis, M4 menghemat siklus dibandingkan dengan M3.

Untuk mendorong lebih jauh lagi, Korteks-M7 berfokus pada kinerja MCU maksimum, dengan jaringan yang lebih dalam, peningkatan lebar bus, dan opsi cache. TCM untuk mempercepat kode dan data penting. Banyak M7 yang dilengkapi FPU presisi ganda opsional dan ditujukan untuk kontrol motor tingkat lanjut, audio fidelitas tinggi, atau gateway dengan persyaratan latensi yang ketat.

Keamanan diperkuat dengan Korteks-M23 y Korteks-M33 (berdasarkan ARMv8-M), yang memperkenalkan TrustZone untuk membagi sistem menjadi Dunia yang Aman dan Tidak Aman, dan komponen SAU untuk menentukan atribut keamanan. Ini sangat penting di IoT, di mana Anda perlu mengisolasi kredensial, boot aman, dan tumpukan konektivitas.

Baru-baru ini, Korteks-M55 y Korteks-M85 Mereka menargetkan pembelajaran mesin di edge. Mereka menggabungkan peningkatan DSP, vektorisasi, dan akselerasi yang memudahkan pengoperasian. kesimpulan lokal pada sensor dan perangkat bertenaga baterai, meningkatkan kemampuan komputasi sambil tetap mempertahankan esensi MCU.

Tergantung pada kernel, Anda akan melihat fitur opsional seperti Sistem SysTick 24-bit, bit-banding, MPU dengan berbagai jumlah region, SAU, cache instruksi dan data, atau TCM. Pada tingkat mikroarsitektur, beberapa M mengadopsi Harvard (M3, M4, M7, M33, M55, M85) untuk memisahkan instruksi dan aliran data, sementara yang lain mempertahankan Von Neumann (M0, M0+, M1, M23), yang memengaruhi kecepatan akses dan implementasi memori.

Teknologi kunci yang sering muncul

Jempol dan Jempol-2 Mereka meningkatkan kepadatan kode dengan mengurangi ukuran instruksi menjadi 16 bit (atau menggabungkannya dengan 32 bit pada Thumb-2). Hal ini memungkinkan lebih banyak instruksi dieksekusi dari memori sempit dan mengurangi konsumsi daya. Pada banyak Cortex-M, Thumb-2 adalah satu-satunya mode, yang menyederhanakan perangkat keras dan menghemat ruang.

Pada rentang A dan R, ARM menawarkan ekstensi seperti NEON untuk SIMD, VFP untuk floating point dan Zona Kepercayaan untuk isolasi yang aman di tingkat sistem. Selain itu, beberapa kernel klasik mendukung Jazelle untuk mempercepat bytecode Java, sebagai penghormatan kepada hari-hari awal mobilitas.

Secara real time, kombinasi dari MPU, TCM dan kontrol interupsi Ini penting. MPU mengelompokkan memori dan mencegah akses tidak sah; TCM memastikan akses deterministik tanpa menunggu; dan pengontrol interupsi menyempurnakan prioritas dan latensi sehingga kejadian penting tidak pernah terlewatkan.

Sejarah singkat ekosistem ARM

Setelah ARM1 dan ARM2 pertama, evolusi membawa ARM3 dengan cache 4KB, keluarga ARM6, dan popularisasi dengan ARM7TDMI, yang umum di ponsel dan konsol portabel. Kemudian muncul ARM9, ARM11, dan transisi ke Lapisan luar dengan ARMv7 dan ARMv8, membuka jalan untuk 64-bit di seri A.

Secara paralel, ada lisensi terkenal seperti DEC StrongARM (kemudian di tangan Intel) dan XScale, yang mendukung PDA dan perangkat tertanam. Periode ini memperkuat gagasan bahwa ARM adalah jalan ke depan untuk perangkat konsumen dan perangkat berdaya rendah, sementara x86 tetap menjadi perangkat dominan untuk desktop dan server.

Apple mengadopsi ARM untuk iPhone dan iPad, dan kemudian beralih ke komputer dengan Silikon apel, mengandalkan terjemahan dinamis seperti Rosetta 2 untuk transisi perangkat lunak. Performa per watt dan integrasi SoC memastikan keberhasilan.

Sistem operasi dan ekosistem perangkat lunak

ARM didukung oleh berbagai macam sistem: dari Android, iOS, dan macOS di Apple Silicon, hingga Windows CE, RT, dan versi modern dengan dukungan ARM, dan Sertifikasi ARM SystemReady Meningkatkan kompatibilitas. Di desktop, Windows 10 dan 11 untuk ARM tersedia, dengan keterbatasan historis dalam menjalankan biner x86 asli, yang dimitigasi oleh lapisan terjemahan.

Di dunia bebas, keluarga BSD (FreeBSD, NetBSD, OpenBSD) berjalan pada ARM, dan di Linux ada dukungan luas dengan distro seperti Debian, Ubuntu, Arch, Kali, Manjaro, Gentoo atau Oracle LinuxDalam hal tertanam dan waktu nyata, daftarnya panjang: FreeRTOS, ChibiOS, eCos, ThreadX, QNX, VxWorks, Nucleus, RTEMS, Integritas dan masih banyak lagi, yang mencakup semuanya mulai dari MCU kecil hingga kontrol industri yang krusial.

Lisensi, pengecoran, dan mengapa ARM sangat berskala

Nilai diferensial ARM memungkinkan pihak ketiga menyesuaikan SoCAlih-alih menjual CPU tertutup, ia menawarkan inti, bus, IP GPU mali dan NPU Jiwa khas suatu bangsa bagi setiap produsen untuk menyusun teka-teki: Anda dapat menambahkan modem 5G, memori pada chip, mesin AI, atau keamanan khusus.

Meskipun ARM tidak memproduksi, ia memiliki perjanjian dengan pabrik pengecoran seperti TSMC (dan Intel pada saat itu) untuk memfasilitasi adopsi. Pemegang lisensi memilih pabrik pengecoran: saat ini TSMC dan Samsung memimpin proses canggih, yang memungkinkan ARM untuk diterapkan di perangkat seluler, IoT, dan bahkan pusat data dengan lini neoverse.

Perbandingan dengan x86 jelas: pada PC Anda membangun komputer dengan komponen standar; dengan ARM, Anda mendesain SoC yang sesuai dengan produk Anda. Itulah sebabnya ARM mendominasi di ponsel pintar, tablet, dan IoT, serta semakin populer di industri otomotif dan server, yang mana efisiensi, integrasi, dan biaya per fungsi menjadi hal yang penting.

GPU, AI, dan bagian lain dari katalog

Selain CPU, desain ARM GPUMali Terintegrasi ke dalam banyak SoC untuk grafis dan video 2D/3D di ponsel, TV, dan tablet. Meskipun tidak bersaing dengan GPU diskret kelas atas, mereka telah berkembang pesat dan lebih dari sekadar memenuhi kebutuhan target pasarnya.

untuk pembelajaran mesin, blok-blok Etos-N y Etos-U mempercepat jaringan saraf; yang pertama sebagai NPU yang lebih mumpuni, sementara yang kedua sebagai koprosesor ringan yang menyertai Cortex-A. Di sisi edge, prosesor Cortex-M terbaru dengan peningkatan DSP juga memungkinkan inferensi lokal.

Peta keluarga dan contoh pabrikan

Banyak pemasok mengintegrasikan Cortex-M dan A ke dalam katalog mereka yang luas. Sebagai panduan praktis, berikut adalah contoh seri terkenal yang akan Anda lihat di pasaran, membantu Anda mengidentifikasi inti ARM Anda membeli.

  • NXP Kinetis:Rentang L, EA, E, W, K dan V menggabungkan Cortex-M0+, M4 dan M7 untuk daya rendah, industri, RF dan kontrol motor.
  • LPK NXP: keluarga 800/1100/1200 (M0/M0+), 1300/1500/1700/1800 (M3) dan 4000/4300/54000 (M4).
  • NXP i.MX: Aplikasi SoC dengan Cortex-A7, A9, A53 dan varian dengan Korteks-M7 dukungan waktu nyata.
  • Mikrochip Atmel SAM: Seri C dan D (M0/M0+), 3x (M3), 4x (M4), I/O/V (M7) dan A5 dalam profil aplikasi.
  • Texas Instruments Sitara: AM3/AM335x (A8), AM437x/AM38x/AM1x (A9), AM57x (A15); OMAP 35xx dengan A8.
  • STMikroelektronik STM32: L0/F0 (M0/M0+), L1/F1/F2 (M3), L4/L4+/F3/F4 (M4), F7/H7 (M7).
  • Maksim MAX32: Keluarga 600 (M3), 62x/63x (M4F) dan 65x/66x (M4).

Memilih antara Cortex-R dan Cortex-M

Jika hal yang krusial adalah determinisme keras, waktu henti minimum, toleransi kesalahan dan sertifikasi keselamatan (misalnya ASIL), keluarga Korteks-R Lebih cocok. Bayangkan kontrol rem, kantung udara, pengontrol cakram, atau backplane jaringan yang tidak mungkin rusak.

Ketika tujuannya adalah untuk mengintegrasikan periferal, menyesuaikan konsumsi dan biaya, dan menjalankan kontrol, sensor, dan komunikasi dengan RTOS Ringansebuah Korteks-M Ini pilihan yang tepat. Pilih M0/M0+ untuk daya dan anggaran yang sangat rendah, M3 untuk kontrol umum, M4 jika Anda membutuhkan DSP/FPU, dan M7 jika performa MCU sangat penting. Untuk keamanan platform, pertimbangkan M23/M33 dengan TrustZone dan SAU.

Dalam desain hybrid, biasanya ditemukan SoC seri Korteks-A dengan Cortex-M kecil yang menyertainya untuk tugas waktu nyata, atau bahkan kombinasi di mana R mengelola bidang kritis sementara A menangani antarmuka pengguna dan konektivitas.

Untuk menutup lingkaran, perlu diingat bahwa kekuatan ARM berasal dari model lisensiEfisiensi RISC dan kemampuan untuk menciptakan SoC kustom. Cortex-R dan Cortex-M mencakup segalanya, mulai dari kontrol real-time yang paling menuntut hingga MCU hemat biaya yang sesuai dengan produk apa pun, dengan ekosistem alat, sistem operasi, dan produsen yang memudahkan Anda menemukan komponen yang tepat untuk setiap kebutuhan.

mikrokontroler
Artikel terkait:
MCU: pelajari tentang keluarga mikrokontroler yang paling penting