Thursday, 28 September 2017

RISC (Reduced Instruction Set Computer)

Arsitektur RISC

RISC 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). RISC lahir pada pertengahan 1980, kelahirannya ini dilator belakangi untuk CISC. Perbedaan mencolok dari kelahiran RISC ini adalah tidak ditemui pada dirinya instruksi assembly atau yang dikenal dengan bahasa mesin sedangkan itu banyak sekali di jumpai di CISC.


Sejarah RISC
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 Berkeley.

Definisi RISC
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 DECR4x00 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.


Ciri-ciri Prosesor RISC
Sebenarnya, prosesor RISC tidak sekedar memiliki instruksi-instruksi yang sedikit dan sederhana seperti namanya tetapi juga mencakup banyak ciri-ciri lain yang tidak semuanya disepakati oleh kalangan perancang sendiri. Meskipun demikian, banyak yang telah bersepakat bahwa prosesor memiliki ciri-ciri tertentu untuk membedakannya dengan prosesor bukan 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.
*      Kesimpulan umum dari cirri-ciri RISC adalah sebagai berikut :
o   Instruksi berukuran tunggal
o   Ukuran yang umum adalah 4 byte
o   Jumlah pengalamatan data sedikit, biasanya kurang dari 5 buah.
o   Tidak terdapat pengalamatan tak langsung yang mengharuskan melakukan sebuah akses memori agar memperoleh alamat operand lainnya dalam memori.
o   Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmatika, seperti penambahan ke memori dan penambahan dari memori.
o   Tidak terdapat lebih dari satu operand beralamat memori per instruksi
o   Tidak mendukung perataan sembarang bagi data untuk operasi load/ store.
o   Jumlah maksimum pemakaian memori manajemen bagi suatu alamat data adalah sebuah instruksi .
o   Jumlah bit bagi integer register spesifier sama dengan 5 atau lebih, artinya sedikitnya 32 buah register integer dapat direferensikan sekaligus secara eksplisit.
o   Jumlah bit floating point register spesifier sama dengan 4 atau lebih, artinya sedikitnya 16 register floating point dapat direferensikan sekaligus secara eksplisit.

Karakteristik RISC
Arsitektur RISC memiliki beberapa karakteristik diantaranya :
o   Siklus mesin ditentukan oleh waktu yang digunakan untuk mengambil dua buah operand dari register, melakukan operasi ALU, dan menyimpan hasil operasinya kedalam register, dengan demikian instruksi mesin RISC tidak boleh lebih kompleks dan harus dapat mengeksekusi secepat mikroinstruksi pada mesin-mesin CISC. Dengan menggunakan instruksi sederhana atau instruksi satu siklus hanya dibutuhkan satu mikrokode atau tidak sama sekali, instruksi mesin dapat dihardwired. Instruksi seperti itu akan dieksekusi lebih cepat dibanding yang sejenis pada yang lain karena tidak perlu mengakses penyimapanan kontrol mikroprogram saat eksekusi instruksi berlangsung.
o   Operasi berbentuk dari register-ke register yang hanya terdiri dari operasi load dan store yang mengakses memori . Fitur rancangan ini menyederhanakan set instruksi sehingga menyederhanakan pula unit control. Keuntungan lainnya memungkinkan optimasi pemakaian register sehingga operand yang sering diakses akan tetap ada di penyimpan berkecepatan tinggi. Penekanan pada operasi register ke register merupakan hal yang unik bagi perancangan RISC.
o   Penggunaan mode pengalamatan sederhana, hampir sama dengan instruksi menggunakan pengalamatan register,. Beberapa mode tambahan seperti pergeseran dan pe-relatif dapat dimasukkan selain itu banyak mode kompleks dapat disintesis pada perangkat lunak dibanding yang sederhana, selain dapat menyederhanakan sel instruksi dan unit kontrol.
o   Penggunaan format-format instruksi sederhana, panjang instruksinya tetap dan disesuaikan dengan panjang word. Fitur ini memiliki beberapa kelebihan karena dengan menggunakan field yang tetap pendekodean opcode dan  pengaksesan operand register dapat dilakukan secara bersama-sama

Fase Awal Perkembangan Prosesor RISC
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.
Turunan Processor Risc Berkeley

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).
RISC-2 hanya memerlukan luas cip 25% dari yang dibutuhkan RISC-1 dengan 75% lebih banyak register. Meskipun perangkat instruksi yang ditanamkan sama dengan perangkat instruksi yang dimiliki RISC-1, tetapi di antara keduanya terdapat perbedaan mikroarsitektur perangkat kerasnya. RISC-2 memiliki 138 buah register yang disusun sebagai 8 jendela register, dibandingkan dengan 78 buah register yang disusun sebagai 6 jendela register. Selain itu, juga terdapat perbedaan dalam hal organisasi alur-pipa (pipeline) . RISC-1 memiliki alur-pipa dua tingkat sederhana dengan penjeputan (fetch) dan eksekusi instruksi yang dibuat tumpang-tindih, sedangkan RISC-2 memiliki 3 buah alur-pipa yang masing-masing untuk penjemputan instruksi, pembacaan operan dan eksekusinya, dan penulisan kembali hasilnya ke dalam register.
Sukses kedua proyek memacu tim Berkeley untuk mengerjakan proyek SOAR (Smalltalk on RISC) yang dimulai pada tahun 1983. Tujuan proyek ini adalah untuk menjawab pertanyaan apakah arsitektur RISC bekerja baik dengan bahasa pemrograman Smalltalk? Jadi proyek SOAR ini merupakan upaya pertama menggunakan pendekatan RISC untuk pemrosesan simbolik.

Versi pertama mikroprosesor SOAR diimplementasikan dengan menggunakan teknologi NMOS 4 mikron. Cip yang dihasilkan memiliki 35.700 buah transistor dan bekerja dengan kecepatan 300 nanosekon tiap instruksi. Versi kedua yang dirancang pada 1984-1985 menggunakan teknologi CMOS (Complementary Metal-oxide Semiconductor). Beberapa prosesor berarsitektur RISC banyak yang dipengaruhi oleh rancangan mikroprosesor SOAR, misalnya mikroprosesor SPARC (dari Sun Microsystems Inc.) dan KIM20 yang dirancang Departemen Pertahanan Perancis.
Mikroprosesor SPARC

Mengikuti proyek SOAR, kelompok Berkeley kemudian mengerjakan proyek SPUR (Symbolic Processing Using RISC) yang dimulai tahun 1985. Proyek SPUR bertujuan untuk merancang stasiun-kerja(workstation) multiprosesor sebagai bagian dari riset tentang pemrosesan paralel (Robinson, 1987 : 145). Selain itu, proyek SPUR juga melakukan penelitian tentang rangkaian terpadu, arsitektur komputer, sistem operasi, dan bahasa pemrograman. Sistem prosesor SPUR dibangun dengan 6-12 prosesor berkinerja tinggi yang dihubungkan satu sama lain, serta dihubungkan dengan memori dan peranti masukan/keluaran melalui Nubus yang telah dimodifikasi. Unjuk kerja sistem diperbaiki dengan menambahkan chace sebesar 128 kilobyte pada tiap prosesor untuk mengurangi kepadatan lalu lintas data pada bus dan mengefektifkan pengaksesan memori (Heudin, 1992 : 31).


*      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).
Perangkat instruksi prosesor MIPS terdiri atas 31 buah instruksi yang dibagi menjadi 4 kelompok, yakni kelompok instruksi isi dan simpan, kelompok instruksi operasi aritmetika dan logika, kelompok instruksi pengontrol, dan kelompok instruksi lain-lain. MIPS menggunakan lima tingkat alur-pipa tanpa perangkat keras saling-kunci antar alur-pipa tersebut, sehingga kode yang dieksekusi harus benar-benar bebas dari konflik antar alur-pipa.
Direalisasi dengan teknologi NMOS 2 mikron, prosesor MIPS yang memiliki 24.000 transistor ini memiliki kemampuan mengeksekusi satu instruksi setiap 500 nanodetik. Karena menggunakan lima tingkat alur-pipa bagian kontrol prosesor MIPS ini menyita luas cip dua kali lipat dibanding dengan bagian kontrol pada prosesor RISC. MIPS memiliki 16 register dibandingkan dengan 138 buah register pada RISC-2. Hal ini bukan masalah penting karena MIPS memang dirancang untuk mebebankan kerumitan perangkat keras ke dalam perangkat lunak sehingga menghasilkan perangkat keras yang jauh lebih sederhana dan lebih efisien. Perangkat keras yang sederhana akan mempersingkat waktu perancangan, implementasi, dan perbaikan bila terjadi kesalahan.
Sukses perancangan MIPS dilanjutkan oleh tim Stanford dengan merancang mikroprosesor yang lebih canggih, yakni MIPS-X. Perancangan dilakukan oleh tim riset MIPS sebelumnya ditambah 6 orang mahasiswa, dan dimulai pada musim panas tahun 1984. Rancangan MIPS-X banyak diperbaruhi oleh MIPS dan RISC-2 dengan beberapa perbedaan utama :
•     Semua instruksi MIPS-X merupakan operasi tunggal dan dieksekusi dalam satu siklus detak
•     Semua instruksi MIPS-X memiliki format tetap dengan panjang instruksi 32-bit
•     MIPS-X dilengkapi pendukung koprosesor yang efisien dan sederhana
•     MIPS-X dilengkapi pendukung untuk digunakan sebagai prosesor dasar dalam sistem multiprosesor memori-bersama (shared memory)
•     MIPS-X dilengkapi chace instruksi dalam-cip yang cukup besar (2 kilobyte)
•     MIPS-X difabrikasi dengan teknologi CMOS 2 mikron.
Sama seperti MIPS, MIPS-X merupakan prosesor dengan alur-pipa tanpa saling-kunci (interlock) perangkat keras. Perangkat lunaknya dirancang untuk mengikuti pewaktuan instruksi agar tidak terjadi konflik antar alur-pipa (Heudin, 1992 : 36-37).
Cip pertama yang dihasilkan bekerja baik dengan detak 16 MHz, lebih rendah dari target yang dicanangkan setinggi 20 MHz, akibat tidak sempurnanya instruksi percabangan. Versi 25 MHz dibuat dengan menggunakan teknologi CMOS 1,6 mikron. Ditambah dengan chace yang diintregrasikan pada cip prosesor, MIPS-X berisi hampir 150.000 transistor di atas keping seluas 8 x 8,5 mm (Heudin, 1992 : 38).

MIPS X Motherboard Block
   

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 perlembangan 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.
  
Cip-cip RISC galium Arsenida
Chip Galium Arsenida

Galium Arsenida dapat digunakan untuk menggantikan silikon dalam beberapa rangkaian terpadu untuk pemakaian khusus. Keunggulan bahan GaAs dibandingkan silikon adalah ketahanannya terhadap radiasi, dan ketahanannya terhadap panas, serta kecepatan mobilitas elektronnya. Karena elektron dapat bergerak lebih cepat dalam bahan GaAs, maka cip yang dibuat dengan bahan ini berpotensi untuk bekerja lebih cepat (Jonhsen, 1984 : 46; Robinson, 1990 : 251-254). Salah satu kendala pengembangan cip berbahan GaAs adalah sulitnya penanganan bahan ini dibanding dengan bahan silikon karena perancang belum banyak pengalaman dengan bahan GaAs. Meskipun demikian, teknologi yang dikuasai saat ini telah memungkinkan untuk membuat rangkaian terintegrasi dengan tingkat kerapatan cukup tinggi untuk merancang prosesor RISC.
Didorong oleh kebutuhan untuk merancang prosesor berkecepatan tinggi dan tahan terhadap radiasi sesuai dengan spesifikasi yang dibutuhkan Departemen Pertahanan Amerika Serikat, maka DARPA (Defense Advanced Research Projects Agency) memberikan dana kepada Texas Instruments (TI), RCA, dan McDonnell-Douglas, untuk mengembangkan dan merancang prosesor RISC dari bahan GaAs. Agar memiliki kinerja yang tinggi, DARPA menghendaki unit prosesor sentral (central processing unit, CPU) dirancang dalam cip tunggal, seperti prosesor MIPS yang pengembangannya juga dibiayai DARPA. Ditargetkan prosesor tersebut akan dapat dijalankan dengan detak berfrekuensi 200 MHz. Ini berarti target kecepatan kerjanya adalah 200 MIPS (million instructions per second, juta instruksi per detik), karena pada prosesor RISC satu instruksi dieksekusi dalam satu siklus detak.
Sistem yang dipilih terdiri dari seperangkat cip, yakni, CPU, FCOP (floating point coprocessor) , MMU(memory management unit) dan chace. Agar bisa merealisasi CPU dalam satu cip, TI berupaya mengurangi rangkaian pengontrol sebanyak mungkin untuk memberi lebih banyak tempat bagi register-register. Perangkat instruksi dikembangkan berdasarkan simulasi statistik dan evaluasi atas prosesor RISC Berkeley maupun MIPS Stanford. Seperti halnya MIPS, sekali program telah dikomplikasi ke dalam perangkat instruksi inti (yakni level tengah antara perangkat-intruksi bergantung perangkat-keras dengan bahasa pemrograman tingkat tinggi), suatu penerjemah bergantung perangkat-keras akan mengubah kode ke dalam perangkat instruksi bahasa mesin dan melakukan langkah-langkah optimasi. Perangkat instruksi yang dimiliki prosesor ini dibagi menjadi tiga bagian yakni 29 buah instruksi CPU, 31 buah instruksi FCOP, serta 6 buah instruksi MMU.
Prosesor yang dihasilkan memiliki unjuk kerja nominal 200 MIPS, tetapi angka faktualnya harus dikurangi dengan 32% akibat penyisipan instruksi NOP (no operation) dan dikurangi 32% lagi karena keterbatasan lebar ban memori. Angka faktual kinerja prosesor RISC GaAs ini kira-kira 91 MIPS (million instruction per second).
Pada waktu yang sama dengan pengembangan mikroprosesor RISC GaAs, McDonnell-Douglas juga mulai mengembangkan mikroprosesor RISC berdasarkan teknologi JFET tipe-penyambungan (enhancement-type junction field-effect transistor) DCFL (direct coupled FET logic) dengan bahan GaAs. Cip yang diberi nama MD484 sangat dipengaruhi oleh hasil rancangan MIPS dari Universitas Stanford.
Karena saat itu teknologi GaAs hanya mampu mengintegrasikan transistor dalam jumlah yang terbatas, maka hanya ditargetkan sejumlah 25.000 buah transistor dalam satu cip. Di dalam mikroprosesor ditanamkan 32 buah register masing-masing 32-bit dengan perangkat instruksi sangat mirip dengan yang dimiliki MIPS.
Salah satu keputusan sulit dalam perancangan adalah masalah memilih jumlah dan tipe alur-pipa eksekusi. Penambahan jumlah alur-pipa menjadi lima atau enam dengan penambahan tingkat alur-pipa untuk akses memori, akan memberi lebih banyak waktu pengaksesan memori sehingga memudahkan perancangan sistem memori. Akan tetapi, alur-pipa yang panjang akan menambah tundaan pencabangan sehingga memperlambat waktu eksekusi. Kerugian kinerja akibat penyisipan instruksi NOP adalah 20-30% untuk alur-pipa enam tingkat dan kira-kira setengahnya untuk alur-pipa lima tingkat relatif terhadap alur-pipa empat tingkat. Akhirnya, kelompok McDonnell-Douglas memutuskan untuk menggunakan empat tingkat alur-pipa. Untuk mengeksekusi operasi aritmetika floating point, McDonnell Douglas juga merancang cip koprosesor floating point. Cip CPU yang selesai dibuat dan diuji pada tahun 1987, mampu mengeksekusi instruksi dalam 16,5 nanosekon dan memberikan kecepatan operasi 60 MIPS (million instructions per second).
Proyek perancangan prosesor RISC GaAs lain dilakukan oleh RCA pada tahun 1989. Prosesor 32-bit rancangan RCA ini direncanakan diimplementasikan dengan GaAs VLSI (very large scale integration) . RCA mengatasi masalah yang dihadapi dalam perancangan cip GaAs ini dengan cara yang berbeda dari yang dilakukan McDonnell Douglas maupun Texas Instruments. Berbeda dengan kebanyakan prosesor RISC, format instruksinya tidak tunggal melainkan menggunakan format satu dan dua kata. Rancangan RCA ini menggunakan 9 tingkat alur-pipa dengan dua periode tak-aktif masing-masing 2 siklus tunggu, pertama berkaitan dengan penjemputan instruksi dan kedua berkaitan dengan penjemputan operan untuk operasiload.
Kelompok riset di Universitas Michigan juga dilaporkan berhasil membuat prosesor RISC dari bahan galium arsenida berkecepatan tinggi di atas cip berukuran 32-bit yang dihasilkan diimplementasikan di atas cip berukuran 13,9 x 7,8 mm dengan 160.000 transistor. Di dalam cip diintegrasikan bagian ALU (arithmetic and logic unit) , 32 buah register, dan 32 byte chace instruksi. Karena kecilnya chace yang dimiliki, pemakai prosesor ini dapat menambahkan chace eksternal melalui kecepatan tinggi misalnya dengan SRAM (static random access memory) berteknologi ECL. Cip ini bekerja baik dengan frekuensi detak 200 MHz.
Ada beberapa permasalahan dalam perancangan komputer cepat dengan GaAs. Pertama, adalah terbatasnya tingkat integrasi fungsi logika yang bisa diimplementasikan. Kedua, adalah tingginya perbandingan antara waktu pengaksesan memori di luar cip dengan akses data di dalam cip. SODIMA S.A. mengusulkan arsitektur 4-tingkat 32-bit untuk diintegrasikan dengan menggunakan teknologi sel standar. Tim SODIMA juga merancang arsitektur chacechace kecil berkecepatan tinggi (4-kilobyte dengan waktu akses 3 nanosekon) dikombinasikan dengan chacebesar tetapi lebih lambat (128 kilobyte dengan waktu akses 25 nanosekon) untuk mendapatkan kinerja 100 MIPS. dua tingkat berdasarkan pada

Cip RISC lain
Advanced Micro Devices (AMD) memperkenalkan produk RISC-nya pada tahun 1987, yang diberi nama Am29000. Dengan eksekusi siklus tunggal, prosesor yang memiliki detak berfrekuensi 25MHz ini memiliki kecepatan proses 17 MIPS untuk program bahasa C. Ada dua tingkat optimasi kinerja yang dilakukan dalam perancangan Am29000. Pertama, prosesor ini memiliki jumlah register cukup banyak (192 buah) yang dapat difungsikan sebagai chace(stack) instruksi saat suatu prosedur dipanggil atau sebagai kelompok register, masing-masing terdiri atas 16 buah register. Rancangan khusus dalam Am29000 adalah chaceuntuk target pencabangan yang mampu menyimpan 128 instruksi. Cara ini memungkinkan alur-pipa tetap terisi tanpa adanya penundaan sebagai akibat dari operasi percabangan yang berturutan (Heudin, 1992 : 104). untuk menetapkan tumpukan
Selain AMD, Intel yang dikenal sebagai pemasok mikroprosesor CISC keluarga-86, juga memproduksi cip mikroprosesor RISC yang diberi nama 80860 pada tahun 1989. Dengan mengintegrasikan lebih dari sejuta transistor, 80860 berisi teras RISC (RISC core) , koprosesor atau unit floating point, MMU (memory management unit) , unit grafik, dan chace terpisah untuk data dan instruksi. Keberadaan MMU dan teras RISC memungkinkan 80860 menjalankan sistem operasi multitasking. Koprosesornya mendukung aplikasi pemodelan, pengolahan suara, simulasi, dan perancangan berbantuan komputer (Margulis, 1989 : 333). Teras RISC memiliki empat tingkat alur-pipa yang meliputi tingkat penjemputan, dekode, eksekusi, dan penulisan instruksi. 
MMU dengan 8 bit CPU

Keistimewaannya, prosesor ini dirancang agar pemrogram dapat memilih sendiri mode eksekusi yang diperlukan, yakni instruksi-tunggal dan instruksi-ganda. Instruksi tunggal merupakan mode eksekusi tradisional, dengan penjemputan instruksi berturutan. Pemberian alur-pipa memungkinkan instruksi berturutan tersebut saling tumpang-tindih sehingga beberapa instruksi berada di beberapa tingkat alur-pipa untuk dieksekusi kapan saja. Dengan mode instruksi-ganda, mikroprosesor 80860 menerapkan lebih dari sekedar strategi alur-pipa. Mode ini memungkinkan dijalankannya dua instruksi sekaligus, satu untuk teras RISC dan satu untuk koprosesor. Koprosesor atau unit floating point menampilkan hasil operasi setiap satu siklus detak dan memungkinkan diselesaikannya dua operasi sekaligus, misalnya operasi penjumlahan dan perkalian. Dengan mengkombinasikan mode instruksi-ganda dan mode operasi-ganda, pemrogram dapat melakukan tiga operasi sekaligus setiap satu siklus detak.
Cip RISC dengan detak berfrekuensi lebih dari 300 MHz dilaporkan telah dibuat oleh Digital Equipment Corp. (DEC). Cip yang dirancang dengan teknologi bipolar ECL itu mengimplementasikan 468.000 buah transistor dan 206.000 resistor di atas keping berukuran 15,4 x 12,6 mm. Pada kondisi terburuk, yakni dengan tegangan catu daya -5,2 volt, prosesor ini mampu dijalankan dengan detak internal berfrekuensi 275 MHz sedangkan dalam kondisi puncaknya (dengan tegangan catu daya -3,9 volt) dapat beroperasi pada frekuensi detak 335 MHz. Pembangkit detak eksternal memiliki frekuensi 80 MHz yang kemudian dilipatkan oleh rangkaian PLL (phase-locked loop) menjadi 1X - 8X. Masalah besar yang timbul dengan teknologi bipolar ECL ini adalah kebutuhan daya yang cukup besar, yakni mencapai 115 watt. Hal ini menyebabkan timbulnya panas berlebihan dalam cip. Untuk mengatasinya, DEC menambahkan termosifon (penghambur panas berbentuk silinder bersirip dari tembaga) di atas kemasan cip agar suhu dalam cip terjaga tidak lebih dari 100o C (Bursky, 1993 : 48-50).

Prospek Arsitektur RISC di Masa Mendatang
Perkembangan menarik terjadi pada tahun 1993 ketika aliansi tiga perusahaan terkemuka, IBM, Apple, dan Motorola memperkenalkan produk baru mereka yakni PowerPC 601, suatu mikroprosesor RISC 64-bit yang dirancang untuk stasiun kerja (workstation) atau komputer personal (Thompson, 1993 : 56-74). Menarik, karena kemunculan PowerPC 601 dimaksudkan untuk memberikan alternatif bagi dominasi prosesor CISC keluarga-86 Intel dalam komputer rumahan. Popularitas prosesor keluarga-86 didukung oleh harganya yang murah dan banyaknya program aplikasi yang dapat dijalankan dengan prosesor ini. Untuk itu, prosesor PowerPC dijual dengan harga yang cukup bersaing dibandingkan dengan pentium, yakni prosesor buatan Intel mutakhir saat itu (Thompson, 1993 : 64). Perkembangan teknologi emulasi yang memungkinkan prosesor RISC menjalankan sistem operasi yang sama dengan prosesor CISC keluarga-86 diperkirakan akan membuat prosesor RISC, terutama PowerPC 601, banyak digunakan di dalam komputer-komputer personal (Halfhill, 1994 : 119-130).
PowerPC 601 memiliki 32 buah register serbaguna 32-bit dan 32 buah 64-bit register floating-point. Untuk menyimpan sementara data dan instruksi sebelum dieksekusi, PowerPC 601 memiliki 32-kilobyte chaceuntuk data dan instruksi bersama-sama. Teras PowerPC 601 terdiri dari tiga unit eksekusi dengan alur-pipa yang independen, yakni unit pemroses bilangan bulat (IU, integer unit), unit floating-point (FPU, floating processing unit), dan unit pemroses operasi percabangan (BPU, branch processing unit) yang mampu mengeksekusi tiga instruksi sekaligus (Ryan, 1993 : 79-80).
IBM Power PC 601

Perkembangan menarik juga nampak dengan diadopsinya sebagian arsitektur RISC ke dalam prosesor CISC yang dikenal dengan sebutan arsitektur hibrid CISC/RISC. Intel Corporation mengimplementasikan arsitektur CISC/RISC ini ke dalam prosesor keluarga-86 dimulai dengan prosesor Pentium, kemudian prosesor P6 atau Pentium Pro (Ryan, 1993 : 84 ; Halfhill, 1995:42 ; Yokota, 1993 : 18-25). Beberapa produsen lain, dengan cara berbeda juga mulai mengadopsi arsitektur campuran CISC/RISC ini misalnya Matsushita Corp dengan prosesor V810, Advanced RISC Machines dengan ARM610, dan Hitachi dengan prosesor SH7032 (Miyazaki, 1993 : 20-27).
          
         Prosesor RISC, yang berkembang dari riset akademis telah menjadi prosesor komersial yang terbukti mampu beroperasi lebih cepat dengan penggunaan luas cip yang efisien. Kemajuan mutakhir yang ditunjukkan oleh mikroprosesor PowerPC 601 dan teknologi emulasi yang antara lain dikembangkan oleh IBM memungkinkan bergesernya dominasi cip-cip keluarga-86 dan kompatibelnya. Bila teknik emulasi terus dikembangkan maka pemakai tidak perlu lagi mempedulikan prosesor apa yang ada di dalam sistem komputernya, selama prosesor tersebut dapat menjalankan sistem operasi ataupun program aplikasi yang diinginkan. 

Konsep arsitektur RISC banyak menerapkan proses eksekusi pipeline. Meskipun jumlah perintah tunggal yang diperlukan untuk melakukan pekerjaan yang diberikan mungkin lebih besar, eksekusi secara pipeline memerlukan waktu yang lebih singkat daripada waktu untuk melakukan pekerjaan yang sama dengan menggunakan perintah yang lebih rumit. Mesin RISC memerlukan memori yang lebih besar untuk mengakomodasi program yang lebih besar. IBM 801 adalah prosesor komersial pertama yang menggunakan pendekatan RISC. Lebih lanjut untuk memahami RISC, diawali dengan tinjauan singkat tentang karakteristik eksekusi instruksi.
Aspek komputasi yang ditinjau dalam merancang mesin RISC adalah sbb.:
1.      Operasi-operasi yang dilakukan:
Hal ini menentukan fungsi-fungsi yang akan dilakukan oleh CPU dan interaksinya dengan memori.
2.      Operand-operand yang digunakan:
Jenis-jenis operand dan frekuensi pemakaiannya akan menentukan organisasi memori untuk menyimpannya dan mode pengalamatan untuk mengaksesnya.
3.      Pengurutan eksekusi:
Hal ini akan menentukan kontrol dan organisasi pipeline.


 Komputer yang Menggunakan Teknologi RISC

  • *      IBM PC/XT

IBM PC/TXT

Slot ekspansi di dalam IBM PC XT mempunyai 8 buah slot, dari slot tersebut beberapa slot telah digunakan untuk keperluan komputer itu sendiri sedangkan yang tidak digunakan dapat dimanfaatkan untuk sistem interface.
Semua slot mempunyai konfigurasi pin yang sama dan dapat mengakses memory dan I/O map yang sama, sehingga suatu interface dapat berkomunikasi dengan komputer IBM PC XT. Slot IBM PC XT merupakan  konektor 62 pin, dari 62 pin tersebut ini hanya digunakan beberapa pin saja untuk perencanaan sistem interface.

  
  • *      Digital Equipment Corporation (DEC) - Alpha.

DEC Alpha Microprocessor developed in 1995

Alpha adalah nama famili dari mikroprosesor buatan Digital Equipment Corporation (DEC). Arsitektur itu mulai dikembangkan oleh DEC pada tahun 1989 dan dirilis pada tahun 1992, sebagai pengganti famili VAX 32-bit. DEC Alpha digunakan pada jajaran komputer workstation dan server buatan DEC sendiri. Jika famili prosesor Intel disebut sebagai x86 karena memiliki anggota yang berakhiran -86, maka famili ini memiliki nomor kode prosesor 21x64, sebab prosesor-prosesor anggota keluarga ini adalah 21064, 21164, 21264, dan 21364 (dengan berbagai variasinya), dengan angka x sebagai generasi prosesor tersebut. Alpha juga kadang disebut sebagai Alpha AXP.
Alpha didukung oleh beberapa sistem operasi, mulai dari DEC VMS, versi UNIX dari DEC, GNU/Linux, beberapa BSD UNIX, dan Windows NT (dari versi 3.1 hingga versi 4.0 Service Pack 6).
Arsitektur Alpha merupakan sebuah desain RISC dengan 64-bit alamat dan ukuran data. Di dalamnya terdapat 32 buah register general purpose dan 32 buah register floating-point. Prosesor ini juga termasuk sebagai sebuah prosesor superskalar, karena memiliki beberapa pipeline di dalamnya. Arsitektur ini juga memiliki cache level-1 yang dipisah menjadi data cache dan instruction cache.


  • *      Advanced Micro Devices (AMD) 29000.

Advanced Micro Devices (AMD) Microprocessor 29000 Series

Tahun 1975 AMD mulai membuat chip memory dalam bentuk Random Access Memory (RAM) – Am9102. Pada tahun yang sama, dengan lisensi dari Intel, AMD berhasil mengembangkan microprocessor dengan melakukan reverse engineering terhadap processor 8080A yang dibuat oleh Intel. Keberhasilan ini menjadi awal bagi AMD memasuki pasar microprocessor. Pada tahun yang sama AMD juga memperkenalkan keluarga produk Am2900 sebuah seri processor menggunakan teknologi bit-slice, yang memungkinkan pengguna memperoleh keuntungan dari kemampuan komputer untuk mengolah data dengan jalur yang lebih lebar, dengan disipasi panas rendah, dan kecepatan pengolahan data lebih tinggi. Am2900 juga menyediakan fleksibilitas bagi perancang software untuk mengembangkan instruksi pemrograman menggunakan bahasa mereka sendiri, independen dari set instruksi microprocessor.



  • *      Advanced RISC Machine (ARM).

Advanced RISC Machine (ARM) Microprocessor developed by
Conexant Computers

ARM singkatan dari Advanced RISC Machine adalah arsitektur processor 32-bit  yang dikembangkan oleh ARM Limited, dan banyak digunakan oleh perangkat genggam. Berkat fitur hemat energinya, CPU ARM sangat dominan di pasar perangkat elektronik genggam. Saat ini, processor ARM menguasai sekitar 75 persen pasar elektronik genggam.

  • *      Atmel AVR

Atmel AVR ATmega8 Microprocessor

Atmel AVR adalah jenis mikrokontroler yang paling sering dipakai dalam bidang elektronika dan instrumentasi. Mikrokontroler AVR ini memiliki arsitektur RISC(Reduce Instruction Set Computing) delapan bit, di mana semua instruksi dikemas dalam kode 16-bit (16 bits word) dan sebagian besar instruksi dieksekusi dalam 1 (satu ) siklus clock.
Secara umum, AVR dapat dikelompokkan dalam 4 kelas, yaitu keluarga ATTiny, keluarga AT90Sxx, keluarga ATMega dan AT86RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral dan fungsinya. Salah satu mikrokontroler AVR yang sering dipakai adalah ATMega8 dan ATMega 8535

  • *      Microprocessor without Interlocked Pipeline Stages (MIPS). 

MIPS Microprocessor

MIPS (Microprocessor without Interlocked Pipeline Stages) merupakan salah satu contoh prosesor yang dibangung dengan arsitektur RISC. Desain prosesor MIPS saat ini banyak digunakan pada beberapa embedded system (seperti the Series2 TiVo, Windows CE devices, Cisco Routers, residential gateways, Foneras, Avaya) dan video games console (seperti Nintendo 64 and Sony PlayStation, PlayStation 2, PlayStation Portable)

  
  • *      Precision Architecture – Reduced Instruction Set Computer (PA-RISC).

HP 9000 PA-RISC Microprocessor


PA-RISC adalah arsitektur processor yang dikembangkan oleh HP. PA-RISC adalah singkatan dari Precision Architecture – Reduced Instruction Set Computing. Beberapa kalangan juga menggunakan istilah HP/PA atau hppa. Arsitektur ini didesain 32-bit pada awalnya, namun pada arsitektur PA-RISC 2.0 (tahun 1996), PA-RISC sepenuhnya 64-bit.

  

  • Performance Optimization with Enhanced RISC – Performance Computing (POWER-PC)

PowerPC 600 Series developed by IBM Computer

Power PC adalah arsitektur microprocessor RISC yang diciptakan oleh aliansi Apple-IBM-Motorola pada tahun 1991. Pada awalnya Power PC dirancang untuk workstation saja, akan tetapi kemudian menjadi populer dan mulai dipergunakan pada Power Mac sejak tahun 1995.

  • *        SuperH

SuperH Microprocessor

SuperH secara fundamental adalah RISC 32-bit load/store yang umum ditemukan pada berbagai sistem embedded. Awalnya dikembangkan oleh Hitachi pada awal 90-an. SuperH sering disebut juga sebagai SH. Salah satu contoh penggunaan SuperH adalah pada Sega Dreamcast (SH4).

  • *      Scalable Processor Architecture (SPARC).

SPARC II Microprocessor developed by Sun

SPARC (Scalable Processor Architecture) adalah microprocessor berarsitektur RISC (Reduced Instruction Set Computer) yang didesain oleh Sun Microsystems sejak tahun 1985.
Sun-4 Workstation yang kali pertama ditenagai prosesor SPARC itu, tidak lain adalah sebuah stasiun kerja tipikal Unix yang pada jamannya mendominisasi pasar TI. Pengembangan SPARC didahului dengan tekad Sun yang memusatkan bisnisnya dibidang workstation dan tidak ingin terlalu bergantung pada pemasok prosesor Motorola yang saat itu mensuplai seri prosesor 680x0 kepada Sun, disamping juga terhadap dominasi Intel dengan arsitektur i386-nya.
Sejatinya, keistimewaan dari arsitektur SPARC adalah spesifikasi dari beberapa prosesornya yang menganut kaidah Open Source. Sun mengawalinya pada tahun 2005 yang membuka spesifikasi UltraSPARC T1 dibawah lisensi bebas GPL. Spesifikasi yang dibebaskan, juga untuk T2 dapat ditemukan di situs opensparc.net. Prosesor 32-bit dengan arsitektur V8 dari generasi awal ternyata masih aktual dan produknya masih diperoleh sampai sekarang dari beberapa pembuat prosesor, termasuk yang telah diintegrasikan dalam sistem embedded.


Analisis Perbedaan Karakteristik RISC dan CISC
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.
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.                    
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.
Sebenarnya, prosesor RISC tidak sekedar memiliki instruksi-instruksi yang sedikit dan sederhana seperti namanya tetapi juga mencakup banyak ciri-ciri lain yang tidak semuanya disepakati oleh kalangan perancang sendiri. Meskipun demikian, banyak yang telah bersepakat bahwa prosesor memiliki ciri-ciri tertentu untuk membedakannya dengan prosesor RISC dan CISC.
Pertama, prosesor RISC mengeksekusi instruksi pada setiap satu siklus detak (Robinson, 1987 : 144; Johnson, 1987 : 153). Hasil penelitian IBM (International Business Machine) menunjukkan bahwa frekuensi penggunaan instruksi-instruksi kompleks hasil kompilasinya 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; Johnson, 1987: 153). Dengan ini pula perancang lebih menitikberatkan implementasi banyak register dalam chip 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 CISC. 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.
Kelima, penggunaan prosesor CISC hanya menghemat sedikit atau sama sekali tidak menghemat memori jika dibandingkan RISC. Kemudian compiler-kompiler pada mesin CISC cenderung menggunakan instruksi-instruksi yang lebih sederhana, karena itu keringkasan instruksi kompleks jarang sekali memegang peranan. Selain itu, karena pada CISC terdapat instruksi yang lebih banyak, maka diperlukan code yang lebih panjang, yang akan menghasilkan instruksi yang lebih panjang pula. RISC cenderung menekankan pada referensi register dibandingkan pada referensi memori, dan referensi register memerlukan bit yang jumlahnnya lebih sedikit.

Tabel 1. Karakteristik dari beberapa Prosesor CISC, RISC, dan Superskalar

karakteristik
RISC
CISC
Superskalar

IBM 370/168
VAC 11/780
Intel 80486
Motorola 88000
MIPS R4000
IBM RS/system 6000
Intel 80960
Tahun dibuat
1973
1978
1989
1988
1991
1989
1989
Jumlah intruksi
208
303
235
51
94
194
62
Intruksi (byte)
2-6
2-57
1-11
4
32
4
4.8
Metode pengalamatan
4
22
11
3
1
2
11
Jumlah register general porpose
16
16
8
32
32
32
32-256
Ukuran memori control (kbit)
420
480
246
-
-
-
-
Ukuran cache (Kbytes)
64
64
8
16
128
32-64
0.5




*      Operasi dengan High Level Language (HLL)
Hasil-hasil penelitian yang dilakukan untuk menganalisis tingkah laku program-program HLL menunjukkan:  Assignment Statement sangat menonjol diikuti statement bersyarat (IF, LOOP) lihat tabel dibawah ini. Hasil-hasil penelitian ini merupakan hal yang sangat penting bagi perancangan set instruksi mesin.

Tabel 2. Frekuensi Dinamik Relatif Berbobot dari Operasi-operasi HLL


Kejadian Dinamik
Instruksi-Mesin Berbobot
Referensi Memori
Berbobot

Pascal

C

Pascal

C

Pascal

C

ASSIGN

LOOP
45

5

38

3
13

42

13
14

33
15

26
CALL

15

12

31

33

44

45

IF
29

43

11

21

7

13

GOTO

-
3
-
-
-
-
OTHER
6

1

3

1

2

1

*      Eksekusi Instruksi
Waktu eksekusi dapat dirumuskan sbb.:
Waktu eksekusi = N x S x T
Dengan
N         adalah jumlah perintah
S          adalah jumlah rata-rata langkah per perintah
T          adalah waktu yang diperlukan untuk melaksanakan satu langkah.

Kecepatan eksekusi dapat ditingkatkan dengan menurunkan nilai dari ketiga varisbel di atas.
Arsitektur CISC berusaha menurunkan nilai N, sedangkan
Arsitektur RISC berusaha menurunkan nilai S dan T.
·         Proses pipeline dapat digunakan untuk membuat nilai efektif S mendekati 1 (satu) artinya komputer menyelesaikan satu perintah dalam satu siklus waktu CPU.
·         Nilai T dapat diturunkan dengan merancang perintah yang sederhana.

*      Operasi
Beberapa penelitian telah dilakukan untuk menganalisa tingkah laku program-program HLL . terdapat kecocokan dalam hasil campuran dalam bahasa dan aplikasi tersebut.
Hasilnya menyatakan bahwa prosedur call /return merupakan operasi yang paling banyak memakan waktu dan program-program HLL tertentu namun penelitian ini menghasilkan sesuatu yang resresentatif bagi arsitektur-arsitektur compleks intruksi set computer (cisc) yang kontemporer. Sehingga penelitian-penelitian tersebut dapat memberikan tuntunan bagi yang memerlukan cara yang efisien untuk mendukung HLL.


*      Operand
Penelitian yang dilakukan Patterson terhadap frekuensi dinamik terjadinya kelas-kelas variabel dalam program pascal dan C menunjukkan bahwa mayoritas referensi menuju ke variable-variable skalar. Lebih dari 80% skalar bersifat variabel lokal. Penelitian tersebut menyatakan bahwa jenis arsitektur berpengaruh pada kecepatan pengaksesan operand.

*      Procedure Calls
Prosedur call dan return merupakan aspek yang penting dalam program-program HLL. Tabel 3.2 menunjukkan bahwa prosedur call dan return merupakan operasi yang paling banyak membutuhkan waktu dalam program-program yang dikompilasi. Dua aspek yang lain adalah jumlah parameter dan variabel yang berkaitan dengan prosedur, dan kedalaman pensarangan (nesting).

*      Implikasi
Hasil-hasil penelitian secara umum dapat dinyatakan bahwa terdapat tiga buah elemen yang menentukan karakter arsitektur RISC.
Pertama, penggunaan register dalam jumlah yang besar. Hal ini dimaksudkan untuk mengoptimalkan pereferensian operand.
Kedua, diperlukan perhatian bagi perancangan pipeline instruksi. Karena tingginya proporsi instruksi pencabangan bersyarat dan prosedur call, pipeline instruksi yang bersifat langsung dan ringkas akan menjadi tidak efisien.
Ketiga, terdapat set instruksi yang disederhanakan (dikurangi). Keinginan untuk mengimplementasikan keseluruhan cpu dalam keping tunggal akan merupakan solusi Reduced Instruction Set.

*      Penggunaan File Register Besar
Terdapat statement assignment yang jumlahnya banyak dalam program-program HLL, dan banyak diantaranya berupa statement assignment sederhana seperti A = B. Di samping itu, terdapat pula akses operand per statement HLL dalam jumlah yang cukup besar.
Apabila kita menghubungkan kedua di atas dengan kenyataan bahwa sebagian besar akses adalah menuju ke skalar-skalar lokal, maka sangat mungkin kita memerlukan penyimpanan register yang besar. Alasan diperlukannya penyimpanan register adalah register merupakan perangkat penyimpanan yang paling cepat, yang lebih cepat dibandingkan dengan memori utama dan memori cache.
Dimungkinkan untuk menerapkan dua buah pendekatan dasar, yaitu berdasarkan perangkat lunak dan perangkat keras.
Pendekatan perangkat lunak mengandalkan kompiler untuk Memaksimalkan pemakaian register. Pendakatan ini membutuhkan algoritma analisis program yang canggih.
Pendekatan perangkat keras dilakukan hanya dengan memperbanyak jumlah register sehingga akan lebih banyak variabel yang dapat ditampung di dalam register dalam periode waktu yang lebih lama.

*      Register Windows
a.       Jendela register dibagi menjadi tiga buah daerah yang berukuran tetap.
 Register-register parameter : Menampung parameter-parameter yang dilewatkan dari prosedur.
  Register-register lokal : Digunakan untuk variable lokal, setelah di-assign oleh kompiler.
  Register-register temporer : Digunakan untuk pertukaran parameter.
b.      Overlap ini memungkinkan parameter-parameter dapat dilewatkan tanpa perpindahan aktual data.
Pada suatu saat tertentu, hanya sebuah jendela register yang visible yang dapat dialamati, seolah-olah jendela itu hanya satu-satunya kumpulan register( misalnya alamat 0 haingga n-1). Jendela itu menjadi tiga buah daerah yang berukuran tetap. Register parameter menamping parameter daerah yang berukuran tetap, register local digunakan untuk variabel local , register temporer digunakan  untuk pertukaran parameter dan hasilnya dengan tingkatan yang lebih rendah berikutnya. (prosedur panggil oleh prosedur saat ini)

*      Variabel-variabel Global
Teknik Register Windows memberikan organisasi yang efisien untuk penyimpanan variable skalar lokal di dalam register. Akan tetapi teknik ini tidak dapat memenuhi kebutuhan penyimpanan variabel global, yang diakses oleh lebih dari sebuah prosedur (misalnya, variabel COMMON dalam FORTRAN).
Terdapat dua pilihan untuk memenuhi hal tersebut.
          Pertama, Variabel-variabel yang dideklarasikan sebagai global pada  HLL dapat disediakan lokasi-lokasi oleh kompiler. Namun, bagi yang sering mengakses variabel-variabel global, teknik tersebut tidaklah efisien.
          Alternatifnya adalah melibatkan kumpulan register global di dalam CPU Register-register ini harus memiliki jumlah yang tetap dan dapat dipakai oleh semua prosedur.


KELEBIHAN dan KEKURANGAN RISC dan CISC
Teknologi RISC relatif masih baru oleh karena itu tidak ada perdebatan dalam menggunakan RISC ataupun CISC, karena tekhnologi terus berkembang dan arsitektur berada dalam sebuah spektrum, bukannya berada dalam dua kategori yang jelas maka penilaian yang tegas akan sangat kecil kemungkinan untuk terjadi.
*      Kelebihan :
1.  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.
2.     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.
3.    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.
4.        Penggunaan mode pengalamatan dan format instruksi yang lebih sederhana.

  
*      Kekurangan :

1.    Program yang dihasilkan dalam bahasa simbolik akan lebih panjang (instruksinya lebih banyak).
2.   Program berukuran lebih besar sehingga membutuhkan memori yang lebih banyak, ini tentunya kurang menghemat sumber daya.
3.     Program yang berukuran lebih besar akan menyebabkan menurunnya kinerja, yaitu instruksi yang lebih banyak artinya akan lebih banyak byte-byte instruksi yang harus diambil.
4.        Pada lingkungan paging akan menyebabkan kemungkinan terjadinya page fault lebih besar.


1 comment:

  1. harap diperiksa kembali tulisannya, seharusnya CISC tapi ditulis RISC bisa membingungkan pembaca.

    ReplyDelete