BAB I PENDAHULUAN 1.1 Latar Belakang Masalah Dewasa ini, penggunaan teknologi mikroprosesor khususnya embedded microprocessor telah menjadi hal yang sangat umum dijumpai dalam kehidupan kita sehari-hari. Aplikasi-aplikasi berbasis prosesor sudah sangat banyak tersedia dan mudah kita jumpai mulai dari produk elektronika rumah tangga seperti televisi, mesin cuci dan berbagai peralatan rumah tangga lainnya sampai dengan produk berteknologi tinggi seperti pesawat, roket dan radar. Tidak hanya itu, bahkan beberapa mainan anak saat inipun sudah banyak yang mempergunakan prosesor di dalamnya. Hal ini menunjukkan bahwa tingkat kebutuhan akan prosesor sangat saat ini sangatlah tinggi. Menurut prediksi IDC tahun 2020 penjualan embedded microprocessor akan melampaui pejualan desktop processor [1]. Hal yang serupa juga diungkapkan oleh Grand View Research yang mengungkapkan bahwa pemasukan yang didapatkan dari penjualan embedded microprocessor pada tahun 2020 akan naik 2 kali lipat dari pendapatan pada tahun 2013 [2]. Banyaknya aplikasi-aplikasi yang berkembang saat ini menuntut kemampuan komputasi yang terus meningkat, konsumsi daya yang rendah namun tetap memiliki fleksibilitas yang tinggi. Secara umum, ada 2 kelas implementasi arsitektur hardware yang dominan sampai dengan saat ini yaitu ASIC (Application Specific Integreted Circuit) dan GPP (General Purpose Processor). ASIC memiliki kelebihan kecepatan yang tinggi dan konsumsi daya yang rendah namun memiliki kelemahan yaitu fleksibilitas yang rendah [3]. Fleksibilitas ASIC yang rendah
1
2
tersebut disebabkan karena fungsi yang dimilikinya sangat spesifik karena memang dirancang untuk komputasi tertentu untuk mendapatkan kecepatan yang optimal. Sebaliknya GPP memiliki kelebihan berupa fleksibilitas yang tinggi (dapat diprogram ulang) namun kurang dalam hal kecepatan dan konsumsi daya. Application-Specific Instruction set Processor (ASIP) merupakan solusi untuk mendapatkan semua aspek tersebut diatas. Dengan ASIP kita dapat mencapai kemampuan komputasi dan konsumsi daya setingkat ASIC namun juga memiliki fleksibilitas seperti GPP. Oleh karena itu arsitektur ASIP menjadi solusi yang paling tepat untuk menjawab kebutuhan embedded microprocessor dengan tuntutan spesifikasi yang semakin tinggi saat ini. Tetapi juga perlu diperhatikan ASIP juga memakai daya yang lebih besar dari ASIC dan luas penampang yang bertambah sehingga harus diperhitungkan juga nilai kompensasi tersebut terhadap kelebihan ASIP. Jika kelebihan ASIP jauh lebih tinggi maka dapat dikatakan implementasi ASIP perlu dilakukan. Tantangan
pada
perancangan
prosesor
adalah
waktu
dalam
perancangan itu sendiri. Untuk melakukan perancangan sebuah prosesor dibutuhkan waktu yang cukup lama yaitu dibutuhkan waktu beberapa bulan. Menurut penelitian sebelumnya untuk pengerjaan prosesor dengan arsitektur RISC dibutuhkan waktu 5 bulan sementara untuk arsitektur ICORE dibutuhkan waktu 3 bulan dengan menggunakan pendekatan konvensional [4]. SystemC adalah salah satu bahasa pemrograman yang dapat digunakan untuk merancang sebuah prosesor. SystemC dapat mendukung perancangan yang concurrent atau setiap tahap perancangan dapat dilakukan secara bersama-sama [5], sehingga proses
3
perancangan yang dilakukan dapat berjalan dengan cepat. Pada systemC proses verifikasi dapat dilakukan dengan cepat karena dapat memunculkan hasil secara langsung tanpa melihat waveform. Hal tersebut dapat dilakukan karena memiliki fitur fitur yang dimiliki oleh bahasa pemrograman C++. Untuk mendapatkan unjuk kerja yang maksimal pemilihan aplikasi yang dilakukan terlebih dahulu. Perkalian matriks memiliki peran yang penting dalam berbagai aplikasi bidang teknik dan ilmu pengetahuan seperti pengolahan citra, pengolahan isyarat, komputer grafis, radar, sonar dan multimedia. Selain itu, perkalian matriks juga merupakan kunci dalam permasalahan yang berkaitan dengan matriks seperti invers, determinan, eigenvalue, polimonial karakteristik dan yang lainnya. Sehingga implemetasi untuk operasi perkalian matrix yang cepat dan efisien masih perlu untuk dikembangkan [6]. Pada penelitian ini penulis tertarik untuk merancang sebuah model mikroprosesor baru melihat perkembagan dan minat dari embedded microprocessor yang tinggi. Model yang dirancang berdasarkan ASIP untuk memperoleh unjuk kerja yang baik tetapi masih memliki fleksibilitas yang baik juga. Aplikasi dari ASIP yang dipilih adalah untuk aplikasi perkalian matriks karena perkalian matriks dapat digunakan untuk berbagai macam operasi dan aplikasi.
1.2 Rumusan Masalah Perancangan arsitektur prosesor atau model prosesor baru perlu dilakukan untuk menanggapi minat dan peluang yang besar didalam pasar embedded microprocessor dimasa yang akan datang. Selain itu juga untuk
4
mengugah minat para perancang perangkat keras muda dalam negeri seperti penulis untuk ikut serta didalam pasar embedded microprocessor dimasa yang akan datang, karena teknologi yang akan datang dirancang sekarang [2]. Dalam perancangan perlu diperhatikan juga pengembangan yang dapat dilakukan dan tuntutan dari pasar oleh karena itu dirancang mikroprosesor ASIP dengan memodifikasi arsitektur dasar GPP, sehingga fleksibilitas dan unjuk kerja dari model arsitektur yang dirancang cukup baik. Pertimbangan lain adalah aplikasi khusus yang dapat digunakan secara luas maka dari itu dipilih aplikasi perkalian matriks karena banyak aplikasi yang berbasis perkalian matriks. Dalam penelitian ini akan dirancang sebuah arsitektur prosesor ASIP yang memiliki beberapa instruksi khusus untuk mendukung komputasi aplikasiaplikasi berbasis perkalian matriks. Implementasi ASIP ini diharapkan meningkatkan proses komputasi yang terkait dengan operasi perkalian matriks sehingga mampu menaikkan unjuk kerja sistem secara keseluruhan. Kecepatan perhitungan matriks dihitung berdasarkan jumlah clock yang digunakan oleh mikroprosesor untuk menyelesaikan perkalian matriks. Untuk melihat perbaikan pada kecepatan perhitungan dilakukan perbandingan dengan mikrokontroller 32bit yang ada dipasaran yaitu PIC32MX320F128H. PIC32MX320F128H digunakan karena mikrokontroller tersebut memiliki spesifikasi yang cukup serupa dengan mikroprosesor yang dirancang. Model mikroprosesor ASIP akan dirancang dan disimulasikan menggunakan framework SystemC. SystemC digunakan dengan harapan proses perancangan dan verifikasi yang dilakukan tidak memakan waktu yang panjang.
5
1.3 Batasan Masalah Batasan masalah yang akan dibahas pada tugas akhir ini adalah a. Perancangan fokus pada arsitektur Central Processing Unit mikroprosesor saja, tidak termasuk pemodelan program memory maupun memory data. b. Mikroprosesor dengan panjang set instruksi 32-bit. c. Banyak register serba guna yang dimiliki adalah 32 x 32-bit dan 48 x 32-bit register khusus Ordo maksimal matriks yang dapat diproses adalah 4x4. d. Arsitektur dirancang untuk bekerja secara maksimal pada operasi matriks yang dengan ukuran 4x4. e. Model
mikroprosesor
yang
dirancang
merupakan
arsitektur
mikroprosessor instruction accurate yang artinya semua langkah dalam satu siklus instruksi dilakukan dalam satu clock. f. Model
mikroprosesor
yang
dibuat
dibandingkan
dengan
PIC32MX320F128H. Hal yang dilihat adalah unjuk kerja dalam operasi perkalian matriks secara umum tanpa memperhatikan matriks khusus. Selain itu juga tidak memperhatikan daya maupun luas penampang dari arsitektur yang dirancang, hal itu dikarenakan perancangan yang dilakukan menggunakan systemC. g. Unjuk kerja perhitungan dilihat dari jumlah clock untuk satu proses perkalian matriks
6
1.4 Tujuan dan Manfaat Tujuan dari penelitian ini adalah untuk mendapatkan sebuah model arsitektur dasar mikroprosesor GPP kemudian mendapatkan perbaikan kemampuan komputasi dengan memodifikasi arsitektur dasar GPP menjadi arsitektur ASIP Selain itu penelitian ini juga untuk membuktikan bahwa unjuk kerja mikroprosesor ASIP yang dirancang lebih baik jika dibandingkan dengan GPP dalam hal kemampuan komputasi untuk operasi perkalian matriks. Adapun manfaat dari penelitian ini antara lain adalah: a. Arsitektur mikroprosesor baru berbasis ASIP yang dapat digunakan untuk aplikasi perkalian matriks. b. Pengembangan arsitektur dasar mikroprosesor yang dapat dikembangkan lebih lanjut oleh banyak orang atau pada penelitian berikutnya.
1.5 Metode Penelitian Hal yang pertama dilakukan dalam penelitian ini adalah studi literatur yang berkaitan dengan hal-hal yang berhubungan dengan perancangan arsitektur mikroprosesor, Appilcation Specific Instruction-set Processor dan juga systemC. Kemudian dilakukan perancangan arsitektur mikroprosesor berdasar ASIP untuk aplikasi perkalian matriks menggunakan bahasa pemrograman systemC. Setelah arsitektur selesai dibuat dilakukan pengujian fungsional dan juga dilakukan pengujian untuk beberapa contoh kasus perkalian matriks menggunakan set instruksi spesifik untuk aplikasi perkalian matriks. Hasil pengujian yang didapatkan
7
dibandingkan dengan hasil pengujian tanpa menggunakan set instruksi spesifik untuk aplikasi perkalian matriks.
1.6 Sistematika Penulisan Untuk memberikan gambaran dan memudahkan pemahaman materi, penulis menggunakan sistematika penulisan yang terdiri dari lima bab, sebagai berikut : BAB I : Pendahuluan Bab ini menjelaskan secara ringkas latar belakang masalah, perumusan masalah, batasan masalah, tujuan dan manfaat, metodologi penelitian, serta sistematika penulisan. BAB II : Landasan Teori Bab ini menjelaskan teori yang mendukung seperti teori tentang mikroprosesor, ASIP, matriks dan SystemC BAB III : Perancangan Bab ini menjelaskan proses perancangan arsitektur mikroprosesor berdasarkan arsitektur ASIP yang dilakukan BAB IV : Hasil dan Pembahasan Bab ini menjelaskan hasil simulasi dan verifikasi yang dilakukan terhadap arsitektur mikroprosesor yang dibuat. Hasil yang berupa kecepatan perhitungan berupa jumlah clock dalam mengerjakan perhitungan dibandingkan jika menggunakan instruksi perhitungan matriks dan tanpa menggunakan instruksi perhitungan matriks.
8
BAB V : Kesimpulan dan Saran Bab ini memaparkan kesimpulan dan saran berdasar sistem yang telah dikerjakan