Categories
Mikrokontroler

Mengenal Mikrokontroler Samsung S3C2440A

Sudah saatnya kita mulai melirik penggunaan mikroprosesor atau mikrokontroler berbasis prosesor ARM yang sudah banyak dipakai di pasaran dalam bentuk piranti-piranti genggam seperti PDA, Smartphone (iPhone, Nokia E-series) dan juga aplikasi-aplikasi lain yang membutuhkan mikrokontroler dengan unjuk kerja tinggi, berdaya rendah (low powe) serta dalam kemasan yang kecil ringkas.

Samsung S3C2440A dikembangkan menggunakan inti (core) ARM920T, sel dan memori standar CMOS 0,13um. Memiliki konsumsi daya rendah, rancangan yang sederhana, elegan dan statik penuh cocok untuk aplikasi-aplikasi yang sensitif terhadap biaya dan daya (cost- and power-sensitive applications). Selain itu, S3C2440A mengadopsi arsitektur bus yang baru yaitu Advanced Micro controller Bus Architecture atau AMBA.

Mini2440 menggunakan ARM920T
Mini2440 menggunakan ARM920T
Categories
FPGA Mikrokontroler

Indonesia OpenSPARC Iniative Workshop

Pada hari Rabu, 25 Maret 2009, ITB mengundang tiga perguruan tinggi, UGM, ITS dan UI, untuk bersama-sama mendiskusikan berbagai macam kemungkinan proyek yang mendapat dukungan dari Sun Microsystem dengan program OpnSPARC-nya. Kebetulan dari UGM saya (Agfianto Eko Putra, M.Si. dan Alrosyid, S.Si. yang menggantikan Jazi Eko Istiyanto, Ph.D. yang sedang ke Belanda saat itu) yang mewakili (asli dari ELINS, Elektronika dan Instrumentasi, Jurusan Fisika, Fak. MIPA, UGM – Yogyakarta). Ini merupakan pertemuan awal, dan semoga akan terus berlangsung dengan pertemuan-pertemuan lainnya yang dikoordinasi ITB (melalui pak Trio Adhiono, Ph.D.) untuk memajukan riset dan industri semikonduktor di Indonesia, khususnya industri mikroprosesor.

Pertemuan yang juga dihadiri oleh Dekan STEI, ITB dan Vice President of Sun Microsystems Asia Pacific Region diawali dengan diskusi atau brainstorming beberapa kemungkinan topik-topik yang bisa dikerjakan bersama dan setiap perguruan tinggi yang terlibat (ITB, UGM, UI dan ITS).

Categories
Mikrokontroler

Mikrokontroler versus Mikroprosesor

Sebuah mikrokontroler berbeda dengan sebuah mikroprosesor dalam beberapa hal. Pertama dan yang terpenting adalah fungsionalitasnya. Agar mikroprosesor dapat bekerja, masih dibutuhkan komponen lain seperti memori. Walaupun mikroprosesor dianggap sebagai piranti canggih untuk komputasi, titik kelemahannya ada pada tidak dirancangnya kemampuan komunikasi (antarmuka) dengan piranti-piranti periferal (memori, I/O da lain sebagainya) secara khusus.

Gampangnya, untuk melakukan komunikasi dengan piranti periferal, mikroprosesor membutuhkan rangkaian khusus eksternal. Intinya, mikroprosesor hanya sebagai otak-nya komputer (seperti otak dalam kepala kita, kepala, tangan, kaki merupakan hal yang lain). Ini awalnya dan hingga sampai sekarang ini, tetap seperti itu…

Gambar Mikrokontroler versus Mikroprosesor

Mikrokontroler dirancang sebagai satu kesatuan utuh gambar tersebut. Tidak memerlukan komponen-komponen eksternal seperti ditunjukkan dalam gabar untuk perancangan aplikasi, dengan demikian waktu dan biaya bisa dihemat…

Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka dan lain sebagainya), mikrokontroler hanya bisa digunakan untuk suatu aplikasi tertentu saja (hanya satu program saja yang bisa disimpan). Perbedaan lainnya terletak pada perbandingan RAM dan ROM. Pada sistem komputer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam ruang RAM yang relatif besar, sedangkan rutin-rutin antarmuka perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan pada mikrokontroler, perbandingan ROM dan RAM-nya yang besar, artinya program kontrol disimpan dalam ROM (bisa Masked ROM atau Flash PEROM) yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpan sementara, termasuk register-register yang digunakan pada mikrokontroler yang bersangkutan.

Ingin belajar mikrokontroler? Mengapa tidak baca saja buku saya “Belajar Mikrokontroler AT89C51/52/55: Teori dan Aplikasi Edisi 2“, Terbitan CV. Gava Media – Best Seller! (informasi lebih lanjut)

Semoga bermanfaat!

Categories
Mikrokontroler Pembelajaran

RISC vs. CISC

Cara sederhana untuk melihat kelebihan dan kelemahan dari arsitektur RISC (Reduced Instruction Set Computers) adalah dengan langsung membandingkannya dengan arsitektur pendahulunya yaitu CISC (Complex Instruction Set Computers).

Perkalian Dua Bilangan dalam Memori

Pada bagian kiri terlihat sebuah struktur memori (yang disederhanakan) suatu komputer secara umum. Memori tersebut terbagi menjadi beberapa lokasi yang diberi nomor 1 (baris): 1 (kolom) hingga 6:4. Unit eksekusi bertanggung-jawab untuk semua operasi komputasi. Namun, unit eksekusi hanya beroperasi untuk data-data yang sudah disimpan ke dalam salah satu dari 6 register (A, B, C, D, E atau F). Misalnya, kita akan melakukan perkalian (product) dua angka, satu disimpan di lokasi 2:3 sedangkan lainnya di lokasi 5:2, kemudian hasil perkalian tersebut dikembalikan lagi ke lokasi 2:3.

Pendekatan CISC

Tujuan utama dari arsitektur CISC adalah melaksanakan suatu perintah cukup dengan beberapa baris bahasa mesin sedikit mungkin. Hal ini bisa tercapai dengan cara membuat perangkat keras prosesor mampu memahami dan menjalankan beberapa rangkaian operasi. Untuk tujuan contoh kita kali ini, sebuah prosesor CISC sudah dilengkapi dengan sebuah instruksi khusus, yang kita beri nama MULT. Saat dijalankan, instruksi akan membaca dua nilai dan menyimpannya ke 2 register yag berbeda, melakukan perkalian operan di unit eksekusi dan kemudian mengambalikan lagi hasilnya ke register yang benar. Jadi instruksi-nya cukup satu saja…

MULT 2:3, 5:2

MULT dalam hal ini lebih dikenal sebagai “complex instruction”, atau instruksi yang kompleks. Bekerja secara langsung melalui memori komputer dan tidak memerlukan instruksi lain seperti fungsi baca maupun menyimpan.

Satu kelebihan dari sistem ini adalah kompailer hanya menerjemahkan instruksi-instruksi bahasa tingkat-tinggi ke dalam sebuah bahasa mesin. Karena panjang kode instruksi relatif pendek, hanya sedikit saja dari RAM yang digunakan untuk menyimpan instruksi-instruksi tersebut.

Pendekatan RISC

Prosesor RISC hanya menggunakan instruksi-instruksi sederhana yang bisa dieksekusi dalam satu siklus. Dengan demikian, instruksi ‘MULT’ sebagaimana dijelaskan sebelumnya dibagi menjadi tiga instruksi yang berbeda, yaitu “LOAD”, yang digunakan untuk memindahkan data dari memori ke dalam register, “PROD”, yang digunakan untuk melakukan operasi produk (perkalian) dua operan yang berada di dalam register (bukan yang ada di memori) dan “STORE”, yang digunakan untuk memindahkan data dari register kembali ke memori. Berikut ini adalah urutan instruksi yang harus dieksekusi agar yang terjadi sama dengan instruksi “MULT” pada prosesor RISC (dalam 4 baris bahasa mesin):

LOAD A, 2:3
LOAD B, 5:2
PROD A, B
STORE 2:3, A

Awalnya memang kelihatan gak efisien iya khan? Hal ini dikarenakan semakin banyak baris instruksi, semakin banyak lokasi RAM yang dibutuhkan untuk menyimpan instruksi-instruksi tersebut. Kompailer juga harus melakukan konversi dari bahasa tingkat tinggi ke bentuk kode instruksi 4 baris tersebut.

CISC RISC
Penekanan pada
perangkat keras
Penekanan pada
perangkat lunak
Termasuk instruksi
kompleks multi-clock
Single-clock, hanya
sejumlah kecil instruksi
Memori-ke-memori:
“LOAD” dan “STORE”
saling bekerjasama
Register ke register:
“LOAD” dan “STORE”
adalah instruksi2 terpisah
Ukuran kode kecil,
kecepatan rendah
Ukuran kode besar,
kecepatan (relatif) tinggi
Transistor digunakan untuk
menyimpan instruksi2
kompleks
Transistor banyak dipakai
untuk register memori

Bagaimanapun juga, strategi pada RISC memberikan beberapa kelebihan. Karena masing-masing instruksi hanya membuthukan satu siklus detak untuk eksekusi, maka seluruh program (yang sudah dijelaskan sebelumnya) dapat dikerjakan setara dengan kecepatan dari eksekusi instruksi “MULT”. Secara perangkat keras, prosesor RISC tidak terlalu banyak membutuhkan transistor dibandingkan dengan CISC, sehingga menyisakan ruangan untuk register-register serbaguna (general purpose registers). Selain itu, karena semua instruksi dikerjakan dalam waktu yang sama (yaitu satu detak), maka dimungkinkan untuk melakukan pipelining.

Memisahkan instruksi “LOAD” dan “STORE” sesungguhnya mengurangi kerja yang harus dilakukan oleh prosesor. Pada CISC, setelah instruksi “MULT” dieksekusi, prosesor akan secara otomatis menghapus isi register, jika ada operan yang dibutuhkan lagi untuk operasi berikutnya, maka prosesor harus menyimpan-ulang data tersebut dari memori ke register. Sedangkan pada RISC, operan tetap berada dalam register hingga ada data lain yang disimpan ke dalam register yang bersangkutan.

Persamaan Unjuk-kerja (Performance)

Persamaan berikut biasa digunakan sebagai ukuran unjuk-kerja suatu komputer:

Pendekatan CISC bertujuan untuk meminimalkan jumlah instruksi per program, dengan cara mengorbankan kecepatan eksekusi sekian silus/detik. Sedangkan RISC bertolak belakang, tujuannya mengurangi jumlah siklus/detik setiap instruksi dibayar dengan bertambahnya jumlah instruksi per program.

Penghadang jalan (Roadblocks) RISC

Walaupun pemrosesan berbasis RISC memiliki beberapa kelebihan, dibutuhkan waktu kurang lebih 10 tahunan mendapatkan kedudukan di dunia komersil. Hal ini dikarenakan kurangnya dukungan perangkat lunak.

Walaupun Apple’s Power Macintosh menggunakan chip berbasis RISC dan Windows NT adalah kompatibel RISC, Windows 3.1 dan Windows 95 dirancang berdasarkan prosesor CISC. Banyak perusahaan segan untuk masuk ke dalam dunia teknologi RISC. Tanpa adanya ketertarikan komersil, pengembang prosesor RISC tidak akan mampu memproduksi chip RISC dalam jumlah besar sedemikian hingga harganya bisa kompetitif.

Kemerosotan juga disebabkan munculnya Intel, walaupun chip-chip CISC mereka semakin susah digunakan dan sulit dikembangkan, Intel memiliki sumberdaya untuk menjajagi dan melakukan berbagai macam pengembangan dan produksi prosesor-prosesor yang ampuh. Walaupun prosesor RISC lebih unggul dibanding Intel dalam beberapa area, perbedaan tersebut kurang kuat untuk mempengaruhi pembeli agar merubah teknologi yang digunakan.

Keunggulan RISC

Saat ini, hanya Intel x86 satu-satunya chip yang bertahan menggunakan arsitektur CISC. Hal ini terkait dengan adanya kemajuan teknologi komputer pada sektor lain. Harga RAM turun secara dramatis. Pada tahun 1977, DRAM ukuran 1MB berharga %5,000, sedangkan pada tahun 1994 harganya menjadi sekitar $6. Teknologi kompailer juga semakin canggih, dengan demikian RISC yang menggunakan RAM dan perkembangan perangkat lunak menjadi semakin banyak ditemukan.

Terjemahan bebas dari…

Categories
FPGA

Purwarupa Mikroprosesor berbasis FPGA ALTERA EPF10K10 dengan Deskripsi VHDL

ABSTRACT

It has been designed and implemented an FPGA-based microprocessor prototype using Altera EPF10K10 and VHDL description then compiled and simulate using MAX+Plus II software. The microprocessor prototype is implementing using the Wizard A-01 development board and its assembly program stored in ROM. To decode and execute the instruction, it used Control Unit, which will send control signal to other components. The 16 instructions is implementing in this microprocessor prototype. This microprocessor prototype has 8-bit data bus and 4-bit address bus, implemented using 375 logic cells, operating at 14.72 MHz clock (maximum) and 3.68 MIPS.

PENDAHULUAN

Mikroprosesor telah berkembang menjadi bagian penting dalam dunia elektronika. Untuk menggunakan mikroprosesor, pengguna tinggal menyusun suatu program dengan memanfaatkan instruksi mesin (assembly) yang dimiliki oleh mikroprosesor tersebut. Adanya komponen register serta Arithmetic and Logic Unit (ALU) memungkinkan mikroprosesor dapat menjalankan berbagai macam komputasi, mulai dari komputasi sederhana hingga yang kompleks.

Menurut Turley (2002) Kendala yang dihadapi dalam perancangan mikroprosesor adalah mahal dan lamanya fabrikasi. Untuk mengatasi kendala waktu dan biaya fabrikasi, mikroprosesor dapat diimplementasikan dalam Field Programmable Array (FPGA). FPGA merupakan piranti yang bersifat dapat dikonfigurasi-ulang (reconfigurable). FPGA memiliki komponen kombinasional dan sekuensial dalam tiap sel logik-nya, sehingga memungkinkan FPGA dapat digunakan untuk implementasi rangkaian kombinasional dan rangkaian sekuensial. Dengan teknologi FPGA, implementasi rancangan sistem digital dapat dilakukan secara cepat (Maxfield, 2004).

Tujuan penelitian ini adalah merancang dan mengimplementasikan sebuah mikroprosesor sederhana (purwarupa mikroprosesor) dalam FPGA menggunakan deskripsi VHDL (VHSIC Hardware Description Language).

(informasi selengkapnya bisa diunduh disini)