RISC
Pada tahun 1980,
John Cocke di IBM menghasilkan minikomputer eksperimental, yaitu IBM 801 dengan
prosesor komersial pertama yang menggunakan RISC. Pada tahun itu juga, Kelompok
Barkeley yang dipimpin David Patterson mulai meneliti rancangan RISC dengan
menghasilkan RISC-1 dan RISC-2.
Kata “reduced”
berarti pengurangan pada set instruksi. RISC merupakan rancangan arsitektur CPU
yang mengembil dasar filosofi bahwa prosesor dibuat dengan arsitektur yang
tidak rumit dengan membatasi jumlah instruksi hanya pada instruksi dasar yang
diperlukan saja. Dengan kata lain RISC adalah arsitektur komputer dengan
kumpulan perintah (instruksi) yang sederhana, tetapi dalam kesederhanaan
tersebut didapatkan kecepatan operasi setiap siklus instruksinya. Kebanyakan pada
proses RISC , instruksi operasi dasar aritmatik hanya penjumlahan dan
pengurangan, untuk perkalian dan pembagian sudah dianggap operasi ang kompleks.
RISC menyederhanakan rumusan perintah sehingga lebih efisien dalam penyusunan
kompiler yang pada akhirnya dapat memaksimumkan kinerja program yang ditulis
dalam bahasa tingkat tinggi.
Ciri-ciri
karakteristik RISC :
a. Instruksi
berukuran tunggal.
b. Ukuran
yang umum adalah 4 byte.
c. Jumlah
mode pengalamatan data yang sedikit, biasanya kurang dari lima buah.
d. Tidak
terdapat pengalamatan tak langsung.
e. Tidak
terdapat operasi yang menggabungkan operasi load/store dengan operasi
aritmatika.
Ada tiga buah
elemen yang menentukan karakter arsitektur RISC, yaitu:
·
Penggunaan register
dalam jumlah yang besar. Hal ini dimaksudkan untuk mengoptimalkan pereferensian
operand.
· 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.
·
Terdapat set
instruksi yang disederhanakan (dikurangi).
Waktu eksekusi dapat dirumuskan dengan:
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 (jumlah perintah), 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.
Pipelining RISC
Pipelining
yaitu suatu cara yang digunakan untuk melakukan sejumlah kerja secara
bersama tetapi dalam tahap berbeda yang jalankan secara kontinu pada unit
pemrosesan. Dengan cara ini, maka unit pemrosesan selalu bekerja.
Teknik
pipeline ini dapat diterapkan pada berbagai tingkatan dalam sistem komputer, seperti
pada instruksi yang dijalankan oleh microprocessor.
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.
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.
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 .
Tahapan
pipeline :
1. Mengambil
instruksi dan membuffferkannya
2. Ketika
tahapan kedua bebas tahapan pertama mengirimkan instruksi yang dibufferkan
tersebut.
3. Pada saat tahapan kedua
sedang mengeksekusi instruksi, tahapan pertama memanfaatkan siklus memori yang
tidak dipakai untuk mengambil dan membuffferkan instruksi berikutnya .
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).
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.
Kerugian
pipeline:
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.
Tidak ada komentar:
Posting Komentar