Minggu, 16 Oktober 2011

ARSITEKTUR RISC

Perbedaan Arsitektur RISC dengan CISC
Ditinjau dari jenis set instruksinya, ada 2 jenis arsitektur komputer, yaitu:
1. Arsitektur komputer dengan kumpulan perintah yang rumit
(Complex Instruction Set Instruction Computer = CISC)
2. Arsitektur komputer dengan kumpulan perintah yang sederhana
(Reduced Instruction Set Computer = RISC)
CISC dimaksudkan untuk meminimumkan jumlah perintah yang diperlukan untuk mengerjakan
pekerjaan yang diberikan. (Jumlah perintah sedikit tetapi rumit). Konsep CISC menjadikan
mesin mudah untuk diprogram dalam bahasa rakitan, tetapi konsep ini menyulitkan dalam
penyusunan compiler bahasa pemrograman tingkat tinggi. Dalam CISC banyak terdapat perintah
bahasa mesin.
Konsep RISC menyederhanakan rumusan perintah sehingga lebih efisien dalam
penyusunan kompiler yang pada akhirnya dapat memaksimumkan kinerja program yang ditulis
dalam bahasa tingkat tinggi. 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.
Eksekusi Instruksi
Waktu eksekusi dapat dirumuskan sebagai berikut :
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 variabel 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.



PROSESSOR YANG MENGGUNAKAN SISTEM RISC



PowerPC dibangun dengan arsitektur RISC
Proyek mini komputer 801 di IBM pada tahun 1975 mengawali banyak konsep arsitektur yang digunakan dalam sistem RISC. 801 bersama dengan prosessor RISC I Berkeley, meluncurkan gerakan RISC, namun 801 hanya merupakan prototipe yang ditujukan untuk mengenalkan konsep disain. Keberhasilan memperkenalkan 801 menyebabkan IBM membangun produk workstation RISC komersial yaitu PC RT pada tahun 1986, dengan mengadaptasi konsep arsitektural 801 kedalam kinerja yang sebanding atau yang ebih baik. IBM RISC System/6000 merupakan mesin RISC superscalar1[3] yang dipasarkan sebagai workstation berunjuk kerja tinggi, tidak lama kemudian IBM mengkaitkan mesin ini sebagai arsitektur POWER. IBM kemudian menjalin kerjasama dengan Motorola, pembuat mikroprosessor seri 6800, dan Apple, yang menggunakan keping Motorola dalam komputer Macintoshnya dan hasilnya adalah seri mesin yang mengimplementasikan arsitektur PowerPC yang diturunkan dari arsitektur POWER dan merupakan sistem RISC superscalar. Sejauh ini diperkenalkan empat anggota kelompok PowerPC yaitu:
1. 601,merupakan mesin 32-bit yang ditujukan untuk membawa arsitektur PowerPC kepasar secepat mungkin.
2. 603, merupakan mesin 32-bit yang ditujukan bagi low-end desktop dan komputer portable dengan implementasi yang lebih efesien.
3. 604, merupakan mesin 32-bit yang ditujukan bagi low-end server dan desktop, dengan menggunakan teknik rancangan superscalar lanjutan guna mendapatkan kinerja yang lebih baik.
4. 620, ditujukan bagi high-end server, sekaligus merupakan kelompok PowerPC pertama yang mengimplementasikan arsitektur 64 bit penuh, termasuk register 64-bit dan lintasan data.

Karakteristik dan Fungsi
Jenis-Jenis Data


PowerPC dapat beroperasi menggunakan data yang panjang 8 bit (byte), 16 bit (halfword), 32 bit (word), dan 64 bit (doubleword). Beberapa instruksi mengharuskan agar operand memori dijajarkan (aligned) pada batas 32-bit, walaupun secara umum tidak terlalu diperlukan. Salah satu ciri PowerPC yang menarik adalah dapat menggunakan cara little-endian maupun big-endian2, dengan kata lain, byte yang paling kurang signifikan disimpan dalam alamat terendah atau tertinggi. Konsep ke-endianan pertama kali dibahas dalam literatur Cohen [COHE8]. Pada byte ke-endian-an harus melakukan pengurutan nilai-nilai skalar multibyte. Konsep ini terjadi apabila terdapat kebutuhan untuk memperlakukan entitas multiple-byte sebagai butir data tunggal, walaupun entitas ini terdiri dari unit-unit yang dapat dialamati yang lebih kecil. Beberapa mesin seperti intel 80x86, pentium, dan VAX, merupakan mesin-mesin litlle endian, sedangkan mesin-mesin seperti IBM S/370, Motorola 680x0, dan sebagian besar mesin-mesin RISC merupakn mesin-mesin big-endian. Sifat keendian- an tidak akan melampaui unit data. Dalam sembarang mesin, aggregate seperti file, struktur data, dan array terdiri dari beberapa unit data, yang masing masing memakai ke-endian-an. Jadi konversi blok memori dari suatu jenis keendianan kejenis lainnya memerlukan pemahaman struktur data.
Tidak terdapat konsensus umum tentang ke-endianan yang terbaik3, PowerPC sendiri adalah jenis prosesor yang bi-endian, yang mendukung baik mode big-endian maupun litlle-endian. Arsitektur bi-endian memungkinkan pembuat perangkat lunak untuk memilih mode yang mana saja ketika harus memindahkan sistem operasi dan aplikasi dari suatu mesin ke mesin lainnya. Byte, halfword, word, doubleword merupakan jenis data umum. Prosesor mengiterpretasikan isi item data tertentu tergantung pada instruksi. Prosesor fixed point mengenal jenis data berikut :
•Unsigned Byte : dapat digunakan bagi operasi logika atau aritmetika integer. Data ini dimuat dari memori ke register umum dengan zero-extending dsebelah kiri keukuran penuh register.
•Unsigned Halfword : seperti diatas namun dengan kuantitas 16-bit.
•Signed Halfword : digunakan untuk operasi aritmatika, dimuatkan kedalam memori dengan sign-extending pada sebelah kiri keukuran penuh register (yaitu, bit tanda disalinkan keposisi-posisi yang kosong).
•Unsigned Word : digunakan untuk operasi logika dan berfungsi sebagai pointer lokal.
•Signed Word : digunakan untuk operasi aritmatika.
•Unsigned Doubleword : digunakan sebagai pointer alamat.
•Byte String : panjangnya mulai 0 hingga 128 byte.
Selain itu PowerPC mendukung data floating poing presisi tunggal dan presisi ganda yang ditetapkan pada IEEE 754.

• Instruksi-Instruksi berorientasi Pencabangan
PowerPC memiliki orientasi pencabangan tidak bersyarat dan pencabangan bersyarat. Instruksi-instruksi pencabangan bersyarat menguji suatu bit tunggal dari register kondisi apakah benar, salah, atau tidak peduli dan isi dari counter register apakah nol, bukan nol, atau tidak peduli. Dengan demikian terdapat sembilan macam kondisi instruksi pencabangan bersyarat yang terpisah. Apabila counter register diuji apakah nol atau bukan nol, maka sesudah pengujian register berkurang 1. Hal ini tentunya memudahkan penyiapan loop iterasi. Instruksi dapat juga mengindikasikan bahwa alamat dari pencabangan itu ditempatkan dalam link register, hal ini memungkinkan pengolahan call/return.

• Instruksi-instruksi Load/Store
Dalam arsitektur PowerPC hanya instruksi load/store yang dapat mengakses lokasi memori, instruksi logika dan aritmetika hanya dilakukan terhadap register. Terdapat dua fitur yang membedakan instruksi-instruksi load/store :
1. Ukuran data, dimana data dapat dipindahkan dalam satu byte, halfword, word, atau doubleword. Instruksi-instruksi juga dapat digunakan untuk memuat atau menyimpan suatu untai byte ke dalam sejumlah register atau dari sejumlah register
2. Ekstensi Tanda, dimana pada pembuatan word dan halfword, bit-bit sebelah kiri register 64-bit tujuan yag tidak dipakai dapat diisi dengan bilangan-bilangan nol atau dengan bit tanda dari kuantitas yang dimuatkan.

• KELEBIHAN DAN KEKURANGAN TEKNOLOGI RISC
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. Pada lingkungan paging akan menyebabkan kemungkinan terjadinya page fault lebih besar.


B. CISC

1. Pengertian CISC
Complex instruction-set computing atau 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, operasi aritmetika, dan penyimpanan ke dalam memory, 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 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) 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.

2. Karakteristik


a. Sarat informasi 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
b. Dimaksudkan untuk meminimumkan jumlah perintah yang diperlukan untuk mengerjakan pekerjaan yang diberikan. (Jumlah perintah sedikit tetapi rumit) Konsep CISC menjadikan mesin mudah untuk diprogram dalam bahasa rakitan


3. Ciri-ciri


a. Jumlah instruksi banyak
b. Banyak terdapat perintah bahasa mesin
c. Instruksi lebih kompleks

C. Contoh RISC dan CISC

1. KELEBIHAN dan KEKURANGAN
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:


a. 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.
b. 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.
c. 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.
d. 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.

Tidak ada komentar:

Posting Komentar