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 sistemkomputer. Seperti pada instruksi yang dijalankan oleh microprocessor. Tanpa pipelining, prosesor komputer mendapatkan instruksi pertama dari memori, melakukan operasi yang diperintahkan, lalu melanjutkan mengambil instruksi selanjutnya dari memori, dan seterusnya. Saat mengambil instruksi bagian aritmatik dari prosesor dalam kondisi menunggu (idle). Bagian aritmatik akan tetap menunggu sampai instruksi selanjutnya. Dengan menggunakan pipelining, arsitektur komputer mengizinkan instruksi selanjutnya untuk dieksekusi ketika prosesor sedang melakukan operasi aritmatik, menyimpan instruksi yang akan dijalankan di dalam buffer yang dekat dengan prosesor sampai setiap operasi instruksi dijalankan. Proses pengambilan instruksi dilakukan secara kontinu. Dampak yang diberikan adalah jumlah instruksi yang dapat dijalankan lebih banyak dengan periode waktu yang lebih sedikit.
Tahapan Pipeline
- Mengambil instruksi dan mem-bufferkannya
- 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
- 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.
- 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 intruksi 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.
Reduced Instruction Set Computer (RISC, bahasa Inggris untuk “Komputasi set instruksi yang disederhanakan”) adalah filosofi desain untuk prosesor komputer, yang lebih suka menggunakan instruksi mesin sederhana. Istilah ini diciptakan pada tahun 1980 oleh David A. Patterson und Carlo H. Séquin. Dengan pembatasan pada perintah sederhana ini, maka desain chip juga menjadi sederhana dan dimungkinkan detak clock yang tinggi (cepat) untuk Prosesor RISC. Lawan dari filosofi disain RISC adalah Complex Instruction Set Computer (CISC).
Sebuah set instruksi RISC dibebaskan dari perintah yang kompleks –
terutama mereka pada saat menggabungkan akses memori (perlahan) dengan
operasi aritmatika (cepat). Dengan demikian, tingkat pipa prosesor
(processor pipeline) dapat disetel dengan baik, langkah menjadi lebih
pendek, pipeline dapat di clock lebih cepat dan dimanfaatkan lebih
berimbang, karena jumlah “penyumbatan” (stalls) berkurang. Alhasil,
karakteristik ini menghasilkan keuntungan besar dalam efisiensi. Kecuali
itu, perintah sederhana juga dapat dikodekan dengan lebar yang seragam,
dan dibandingkan arsitektur CISC upaya dekoder menjadi lebih rendah,
sehingga latensi pipeline jauh berkurang.
Set instruksi prosesor CISC biasanya diimplementasikan dalam bentuk microcode, sementara pada prosesor RISC, perintah diterapkan secara individu tertanam. Arsitektur RISC 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.
Referensi :
1. http://whatis.techtarget.com/definition/pipelining
2. http://iranwaysqorni.blogspot.co.id/2015/01/penjelasan-risc-dan-pipelining-risc.html
3. http://gudanglinux.com/glossary/risc-reduced-instruction-set-computer/
4. http://teguhmuhazir.blogspot.co.id/2016/12/pipelining-risc-reduced-instruction-set.html
5. http://4ib02celektro.blogspot.co.id/2016/12/pipelining-risc-reduce-instruction-set.html
Tidak ada komentar:
Posting Komentar