Hazards of pipeline - computer architecture, Computer Engineering

Assignment Help:

Hazards of pipeline - computer architecture:

Hazards: When a programmer (or compiler) writes assembly program code, they make the supposition that each instruction is executed before execution of the subsequent instruction is started. This supposition is invalidated by pipelining. When it causes a program to behave not correctly, this situation is known as a hazard. many techniques for resolving hazards such as stalling exist and forwarding.

Non-pipeline architecture is not efficient because some CPU components (modules) are idle as another module is active at the time instruction cycle. Pipelining does not fully cancel out idle time in a CPU but building those modules work in parallel improves program execution considerably.

Processors having pipelining are organized inside into stages which can semi-independently work on distant jobs. Each stage is organized and connected into a 'chain' so each stage's output is fed to another stage till the job is done. This organization of the processor permits overall processing time to be considerably reduced.

A deeper pipeline means that there are more stages in the pipeline, and so, fewer logic gates in each pipeline. It usually means that the processor's frequency may be increased as the cycle time is lowered. It happens due to the reason of fewer components in each stage of the pipeline; as a result the propagation delay is decreased for the whole stage.

Unluckily, not all of the instructions are independent. In a pipeline, finishing an instruction may need 5 stages. To operate at complete performance, this pipeline will required to run 4 subsequent independent instructions as the first is completing. If four instructions that do not depend on the output of the initial instruction are not available, the pipeline control logic has to insert a stall or wasted clock cycle into the pipeline till the dependency is resolved. Luckily, techniques like forwarding can considerably reduce the cases where stalling is needed. Whereas pipelining may in theory increase performance on a un pipelined core by a factor of the number of stages (presumptuous the clock frequency also scales with the number of stages), in fact, most of the code does not permit for ideal execution.


Related Discussions:- Hazards of pipeline - computer architecture

Define grammar of a language, Define Grammar of a language. A formal la...

Define Grammar of a language. A formal language grammar is a set of formation rules which describe that strings formed from the alphabet of a formal language are syntactically

Sequential execution of instructions in risc, Q. Sequential Execution of In...

Q. Sequential Execution of Instructions in RISC? Let's describe pipelining in RISC with an illustration program execution sample. Take the given program (R denotes register).

What is multiplexer, Q. What is multiplexer? Explain 4 X 1 Multiplexer.   ...

Q. What is multiplexer? Explain 4 X 1 Multiplexer.    Q. Explain the working of a Binary Half-Adder. Construct a Full-Adder from Half- Adder. Also draw the circuit diagram of full

Multi-layer artificial neural networks, Multi-Layer Artificial Neural Netwo...

Multi-Layer Artificial Neural Networks - Artificial intelligence: Now we can look at more sophisticated ANNs, which are known multi-layer artificial neural networks because the

C LANGUAGE, 4) A positive integer is entered through the keyboard;write a ...

4) A positive integer is entered through the keyboard;write a function to find the binary equivalent of this number using recursion.

What is the difference between wire and register, What is the difference be...

What is the difference between wire and reg Wire Wire is used for designing combinational logic, as we all know that this type of logic cannot store a value.  As  you  can

Explain about synchronous dram, Q. Explain about Synchronous DRAM? One ...

Q. Explain about Synchronous DRAM? One of the most broadly used forms of DRAM is synchronous DRAM (SDRAM). Unlike the conventional DRAM that is asynchronous SDRAM exchanges dat

What are set up time and hold time constraints, What are set up time and ho...

What are set up time and hold time constraints? What do they mean? Which one is crucial for establishing maximum clock frequency of a circuit? Set up time is the amount of time

Discuss the concept of segmentation, Discuss the concept of segmentation? ...

Discuss the concept of segmentation? Segmentation is method for the non contiguous storage allocation. This is different from paging as this supports user's view of his program

Define the public and extrn directives- assembler directives, Define the PU...

Define the PUBLIC and EXTRN directives- Assembler directives PUBLIC and EXTRN directives are very significant to modular programming. PUBLIC used to declare that labels of data

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd