Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Hazard (computer architecture)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Generic=== ==== {{Anchor|PIPELINE-FLUSH}}Pipeline bubbling ==== {{Main|Bubble (computing)}} ''Bubbling the pipeline'', also termed a ''pipeline break'' or ''pipeline stall'', is a method to preclude data, structural, and branch hazards. As instructions are fetched, control logic determines whether a hazard could/will occur. If this is true, then the control logic inserts {{Mono|no operation}}s ({{Mono|[[NOP (code)|NOP]]}}s) into the pipeline. Thus, before the next instruction (which would cause the hazard) executes, the prior one will have had sufficient time to finish and prevent the hazard. If the number of {{Mono|NOP}}s equals the number of stages in the pipeline, the processor has been cleared of all instructions and can proceed free from hazards. All forms of stalling introduce a delay before the processor can resume execution. ''Flushing the pipeline'' occurs when a branch instruction jumps to a new memory location, invalidating all prior stages in the pipeline. These prior stages are cleared, allowing the pipeline to continue at the new instruction indicated by the branch.<ref>{{cite web | url = http://www.cs.iastate.edu/~prabhu/Tutorial/PIPELINE/branchPred.html | title = Branch Prediction Schemes | date = 2001-04-06 | access-date = 2014-07-19 | website = cs.iastate.edu }}</ref><ref>{{cite web | url = http://classes.soe.ucsc.edu/cmpe110/Winter04/pipelining.txt | title = Data and Control Hazards | date = 2004-02-23 | access-date = 2014-07-19 | website = classes.soe.ucsc.edu }}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)