RISC singkatan dari Reduced Instruction Set Computer. Merupakan bagian dari arsitektur mikroprosessor, berbentuk kecil dan berfungsi untuk mengeset instruksi dalam komunikasi diantara arsitektur yang lainnya. Proyek RISC pertama dibuat oleh IBM, stanford dan UC-Berkeley pada akhir tahun 70 dan awal tahun 80an. IBM 801, Stanford MIPS, dan Berkeley RISC 1 dan 2 dibuat dengan konsep yang sama sehingga dikenal sebagai RISC.
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.
Perbedaan mencolok pada kedua arsitektur ini dapat dilihat pada model instruksi yang diterapkan. Semua jenis prosesor CISC memiliki panjang instruksi yang berbeda-beda, mulai dari 1 byte hingga lebih dari ukuran word prosesor 32-bit (4 byte). Sementara itu, prosesor RISC memiliki panjang instruksi yang selalu seragam. Biasanya mengikuti ukuran word size prosesor itu sendiri. Misalnya MIPS 32, memiliki instruksi berukuran 4 byte.
Karena keterbatasan RISC, arsitektur ini cenderung memiliki instruksi lebih sedikit dan sederhana. Panjang instruksi yang pendek tidak memungkinkan penggunaan operand dalam jenis immediate yang lengkap. Misalnya MIPS hanya dapat membaca operand immediate 16-bit. Ini karena 16-bit dari kode instruksi harus digunakan untuk menyimpan format dan konfiigurasi kerja instruksi.
Contohnya adalah pada kedua instruksi berikut.
Intel
mov eax,0x12345678
MIPS
lui $t2, 0x1234
ori $t2, $t2, 0x5678
Selain itu, arsitektur RISC tidak dapat mengakses memori secara langsung dari memori. Kesederhanaan RISC juga mengharuskan setiap instruksi selalu memakan waktu 1 CPU clock cycle saja.
Sebuah instruksi paling tidak harus melalui tahapan berikut:
1. Fetch : Kode instruksi dibaca dari memori
2. Decode : Penerjemahan instruksi
3. Execute : Eksekusi instruksi
4. Load/store : membaca/menulis data dari memori
Untuk menjaga agar setiap instruksi tidak memakan lebih dari sebuah cycle, maka setiap instruksi tidak akan mengerjakan tugas lebih dari 4 fase tersebut. Sebagai imbasnya, instruksi RISC cenderung lebih panjang dibanding instruksi CISC; untuk menyelesaikan pekerjaan yang sama.
Intel
mov eax,[0x00FF0123]
MIPS
lui $t2, 0x00FF
ori $t2, $t2, 0x0123
lw $t1,0($t1)
Intel
add [0xFACC1234],ebx
MIPS
lui $1,0xFACC
ori $t1,$t1,0x1234
lw $t3,0($t1)
addu $t2, $t2, $t3
sw $t2,0($t1)
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. Saat dijalankan, instruksi akan membaca dua nilai dan menyimpannya ke 2 register yang berbeda, melakukan perkalian operan di unit eksekusi dan kemudian mengambalikan lagi hasilnya ke register yang benar. Jadi instruksi-nya cukup satu saja.
Satu kelebihan dari sistem CISC ini adalah kompiler 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.
Meski demikian, bukan berarti desain RISC tidak lebih baik dari CISC. Desain RISC memungkinkan proses pipelining jauh lebih mudah, karena semua instruksi memiliki jumlah fase dan waktu eksekusi yang sama. Selain itu, RISC juga memiliki desain lebih sederhana, sehingga meminimalkan biaya produksi dan waktu improvisasi.
Sumber
0 comments