Tugas AOK
Nama : Siswadi
Nim : Sia201046
Perbedaan antara RISC dengan CISC
Nama : Siswadi
Nim : Sia201046
Tipe
Processor
1.
RISC ( Reduced Instruction Set Computer )
– CPU
Apple
2.
CISC ( Complex Instruction Set Computer )
– AMD
CPU dan Intel
RISC
singkatan dari Reduced Instruction Set Computer. Merupakan bagian
dari arsitektur mikroprosessor, berbentuk kecil dan berfungsi untuk
negeset istruksi dalam komunikasi diantara arsitektur yang lainnya.
Sejarah
RISC
Proyek
RISC pertama dibuat oleh IBM, stanford dan UC –Berkeley pada akhir
tahun 70 dan awal tahun 80an. IBM 801, Stanford MIPS, dan Barkeley
RISC 1 dan 2 dibuat dengan konsep yang sama sehingga dikenal sebagai
RISC. RISC mempunyai karakteristik :
• 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.
Disingkat
dengan CISC. Rangkaian instruksi built-in pada processor yang terdiri
dari perintah-perintah yang kompleks. Instruksi-instruksi yang
tersedia memudahkan para programmer untuk mengembangkan aplikasi
untuk plattform CISC. Di lain pihak, banyaknya instruksi dalam CISC
dapat mengurangi kecepatannya. Chip Intel x86 merupakan chip dari
jenis CISC karena ia menggunakan set instruksi kompleks.
CISC
merupakan kebalikan dari RISC, biasanya digunakan pada keluarga
processor untuk PC (AMD, Cyrix). Para pesaing Intel seperti Cyrix dan
AMD juga telah menggunakan chip RISC tetapi ia telah dilengkapi
dengan penukar (converter) CISC.
Di
sini chip jenis RISC akan membahagikan operasi besar kepada beberapa
operasi yang lebih mudah sehingga terdapat perintah-perintah kecil
yang mampu memproses dengan cepat.
Para
perancang mikroprosesor mencari kinerja lebih bagus di dalam
keterbatasan teknologi kontemporer. Pada tahun 1970-an misalnya,
memori diukur dengan kilobyte dan sangat mahal saat itu. CISC
merupakan pendekatan dominan karena menghemat memori.
Pada
arsitektur CISC seperti Intel x86, yang diperkenalkan pada tahun
1978, bisa terdapat ratusan instruksi program – perintah-perintah
sederhana yang menyuruh sistem menambah angka, menyimpan nilai dan
menampilkan hasilnya. Bila semua instruksi panjangnya sama, instruksi
sederhana akan memboroskan memori. Instruksi sederhana membutuhkan
ruang penyimpanan 8 bit, sementara instruksi yang paling kompleks
mengkonsumsi sebanyak 120 bit.
Walaupun
instruksi dengan panjang bervariasi lebih sulit diproses oleh chip,
instruksi CISC yang lebih panjang akan lebih kompleks. Bagaimanapun,
untuk memelihara kompatibilitas software, chip x86 seperti Intel
Pentium III dan AMD Athlon harus bekerja dengan instruksi CISC yang
dirancang pada tahun 1980-an, walaupun keuntungan awalnya yaitu
menghemat memori tidaklah penting sekarang.
Kelebihan
dan kekurangan dari dua arsitektur tersebut sering menjadi
perdebatatan diantara para ahli. Namun demikian teknologi terkini
menggunakan arsitektur RISC ini.
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 |
Sudah
sering kita mendengar debat yang cukup menarik antara komputer
personal IBM dan kompatibelnya yang berlabel Intel Inside dengan
komputer Apple yang berlabel PowerPC. Perbedaan utama antara kedua
komputer itu ada pada tipe prosesor yang digunakannya. Prosesor
PowerPC dari Motorola yang menjadi otak utama komputer Apple
Macintosh dipercaya sebagai prosesor RISC, sedangkan Pentium buatan
Intel diyakini sebagai prosesor CISC. Kenyataannya komputer personal
yang berbasis Intel Pentium saat ini adalah komputer personal yang
paling banyak populasinya. Tetapi tidak bisa pungkiri juga bahwa
komputer yang berbasis RISC seperti Macintosh, SUN adalah komputer
yang handal dengan sistem pipelining, superscalar, operasi floating
point dan sebagainya.
Apakah
memang RISC lebih lebih baik dari CISC atau sebaliknya. Tetapi
tahukah kita dimana sebenarnya letak perbedaan itu. Apakah prosesor
dengan instruksi yang lebih sedikit akan lebih baik dari prosesor
yang instruksinya kompleks dan lengkap. Apakah memang perbedaan
prosesor itu hanya dari banyak atau tidaknya instruksi saja. Bukankah
jumlah instruksi tidak berhubungan dengan ke-handal-an suatu
prosesor. Pertanyaan-pertanyaan ini yang hendak dijawab melalui
tulisan berikut. Namun supaya lebih dekat dengan elektronika praktis,
ElectronicLab akan lebih fokus pada mikrokontroler low-cost yang
berbasis RISC dan CISC. Sebagai contoh dari mikrokontroler CISC
adalah 68HC11 buatan Motorola dan 80C51 dari Intel. Kita juga
mengenal keluarga PIC12/16CXX dari Microchip dan COP8 buatan National
Semiconductor sebagai mikrokontroler yang berbasis RISC.
CISC
adalah singkatan dari Complex Intruction Set Computer dimana prosesor
tersebut memiliki set instruksi yang kompleks dan lengkap. Sedangkan
RISC adalah singkatan dari Reduced Instruction Set Computer yang
artinya prosesor tersebut memiliki set instruksi program yang lebih
sedikit. Karena perbedaan keduanya ada pada kata set instruksi yang
kompleks atau sederhana (reduced), maka mari kita bahas sedikit
tentang intruksi itu sendiri.
Sistem
mikrokontroler selalu terdiri dari perangkat keras (hardware) dan
perangkat lunak (software). Perangkat lunak ini merupakan deretan
perintah atau instruksi yang dijalankan oleh prosesor secara
sekuensial. Instruksi itu sendiri sebenarnya adalah bit-bit logik 1
atau 0 (biner) yang ada di memori program. Angka-angka biner ini jika
lebarnya 8 bit disebut byte dan jika 16 bit disebut word. Deretan
logik biner inilah yang dibaca oleh prosesor sebagai perintah atau
instruksi. Supaya lebih singkat, angka biner itu biasanya
direpresentasikan dengan bilangan hexa (HEX). Tetapi bagi manusia,
menulis program dengan angka biner atau hexa sungguh merepotkan.
Sehingga dibuatlah bahasa assembler yang direpresentasikan dengan
penyingkatan kata-kata yang cukup dimengerti oleh manusia.
Bahasa
assembler ini biasanya diambil dari bahasa Inggris dan presentasinya
itu disebut dengan Mnemonic. Masing-masing pabrik mikroprosesor
melengkapi chip buatannya dengan set instruksi yang akan dipakai
untuk membuat program.
Biner
Hexa Mnemonic
10110110
B6 LDAA …
10010111
97 STAA …
01001010
4A DECA …
10001010
8A ORAA …
00100110
26 BNE …
00000001
01 NOP…
01111110
7E JMP …
Sebagian
set instruksi 68HC11
Pada
awalnya, instruksi yang tersedia amat sederhana dan sedikit. Kemudian
desainer mikroprosesor berlomba-lomba untuk melengkapi set instruksi
itu selengkap-lengkapnya. Jumlah instruksi itu berkembang seiring
dengan perkembangan desain mikroprosesor yang semakin lengkap dengan
mode pengalamatan yang bermacam-macam. Mikroprosesor lalu memiliki
banyak instruksi manipulasi bit dan seterusnya dilengkapi dengan
instruksi-instruksi aritmatik seperti penjumlahan, pengurangan,
perkalian dan pembagian. Seperti contohnya 68HC11 banyak sekali
memiliki set instruksi untuk percabangan seperti BNE, BLO, BLS, BMI,
BRCLR, BRSET dan sebagainya.
Perancang
mikroprosesor juga memperkaya ragam instruksi tersebut dengan membuat
satu instruksi tunggal untuk program yang biasanya dijalankan dengan
beberapa intruksi. Misalnya pada 80C51 untuk contoh program berikut
ini.
LABEL
…
…
DEC
R0
MOV
A,R0
JNZ
LABEL
Program
‘decrement’ 80C51
Program
ini adalah program pengulangan yang mengurangi isi register R0 sampai
register R0 menjadi kosong (nol). Intel menambah set instruksinya
dengan membuat satu instruksi khusus untuk keperluan seperti ini :
LABEL
….
DJNZ
R0,LABEL
Instruksi
‘decrement jump not zero’ 80C51
Kedua
contoh program ini hasilnya tidak berbeda. Namun demikian, instruksi
kompleks seperti DJNZ mempermudah pembuat program. Set instruksi yang
lengkap diharapkan akan semakin membuat pengguna mikroprosesor
leluasa menulis program dalam bahasa assembler yang mendekati bahasa
pemrograman level tinggi. Intel 80C51 yang dikembangkan dari basis
prosesor 8048 dirilis pada tahun 1976 memiliki tidak kurang dari 111
instruksi. Tidak ketinggalan, 68HC11 dari Motorola yang populer di
tahun 1984 dilengkapi dengan 145 instruksi. Karena banyak dan
kompleksnya instruksi yang dimiliki 68HC11 dan 80C51, kedua contoh
mikrokontroler ini disebut sebagai prosesor CISC.
Debat
CISC versus RISC dimulai ketika pada tahun 1974 IBM mengembangkan
prosesor 801 RISC. Argumen yang dipakai waktu itu adalah mengapa
diperlukan instruksi yang kompleks. Sebab pada prinsipnya, instruksi
yang kompleks bisa dikerjakan oleh instruksi-instruksi yang lebih
sederhana dan kecil. Ketika itu penggunaan bahasa tingkat tinggi
seperti Fortran dan kompiler lain (compiler/interpreter) mulai
berkembang. Apalagi saat ini compiler seperti C/C++ sudah lazim
digunakan. Sehingga sebenarnya tidaklah diperlukan instruksi yang
kompleks di tingkat prosesor. Kompiler yang akan bekerja
men-terjemahkan program dari bahasa tingkat tinggi menjadi bahasa
mesin.
Untuk
melihat bagaimana perbedaan instruksi RISC dan CISC, mari kita lihat
bagaimana keduanya melakukan perkalian misalnya c = a x b.
Mikrokontroler 68HC11 melakukannya dengan program sebagai berikut :
LDAA
#$5
LDAB
#$10
MUL
Program
5×10 dengan 68HC11
Cukup
tiga baris saja dan setelah ini accumulator D pada 68HC11 akan berisi
hasil perkalian dari accumulator A dan B, yakni 5 x 10 = 50. Program
yang sama dengan PIC16CXX, adalah seperti berikut ini.
MOVLW
0×10
MOVWF
Reg1
MOVLW
0×05
MOVWF
Reg2
CLRW
LOOP
ADDWF Reg1,0
CFSZ
Reg2,1
GOTO
LOOP
…
…
Program
5×10 dengan PIC16CXX
Prosesor
PIC16CXX yang RISC ini, tidak memiliki instruksi perkalian yang
khusus. Tetapi perkalian 5×10 itu sama saja dengan penjumlahan nilai
10 sebanyak 5 kali. Kelihatannya membuat program assembly dengan
prosesor RISC menjadi lebih kompleks dibandingkan dengan prosesor
CISC. Tetapi perlu diingat, untuk membuat instruksi yang kompleks
seperti instruksi MUL dan instruksi lain yang rumit pada prosesor
CISC, diperlukan hardware yang kompleks juga. Dibutuhkan ribuan
gerbang logik (logic gates) transistor untuk membuat prosesor yang
demikian. Instruksi yang kompleks juga membutuhkan jumlah siklus
mesin (machine cycle) yang lebih panjang untuk dapat menyelesaikan
eksekusinya. Instruksi perkalian MUL pada 68HC11 memerlukan 10 siklus
mesin dan instruksi pembagiannya memerlukan 41 siklus mesin.
Pendukung
RISC berkesimpulan, bahwa prosesor yang tidak rumit akan semakin
cepat dan handal. Hampir semua instruksi prosesor RISC adalah
instruksi dasar (belum tentu sederhana), sehingga instruksi-instruksi
ini umumnya hanya memerlukan 1 siklus mesin untuk menjalankannya.
Kecuali instruksi percabangan yang membutuhkan 2 siklus mesin. RISC
biasanya dibuat dengan arsitektur Harvard, karena arsitektur ini yang
memungkinkan untuk membuat eksekusi instruksi selesai dikerjakan
dalam satu atau dua siklus mesin.
Sebagai
perbandingan jumlah instruksi pada prosesor RISC, COP8 hanya
dilengkapi dengan 58 instruksi dan PIC12/16CXX hanya memiliki 33
instruksi saja. Untuk merealisasikan instruksi dasar yang jumlah
tidak banyak ini, mikroprosesor RISC tidak memerlukan gerbang logik
yang banyak. Karena itu dimensi dice IC dan konsumsi daya prosesor
RISC umumnya lebih kecil dibanding prosesor CISC. Bukan karena
kebetulan, keluarga mikrokontroler PICXX banyak yang dirilis ke pasar
dengan ukuran mini. Misalnya PIC12C508 adalah mikrokontroler DIP 8
pin.
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 di dalam 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 singlechip komputer,
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 dalam chip-nya dilengkapi dengan
sistem superscalar, pipelining, caches memory, register-register dan
sebagainya, yang tujuannya untuk membuat prosesor itu menjadi semakin
cepat.
No comments:
Post a Comment