1.
Definisi RISC
Reduced Instruction Set Computing (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.
2.
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.
3.
Definisi 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 sistem komputer. Bisa pada level yang tinggi, misalnya program aplikasi,
sampai pada tingkat yang rendah, seperti pada instruksi yang dijalankan oleh
microprocessor.
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.
Struktur lain yang menggunakan penyelesaian deteksi atau
selain penundaan yang tepat dari pengaturan waktu pusat tetapi karena masalah
waktu yang Syncronization, Pipelines memaksakan sebuah penurunan kinerja.
Misalnya counterflow pipeline prosesor yang dirancang sekitar dua arah, pipa
membawa petunjuk dan argumen dalam satu arah dan hasil yang lainnya b ini dapat
menyebabkan Syncronization masalah antara prosesor.
Pipeline yang berputar menghindari masalah yang hanya melewati
data dalam satu arah. Pada prinsipnya, prosesor dari register terus beredar di
sekitar cincin yang berhubungan dengan berbagai fungsi ALU, akses memori dan
sebagainya .ada tiap tahap, nilai-nilai yang memeriksa dan disampaikan,
kemungkinan setelah perubahan, tidak signifikan dengan pengeluaran tambahan
untuk sinkronisasi. Dispatched adalah instruksi dari pusat ke fungsi unit yang
memungkinkan beberapa masalah instruksi .
4.
Tahapan pipeline
·
Mengambil instruksi dan
membuffferkannya
·
Ketika tahapan kedua bebas
tahapan pertama mengirimkan instruksi yang dibufferkan tersebut .
·
Pada saat tahapan kedua
sedang mengeksekusi instruksi, tahapan pertama memanfaatkan siklus memori yang
tidak dipakai untuk mengambil dan membuffferkan instruksi berikutnya .
5.
Instuksi pipeline
Karena untuk setiap tahap pengerjaan instruksi, komponen yang
bekerja berbeda, maka dimungkinkan untuk mengisi kekosongan kerja di komponen
tersebut. Sebagai contoh :
Instruksi 1: ADD AX, AX
Instruksi 2: ADD EX, CX
Setelah CU menjemput instruksi 1 dari memori (IF), CU akan
menerjemahkan instruksi tersebut(ID). Pada menerjemahkan instruksi 1 tersebut, komponen IF tidak bekerja. Adanya
teknologi pipeline menyebabkan IF akan menjemput instruksi 2 pada saat ID
menerjemahkan instruksi 1. Demikian seterusnya pada saat CU menjalankan
instruksi 1 (EX), instruksi 2 diterjemahkan (ID).
6.
Keuntungan pipelining
·
Waktu siklus prosesor
berkurang, sehingga meningkatkan tingkat instruksi dalam kebanyakan kasus(
lebih cepat selesai).
·
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.
·
Pemrosesan dapat dilakukan
lebih cepat, dikarenakan beberapa proses dilakukan secara bersamaan dalam satu
waktu.
7.
Kerugian pipeline
·
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.
·
Instruksi latency di
non-pipelined prosesor sedikit lebih rendah daripada dalam pipelined setara.
Hal ini disebabkan oleh fakta bahwa instruksi ekstra harus ditambahkan ke jalur
data dari prosesor pipeline.
·
Kinerja prosesor di
pipeline jauh lebih sulit untuk meramalkan dan dapat bervariasi lebih luas di
antara program yang berbeda.
·
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.
·
Sedangkan ketergantungan
terhadap data, bisa muncul, misalnya instruksi yang berurutan memerlukan data
dari instruksi yang sebelumnya.
·
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.
Sumber:
https://id.wikipedia.org/wiki/RISC
http://andi-granderist.blogspot.co.id/2013/01/pipelining-risc-dan-prosesor-paralel.html
Tidak ada komentar:
Posting Komentar