Pipelining adalah suatu teknik implementasi dengan mana berbagai instruksi dapat dilaksanakan secara tumpang tindih (overlapped; hal ini mengambil keuntungan paralelisme yang ada di antara tindakan yang diperlukan untuk mengeksekusi suatu instruksi. Di dalam pipeline suatu komputer, masing-masing langkah di dalam pipeline melengkapi bagian-bagian dari suatu instruksi. Masing-masing langkah disebut stage atau segment. Stage dihubungkan satu terhadap lainnya sehingga membentuk yang pipe-instruction pada bagian akhir stage. Mirip dengan proses pada suatu industri manufaktur.
Pipelining menghasilkan
reduksi untuk rata-rata waktu eksekusi per instruksi.
Pipeline adalah suatu teknik implementasi yang memanfaatkan
paralelisme di antara instruksiinstruksi dalam laju instruksi sekuensial.
Hambatan utama terhadap Pipelining
Ada situasi yang menyebabkan
hambatan dalam implementasi Pipeline yang disebut hazard (resiko), yang akan mencegah instruksi yang berikutnya dalam
laju instruksi untuk diekseskusi selama siklus yang ditunjuk. Hazard mereduksi laju kinerja ideal yang
dihasilkan suatu pipelining. Ada tiga kelas hazard:
1.
Structural
Hazard muncul akibat
benturan sumberdaya manakala perangkat keras tidak dapat mendukung semua
kombinasi instruksi secara serempak
dalam eksekusi secara tumpang tindih.
2.
Data
hazard muncul manakala suatu instruksi tergantung pada
hasil dari suatu instruksi sebelumnya pada
eksekusi instruksi tumpang tindih.
3.
Control
hazard muncul pada pipelining dengan instruksi pencabangan
dan instruksi lain yang mengubah nilai program
counter.
Hazard
dalam pipeline dapat mengakibatkan diperlukannya stall
terhadap pipeline. Pencegahan hazard
seringkali memerlukan beberapa instruksi ditunda, sementara lainnya diproses. Posted in Computer
. Kuliah
by Danu Akbar
Tidak ada komentar:
Posting Komentar