Actually this is a exam paper question I found during studying pipelined MIPS architecture.My idea is designers allow to occur hazards because of the cost to make complex design to prevent hazards,so it may be better to allow them than preventing them...It's just my idea..


closed as primarily opinion-based by Ran G., fade2black, Evil, David Richerby, Juho Jan 10 '18 at 19:32

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    $\begingroup$ This seems like an open-ended, opinion-based question. Can you clarify which facts you are interested in? $\endgroup$ – Raphael Jan 4 '18 at 12:14
  • 1
    $\begingroup$ What's hilarious about "pipeline hazards" is this set of vulnerabilities related to speculative execution have just been reported. $\endgroup$ – Nat Jan 4 '18 at 12:21
  • $\begingroup$ I am not sure what your question is. As soon as your processor has a pipeline, the notion of hazard exists because some instructions cannot be executed and thus some bubbles need to be inserted to get a correct result. Designers do not "choose" to have hazards (however the ISA may influence which hazard exist), they however have to choose how to deal with them. A common solution to avoid stalling too much is forwarding. The other option is to avoid pipelining altogether but this is a bad idea performance-wise. $\endgroup$ – Amaury Pouly Jan 4 '18 at 16:13