Penjelasan Tentang RISC dan Pipelining RISC
1 1. REDUCE INSTRUCTION SET COMPUTER
(RISC) .
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 Berkely.
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 IntelIntel 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 Ultra SPARC 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.
Karakteristik RISC
Arsitektur
RISC memiliki beberapa karakteristik diantaranya :
· 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.
· 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.
· 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.
· 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
Ciri-ciri RISC
· Instruksi berukuran tunggal
·
Ukuran yang
umum adalah 4 byte
·
Jumlah
pengalamatan data sedikit, biasanya kurang dari 5 buah.
· Tidak
terdapat pengalamatan tak langsung yang mengharuskan melakukan sebuah akses memori agar memperoleh alamat operand
lainnya dalam memori.
· Tidak
terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmatika, seperti penambahan ke memori
dan penambahan dari memori.
·
Tidak
terdapat lebih dari satu operand beralamat memori per instruksi
·
Tidak
mendukung perataan sembarang bagi data untuk operasi load/ store.
· Jumlah
maksimum pemakaian memori manajemen bagi suatu alamat data adalah sebuah instruksi .
· Jumlah bit
bagi integer register spesifier sama dengan 5 atau lebih, artinya sedikitnya 32
buah register integer dapat direferensikan
sekaligus secara eksplisit.
· Jumlah bit
floating point register spesifier sama dengan 4 atau lebih, artinya sedikitnya 16 register floating point dapat
direferensikan sekaligus secara eksplisit.
2.
PIPELINING
.
Pengertian pipelining, pipelining
yaitu suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama
tetapi dalam tahap yang berbeda yang dialirkan secara kontinu pada unit
pemrosesan. Dengan cara ini, maka unit pemrosesan selalu bekerja.
Teknik pipeline ini dapat diterapkan
pada berbagai tingkatan dalam sistemkomputer. Bisa pada level yang tinggi,
misalnya program aplikasi, sampai pada tingkat yang rendah, seperti pada
instruksi yang dijalankan oleh microprocessor.
A. Pengenalan Pipeline.
Prosesor Pipeline yang berputar adalah prosesor baru
untuk arsitektur superscalar komputasi. Ini didasarkan pada cara yang mudah dan
pipeline yang biasa, struktur yang dapat mendukung beberapa ALU untuk lebih
efisien dalam pengiriman dari bagian beberapa instruksi. Daftar nilai arus yang
berputar di sekitar pipa, dibuat oleh dependensi data lokal. Selama operasi
normal, kontrol sirkuit tidak berada pada jalur yang kritis dan kinerja hanya
dibatasi oleh data harga. Operasi mengalir dengan interval waktu sendiri. Ide
utama dari Pipeline Prosesor yang berputar adalah circular uni-arah mengalir
dari memori register oleh pusat waktu logika dan proses secara parallel dari
operasi ALU .
* Keuntungan
pipelining .
1. Waktu
siklus prosesor berkurang, sehingga meningkatkan tingkat instruksi dalam kebanyakan kasus( lebih cepat selesai).
2. Beberapa
combinational sirkuit seperti penambah atau pengganda dapat dibuat lebih cepat dengan menambahkan lebih
banyak sirkuit. Jika pipelining digunakan sebagai pengganti, hal itu dapat menghemat sirkuit &
combinational yang lebih kompleks.
3. Pemrosesan
dapat dilakukan lebih cepat, dikarenakan beberapa proses dilakukan secara bersamaan dalam satu waktu.
Kekurangan Pipelining:
1. Pipelined
prosesor menjalankan beberapa instruksi pada satu waktu. Jika ada beberapa cabang yang mengalami penundaan cabang
(penundaan memproses data) dan akibatnya proses
yang dilakukan cenderung lebih lama.
2. Instruksi
latency di non-pipelined prosesor sedikit lebih rendah daripada dalam pipelined setara. Hal ini disebabkan
oleh fakta bahwa intruksi ekstra harus ditambahkan ke jalur data dari prosesor pipeline.
3. Kinerja
prosesor di pipeline jauh lebih sulit untuk meramalkan dan dapat bervariasi lebih luas di antara program yang berbeda.
4. Karena
beberapa instruksi diproses secara bersamaan ada kemungkinan instruksi tersebut
sama-sama memerlukan resource yang sama, sehingga diperlukan adanya pengaturan yang tepat agar proses tetap
berjalan dengan benar.
5. Sedangkan ketergantungan terhadap data, bisa
muncul, misalnya instruksi yang berurutan
memerlukan data dari instruksi yang sebelumnya.
6. Kasus
Jump, juga perlu perhatian, karena ketika sebuah instruksi meminta untuk melompat
ke suatu lokasi memori tertentu, akan terjadi perubahan program counter, sedangkan instruksi yang sedang berada
dalam salah satu tahap proses yang berikutnya mungkin tidak mengharapkan
terjadinya perubahan program counter.
*
Kesulitan dalam Pipeline
Untuk menerapkan prinsip multi-stage atau mulai saat
ini kita namakan pipelining di prosesor, diperlukan organisasi prosesor khusus.
Pada dasarnya, prosesor dipartisi menjadi sejumlah unit-unit kecil dengan
fungsi spesifik. Setiap unit berperan untuk menyelesaikan sebagian
dari instruksi-intruksi berikut :
Instruction fetch, decode, operand address calculation,
operand fetch, execute dan store result.
Dalam proses di atas terkadang sering terjadi kendala/conflict
seperti:
1. Terjadinya pause
(Pi), karena adanya data conflict dalam program tersebut
2. Terjadinya data error
dikarenakan banyaknya proses yang dilakukan bersamaan
3. Terjadinya
pengambilan data secara bersamaan, sehingga salah satu proses tertunda
4. Terjadinya penumpukan
data di salah satu intruksi sehingga ada beberapa proses yg di tunda
5. Dengan terjadinya
conflict tadi, speed-up yang diperoleh menjadi lebih kecil (lambat)
dibandingkan dengan tanpa conclict.
Sumber:
Tidak ada komentar:
Posting Komentar