Wednesday, December 18, 2019

Pipelining dan RISC


A.    Pipelining
Pipeline adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi dalam tahap yang berbeda yang dialirkan secara kontinu pada unit pemrosesor. 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.
Konsep Pipelining
Konsep pemrosesan pipeline dalam suatu komputer mirip dengan suatu baris pencucian dalam suatu laundry. Ambil contoh, suatu proses pencucian pada laundry: anggaplah bahwa langkah-langkah tertentu di jalur perakitan adalah sub proses 1 adalah pencucian, sub proses 2 adalah pengeriangan, dan sub proses 3 adalah pelipatan. Sebuah pakaian kotor di jalur pencucial hanya dapat memiliki salah satu dari tiga tahap yang dilakukan sekaligus.

  1. Setelah pakaian A masuk pada tahap pencucian,
  2. Setelah selesai pakaian A masuk ke tahap pengeringan disisi lain pakaian B masuk pada tahap pencucian.
  3. Setelah selesai pakaian A masuk ke tahap pelipatan dan pakaian B masuk ke tahap pengeringan disisi lain pakaian C masuk pada tahap pencucian.
  4. Dan begitu sampai selesai
Dengan adanya persyaratan bahwa setiap instuksi yang berdekatan harus tidak saling bergantung, maka ada kemungkinan terjadinya situasi dimana pipeline gagal dilaksanakan (instruksi berikutnya tidak bisa dilaksanakan). Situasi ini disebut Hazards. Hazards mengurangi performansi dari CPU dimana percepatan ideal tidak dapat dicapai.
Ada 3 kelompok Hazards :
  1. Structural Hazards muncul dari konflik resource sistem yaitu ketika hardware tidak dapat mensuport semua kemungkinan kombinasi pelaksanaan instruksi.
  2. Data Hazards muncul ketika data untuk suatu instruksi tergantung pada hasil instruksi sebelumnya.
  3. Control Hazards muncul pada pelaksanaan instruksi yang mengubah PC (contoh : branch).
Adanya Hazards menyebabkan pipeline terhambat (stalled). Tidak ada instruksi baru yang dijemput sampai hambatan itu selesai. Ini berarti instruksi-instruksi selanjutnya akan ditunda pula penjemputannya.
Keuntungan dari 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 dari 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.
B.     RISC (Reduce Instruction Set Computer)



RISC (Reduce Instruction Set Computer) atau komputasi set instruksi yang disederhanakan merupakan sebuah arsitektur komputer atau arsitektur komputasi modern dengan instruksi-instruksi dan jenis eksekusi yang paling sederhana. Proyek RISC pertama dibuat oleh IBM, stanford dan UC –Berkeley pada akhir tahun 70 dan awal tahun 80an. IBM 801, Stanford MIPS, dan Barkeley RISC 1 dan 2 dibuat dengan konsep yang sama sehingga dikenal sebagai RISC.
Arsitektur ini digunakan pada komputer dengan kinerja tinggi, seperti komputer vector. Desain ini juga diimplementasikan pada prosesor komputer lain, seperti pada beberapa mikroprosesor intel 960, Itanium (IA64) dari Intel Coorporatoin. Selain itu RISC juga umum dipakai pada Advanced RUSC Machine (ARM) dan Strong ARM.

Beberapa elemen penting pada arsitektur RISC :
1.      Set instruksi yang terbatas dan sederhana
2.      Register general-purpose yang berjumlah banyak, atau penggunaan teknologi kompiler untuk mengoptimalkan pemakaian registernya.
3.      Penekanan pada pengoptimalan pipeline instruksi.
RISC mempunyai karakteristik :
1.      One cycle execution time : satu putaran eksekusi. Prosessor    RISC mempunyai CPI (clock per instruction) atau waktu per instruksi untuk setiap putaran. Hal ini dimaksud untuk mengoptimalkan setiap instruksi pada CPU.
2.      Large number of registers: Jumlah register yang sangat banyak. RISC di Desain dimaksudkan untuk dapat menampung jumlah register yang sangat banyak untuk mengantisipasi agar tidak terjadi interaksi yang berlebih dengan memory.
3.      Pipelining : adalah sebuah teknik yang memungkinkan dapat melakukan eksekusi secara simultan.Sehingga proses instruksi lebih efiisien.

Ciri – ciri RISC :

1.    Instruksi berukuran tunggal
2.    Ukuran yang umum adalah 4 byte
3.    Jumlah pengalamatan data sedikit,
4.    Tidak terdapat pengalamatan tak langsung
5.    Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmatika
6.    Tidak terdapat lebih dari satu operand beralamat memori per instruksi
7.    Tidak mendukung perataan sembarang bagi data untuk operasi load/ store.
8.    Jumlah maksimum pemakaian memori manajemen bagi suatu alamat data adalah sebuah instruksi .

Ditinjau dari jenis set instruksinya, ada 2 jenis arsitektur komputer, yaitu:
·        Arsitektur komputer dengan kumpulan perintah yang rumit (Complex Instruction Set Computer = CISC)
·        Arsitektur komputer dengan kumpulan perintah yang sederhana (Reduced Instruction Set Computer = RISC)

Referensi   :
·         http://fromengineering4you.blogspot.com/2015/12/pengertian-risc-reducet-instruction-set.html

No comments:

Post a Comment