Dalam mengimplementasi
pipelining, terdapat 3 kondisi yang menyebabkan pipelining kehilangan sebagian
total kinerja yang bisa diraih. 3 kondisi ini dikenal dengan hazard.
1.
Structural
Hazard
Structural hazard
terjadi karena adanya konflik dalam penggunaan resource oleh masing-masing
instruksi yang sedang berada dalam pipeline.
Pipelining pada
dasarnya memungkinkan beberapa instruksi dikerjakan dalam waktu yang bersamaan.
Ketika masing-masing instruksi tersebut dieksekusi, mesin harus mampu memenuhi
resource yang dibutuhkan. Ada kalanya mesin tidak mampu melakukan hal tersebut,
yang menyebabkan sebuah resource mengalami konflik dalam penggunaannya oleh
instruksi-instruksi yang kebetulan akan mengakses resource yang sama.


