Pendahuluan

     Ditinjau dari perancangan perangkat instruksinya, ada dua arsitektur prosesor yang menonjol saat ini, yakni arsitektur RISC (Reduce Instruction Set Computer) dan CISC (Complex Instruction Set Computer). Prosesor CISC memiliki instruksi-instruksi kompleks untuk memudahkan penulisan program bahasa assembly, sedangkan prosesor RISC memiliki instruksi-instruksi sederhana yang dapat dieksekusi dengan cepat untuk menyederhanakan implementasi rangkaian kontrol internal prosesor. Karenanya, prosesor RISC dapat dibuat dalam luasan keping semikonduktor yang relatif lebih sempit dengan jumlah komponen yang lebih sedikit dibanding prosesor CISC. Perbedaan orientasi di antara kedua prosesor ini menyebabkan adanya perbedaan sistem secara keseluruhan, termasuk juga perancangan kompilatornya.


A. Reduced Instruction Set Computers (RISC)
     Arsitektur RISC merupakan kemajuan yang sangat dramatis dalam frase sejarah arsitekur CPU dan merupakan tantangan bagi arsitektur konvensional. Analisis arsitektur RISC telah menjadi perhatian banyak masalah tentang organisasi dan arsitektur komputer.

     Walau pun sistem RISC telah ditentukan dan dirancang dalam berbagai cara berdasarkan kelompok-kelompoknya, elemen penting yang digunakan oleh sebagian rancangan ( tidak semuanya) adalah sebagai berikut :
• Set instruksi yang terbatas dan sederhana
• Register general-purpose yang berjumlah banyak, atau penggunaan teknologi kompiler
untuk mengoptimalkan pemakaian registernya.
• Penekanan pada pengoptimalan pipeline instruksi


B. Complex Instruction Set Computer (CISC)
     Complex instruction-set computing atau Complex Instruction-Set Computer (CISC; “Kumpulan instruksi komputasi kompleks”) adalah sebuah arsitektur dari set instruksi dimana setiap instruksi akan menjalankan beberapa operasi tingkat rendah, seperti pengambilan dari memory, operasi aritmetika, dan penyimpanan ke dalam memory, semuanya sekaligus hanya di dalam sebuah instruksi. Karakteristik CISC dapat dikatakan bertolak-belakang dengan RISC.
Sebelum proses RISC didesain untuk pertama kalinya, banyak arsitek komputer mencoba menjembatani celah semantik”, yaitu bagaimana cara untuk membuat set-set instruksi untuk mempermudah pemrograman level tinggi dengan menyediakan instruksi “level tinggi” seperti pemanggilan procedure, proses pengulangan dan mode-mode pengalamatan kompleks sehingga struktur data dan akses array dapat dikombinasikan dengan sebuah instruksi. Karakteristik CISC yg “sarat informasi” ini memberikan keuntungan di mana ukuran program-program yang dihasilkan akan menjadi relatif lebih kecil, dan penggunaan memory akan semakin berkurang. Karena CISC inilah biaya pembuatan komputer pada saat itu (tahun 1960) menjadi jauh lebih hemat.

     Memang setelah itu banyak desain yang memberikan hasil yang lebih baik dengan biaya yang lebih rendah, dan juga mengakibatkan pemrograman level tinggi menjadi lebih sederhana, tetapi pada kenyataannya tidaklah selalu demikian. Contohnya, arsitektur kompleks yang didesain dengan kurang baik (yang menggunakan kode-kode mikro untuk mengakses fungsi-fungsi hardware), akan berada pada situasi di mana akan lebih mudah untuk meningkatkan performansi dengan tidak menggunakan instruksi yang kompleks (seperti instruksi pemanggilan procedure), tetapi dengan menggunakan urutan instruksi yang sederhana.

     Satu alasan mengenai hal ini adalah karena set-set instruksi level-tinggi, yang sering disandikan (untuk kode-kode yang kompleks), akan menjadi cukup sulit untuk diterjemahkan kembali dan dijalankan secara efektif dengan jumlah transistor yang terbatas. Oleh karena itu arsitektur -arsitektur ini memerlukan penanganan yang lebih terfokus pada desain prosesor. Pada saat itu di mana jumlah transistor cukup terbatas, mengakibatkan semakin sempitnya peluang ditemukannya cara-cara alternatif untuk optimisasi perkembangan prosesor. Oleh karena itulah, pemikiran untuk menggunakan desain RISC muncul pada pertengahan tahun 1970 (Pusat Penelitian Watson IBM 801 – IBMs)
Contoh-contoh prosesor CISC adalah System/360, VAX, PDP-11, varian Motorola 68000 , dan CPU AMD dan Intel x86.

     Istilah RISC dan CISC saat ini kurang dikenal, setelah melihat perkembangan lebih lanjut dari desain dan implementasi baik CISC dan CISC. Implementasi CISC paralel untuk pertama kalinya, seperti 486 dari Intel, AMD, Cyrix, dan IBM telah mendukung setiap instruksi yang digunakan oleh prosesor-prosesor sebelumnya, meskipun efisiensi tertingginya hanya saat digunakan pada subset x86 yang sederhana (mirip dengan set instruksi RISC, tetapi tanpa batasan penyimpanan/pengambilan data dari RISC). Prosesor-prosesor modern x86 juga telah menyandikan dan membagi lebih banyak lagi instruksi-instruksi kompleks menjadi beberapa “operasi-mikro” internal yang lebih kecil sehingga dapat instruksi-instruksi tersebut dapat dilakukan secara paralel, sehingga mencapai performansi tinggi pada subset instruksi yang lebih besar.


Karakteristik-Karakteristik Eksekusi Instruksi

     Salah satu evolusi komputer yang paling dirasakan adalah evolusi bahasa pemrograman. Dengan semakin murahnya harga perangkat keras, harga perangkat lunak relatif telah mengalami peningkatan. Pada waktu yang bersamaan, kurangnya pemrogram telah mengakibatkan harga perangkat lunak semakin mahal. Akibatnya, biaya terbesar dalam siklus kehidupan sistem dihabiskan untuk keperluan perangkat lunak, bukannya perangkat keras. Sebagai tambahan terhadap biaya dan ketidaknyamanan tersebut, terdapat elemen ketidakreliabilitasan : adalah suatu hal yang umum bagi program, baik sistem maupun aplikasi, untuk terus mengandung bug-bug baru setelah dioperasikan beberapa lama.

     Sebagai jawaban dari para peneliti dan industri adalah dengan membuat bahasa program tingkat tinggi (High Level Language – HLL) yang lebih baik dan lebih kompleks. HLL ini memungkinkan pemrogram dapat mengekspresikan algoritma lebih singkat, lebih memperhatikan rincian, dan sering kali mendukung secara alami penggunaan pemrograman terstruktur.

     Solusi ini menimbulkan masalah lainnya, yang dikenal semantic gaps, yaitu perbedaan antara operasi-operasi yang disediakan HLL dengan operasi yang disediakan oleh arsitektur komputer. Tanda-tanda adanya gaps ini dinyatakan dengan terjadinya ketidakefisienan eksekusi, program mesin yang berukuran besar, dan kompleksitas kompiler. Sebagai contoh implementasi perangkat keras tersebut adalah instruksi mesin CASE pada VAX. Set-set instruksi kompleks tersebut dimaksudkan untuk :
• Memudahkan pekerjaan penulis kompiler
• Meningkatkan efisiensi eksekusi, karena rangkaian operasi yang kompleks dapat
  diimplementasikan di dalam mikrokode
• Memberikan dukungan bagi HLL yang lebih kompleks dan lebih canggih

     Dengan demikian, untuk memahami RISC, kita akan mengawalinya dengan tinjauan karakteristik eksekusi instruksi, seperti :
• Operasi-operasi yang dilakukan :
hal ini menentukan fungsi-fungsi yang akan dilakukan oleh CPU dan interaksinya
dengan memori.
• Operand-operand yang digunakan :
jenis-jenis operand dan frekuensi pemakaiannya akan menentukan organisasi memori untuk menyimpannya dan mode pengalamatan untuk mengaksesnya.
• Pengurutan eksekusi : menentukan kontrol dan organisasi pipeline

     Walau pun telah dilakukan beberapa pendekatan terhadap arsitektur reduced instruction set, terdapat karakteristik yang sama pada arsitektur-arsitektur tersebut. Karakteristik-adalah :

     o Satu instruksi per siklus. Siklus mesin ditentukan oleh waktu yang digunakan untuk mengambil dua buah operand dari register, melakukan operasi ALU, dan menyimpan hasil operasinya de dalam register. Dengan demikian, instruksi mesin RISC tidak boleh lebih kompleks dan harus dapat mengeksekusi secepat mikroinstruksi pada mesin-mesin CISC. Dengan menggunakan instruksi sederhana atau instruksi satu siklus, hanya dibutuhkan sedikit mikrokode atau tidak sama sekali; instruksi mesin dapat di-hardwired. Instruksi-instruksi seperti itu akan dieksekusi lebih capat dibandingkan instruksi-instruksi lainnya yang sejenis pada mesin lainnya, karena instruksi-instruksi tersebut tidak perlu mengakses penyimpanan kontrol mikroprgram pada saat eksekusi instruksi berlangsung.

     o Operasi register ke register. Operasi ini hanya terdiri dari operasi LOAD dan STORE yang mengakses memori. Fitur rancangan ini menyederhanakan set instruksi dan karena itu akan menyederhanakan unit kontrol juga. Misalnya, sebuah instruksi RISC dapat hanya mengandung satu atau dua buah instruksi ADD (misalnya, penambahan integer, penambahan dengan carry); VAX memiliki 25 instruksi ADD. Keuntungan lainnya adalah bahwa arsitektur seperti ini memungkinkan optimisasi pemakaian register, sehingga operand-operand yangsering diakses akan tetap berada di penyimpanan berkecepatan tinggi. Penekanan pada operasi register ke register ini adalah hal yang unik bagi rancangan RISC.

     o Addres mode sederhana. Hampir sama dengan instruksi menggunakan pengalamatan register. Beberapa mode tambahan, seperti pergeseran dan pe-relative dapat dimasukkan, selain itu lebih banyak mode kompleks dapat disintesis pada perangkat lunak dibanding yang sederhana. Di samping itu, fitur rancangan ini dapat menyederhanakan sel instruksi dan unit kontrol.

     o Format instruksi sederhana. Umumnya hanya sebuah format atau beberapa format saja yang digunakan. Panjang instruksinya tetap dan disamakan dengan word. Lokasi field, khususnya opcode, juga tetap. Fitur rancangan ini memiliki beberapa kelebihan. Dengan menggunakan field yang tetap, pendekodean

     opcode dan pengoperasian operand register dapat dilakukan secara bersamaan. Foramat yang sederhana akan memudahkan unit kontrol. Pengambilan instruksi akan dioptimalisasi karena satuan panjang word akan diambil. Hal ini juga berarti bahwa instruksi tunggal tidak akan melewati batas-batas page.

     Dengan menggabungkannya, karakteristik-karakteristik di atas dapat dievaluasi guna menentukan kelebihan yang penting dari pendekatan RISC. Kelebihan-kelebihan ini dapat digolongkan menjadi dua kategori utama, yaitu yang berkaitan dengan kinerja, dan yang berkaitan dengan implementasi VLSI.
Padahal yang berkaitan dengan kinerja, dapat ditunjukkan sejumlah ”circumstantial evidence.” Pertama, optimisasi kompiler yang lebih efektif dapat dikembangkan. Dengan memakai instruksi yang lebih primitif, terdapat kemungkinan untuk memindahkan fungsi-fungsi keluar loop, melakukan reorganisasi kode untuk keperluan efisiensi, memaksimalkan pemakaian register, dan lain-lain. Hal yang kedua, yang telah kita ketahui sebelumnya, adalah sebagian besar instruksi yang dihasilkan kompiler relatif sederhana. Maka kiranya beralasan apabila unit kontrol dibangun secara khusus bagi instruksi-instruksi tersebut dan pemakaian mikrokode yang sedikit atau tidak menggunakan mikrokode sama sekali akan dapat mengeksekusi instruksi-instruksi tersebut dengan lebih cepat dibandingkan dengan CISC yang setara. Hal yang ketiga berkaitan dengan penggunaan pipelining instruksi. Para peneliti RISC merasa bahwa teknik pipelining instruksi dapat diterapkan secara lebih efektif terhadap suatu redeced instuction set. Hal yang terakhir mungkin merupakan sesuatu yang kurang penting dibandingkan hal-hal lainnya, adalah program-program RISC harus lebih responsif terhadap interrupt. Arsitektur yang menggunakan instruksi kompleks membatasi interrupt sampai di batas-batas instruksi atau harus menentukan posisi tertentu yang dapat diinterupsi dan mengimplementasikan mekanisme untuk memulai lagi instruksi.

     Masalah kedua tentang kelebihan yang penting berkaitan dengan implementasi VLSI. Apabila VLSI digunakan, rancangan dan implementsi CPU akan sangat berubah. CPU tradisional (IBM S/370 dan VAX) terdiri dari sebuah atau lebih papan rangkaian (PCB) yang didasarkan pada standar paket SSI dan paket MSI. Dengan adanya perkembangan LSI dan VLSI, maka dimungkinkan untuk menaruh CPU keseluruhan pada keping chip tunggal. Pada CPU chip tunggal, terdapat dua alasan untuk mengikuti strategi RISC. Pertama, adanya masalah kinerja. On-chip delay umumnya lebih pendek daripada inter-chips delay. Dengan demikian cukup beralasan apabila mempertimbangkan pemakaian keping tersebut bagi aktivitas-aktivitas yang sering dilakukan. Kedua, waktu yang dibutuhkan untuk perancangan dan implementasi. Prosesor VLSI sukup sulit untuk dibuat. Sebagai pengganti bagian-bagian SSI/MSI yang tersedia, para perancang harus membuat rancangan rangkaian, tata letak, dan pemodelan pada tingkat perangkat. Dengan menggunakan arsitektur RISC, proses tersebut jauh lebih mudah. Selain itu, apabila kinerja keping RISC ekivalen dengan mikroprosesor CISC yang setara, maka keuntungan dengan memakai pendekatan RISC akan terasa sekali.



Daftar Pustaka :

http://irfrans1987.wordpress.com/2008/12/05/risc-cisc-pipelining/

http://www.d3elektro.undip.ac.id/index.php/info-full/16-prosesor-risc-perkembangan-dan-prospeknya.html

0 komentar:

Posting Komentar

SELAMAT DATANG

di Blog ku:
Bayu D'jokas

D'jokas

D'jokas
Bayu Anjani