Pipeline Conflicts | Computer Architecture & Organisation (CAO) - Computer Science Engineering (CSE) PDF Download

Pipeline Conflicts

  • In general, there are three major difficulties that cause the instruction pipeline to deviate from its normal operation.
    • Resource conflicts caused by access to memory by two segments at the same time.
  •  Can be resolved by using separate instruction and data memories
    • Data dependency conflicts arise when an instruction depends on the result of a previous instruction, but this result is not yet available.
    • Branch difficulties arise from branch and other instructions that change the value of PC.
  • A difficulty that may cause a degradation of performance in an instruction pipeline is due to possible collision of data or address.
    • A data dependency occurs when an instruction needs data that are not yet available.
    • An address dependency may occur when an operand address cannot be calculated because the information needed by the addressing mode is not available.
  • Pipelined computers deal with such conflicts between data dependencies in a variety of ways.

Question for Pipeline Conflicts
Try yourself:
What are the three major difficulties that cause the instruction pipeline to deviate from its normal operation?
View Solution

Data Dependency Solutions 

  • Hardware interlocks:
    an interlock is a circuit that detects instructions whose source operands are destinations of instructions farther up in the pipeline.
    • This approach maintains the program sequence by using hardware to insert the required delays.
  • Operand forwarding:
    uses special hardware to detect a conflict and then avoid it by routing the data through special paths between pipeline segments.
    • This method requires additional hardware paths through multiplexers as well as the circuit that detects the conflict.
  • Delayed load: the compiler for such computers is designed to detect a data conflict and reorder the instructions as necessary to delay the loading of the conflicting data by inserting no-operation instructions.

Handling of Branch Instructions

  • One of the major problems in operating an instruction pipeline is the occurrence of branch instructions.
    • An unconditional branch always alters the sequential program flow by loading the program counter with the target address.
    • In a conditional branch, the control selects the target instruction if the condition is satisfied or the next sequential instruction if the condition is not satisfied.
  • Pipelined computers employ various hardware techniques to minimize the performance degradation caused by instruction branching.
  • Prefetch target instruction: To prefetch the target instruction in addition to the instruction following the branch. Both are saved until the branch is executed.
  • Branch target buffer(BTB): The BTB is an associative memory included in the fetch segment of the pipeline.
    • Each entry in the BTB consists of the address of a previously executed branch instruction and the target instruction for that branch.
    • It also stores the next few instructions after the branch target instruction
  • Loop buffer: This is a small very high speed register file maintained by the instruction fetch segment of the pipeline.  
  • Branch prediction: A pipeline with branch prediction uses some additional logic to guess the outcome of a conditional branch instruction before it is executed.
  • Delayed branch: in this procedure, the compiler detects the branch instructions and rearranges the machine language code sequence by inserting useful instructions that keep the pipeline operating without interruptions.
    • A procedure employed in most RISC processors.
    • e.g. no-operation instruction
The document Pipeline Conflicts | Computer Architecture & Organisation (CAO) - Computer Science Engineering (CSE) is a part of the Computer Science Engineering (CSE) Course Computer Architecture & Organisation (CAO).
All you need of Computer Science Engineering (CSE) at this link: Computer Science Engineering (CSE)
20 videos|86 docs|48 tests

Top Courses for Computer Science Engineering (CSE)

FAQs on Pipeline Conflicts - Computer Architecture & Organisation (CAO) - Computer Science Engineering (CSE)

1. What are pipeline conflicts?
Ans. Pipeline conflicts refer to disputes that arise due to the construction, expansion, or operation of pipelines. These conflicts may include land-use issues, environmental concerns, indigenous rights, and public safety, among others.
2. What are some examples of pipeline conflicts?
Ans. Some examples of pipeline conflicts include the Keystone XL pipeline, the Dakota Access pipeline, and the Trans Mountain pipeline. These projects have faced opposition from environmental activists, indigenous communities, and other groups concerned about the impact of pipelines on land, water, and wildlife.
3. How are pipeline conflicts typically resolved?
Ans. Pipeline conflicts can be resolved through a variety of means, including negotiation, mediation, litigation, and government intervention. In some cases, pipeline companies may agree to reroute their pipelines or make other changes to address the concerns of local communities.
4. What are the potential consequences of pipeline conflicts?
Ans. Pipeline conflicts can have a range of consequences, including delays and cost overruns for pipeline projects, legal expenses for pipeline companies, and damage to the environment and local communities. They can also lead to increased public scrutiny of the fossil fuel industry and calls for greater investment in renewable energy.
5. How can individuals and communities get involved in pipeline conflicts?
Ans. Individuals and communities can get involved in pipeline conflicts by attending public meetings, contacting elected officials, joining local advocacy groups, and participating in protests or other forms of direct action. They can also support efforts to transition to cleaner forms of energy and reduce dependence on fossil fuels.
20 videos|86 docs|48 tests
Download as PDF
Explore Courses for Computer Science Engineering (CSE) exam

Top Courses for Computer Science Engineering (CSE)

Signup for Free!
Signup to see your scores go up within 7 days! Learn & Practice with 1000+ FREE Notes, Videos & Tests.
10M+ students study on EduRev
Related Searches

practice quizzes

,

shortcuts and tricks

,

ppt

,

Pipeline Conflicts | Computer Architecture & Organisation (CAO) - Computer Science Engineering (CSE)

,

Pipeline Conflicts | Computer Architecture & Organisation (CAO) - Computer Science Engineering (CSE)

,

pdf

,

Exam

,

Viva Questions

,

Objective type Questions

,

video lectures

,

Important questions

,

Previous Year Questions with Solutions

,

Pipeline Conflicts | Computer Architecture & Organisation (CAO) - Computer Science Engineering (CSE)

,

Extra Questions

,

study material

,

Free

,

past year papers

,

Summary

,

mock tests for examination

,

Semester Notes

,

Sample Paper

,

MCQs

;