Processor atau yang sering juga disebut dengan Central Processing Unit
(CPU) merupakan otak dari sebuah komputer. Semakin besar kecepatan suatu
processor, maka kecepatan pemrosesannya juga akan semakin cepat.
![]() |
RISC vs CISC |
Arsitektur processor terbagi dua, yaitu RIS dan CIS. Yang paling umum
digunakan adalah CIS, karena dari segi harga, CIS jauh lebih murah daripada
RIS. Namun, dari segi kinerja RIS jauh mengungguli CIS. Itulah yang menyebabkan
kenapa RIS harganya lebih mahal. Tipe processor CIS ini biasanya diproduksi
oleh perusahaan Intel dan AMD. Berikut ini adalah penjelasan mengenai perbedaan RISC dengan CISC yang saya rangkum dari berbagai sumber.
A.
Reduced Instruction Set Computing (RISC)
Definisi
Reduced
Instruction Set Computing (RISC)
merupakan bagian dari arsitektur mikroprosessor, berbentuk kecil dan berfungsi
untuk mengeset instruksi dalam komunikasi diantara arsitektur yang lainnya.
RISC juga dapat didefinisikan sebagai sebuah arsitektur komputer atau
arsitektur komputasi modern dengan instruksi-instruksi dan jenis eksekusi yang
paling sederhana.
RISC merupakan arsitektur instruction set yang
menekankan kepada kesederhanaan instruksi “bekerja sedikit” tetapi tetap
memberikan hasil performansi yang tinggi. Hal ini bisa terjadi karena proses
eksekusi instruksinya sangat cepat. Arsitektur RISC memiliki sedikit instruksi
banyak register.
Sejarah
Reduced Instruction Set Computing (RISC) pertama kali digagas oleh John Cocke, peneliti dari IBM di
Yorktown, New York pada tahun 1974 saat ia membuktikan bahwa sekitar 20%
instruksi pada sebuah prosesor ternyata menangani sekitar 80% dari keseluruhan
kerjanya. Komputer pertama yang menggunakan konsep RISC ini adalah IBM PC/XT
pada era 1980-an. Istilah RISC sendiri pertama kali dipopulerkan oleh David
Patterson, pengajar pada University of California di Berkely.
Karakteristik RISC
- One cycle execution time : satu putaran eksekusi. Prosessor RISC mempunyai CPI (clock per instruction) atau waktu per instruksi untuk setiap putaran. Hal ini dimaksud untuk mengoptimalkan setiap instruksi pada CPU.
- Pipelining adalah sebuah teknik yang memungkinkan dapat melakukan eksekusi secara simultan. Sehingga proses instruksi lebih efiisien
- Large number of registers : Jumlah register yang sangat banyak. RISC di Desain dimaksudkan untuk dapat menampung jumlah register yang sangat banyak untuk mengantisipasi agar tidak terjadi interaksi yang berlebih dengan memory.
Ciri-ciri
- Instruksi berukuran tunggal
- Ukuran yang umum adalah 4 byte
- Jumlah pengalamatan data sedikit,
- Tidak terdapat pengalamatan tak langsung
- Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmatika
- Tidak terdapat lebih dari satu operand beralamat memori per instruksi
- Tidak mendukung perataan sembarang bagi data untuk operasi load/ store.
- Jumlah maksimum pemakaian memori manajemen bagi suatu alamat data adalah sebuah instruksi.
Arsitektur ini digunakan pada komputer dengan
kinerja tinggi, seperti komputer vektor. Selain digunakan dalam komputer
vektor, desain ini juga diimplementasikan pada prosesor komputer lain, seperti
pada beberapa mikroprosesor Intel 960, Itanium (IA64) dari Intel Corporation,
Alpha AXP dari DEC, R4x00 dari MIPS Corporation, PowerPC dan Arsitektur POWER
dari International Business Machine.
Selain itu, RISC juga umum dipakai pada Advanced
RISC Machine (ARM) dan StrongARM (termasuk di antaranya adalah Intel XScale),
SPARC dan UltraSPARC dari Sun Microsystems, serta PA-RISC dari Hewlett-Packard.
Contoh mikroprosesor dengan artsitektur RISC adalah AMD 2900, MIPS R2000,
SUN ,SPARC, MC 8800, ATMET 90S1200, 90S2313, 90S2323, 90S2343, 90S4434,90S8515.
Pada saat ini pengaplikasian RISC yaitu pada CPU Apple.
B. Complex Instruction Set Computers (CISC)
Definisi
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 (load),
operasi aritmetika, dan penyimpanan ke dalam memory (store), 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 yang “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 (tahun 1960)
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.
Membandingkan arsitektur CISC dan
RISC
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). Perbandingannya
dapat kita lihat pada contoh berikut, yaitu perkalian dua bilangan dalam memori
dengan menggunakan pendekatan CISC dan RISC.
Perkalian Dua Bilangan dalam
Memori
Pada gambar diatas 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.
Nah, dari masalah diatas kita akan coba bandingkan bagaimana cara
penyelesaian perkalian tersebut dengan pendekatan RISC dan pendekatan CISC.
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 yang
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 tidak efisien. 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. Strategi pada RISC
memberikan beberapa kelebihan. Karena masing-masing instruksi hanya membutuhkan
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.
Perbedaan antara RISC dengan CISC
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 |
CISC dan RISC perbedaannya tidak signifikan jika hanya dilihat dari terminologi
set instruksinya yang kompleks atau tidak (reduced).
Lebih dari itu, RISC dan CISC berbeda dalam filosofi arsitekturnya.
Filosofi arsitektur CISC adalah memindahkan kerumitan software ke dalam hardware.
Teknologi pembuatan IC saat ini memungkinkan untuk menamam ribuan bahkan jutaan
transistor didalam satu dice. Bermacam-macam instruksi yang mendekati bahasa
pemrogram tingkat tinggi dapat dibuat dengan tujuan untuk memudahkan programmer
membuat programnya.
Beberapa prosesor CISC umumnya memiliki microcode berupa firmware internal
di dalam chip-nya yang berguna untuk menterjemahkan instruksi makro. Mekanisme
ini bisa memperlambat eksekusi instruksi, namun efektif untuk membuat
instruksi-instruksi yang kompleks. Untuk
aplikasi-aplikasi tertentu yang membutuhkan singlechipkomputer, prosesor CISC
bisa menjadi pilihan.
Sebaliknya, filosofi arsitektur RISC adalah arsitektur prosesor yang tidak
rumit dengan membatasi jumlah instruksi hanya pada instruksi dasar yang
diperlukan saja. Kerumitan membuat program dalam bahasa mesin diatasi dengan membuat
bahasa program tingkat tinggi dan compiler yang sesuai. Karena tidak rumit, teorinya
mikroprosesor RISC adalah mikroprosesor yang low-cost dalam arti yang sebenarnya. Namun demikian, kelebihan ruang
pada prosesor RISC dimanfaatkan untuk membuat sistem-sistem tambahan yang ada
pada prosesor modern saat ini.
Banyak prosesor RISC yang di dalamchip-nya dilengkapi dengan sistem superscalar,
pipelining, caches memory, register-register
dan sebagainya, yang tujuannya untuk membuat prosesor itu menjadi semakin
cepat.
Persamaan untuk kerja
(PEFORMANCE)
Persamaan berikut biasa digunakan
sebagai ukuran unjuk kerja suatu komputer :
Time/Program
= Time/Cycle x cycles/Instruction x instructions/Program
Pendekatan CISC bertujuan untuk meminimalkan jumlah instruksi per program, dengan
cara mengorbankan kecepatan eksekusi sekian siklus/detik. Sedangkan RISC
bertolak belakang, tujuannya mengurangi jumlah siklus/detik setiap instruksi
dibayar dengan bertambahnya jumlah instruksi per program.
Referensi :
Arsitektur Komputer RISC CISC.
http://elib.unikom.ac.id/files/disk1/390/jbptunikompp-gdl-sindrianil-19458-12-11-risc-c.pdf
Irwan Widyarsa Cah Galau. Perbedaan
Arsitektur CISC dan RISC. http://hatikugalau8.blogspot.com/2013/05/perbedaan-arsitektur-cisc-dan-risc.html
Malikatul Munandiroh.Perbedaan CISC
dan RISC.http://malica29.blogspot.com/2013/05/perbedaan-cisc-dan-risc.html
0 komentar:
Post a Comment