Arsitektur ARM merupakan arsitektur prosesor 32-bit
RISC yang dikembangkan oleh ARM Limited. Dikenal sebagai Advanced
RISC Machine dimana 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 dimana membutuhkan daya dan harga
yang rendah.
Pada tahun 2007, sekitar 98% dari satu miliar mobile phone yang
terjual menggunakan setidaknya satu buah prosesor ARM. Dan pada tahun 2009,
prosesor ARM mendominasi sekitar 90% dari keseluruhan pasar prosesor 32-bit
RISC. Prosesor ARM digunakan di berbagai bidang seperti elektronik umum,
termasuk PDA, mobile phone, media player, music player, game console genggam,
kalkulator dan periperal komputer seperti hard disk drive dan router.
Lisensi arsitektur ARM dimiliki oleh Alcatel, Atmel,
Broadcom, Cirrus Logic, Digital Equipment Corporation, Freescale, Intel melalui
DEC, LG, Marvell Technology Group, NEC, NVIDIA, NXP Semiconductors, OKI,
Quallcomm, Samsung, Sharp, ST Microelectronics, Symbios Logic, Texas
Instruments, VLSI Technology, Yamah dan ZiiLABS.
SEJARAH
Setelah sukses dengan komputer BBC Micro, Acorn Computers
Ltd mempertimbangkan berpindah dari prosesor MOS Technology 6502 ke pasar yang
akan segera didominasi oleh IBM PC yang diluncurkan pada tahun 1981. Acorn
Business Computer (ABC) pada saat itu membutuhkan prosesor berikutnya
untuk dapat bekerja pada platform BBC Micro. Namun prosesor seperti Motorola
68000 dan National Semiconductor 32016 tidak cocok, sedangkan prosesor 6502
tidak mencukupi untuk kebutuhan antar muka grafis.
Akhirnya Acorn mendesain prosesornya sendiri dengan proyek
Berkeley RISC oleh engineernya. Kunjungan ke Western Design Center di daerah Phoenix
meyakinkan engineer Acorn Steve Furber dan Sophie Wilson bahwa mereka tidak
membutuhkan sumber daya dan fasilitas penelitian yang besar.
Wilson mengebangkan instruction set, mensimulasikan prosesor
pada BBC Basic yang menjalankan BBC Micro dengan prosesor 6502 kedua. Hal
tersebut membuktikan kepada engineer Acorn bahwa mereka berada pada proses yang
tepat. Sebelum melangkah lebih jauh, mereka membutuhkan sumber daya yang lebih.
Setelah Wilson mendapat persetujuan dari CEO Acorn, Hermann Hauser, tim kecil
melanjutkan implementasi ke perangkat keras.
Proyek Acorn RISC Machine resmi dimulai pada
Oktober 1983. VLSI Technology, Inc dipilih sebagai mitra dalam memproduksi chip
silikon dimana sebelumnya telah memproduksi ROM dan custom chip sebelumnya.
Proses desain dipimpin oleh Wilson dan Furber, dengan tujuan utama latensi
rendah (low-latency) pada penanganan input/output (interupsi) seperti pada
prosesor MOS Technology 6502. Arsitektur 6502 memberikan pengembang mesin yang
cepat dalam pengaksesan memory tanpa harus menggunakan perangkat direct access
memory yang mahal. VLSI memproduksi chip ARM pertama kali pada 26 April 1985
yang berhasil bekerja dan dikenal sebagai ARM1. Dan disusul dengan ARM2 yang
diproduksi pada tahun berikutnya.
Pengaplikasian prosesor ARM pertama kali adalah prosesor
kedua dari BBC Micro, untuk simulasi dalam pengembangan chip pendukung (VIDC,
IOC, MEMC) dan untuk mempercepat penggunaan perangkat lunak CAD dalam
pengembangan ARM2. Wilson menulis BBC Basic dalam bahasa assembly ARM, dimana
kode sangat padat sehingga ARM BBC Basic sangat cocok untuk setiap emulator
ARM.
ARM2 mempunyai lebar bus sebesar 32-bit, 26-bit (64 Mbyte)
alamat memory dan 16 buah register 32-bit. Program code harus ada dalam 64
Mbyte pertama dari memory, sebagaimana program counter dibatasi pada 26-bit
karena 6-bit atas pada register 32-bit digunakan sebagai status flag.
Kemungkinan besar ARM2 merupakan prosesor 32-bit paling sederhana di dunia
dengan hanya 10.000 transistor bila dibandingkan dengan Motorola 68000 dengan
70.000 transistor. Kesederhanaan ini diperoleh karena ARM tidak mempunyai
microcode yang mencakup seperempat hingga sepertiga transistor pada Motorola
68000. Selain itu ARM pada saat itu tidak memiliki cache memory. Hal ini
membuat ARM sebagai prosesor dengan konsumsi daya rendah namun performansi yang
lebih baik dari pada Intel 80286. Penerusnya yaitu ARM3 mempunyai 4 kByte cache
yang meningkatkan performansi.
Pada akhir 1980-an, Apple Computer dan VLSI Technology
memulai kerja sama dengan Acorn untuk prosesor ARM berikutnya. Kerjasama ini
sangat penting hingga Acorn melepas tim tersebut sebagai perusahaan baru
bernama Advanced RISC Machines Ltd. pada tahun 1990. Sehingga seringkali ARM
disebut sebagai Advanced RISC Machine disamping Acorn RISC Machine. Dan pada
tahun 1998 Advanced RISC Machines menjadi ARM Ltd.
Hasil kerja sama Apple-ARM menghasilkan ARM6 pada awal tahun
1992. Apple menggunakan ARM6 (ARM 610) sebagai prosesor pada PDA Apple Newton
dan pada tahun 1994 Acorn menggunakan ARM6 pada komputer PC RISC. Pada
frekuensi 233 MHz, prosesor ini hanya mengonsumsi daya sebesar 1 Watt dan versi
berikutnya lebih kecil dari itu.
Inti prosesor ARM tidak mengalami perubahan ukuran yang
signifikan. Pada ARM2 terdapat 30.000 transistor sedangkan pada ARM6 bertambah
hingga 35.000 transistor saja. ARM Ltd. hanya menjual IP (Intelectual Property)
core dimana perusahaan lain dapat memproduksi mikrokontroller dan prosesor
berdasarkan rancangan ARM. Implementasi yang dinilai paling berhasil adalah
ARM7TDMI yang terjual hingga ratusan juta chip. Ide dasarnya adalah produsen
chip komputer dapat membuat CPU lengkap berdasarkan rancangan ARM dan dapat
dibuat pada pabrik semikonduktor lama serta memberikan performansi yang tinggi
pada harga yang rendah. Arsitektur ARM dapat ditemui di banyak smartphone, PDA
ARM Klasik (Classic ARM Processors)
ARM klasik adalah keluarga ARM prosesor yang pertama kali dirilis oleh ARM Ltd
(sekarang ARM Holdings). Prosesor ARM klasik ideal untuk pengguna yang ingin
menggunakan teknologi telah teruji di pasar. Prosesorprosesor ini telah
digunakan untuk berbagai macam produk elektronik selama bertahun-tahun.
Desainer produk elektronik yang memilih prosesorprosesor ini dijamin mempunyai
dukungan ekosistem dan sumber daya yang luas, tingkat kesulitan integrasi yang
minimum, dan menurunkan waktu desain.
ARM Cortex Prosesor Embedded (ARM Cortex Embedded Processors)
Prosesor di keluarga seri CortexM telah dikembangkan khusus untuk
domain mikrokontroler, dimana permintaan untuk kecepatan, determinasi waktu
proses, dan manajemen interrupt bersama dengan jumlah gate silikon minimum
(luas silikon yang minimum menentukan harga akhir prosesor) dan konsumsi daya
yang minimum sangat diminati. Contoh aplikasi prosesor CortexM adalah
mikrokontroller dan sensor cerdas.
Prosesor-prosesor di keluarga seri CortexR, sebaliknya, dikembangkan khusus
untuk keperluan realtime yang mendalam, dimana kebutuhan konsumsi daya minimum
dan sifat interrupt yang terprediksi diimbangi dengan performa yang luar biasa
dan kompatibilitas yang kuat dengan platform yang telah ada. Contoh aplikasi
prosesor CortexR adalah ABS (Automotive Braking Systems), kontroler elektronik
roda gigi, hidrolik, dan mesin otomotif.
ARM Cortex Prosesor Aplikasi (ARM Cortex Application Processors)
Prosesor di keluarga prosesor aplikasi dikembangkan untuk aplikasi
yang membutuhkan daya komputasi yang tinggi (frekuensi prosesing ratarata
2GHz), seperti netbook, mobile internet devices, smartphone, dan lain-lain.
ARM CortexM0
ARM CortexM0 adalah prosesor dari keluarga ARM Cortex prosesor embedded untuk
menggantikan aplikasi mikrokontroler 8/16bit. Keunggulan ARM CortexM0
dibandingkan mikrokontroler 8/16bit terletak pada:
• Kemampuan komputasi yang lebih tinggi untuk frekuensi kerja yang sama
• Konsumsi daya yang lebih kecil atau sama
• Jumlah pin yang sedikit (kurang dari 50pin, tidak memerlukan multilayer
PCB, luas PCB yang dibutuhkan kecil, tidak membutuhkan keahlian khusus untuk
memasang prosesor di board), tidak seperti prosesor 32bit lainnya (butuh
setidaknya 100pin, multilayer PCB, dan mesin XRay / oven)
• Harga yang lebih murah atau sama
• Kompatibel dengan ARM CortexM lain (ARM CortexM3, ARM CortexM4). Aplikasi
yang dikompile untuk ARM CortexM0 bisa dijalankan di ARM CortexM lainnya. Hal
ini berguna untuk upgrade hardware, tanpa membuang software yang sudah
dikerjakan.
ARM CortexM0 Peripheral
ARM CortexM0 mempunyai peripheralperipheral yang terintegrasi dengan
prosesor. Peripheralperipheral tersebut merupakan bagian dari desain ARM
CortexM0. Karena itu, peripheralperipheral tersebut terdapat di semua
mikroprosesor yang berbasis ARM CortexM0, walaupun dibuat oleh manufaktur yang
berbeda. Selain itu, peripheralperipheral yang terdapat di ARM CortexM0, juga
terdapat di prosesor ARM CortexM yang lain (ARM CortexM1, ARM CortexM3, ARM
CortexM4), sehingga semua prosesor di
keluarga ARM CortexM kompatibel satu sama lainnya. Peripheralperipheral
tersebut antara lain:
Nested Vectored Interrupt Controller (NVIC )
NVIC adalah peripheral yang mengatur interrupt ARM CortexM (ARM CortexM0, ARM
CortexM1, ARM CortexM3, ARM CortexM4). NVIC mengatur prioritas interrupt,
mengaktifkan / menonaktifkan interrupt, menyimpan isi registerregister ARM
CortexM ke memori stack ketika prosesor memasuki interrupt handler, dan
mengembalikan isi registerregister ARM CortexM dari memori stack ketika
prosesor keluar dari interrupt handler.
System Control Block (SCB)
SCB adalah peripheral yang digunakan untuk mengatur mode prosesor. SCB
menyediakan berbagai info untuk program pengguna (seperti CPU ID, konfigurasi
memori big/little endian, nomor interrupt yang saat ini ditangani, dan
sebagainya)
System Timer (SysTick)
Pada seri ARM klasik, prosesorprosesor ARM tidak dilengkapi dengan Timer,
sehingga tiap manufaktur melengkapi prosesor tersebut dengan peripheral Timer milik
mereka sendiri. Akibatnya, terdapat isu kompatibilitas jika pengguna ingin
berpindah dari prosesor ARM dari manufaktur yang satu ke manufaktur lainnya
(Contoh: pengguna yang menggunakan peripheral Timer di ARM7TDMI buatan Atmel
tidak bisa menggunakan ARM7TDMI buatan NXP tanpa mengubah kode program terlebih
dulu, walaupun keduanya berbasis prosesor yang sama, karena Timer milik Atmel
dan NXP berbeda).
Pada seri ARM CortexM (ARM CortexM0, ARM CortexM1, ARM CortexM3, ARM CortexM4),
tiap prosesor dilengkapi dengan peripheral Timer, sehingga pengguna yang ingin
memiliki kebebasan memilih manufaktur semikonduktor dapat berpindah ke
manufaktur lain tanpa harus mengubah program mereka.
ARM Holdings sendiri menyarankan agar SysTick digunakan untuk Timer RTOS,
sehingga RTOS tersebut (beserta aplikasinya) dapat dipindahkan dari prosesor
satu ke prosesor lainnya (Contoh: dari ARM CortexM0 ke ARM CortexM3) ataupun
dari manufaktur satu ke manufaktur lainnya (Contoh: dari STMicroelectronics ke
NXP) tanpa perubahan apa pun di kode program.
Wakeup Interrupt Controller (WIC)
WIC adalah peripheral tambahan di ARM CortexM untuk mengaktifkan prosesor yang
sedang dalam mode penghematan energi (sleep, deep sleep, dan sebagainya). WIC
dibutuhkan untuk mengurangi konsumsi daya prosesor, karena mampu mengaktifkan
prosesor tanpa menggunakan clock. WIC merupakan peripheral tambahan untuk
membantu kerja NVIC.
Ketika prosesor dalam mode penghematan energi, WIC akan mendeteksi event yang
digunakan untuk mengaktifkan prosesor. Ketika event tersebut terdeteksi, WIC
akan mengaktifkan prosesor dan NVIC (keluar dari power saving mode), dan
menyerahkan tugas ke NVIC untuk memproses interrupt tersebut (jika event
tersebut berupa external interrupt).
Embedded Debug Core
Debug core di prosesor seri ARM CortexM memungkinkan user untuk mendebug
program tanpa harus melepas prosesor dari PCB. Prosesor tanpa debug core
(contoh Intel 8051) memerlukan emulator khusus untuk mendebug program (prosesor
harus dilepas dari PCB, kemudian kabelkabel dari emulator disolder ke PCB, di
footprint prosesor).
Dengan debug core, pengembang aplikasi ARM CortexM cukup menghubungkan tiga
pin (SWDIO, SWDCLK, dan GND) prosesor ARM CortexM ke JTAG eksternal (JTAG
berguna untuk menjembatani program di PC dengan prosesor) tanpa harus melepas
prosesor ARM CortexM dari PCB.
Sumber:
0 komentar:
Posting Komentar