Ini menarik! Saya mencari artikel yang jelas, tetapi saya tidak bisa menemukan artikel yang jelas untuk ini. Saya juga menemukan tautan ini: ARM Cortex-R dan tautan ini: Cortex-R Series tetapi tidak terlalu jelas. di halaman wiki aja:
Inti dimaksudkan untuk penggunaan waktu nyata yang kuat
dan di halaman Cortex-R menulis:
ARM Cortex®-R prosesor real-time menawarkan solusi komputasi kinerja tinggi untuk sistem tertanam di mana keandalan, ketersediaan tinggi, toleransi kesalahan, rawatan dan respons waktu nyata diperlukan.
dan ini:
- Kinerja tinggi: Pemrosesan cepat dikombinasikan dengan frekuensi clock tinggi
- Real-time: Pemrosesan memenuhi kendala real-time yang sulit di semua kesempatan
- Aman: Dapat diandalkan, sistem yang andal dengan resistensi kesalahan tinggi
- Hemat biaya: Fitur untuk kinerja, daya, dan area yang optimal
Untuk nomor satu: Misalnya untuk Cortex-M, baru-baru ini NXP membuat seri NXP_LPC4XXX yang memiliki clock rate 200Mhz dan untuk Cortex-R, Anda dapat melihat ini: TMS570LS ARM Cortex ™ -R4 Microcontrollers , itu lucu karena memiliki 180Mhz tingkat jam.
Untuk nomor dua: Sudah jelas.
Untuk nomor tiga: Tidak jelas! apa maksud kalimat ini? berarti bukankah Cortex-M aman / Dapat Diandalkan?
Untuk nomor lima: Ya, saya pikir itu hanya klaim!
Siapa yang punya pengalaman untuk bekerja dengan seri ini (Cortex-R)? Apa pendapat Anda tentang itu? Apa perbedaan yang dalam dan persis antara seri Cortex-M dan seri Cortex-R?
Jawaban:
Lucu, saya menggunakan keduanya di tempat kerja :)
Cortex-M3 (kami menggunakan STM32s) adalah MCU serba guna yang cepat dan besar (penyimpanan flash) cukup untuk sebagian besar aplikasi embedded yang kompleks.
Namun, R4 adalah binatang yang sama sekali berbeda - setidaknya versi Texas Instruments yang saya gunakan: RM42, mirip dengan TMS570. RM42 adalah Cortex-R4 dengan dua core berjalan dalam "kunci-langkah" untuk redundansi, yang berarti bahwa satu inti adalah 2 instruksi di depan yang lain dan digunakan untuk beberapa pengecekan dan koreksi kesalahan. Juga, salah satu inti (secara fisik) dicerminkan / dibalik dan diputar 90 derajat untuk meningkatkan ketahanan radiasi / kebisingan :)
RM42 berjalan pada kecepatan clock yang lebih tinggi daripada STM32 (100MHz vs 72MHz) dan memiliki set instruksi yang sedikit berbeda dan melakukan beberapa instruksi lebih cepat dari M3 (mis. Instruksi pembagian dijalankan dalam satu siklus pada R4, tidak yakin mereka lakukan pada M3).
Timer HW sangat tepat dibandingkan dengan Cortex-M3. Biasanya kita membutuhkan offset statis untuk mengoreksi drift pada M3 - tidak demikian dengan R4 :)
Di mana saya menyebut Cortex-M3 sebagai MCU tujuan umum, saya akan menyebut Cortex-R4 MCU real-time / safety yang kompleks. Jika saya tidak salah, RM42 sesuai dengan SIL3 ...
IMO R4 adalah langkah besar dalam kompleksitas bahkan jika Anda tidak berencana untuk benar-benar menggunakan fitur real-time / keselamatan.
Sebuah contoh yang sangat bagus dari perbedaan kompleksitas: Perangkat SPI memiliki 9 kontrol dan register status pada STM32 sedangkan RM42 memiliki 42. Ini seperti ini dengan semua perangkat :)
EDIT:
Untuk apa nilainya, dalam kasus penggunaan saya Cortex-R4 @ 100MHz biasanya 50-100% lebih cepat daripada Cortex-M3 @ 72MHz saat melakukan tugas yang sama persis. Mungkin karena R4 memiliki cache data dan instruksi?
Perbandingan lain, beberapa 1000 baris kode C dan ASM dieksekusi pada reset sebelum mencapai panggilan
main()
dengan subset dari fitur keamanan yang saya gunakan saat ini: D dan bukan inisialisasi periferal atau apa pun, hanya startup dan swa uji (CPU, RAM, Flash ECC dll.).Halaman ini memiliki lebih banyak detail
sumber
D cache
danI cache
merupakan singkatan untuk cache data dan instruksi.Keluarga ARM Cortex-R (v7-R)
Keluarga ARM Cortex-M (v7-M)
sumber
Punya artikel bagus tentang di sini .
Seri Cortex-R dan cortex-M ditargetkan untuk kebutuhan yang berbeda dan untuk aplikasi yang berbeda. Penting untuk mengetahui parameter dan fitur yang memisahkan mereka karena mungkin ada aplikasi di mana keduanya bisa masuk. Makalah ini ditargetkan untuk skenario seperti itu dan membantu Desainer untuk pemilihan. Tujuan akhir adalah untuk membantu Desainer atau Pengembang untuk memiliki pemahaman tentang Arsitektur ARM.
sumber