Tutorial STM32 – 6 : Arsitektur ARM
embeddednesia memang sengaja membuat pengantar tentang arsitektur prosesor ARM ini di pertengahan seri tulisan saya, meskipun di banyak literatur kita akan menjumpai tentang pembahasan arsitektur suatu perangkat di bagian awal. Hal ini karena embeddednesia tidak ingin terlalu membebani dengan banyak teori yang njelimet yang membuat banyak pemula patah di tengah jalan.
Kebanyakan orang, termasuk penulis, ingin selalu cepat – cepat melakukan hands-on alias praktek langsung sebelum kemudian akhirnya tertarik untuk mempelajari lebih dalam. Maka, setelah pembaca mempraktekkan tutorial ini dan berhasil sampai menyalakan LED berkedip – kedip, maka kini saatnya embeddednesia mulai memperkenalkan sedikit latarbelakang tentang arsitektur ARM 32 bit yang dimiliki oleh STM32
Prosesor ARM
Sebagaimana yang kita tahu STM32 memiliki inti CPU beraksitektur ARM yang didasarkan pada set instruksi arsitektur (instruction set architechture – ISA) bernama RISC (Reduced Instruction Set Computer) yang dikembangkan oleh ARM Holdings. Dikenal sebagai Advanced RISC Machine di mana sebelumnya dikenal sebagai Acorn RISC Machine. Pada awalnya merupakan prosesor desktop yang sekarang didominasi oleh keluarga x86. Namun desain yang sederhana membuat prosesor ARM cocok untuk aplikasi berdaya rendah. Hal ini membuat prosesor ARM mendominasi pasar mobile electronic dan embedded system di mana membutuhkan daya dan harga yang rendah.
Prosesor jenis Cortex-M3 seperti yang digunakan pada mikrokontroler STM32F103C8T6 yang dipakai dalam tutorial ini bukanlah prosesor ARM pertama yang digunakan secara umum pada mikrokontroler. Sebelumnya ada prosesor ARM7 yang tercatat dalam sejarah paling banyak digunakan oleh mayoritas perangkat embedded. Di tahun 2005, sekitar 98% dari lebih 1 miliar ponsel yang terjual menggunakan prosesor ARM. Pada 2009, prosesor ARM menguasai 90 persen dari semua perangkat yang menggunakan prosesor 32 bit RISC, seperti PDA, tablet, ponsel, media digital, pemutar lagu. game konsol, kalkulator, hingga hard drive dan router
- CORTEX Ax : Prosesor performa tinggi yang digunakan untuk Sistem Operasi terbuka, seperti smartphone, ebook reader, Digital TV, dsb.
-
CORTEX Rx : Prosesor yang dikembangan untuk perangkat embedded yang menuntut keakuratan yang tinggi terhadap waktu (real time) selain konsumsi daya yang rendah, seperti untuk ABS (Automotive Braking System), networking, dan printer.
-
CORTEX Mx : Seri prosesor yang dikembangkan untuk perangkat embedded dengan harga murah dan konsumsi daya yang rendah, Seri keluarga inilah yang digunakan oleh mikrokontroler STM32, dan selanjutnya kita akan berfokus pada mikrokontroler dengan inti Cortex – M ini.
Bagan berikut menjelaskan spesifikasi aplikasi dari 3 sub keluarga prosesor Cortex
Nah, seri keluarga Cortex-Mx masih dibagi lagi menjadi 4 sub-grup yaitu Mo, M1, M3, dan M4. Daya komputasi dari Cortex Mx ini berada pada rentang 0.84 DMips/MHz hingga 1.25 DMips/MHz.
Arsitektur
Arsitektur ARM memiliki implementasi instruksi yang bergantung pada jenis dari prosesor dan fungsinya. Dikarenakan prosesor ARM ditujukan untuk banyak segmen pasar, maka tiap arsitektur dari prosesor dibuat sesederhana sesuai dengan tujuan dari pasar yang menjadi sasarannya. Hal ini disebabkan karena kesederhanaan arsitektur pada prosesor ARM menjadi kunci dari konsumsi daya dan performanya. Pada prosesor Cortex Mx sebagaimana yang kita lihat pada bagan, menggunakan instruksi Thumb 2.
Teknologi Thumb-2 adalah versi yang diperluas dari Thumb Instruction Set Architecture (ISA) yang menghasilkan instruksi yang lebih efisien dan bertenaga, sehingga menghasilkan kemudahan penggunaan, kecilnya ukuran, dan performa. Thumb-2 diturunkan dari Thumb instruksi 16 bit versi sebelumnya, dengan penambahan instruksi 16 bit sehingga menjadi 32 bit. Hal ini memungkinkan operasi lebih kompleks dapat dijalankan dalam jumlah state yang sama dari sebelumnya.
CMSIS (Cortex Microcontroller Software Interface Standard)
Sebagaimana yang diketahui bahwa Arsitektur ARM diadopsi oleh banyak vendor kedalam banyak jenis mikrokontroler yang meningkatkan tren di bidang industri elektronik. Setiap vendor memiliki jenis mikrokontroler mereka sendiri, dari core prosesor yang sama.
CMSIS, adalah lapis layer abstraksi hardware bersifat vendor independent. artinya vendor apapun yang mengadopsi prosesor ARM Cortex, akan menggunakan CMSIS, yang merupakan sebuah framework yang bisa digunakan untuk masing – masing vendor sehingga mereka bisa mendapatkan keuntungan dari berbagi API (Application Programming Interface) yang sama. Hal ini memungkinkan dibuatnya antar muka perangkat lunak yang konsisten dan sederhana untuk saling terhubung (dengan peripheral lain, real-time operating system dan perangkat middleware). Selain itu juga berfungsi dalam hal penyederhanaan perangkat lunak, sehingga software yang digunakan bisa bersifat re-use (dapat digunakan ulang di mikrokontroler yang berbeda vendor) asalkan masih menggunakan core prosesor Cortex, Hal ini juga berdampak pada berkurangnya learning curve saat mempelajari jenis mikrokontroler baru dengan arsitektur serupa
Anda harus log masuk untuk menerbitkan komentar.