RISC adalah 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.
Beberapa elemen penting pada arsitektur RISC :
1 Set instruksi yang terbatas dan sederhana
2 Register general-purpose yang berjumlah, atau penggunaan teknologi kompiler untuk mengoptimalkan pemakaian registernya.
3 Penekanan pada pengoptimalan pipeline instruksi.
Ditinjau dari jenis set instruksinya, ada 2 jenis arsitektur komputer, yaitu:
1 Arsitektur komputer dengan kumpulan perintah yang rumit (Complex Instruction Set 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 kompiler bahasa pemrograman tingkat tinggi.
Dalam CISC banyak terdapat perintah bahasa mesin.
Ø RISC menyederhanakan rumusan perintah sehingga lebih efisien dalam penyusunan kompiler yang pada akhirnya dapat memaksimumkan kinerja program yang ditulis dalam bahasa tingkat tinggi.
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.
Contoh arsitektur RISC-2&alur pipanya (Heudin,1992)
Aspek komputasi yang ditinjau dalam merancang mesin RISC adalah sbb.:
> Operasi-operasi yang dilakukan:
Hal ini menentukan fungsi-fungsi yang akan dilakukan oleh CPU dan interaksinya dengan memori.
> Operand-operand yang digunakan:
Jenis-jenis operand dan frekuensi pemakaiannya akan menentukan organisasi memori untuk menyimpannya dan mode pengalamatan untuk mengaksesnya.
> Pengurutan eksekusi :
Hal ini akan menentukan kontrol dan organisasi pipeline.
Tabel 4.1 Karakteristik dari beberapa Prosesor CISC, RISC, dan Superskalar
Karakteritik | CISC | RISC | Superskalar | |||||||||||||||
IBM 370/168 | VAX 11/780 | Intel 80486 | Motorola 88000 | MIPS R4000 | IBM RS/System 6000 | Intel 80960 | ||||||||||||
Tahun dibuat | 1973 | 1978 | 7989 | 1988 | 7991 | 1990 | 1989 | |||||||||||
Jumlah instruksi | 208 | 303 | 235 | 51 | 94 | 184 | 62 | |||||||||||
Instruksi (Bytes) | 2-6 | 2-57 | 1-11 | 4 | 32 | 4 | 4,8 | |||||||||||
Mode Pengalamatan | 4 | 22 | 11 | 3 | 1 | 2 | 11 | |||||||||||
Jumlah register general-purpose | 16 | 16 | 8 | 32 | 32 | 32 | 23-256 | |||||||||||
Ukuran memori kontrol (Kbits) | 420 | 480 | 246 | - | - | - | - | |||||||||||
Ukuran Cache (Kbytes) | 64 | 64 | 8 | 16 | 128 | 32-64 |
Implikasi
v Hasil-hasil penelitian secara umum dapat dinyatakan bahwa terdapat tiga buah elemen yang menentukan karakter arsitektur RISC.
o Pertama, penggunaan register dalam jumlah yang besar. Hal ini dimaksudkan untuk mengoptimalkan pereferensian operand.
o 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.
o Ketiga, terdapat set instruksi yang disederhanakan (dikurangi).
v Keinginan untuk mengimplementasikan keseluruhan CPU dalam keping tunggal akan merupakan solusi Reduced Instruction Set
Penggunaan File Register Besar
v Terdapat statement assignment yang jumlahnya banyak dalam program-program HLL, dan banyak diantaranya berupa statement assignment sederhana seperti A = B.
v Di samping itu, terdapat pula akses operand per statement HLL dalam jumlah yang cukup besar.
v 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.
v Alasan diperlukannya penyimpanan register adalah register merupakan perangkat penyimpanan yang paling cepat, yang lebih cepat dibandingkan dengan memori utama dan memori cache.
v Dimungkinkan untuk menerapkan dua buah pendekatan dasar, yaitu berdasarkan perangkat lunak dan perangkat keras.
o Pendekatan perangkat lunak mengandalkan kompiler untuk memaksimalkan pemakaian register. Pendakatan ini membutuhkan algoritma analisis program yang canggih.
o 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
v 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 tenporer
Digunakan untuk pertukaran parameter.
v Overlap ini memungkinkan parameter-parameter dapat dilewatkan tanpa perpindahan aktual data.
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.
sumber : silahkan klik link berikut ;
id.wikipedia.org
elektroindonesia.com
www.suwidi.or.id/downloads/kuliah/...
Tidak ada komentar:
Posting Komentar