Mikrokontroller Berbasiskan RISC 32 bits
1. Introduction to 32 Bit RISC Processor ( ARM )
13.1.4. Perangkat Lunak Sistem Tertanam
13.1.4.2. Sistem Operas
Proses inisialisasi mempersiapkan perangkat keras untuk sistem operasi mengambil peran pengendalian. Sistem operasi mengorganisasikan sarana sistem : feriferal, memori dan waktu pemrosesan. Dengan sistem operasi mengontrol sarana ini, mereka dapat digunakan secara efisien oleh aplikasi yang berbeda dalam ruang lingkup sistem operasi. Prosessor ARM mendukung 50 sistem operasi, yang dapat dikelompokkan menjadi dua kategori utama : sistem operasi waktu nyata (RTOS, real time operating systems) dan sistem operasi platform.
RTOS menjamin waktu tanggap terhadap persitiwa. Sistem operasi yang berbeda memiliki beragam pengendalian terhadap waktu tanggap sistem. Aplikasi waktu nyata keras (hard real time applications) memerlukan
Bab 13. Mikrokontroller berbasiskan RISC 32 bits 172
jaminan tanggapan bekerja sepenuhnya. Sebaliknya aplikasi waktu nyata lunak (soft real time applications) memerlukan waktu tanggap yang baik, tetapi kinerja menurun jika waktu tanggap terlewati. Sistem yang menjalankan RTOS pada umumnya tidak memiliki penyimpanan sekunder. Sistem operasi platform memerlukan unit manajemen memori untuk mengelola aplikasi non real time yang besar, cenderung memiliki penyimpanan sekundeer. Sistem operasi Linux adalah salah satu tipikal sistem operasi platform.
Kedua kategori sistem operasi ini bukanlah eksklusif, terdapat sistem operasi yang menggunakan prosessor ARM dengan unit manajemen memori dan memiliki karakteristik waktu nyata. ARM telah mengembangkan sekumpulan inti prosessor yang secara khusus ditargetkan untuk setiap katagori.
13.1.4.3. Aplikasi
Sistem operasi mengatur aplikasi – kode program didedikasikan untuk menangani tugas khusus. Aplikasi menerapkan tugas pemrosesan; sistem operasi mengendalikan ruang lingkup. Sistem tertanam dapat memiliki satu apalikasi aktif atau beberapa aplikasi berjalan secara simultan.
Prosessor ARM ditemukan di banyak segmen pemasaran, termasuk jaringan, otomotif, perangkat bergerak, penyimpanan, dan pencitraan. Dalam setiap segmen prosessor ARM dapat ditemukan dalam banyak aplikasi. Sebagai contoh prosessor ARM ditemukan dalam jaringan seperti gateway, modem DSL untuk komunikasi internet berkecepatan tinggi dan komunikasi tanpa kabel 802.11. Segmen perangkat bergerak adalah area aplikasi terbesar untuk prosessor ARM dikarenakan telephone bergerak, di produk pencitraan seperti printer inkjet dan penyimpanan seperti Hard Disk juga ditemukan prosessor ARM sebagai pengendalinya. Sebaliknya tidak ditemukan prosessor ARM dalam aplikasi yang memerlukan kinerja tinggi. Karena aplikasi ini cenderung bervolume rendah dan berbiaya tinggi seperti server, ARM memutuskan tidak focus pada aplikasi jenis ini.
13.2. 32 Bit RISC Architecture ( ARM )
Pemrogram dapat melihat inti ARM sebagai unit-unit fungsional terkoneksi oleh bus data, tampak pada gambar 13.5, dimana, anak panah menunjukkan arah aliran data, garis menunjukkan bus, dan kotak
Bab 13. Mikrokontroller berbasiskan RISC 32 bits 173
menunjukkan unit operasi atau area penyimpanan. Gambar tersebut juga menunjukkan komponen pembentuk inti ARM secara abstrak.
Gambar. 13.5. Model aliran data pada inti ARM.
Data memasuki prosessor melalui Data Bus. Data mungkin merupakan instruksi untuk dieksekusi ataupun item data itu sendiri. Gambar 13.5 menunjukkan penerapan Von Neumann pada ARM. Item data dan instruksi berbagi bus yang sama. Sebaliknya implementasi Harvard pada ARM menggunakan bus yang berbeda.
Instrucion Decoder menterjemahkan instruksi sebelum dieksekusi yang tergabung dalam set instruksi tertentu. Prosessor ARM seperti prosessor RISC lainnya, menggunakan arsitektur load-store. Yang berarti memiliki dua tipe instruksi untuk memindahkan ata ke dalam dan ke luar prosessor: instruksi load menyalin data dari memori ke register di dalam inti, dan sebaliknya instruksi store menyalin data dari register ke memori. Tidak terdapat instruksi pemrosesan data yang secara langsung memanipulasi data di dalam memori. Pemrosesan data hanya dijalankan di dalam register.
Item data ditempatkan dalam register file – bank penyimpanan dibuat dari register 32-bit. Dikarenakan inti ARM adalah prosessor 32 bit, sebagian besar instruksi memperlakukan register untuk menangani nilai 32bit baik bertanda ataupun tidak (signed/unsigned values). Perangkat keras pengembang tanda mengkonversi bilangan 8bit bertanda dan 16bit ke nilai
Bab 13. Mikrokontroller berbasiskan RISC 32 bits 174
32-bit ketika mereka dibaca dari memori dan ditempatkan di register. Instruksi ARM secara tipikal memiliki dua register sumber Rn dan Rm dan satu hasil tunggal atau register tujuan, Rd. Sumber operand dibaca dari register file menggunakan bus internal A dan B. ALU (arithmetic logic unit) atau MAC (multiply-accumulate unit) mengambill nilai register Rn dan Rm melalui bus A dan B dan menghitung hasilnya. Instruksi pemrosesan data menulis hasil dalam Rd secara langsung ke register file. Instruksi load dan store menggunakan ALU untuk membangkitkan alamat untuk disimpan dalam address register dan dimunculkan dalam adress bus.
Satu ciri penting dari ARM adalah register Rm sebagai alternatif dapat diproses awal dalam barrel shifter sebelum memasuki ALU. Bersamaan barrel shifter dan ALU dapat menghitung jangkauan luas ekspresi dan alamat. Setelah melewati unit fungsional, hasil dalam Rd ditulis kembali ke register file menggunakan bus result. Untuk instruksi load dan store, incrementer memperbaharui address register sebelum inti membaca atau menulis register berikutnya dari atau ke lokasi memori berikutnya secara berurutan. Prosessor melanjutkan eksekusi instruksi sampai eksepsi atau interupsi merubah aliran eksekusi secara normal. Komponen utama dalam prosessor ARM adalah register, curent program status register (cpsr) dan pipeline.
13.3. Pertanyaan
1. Jelaskan empat aturan dalam filosofi RISC ! 2. Jelaskan arsitektur prosessor ARM !
3. Jelaskan arsitektur sistem tertanam berbasiskan prosessor ARM ! 4. Jelaskan sistem bus yang dikembangkan untuk prosessor ARM ! 5. Bagaimanakan struktur register yang diterapkan pada prosessor
ARM !
6. Disamping perangkat keras, sistem tertanam juga memerlukan perangkat lunak, jelaskan perangkat lunak tersebut !
7. Khusus untuk kode inisialisasi, jelaskan tugas-tugas atau proses yang dilakukannya !
8. ARM memiliki register khusus yakni ’ barrel shift register ’ jelaskan kekhususan tersebut !
9. Jelaskan tingkatan komponen perangkat lunak pada sistem tertanam !
10.Alasan apakah yang melatarbelakangi diperlukannya pemetaan ulang memori pada ARM ? Jelaskan !
175