ARM Cortex-M3: Sekilas Info

Sejak tahun 2005 menggolongkan arsitektur prosesornya ke dalam 3 profile:

  1. Cortex-A (Application), arsitektur prosesor untuk menjalankan sistem operasi (OS) tingkat tinggi, seperti Linux, Android, iOS, Windows dan lain-lain, dengan aplikasi smartphone, tablet dan sebagainya.
  2. Cortex-R (Real time), arsitektur prosesor yang dirancang untuk aplikasi real time, misalnya ECU di mesin mobil.
  3. Cortex-M (Microcontroller), arsitektur prosesor untuk aplikasi-aplikasi low cost.

ARM Cortex-M sendiri dibagi menjadi beberapa keluarga:

  1. Cortex-M0: tipe Cortex-M yang paling rendah, dirancang untuk menggantikan aplikasi prosesor 8/16 bit. Dengan hanya 56 instruksi dan diproduksi dengan hanya 12K gerbang membuat prosesor ini sangat hemat daya (16µW/MHz).
  2. Cortex-M0+: arsitektur hasil dari optimalisasi Cortex-M0 dengan mengurangi pipeline dari 3 stage menjadi 2 stage, membuat konsumsi daya Cortex-M0+ manjadi hanya 9.8µW/MHz .
  3. Cortex-M1: arsitektur prosesor yang dirancang untuk FPGA
  4. Cortex-M3: dirancang sebagai prosesor mainstream. Dengan fitur nested interupt (NVIC), hardware untuk pembagian, perkalian satu siklus.
  5. Cortex-M4: dirancang untuk aplikasi pemrosesan sinyal digital (DSP). Dilengkapi dengan instruksi-instruksi DPS dan Floating Point Unit (FPU)

ARM Cortex-M3 diperkenalkan sejak tahun 2004 dengan menggunakan arsitektur bersi ARMv7-M. Cortex-M3 dirancang dengan arsitektur Harvard, di mana ada pemisahan antara bus instruksi (program) dan bus data sehingga bisa menambag performa ARM Cortex-M3 karena bisa membaca (fetch) kode dari memori program dan data dari RAM secara bersamaan. Walaupun secara manufaktur arsitektur Harvard lebih rumit, tetapi kerumitannya tidak sebanding dengan performa yang diperoleh.

ARM Cortex-M3 merupakan standar core mikrokontroler yang lengkap, di dalamnya sudah termasuk sistem interupsi, timer Systick, sistem debug, dan pemetaan memori. Tersedia 4 Gbyte memori yang dipisahkan antara kode, SRAM (Static RAM), periperal dan periperal sistem. Gambar di bawah menunjukan core dari ARM Cortex-M3 yang dirancang oleh ARM Ltd. Perusahaan semikonduktor yang membeli lisensi dari ARM Ltd, akan menambahkan berbagai macam periperal membentuk sebuah chip mikrokontroler yang lengkap. Penambahan ini tidak ditentukan oleh ARM Ltd, tetapi tergantung kepada perusahaan yang akan memproduksi chip mikrokontroler tersebut. Penambahan ini bisa berupa ADC, DAC, UART, SPI, Ethernet, USB dan lain-lain.

cortexm3

Core ARM Cortex-M3

Teknik pipeline 3 stage, memungkinkan Cortex-M3 mengeksekusi instruksi dalam 1 siklus karena code fetch, decoding dan execution bisa dilakukan secara bersamaan dalam pipeline tersebut. Kendali interupsi bersifat nested (NVIC Nested Vectrored Interrupt Controller), memungkinkan interupsi dengan prioritas lebih tinggi bisa menunda (pre-empt) eksekusi interupsi dengan prioritas lebih rendah. Akses memori dirancang untuk lebih efisien terutama untuk menangani data 8 bit (byte) dengan teknik unaligned access, sehingga setiap alamat RAM 32 bit bisa menyimpan 4 data bertipe byte. Selain itu disediakan juga area memori untuk akses secara bit dengan teknik yang dinamakan bit banding, sehingga untuk akses secara bit, ke periperal atau memori, tidak diperlukan tambahan prosesor Boolean.

Prosesor pendahulunya, ARM7,  mengenal instruksi ARM (32 bit) dan instruksi Thumb (16 bit). Untuk kecepatan tinggi digunakan instruksi ARM, tetapi tentu saja memakan lebih banyak memori. Sehingga diperkenalkan instruksi Thumb dengan 16 bit, lebih hemat memori tetapi kecepatan/performa berkurang. Dan ini harus di-switch saat compile. Di ARM Cortex, diperkenalkan mode instruksi baru yaitu instruksi Thumb-2 yang pada dasarnya keluarga ARM Cortex bisa menjalankan instruksi ARM 32 bit dan instruksi Thumb 16 bit secara bersamaan, tidak perlu memilih mode saat meng-compile program. Compiler akan otomatis memilih mana baris program yang akan di-compile dengan instruksi 32 bit dan mana yang akan di-compile dengan instruksi 16 bit. Dengan demikian instruksi Thumb-2 akan 26% lebih hemat memori dari pada instruksi ARM dan 25% lebih cepat bila dibandingkan dengan instruksi Thumb.

Selain itu ARM Cortex-M3 juga dilengkapi dengan timer SysTick (System Tick) dan unit proteksi memori (Memory Protection Unit – MPU). Kedua periperal ini biasa digunakan untuk sistem aplikasi yang menggunakan sistem operasi (Real Time Operating System – RTOS). Timer SysTick diperlukan untuk menyediakan pewaktuan untuk scheduler dari RTOS sedangkan MPU akan mengatur akses memori antara aplikasi dengan OS. ARM Cortex-M3 juga menyediakan jalur untuk debugging program yang dinamakan Debug Access Port (DAP) dengan protokol JTAG (Joint Test Action Group) atau SWD (Serial Wire Debug).

Insya Allah, kita akan bahas arsitektur ARM Cortex-M3 secara lebih detail di posting berikutnya…

Prosesor ARM: Awal Kisah

Tersebutlah berdirilah sebuah perusahaan pembuat komputer di negeri Inggis, tepatnya di Cambridge, dengan nama Acorn Computers LtdPerusahaan yang didirikan pada tahun 1978 ini memproduksi berbagai macam komputer terkanal di Inggirs, seperti  Acorn Electron,  BBC Micro, dan Acorn Archimedes. BBC Micro merupakan model yang paling laris di antara ketiganya di tahun 1980-an, dan lebih dikenal sebagai komputer BBC Micro model B.

300px-BBC_Micro_Front_Restored

Komputer BBC Micro

Komputer BBC Micro merupakan komputer dengan prosesor 8 bit, menggunakan core MOS Technology 6502. Prosesor dengan core 6500 buatan Motorola, sekarang Freescale, berkecepatan 2MHz. Komputer ini sukses besar setelah di rilis ulang tahun 1982 (model B).

Kesuksesan ini ternyata disaingi oleh Apple yang mengeluarkan produk komputernya, Lisa. Komputer Lisa menggunakan prosesor Motorola 68000 16 bit, sehingga kemampuannya lebih baik bila dibandingkan dengan komputer berbasis prosesor 8 bit. Hal ini membuat Acorn berpikir untuk merancang ulang sebuah komputer dengan prosesor dengan kemampuan lebih tinggi (32 bit). Oleh karena Acorn menjual komputer kebanyakan ke sekolah-sekolah, maka komputer tersebut harus murah. Artinya prosesor sebagai jantung dari komputer juga harus murah. Oleh karena itu Hermann Hauser, Acorn Managing Director, membuat keputusan untuk membuat prosesor 32 bit sendiri. Kemudian Acorn membentuk sebuah tim untuk sebuah proyek: mengembangkan prosesor Reduced Instruction Set Computer (RISC), sebuah proyek yang cukup revolusioner untuk saat itu. Tim ini dipimpin oleh Steve Furber dan Sophie Wilson.

Kelahiran Pertama

Tim Acorn kemudian menggandeng VLSI Technology sebagai mitra untuk proses manufaktur chip. Prosesor tipe pertama diciptakan sekitar tahun 1985, tepatnya 26 April 1985. Prosesor dibangun dengan 25.000 transistor ini kemudian dinamakan dengan ARM1, Acorn RISC Machine. Ada hal yang menarik ketika prosesor pertama ini diuji coba. Ketika pemakaian arusnya diukur oleh ampere meter, menunjukan tidak ada pemakaian arus sama sekali. Sehingga pada awalnya Steve Furber menduga bahwa prosesor rancangannya tidak bekerja dengan baik. Walaupun kemudian diketahui bahwa prosesor ini mengkonsumsi daya yang rendah sekali. Dan inilah salah satu keunggulan prosesor RISC, rendah konsumsi daya.

220px-Acorn-ARM-Evaluation-System

ARM1 di Komputer BBC Micro

Tahun berikutnya tim mengeluarkan ARM2 untuk diproduksi. ARM2 memiliki bus data 32 bit, alamat 26 bit dan 27 buah register 32 bit. Bus alamat dikembangkan menjadi 32 bit di ARM6, tetapi ukuran memori program tetap 64MB untuk menjaga kompabilitas. ARM2 hanya memiliki 30 ribu transistor di dalamnya (bandingkan dengan 68000 Motorola yang memiliki 68 ribu). Hal ini dikarenakan ARM2 tidak dilengkapi dengan Microcode dan cache. Hal ini membuat ARM2 lebih hemat daya, lebih baik dari pada prosesor Intel 80286. Versi prosesor ARM berikutnya, ARM3, telah dilengkapi dengan cache 4KB, untuk meningkatkan performa.

Berdirinya ARM Ltd

Sekitar awal 1990 Apple sedang mengembangkan sebuah PDA (Personal Digital Assistant) yang dinamakan Newton. Oleh karena menggunakan batere, Apple menginginkan sebuah prosesor dengan konsumsi daya yang sangat rendah. Apple tertarik dengan prosesor ARM. Maka dibentuklah kerja sama antara Apple dan Acorn. Pada tanggal 27 November 1990 dibentuklah ARM Ltd, Acorn menempatkan 12 orang Engineer, Apple berinvestasi £1.5 Juta, dan VLSI Technology menyediakan peralatan design dan produksi. ARM yang tadinya Acorn RISC Machine, berubah menjadi Advanced RISC Machine.

Prosesor pertama yang dihasilkan pada Januari 1990 adalah ARM610 dan PDA Newton diluncurkan pada 1993. Namun sayangnya, Newton tidak terlalu sukses dipenjualan. Sehingga CEO ARM saat itu, Robin Saxby, memutuskan untuk mengubah model bisnis ARM Ltd menjadi bisnis IP (Intellectual Property). Artinya ARM tidak memproduksi langsung prosesor yang dirancangnya, tetapi menjual lisensi ke manufaktur semikonduktor. Manufakturlah yang kemudian memproduksi arsitektur ARM menjadi sebuah System on Chip.

Apple Newton

PDA Newton

Arsitektur ARM

Sejak pertama kali didirikan, ARM telah banyak membuat beberapa tipe arsitektur ARM dan telah banyak di produksi oleh beberapa produsen semikonduktor, seperti NXP, Texas Instrument, ST Microelectronic, Atmel, Freescale, Fujitsu, dan lain-lain. ARM7TDMI adalah salah satu tipe prosesor yang terkenal, berbasis arsitektur ARMv3, dan telah diproduksi sampai 10 miliar unit sejak 1994. ARM7TDMI juga adalah prosesor ARM yang pertama dipakai sebagai prosesor untuk handphone. Adalah Nokia (1993) yang tertarik untuk mengadopsi prosesor ARM karena konsumsi dayanya yang rendah. Awalnya akan menggunakan ARM7, namun dianggap costnya teralalu tinggi karena instruksi 32 bit memerlukan 4 byte. Sehingga ARM kemudian mendesain instruksi Thumb yang bisa mengerjakan instruksi 16 bit, dari sinilah ARM7TDMI lahir. Nokia6110 adalah handphone pertama yang menggunakan ARM7TDMI.

Tahun 2001 ARM926EJ-S diluncurkan, prosesor dengan 5 tahap pipeline dan MMU (Memory Management Unit) dan dukungan hardware untuk Java dan DSP (Digital Signal Processing). Selain itu juga mendukung instruksi SIMD (Single Instruction Multiple Data) untuk aplikasi multimedia.

Sejak ARM9 dan ARM11, ARM Ltd melihat bahwa ada segmen apliaksi lain yang belum tersentuh. Sehingga pada 2005 ARM, membagi arsitektur prosesornya menjadi 3 profile: Cortex-A (Application), Cortex-R (Real time) dan Cortex-M (Microcontroller).

Sekitar tahun 2008, mulai booming Smartphone, dan ARM untuk memenuhi permintaan prosesor untuk smartphone mengeluarkan Cortex-A9 yang merupakan ARM pertama dengan multi core prosesor.

Berikut tabel arsitektur prosesor ARM:

ARM arsiteketur

Arsitektur ARM

Daftar Pustaka

http://en.wikipedia.org/wiki/ARM_architecture

http://www.telegraph.co.uk/finance/newsbysector/epic/arm/8243162/History-of-ARM-from-Acorn-to-Apple.html

https://www.semiwiki.com/forum/content/2791-brief-history-arm-holdings.html

Click to access thehistoryofthearmarchitecture.pdf

http://www.theregister.co.uk/2012/05/02/unsung_heroes_of_tech_arm_creators_sophie_wilson_and_steve_furber/

 

 

 

Hello World…

Tos lami teu ngupdate ieu blog….

 

Mari kita membahas STM32, ARM Cortexnya ST Microelectronics…Insya Allah