ARSITEKTUR
PROCESSOR
a) Sejarah Singkat
Sebelum proses RISC didesain untuk
pertama kalinya, banyak arsitek komputer mencoba menjembatani
celah semantik", yaitu bagaimana cara itil 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)
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 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.
1.
CISC
(Complex
Instruction-Set Computer)
Complex instruction-set computing atau Complex Instruction-Set Computer (CISC; "Kumpulan instruksi
komputasi kompleks") adalah sebuah arsitektur dari set instruksikomputer dimana setiap instruksi akan
menjalankan beberapa operasi tingkat rendah, seperti pengambilan dari memori, operasi aritmetika,
dan penyimpanan ke dalam memory, semuanya sekaligus hanya di dalam sebuah
instruksi. Karakteristik CISC dapat dikatakan bertolak-belakang dengan RISC.
Contoh-contoh Processor
Contoh-contoh prosesor CISC adalah : System/360, VAX, PDP-11,
varian Motorola 68000 , dan CPU AMD dan Intel x86.
CISC mempunyai karakteristrik :
1)
Instruksi
berukuran tunggal
2)
Ukuran
yang umum adalah 4 byte.
3)
Jumlah
mode pengalamatan data yang sedikit, biasanya kurang dari lima buah.
4)
Tidak
terdapat pengalamatan tak langsung.
5)
Tidak
terdapat operasi yang menggabungkan operasi load/store dengan operasi
aritmetika (misalnya, penambahan dari memori, penambahan ke memori).
2.
RISC (Reduce Instruction Set Computer)
RISC Reduced Instruction Set
Computingatau "Komputasi set instruksi yang disederhanakan. Merupakan
sebuah arsitektur komputer atau arsitektur komputasi modern dengan
instruksi-instruksi dan jenis eksekusi yang paling sederhana. Biasanya
digunakan pada komputer berkinerja tinggi seperti komputer vektor.
Bahasa pemprograman memungkinkan
programmer dapat mengekspresikan algoritma lebih singkat, lebih memperhatikan
rincian, dan mendukung penggunaan pemprograman terstruktur, tetapi ternyata
muncul masalah lain yaitu semantic gap, yaitu perbedaan antara operasi-operasi
yang disediakan oleh HLL dengan yang disediakan oleh arsitektur komputer, ini
ditandai dengan ketidakefisienan eksekusi, program mesin yang berukuran
besar,dan kompleksitas compiler.
Set-set instruksi yang kompleks
tersebut dimaksudkan untuk :
1)
Memudahkan
pekerjaan compiler
2) Meningkatkan
efisiensie ksekusi, karena operasi yang kompleks dapat diimplementasikan
didalam mikrokode.
3)
Memberikan
dukungan bagi HLL yang lebih kompleks dan canggih.
Karakteristik RISC
1)
One
cycle execution time : satu putaran eksekusi.
2)
Prosessor
RISC mempunyai CPI (clock per instruction) atau waktu per instruksi untuk
setiap putaran. Hal ini dimaksud untuk mengoptimalkan setiap instruksi pada
CPU.
3) Pipelining
adalah sebuah teknik yang memungkinkan dapat melakukan eksekusi secara
simultan. Sehingga proses instruksi lebih efiisien
4)
Large
number of registers: Jumlah register yang sangat banyak
5) RISC
didesain dimaksudkan untuk dapat menampung jumlah register yang sangat banyak
untuk mengantisipasi agar tidak terjadi interaksi yang berlebih dengan memory.
6) Rangkaian
instruksi built-in pada processor yang terdiri dari perintah-perintah yang
lebih ringkas dibandingkan dengan CISC.
7) RISC
memiliki keunggulan dalam hal kecepatannya sehingga banyak digunakan untuk
aplikasi-aplikasi yang memerlukan kalkulasi secara intensif.
b) Perbedaan RISC dan CISC
CISC
- Penekanan pada perangkat keras (hardware)
- Termasuk instruksi kompleks multi-clock
- Memori-ke-memori: “LOAD” dan “STORE” saling bekerjasama
- Ukuran kode kecil, kecepatan rendah
- Transistor digunakan untuk menyimpan instruksi-instruksi
kompleks
RISC
- Penekanan pada perangkat lunak (software)
- Single-clock, hanya sejumlah kecil instruksi
- Register ke register: “LOAD” dan “STORE” adalah instruksi -
instruksi terpisah
- Ukuran kode besar, kecepatan (relatif) tinggi
- Transistor banyak dipakai untuk register memori
Cara sederhana untuk
melihat kekurangan dan kelebihan dari CISC dan RISC adalah dengan
membandingkannya secara langsung. Pada tahap perbandingan ini dicoba dengan
menghitung perkalian dua bilangan dalam memori. 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 yang sudah disimpan kedalam salah satu dari 6 register (A,
B, C, D, Eatau F). Misalnya, kita akan melakukan perkalian (product) dua angka,
satu di simpan di lokasi 2:3 sedangkan lainnya di lokasi 5:2, kemudian hasil
perkalian tersebut dikembalikan lagi kelokasi 2:3.
Menggunakan
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 kedalam 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 kememori. 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
Menggunakan
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.
Sebuah prosesor CISC sudah
dilengkapi dengan sebuah instruksi khusus, yang diberi 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
Kesimpulan
CISC
Complex Instruction Set Computer sedangkan RISC merupakan kepanjangan dari
Reduced Instruction Set Computer. Chip RISC dibangun mulai pertengahan tahun
1980 sebagai pengganti chip CISC. Pada dasarnya karakteristik CISC yg
"sarat informasi" memberikan keuntungan di mana ukuran
program-program yang dihasilkan akan menjadi relatif lebih kecil, dan
penggunaan memory akan semakin berkurang. Hal inilah yang menyebabkan
komputer-komputer pada saat itu memiliki harga yang murah.
Filosofi
RISC berada dalam tidak satu pun chip yang menggunakan bahasa instruksi
assembly yang complex, seperti yang digunakan di CISC. Untuk itulah, instruksi
yang simple dan lebih cepat akan lebih baik daripada besar, complex dan lambat
seperti CISC. Keuntungan RISC lainnya karena adanya instruksi yang simple, maka
chip RISC hanya memiliki beberapa transistor, yang akan membuat RISC mudah
didesain dan murah untuk diproduksi untuk menulis compiler yang powerful. RISC
memberikan kemudahan di hardware, namun lebih kompleks di software.
b)
Kelebihan
dan Kekurangan RISC dan CISC
Teknologi RISC relatif masih
baru oleh karena itu tidak ada perdebatan
dalammenggunakan RISC ataupun CISC, karena tekhnologi terus
berkembang danarsitektur berada dalam sebuah spektrum, bukannya berada
dalam dua kategori yangjelas maka penilaian yang tegas akan
sangat kecil kemungkinan untuk terjadi.
Kelebihan
Berkaitan dengan penyederhanaan kompiler, dimana
tugas pembuat kompiler untuk menghasilkan rangkaian instruksi mesin bagi semua
pernyataan HLL. Instruksi mesin yang kompleks seringkali sulit
digunakan karena kompiler harus menemukan kasus-kasus yang sesuai
dengan konsepnya. Pekerjaan mengoptimalkan kode yang dihasilkan untuk
meminimalkan ukuran kode, mengurangi hitungan eksekusi instruksi, dan
meningkatkan pipelining jauh lebih mudah
apabila menggunakan RISC dibanding menggunakan CISC.
Arsitektur RISC yang mendasari
PowerPC memiliki kecenderungan lebih menekankan pada referensi register
dibanding referensi memori, dan referensi register memerlukan
bit yang lebih sedikit sehingga memiliki akses eksekusi instruksi
lebih cepat.
Kecenderungan operasi register ke register akan
lebih menyederhanakan set instruksi dan menyederhanakan unit kontrol serta
pengoptimasian register akan menyebabkan operand-operand yang sering
diakses akan tetap berada dipenyimpan berkecepatan tinggi.
Penggunaan mode pengalamatan dan format
instruksi yang lebih sederhana.
Kekurangan
Program yang dihasilkan dalam bahasa
simbolik akan lebih panjang (instruksinya lebih banyak).
Program berukuran lebih besar sehingga membutuhkan
memori yang lebih banyak, ini tentunya kurang menghemat sumber daya.
Program yang berukuran lebih besar akan
menyebabkan menurunnya kinerja, yaitu instruksi yang lebih banyak
artinya akan lebih banyak byte-byte instruksiyang harus diambil.