§ Sejarah
Reduced Instruction Set Computing (RISC) atau
“Komputasi set instruksi yang disederhanakan” 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.
§ Definisi
RISC, yang jika diterjemahkan berarti “Komputasi Kumpulan Instruksi yang
Disederhanakan”, merupakan sebuah arsitektur komputer atau arsitektur
komputasi modern dengan instruksi-instruksi dan jenis eksekusi yang paling
sederhana. 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.
Selain RISC, desain Central Processing Unit yang lain
adalah CISC (Complex Instruction Set Computing), yang jika
diterjemahkan ke dalam Bahasa Indonesia berarti Komputasi Kumpulan Instruksi
yang kompleks atau rumit.
§
Ciri-ciri
Prosesor RISC
Pertama, prosesor RISC mengeksekusi instruksi pada setiap satu siklus detak
(Robinson, 1987 : 144; Johnson, 1987 : 153). Hasil penelitihan IBM (International
Business Machine) menunjukkan bahwa frekuensi penggunaan instruksi-instruksi
kompleks hasil kompilasi sangat kecil dibanding dengan instruksi-instruksi
sederhana. Dengan perancangan yang baik instruksi sederhana dapat dibuat agar
bisa dieksekusi dalam satu siklus detak. Ini tidak berarti bahwa dengan
sendirinya prosesor RISC mengeksekusi program secara lebih cepat dibanding
prosesor CISC. Analogi sederhananya adalah bahwa kecepatan putar motor (putaran
per menit) yang makin tinggi pada kendaraan tidaklah berarti bahwa jarak
yang ditempuh kendaraan (meter per menit) tersebut menjadi lebih jauh,
karena jarak tempuh masih bergantung pada perbandingan roda gigi yang dipakai.
Kedua, instruksi pada prosesor RISC memiliki format-tetap, sehingga
rangkaian pengontrol instruksi menjadi lebih sederhana dan ini berarti
menghemat penggunaan luasan keping semikonduktor. Bila prosesor CISC (misalnya
Motorola 68000 atau Zilog Z8000) memanfaatkan 50% – 60% dari luas keping
semikonduktor untuk rangkaian pengontrolnya, prosesor RISC hanya memerlukan
6%-10%. Eksekusi instruksi menjadi lebih cepat karena rangkaian menjadi lebih
sederhana (Robinson, 1987 : 144; Jonhson 1987 : 153).
Ketiga, instruksi yang berhubungan dengan memori hanya instruksi isi (load)
dan instruksi simpan (store) , instruksi lain dilakukan dalam
register internal prosesor. Cara ini menyederhanakan mode pengalamatan (addressing)
dan memudahkan pengulangan kembali instruksi untuk kondisi-kondisi khusus
yang dikehendaki (Robinson, 1987 : 144; Jonhson, 1987: 153). Dengan ini pula
perancang lebih menitikberatkan implementasi lebih banyak register dalam cip
prosesor. Dalam prosesor RISC, 100 buah register atau lebih adalah hal yang
biasa. Manipulasi data yang terjadi pada register yang umumnya lebih cepat
daripada dalam memori menyebabkan prosesor RISC berpotensi beroperasi lebih cepat.
Keempat, prosesor RISC memerlukan waktu kompilasi yang lebih lama daripada
prosesor RISC. Karena sedikitnya pilihan instruksi dan mode pengalamatan yang
dimiliki prosesor RISC, maka diperlukan optimalisasi perancangan kompilator
agar mampu menyusun urutan instruksi-instruksi sederhana secara efisien dan
sesuai dengan bahasa pemrograman yang dipilih. Keterkaitan desain prosesor RISC
dengan bahasa pemrograman memungkinkan dirancangnya kompilator yang dioptimasi
untuk bahasa target tersebut.
§ Fase Awal Perkembangan Prosesor RISC
Ide Dasar
Ide dasar prosesor
RISC sebenarnya bisa dilacak dari apa yang disarankan oleh Von Neumann pada
tahun 1946. Von Neumann menyarankan agar rangkaian elektronik untuk konsep
logika diimplementasikan hanya bila memang diperlukan untuk melengkapi sistem
agar berfungsi atau karena frekuensi penggunaannya cukup tinggi (Heudin, 1992 :
18). Jadi ide tentang RISC, yang pada dasarnya adalah untuk menyederhanakan
realisasi perangkat keras prosesor dengan melimpahkan sebagian besar tugas
kepada perangkat lunaknya, telah ada pada komputer elektronik pertama. Seperti
halnya prosesor RISC, komputer elektronik pertama merupakan komputer
eksekusi-langsung yang memiliki instruksi sederhana dan mudah didekode.
Hal yang sama
dipercayai juga oleh Seymour Cray, spesialis pembuat superkomputer. Pada tahun
1975, berdasarkan kajian yang dilakukannya, Seymour Cray menyimpulkan bahwa
penggunaan register sebagai tempat manipulasi data menyebabkan rancangan
instruksi menjadi sangat sederhana. Ketika itu perancang prosesor lain lebih
banyak membuat instruksi-instruksi yang merujuk ke memori daripada ke register
seperti rancangan Seymour Cray. Sampai akhir tahun 1980-an komputer-komputer
rancangan Seymour Cray, dalam bentuk superkomputer seri Cray, merupakan
komputer-komputer dengan kinerja sangat tinggi.
Pada tahun 1975,
kelompok peneliti di IBM di bawah pimpinan George Radin, memulai merancang
komputer berdasar konsep John Cocke. Berdasarkan saran John Cocke, setelah
meneliti frekuensi pemanfaatan instruksi hasil kompilasi suatu program, untuk
memperoleh prosesor berkinerja tinggi tidak perlu diimplementasikan instruksi
kompleks ke dalam prosesor bila instruksi tersebut dapat dibuat dari
instruksi-instruksi sederhana yang telah dimilikinya. Kelompok IBM ini
menghasilkan komputer 801 yang menggunakan instruksi format-tetap dan dapat
dieksekusi dalam satu siklus detak (Robinson, 1987 : 143). Komputer 801 yang
dibuat dengan teknologi ECL (emitter-coupled logic) , 32 buah register, chace
terpisah untuk memori dan instruksi ini diselesaikan pada tahun 1979.
Karena sifatnya yang eksperimental, komputer ini tidak dijual di pasaran.
Prosesor RISC Berkeley
Kelompok David
Patterson dari Universitas California memulai proyek RISC pada tahun 1980
dengan tujuan menghindari kecenderungan perancangan prosesor yang perangkat
instruksinya semakin kompleks sehingga memerlukan perancangan rangkaian kontrol
yang semakin rumit dari waktu ke waktu. Hipotesis yang diajukan adalah bahwa
implementasi instruksi yang kompleks ke dalam perangkat instruksi prosesor
justru berdampak negatif pemakaian instruksi tersebut dalam kebanyakan program
hasil komplikasi (Heudin, 1992 : 22). Apalagi, instruksi kompleks itu pada
dasarnya dapat disusun dari instruksi-instruksi sederhana yang telah dimiliki.
Rancangan prosesor
RISC-1 ditujukan untuk mendukung bahasa C, yang dipilih karena popularitasnya
dan banyaknya pengguna. Realisasi rancangan diselesaikan oleh kelompok
Patterson dalam waktu 6 bulan. Fabrikasi dilakukan oleh MOVIS dan XEROX dengan
menggunakan teknologi silikon NMOS (N-channel Metal-oxide Semiconductor) 2
mikron. Hasilnya adalah sebuah cip rangkaian terpadu dengan 44.500 buah
transistor (Heudin, 1992 : 230). Cip RISC-1 selesai dibuat pada musim panas
dengan kecepatan eksekusi 2 mikrosekon per instruksi (pada frekuensi detak 1,5
MHz), 4 kali lebih lambat dari kecepatan yang ditargetkan. Tidak tercapainya
target itu disebabkan terjadinya sedikit kesalahan perancangan, meskipun
kemudian dapat diatasi dengan memodifikasi rancangan assemblernya.
Berdasarkan hasil
evaluasi, meskipun hanya bekerja pada frekuensi detak 1,5 MHz dan mengandung
kesalahan perancangan, RISC-1 terbukti mampu mengeksekusi program bahasa C
lebih cepat dari beberapa prosesor CISC, yakni MC68000, Z8002, VAX-11/780, dan
PDP-11/70.
Hampir bersamaan
dengan proses fabrikasi RISC-1, tim Berkeley lain mulai bekerja untuk merancang
RISC-2. Cip yang dihasilkan tidak lagi mengandung kesalahan sehingga mencapai
kecepatan operasi yang ditargetkan, 330 nanosekon tiap instruksi (Heudin, 1992
: 27-28).
Prosesor RISC Stanford
Sementara proyek
RISC-1 dan RISC-2 dilakukan kelompok Patterson di Universitas California, pada
tahun 1981 itu juga John Hennessy dari Universitas Stanford mengerjakan proyek
MIPS (Microprocessor without Interlocked Pipeline Stages) .
Pengalaman riset tentang optimasi kompilator digabungkan dengan teknologi
perangkat keras RISC merupakan kunci utama proyek MIPS ini. Tujuan utamanya
adalah menghasilkan cip mikroprosesor serbaguna 32-bit yang dirancang untuk
mengeksekusi secara efisien kode-kode hasil kompilasi (Heudin, 1992: 34).
§
Arah
Perkembangan Prosesor RISC
Kebanyakan riset
tentang prosesor RISC ditujukan untuk memperbaiki kinerja sistem komputer
secara keseluruhan. Analisis yang mendalam menunjukkan bahwa ada dua arah perkembangan
penting prosesor RISC yaitu upaya ke arah pemanfaatan teknologi proses yang
mampu menghasilkan prosesor cepat, misalnya teknologi bipolar ECL (emitter-coupled
logic) serta pemanfaatan bahan semikonduktor GaAs (galium arsenida). Arah
lain adalah upaya untuk merancang arsitektur multiprosesor dan mengintegrasikan
unit-unit fungsional pendukung pemrosesan paralel dalam satu cip.
§ Contoh
Prosesor dengan Arsitektur RISC
1.Intel Itanium
Intel Itanium adalah
sebuah prosesor 64-bit yang
dikembangkan oleh Intel dan Hewlett-Packard, yang menggunakan arsitektur IA-64 (Intel Architecture 64-bit). Pada saat
dikembangkan, prosesor ini diberi nama kode prosesor Merced, dan dirilis
pada tanggal 29 Mei 2001. Prosesor ini ditujukan untuk pasar high-end server yang membutuhkan kinerja tinggi dan bersifat mission-critical.
Prosesor Itanium
melakukan pengumpulan terhadap instruksi-instruksi yang hendak dieksekusi. Tiga
instruksi 41-bit akan dikelompokkan menjadi 1 buah instruksi 128-bit dan 5-bit
tambahan yang disebut dengan template yang menentukan informasi (yang
dibuat oleh kompiler bahasa pemrograman) tentang bagaimana instruksi-instruksi tersebut dapat dieksekusi secara
paralel. Pengelompokan ini, dinamakan dengan instruction bundling
(pembundelan instruksi). Informasi dalam template digunakan oleh prosesor untuk
menjadwalkan eksekusi instruksi secara paralel pada unit FMAC untuk menjalankan
operasi superskalar. Fitur seperti ini disebut dengan Explicitly Parallel
Instruction Computing (EPIC) yang dapat dianggp sebagai perluasan terhadap
konsep desain instruksi Very Long Instruction Word (VLIW). Dalam arsitektur
instruksi VLIW, setiap instruksi menetapkan sejumlah operasi yang berbeda yang
dapat diterapkan secara paralel terhadap setiap operand yang bersifat mandiri.
Nama Prosesor
|
Intel Itanium
|
|
|
Merced
|
Kisaran kecepatan
|
733 MHz,
800 MHz
|
Proses manufaktur
|
180 nanometer
|
Cache Level-1
|
32
Kilobyte (16 KB data cache ditambah 16 KB instruction cache yang mampu
mengirimkan dua instruction bundle [256-bit] tiap siklus)
|
Jenis Cache Level-1
|
Set Associative, 4-way, dengan ukuran blok 32 byte
|
Cache Level-2
|
96
Kilobyte, on die, yang berjalan pada kecepatan penuh
|
Jenis Cache Level-2
|
Set Associative, 6-way, dengan ukuran blok 64 byte
|
Cache Level-3
|
2048 KB
atau 4096 KB on-cartridge, yang berjalan pada kecepatan penuh
|
Jenis cache Level-3
|
Set Associative, 4-way. Berkomunikasi dengan cache level-2 dengan lebar bandwidth
128-bit, sehingga menghasilkan throughput maksimal 12,8 Gigabyte/s.
|
Kecepatan Front Side Bus
|
266 MHz
|
|
|
64 bit
|
Maksimum bandwidth memori
|
2128
MByte/s
|
Jumlah transistor
|
25 juta (inti prosesor), ditambah 150 juta transistor (untuk 2048 KB
cache Level-3) atau 300 juta (untuk 4096 KB cache Level-3)
|
Jenis Package prosesor
|
Cartridge
(sama seperti Pentium II/III), yang
dinamakan dengan Pin Array Cartridge (PAC). Cartridge yang digunakan mencakup
cache Level-3.
|
Intekoneksi ke motherboard
|
Socket 418 pin (bukan slot, seperti Pentium II/III).
|
Berat package prosesor
|
kira-kira
170 gram
|