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

Give brief explanation about the keyboards, Give brief explanation about th...

Give brief explanation about the keyboards Keyboards are generally not offered as the number of options is limited and owners of the system do not want customers keying in info

Explain the use of structures with pointers., Explain the use of structures...

Explain the use of structures with pointers C permits a pointer to a structure variable. In fact a pointer to a structure is same to a pointer to any other variable. The pointe

What is segment - assembler directives, What is SEGMENT - Assembler directi...

What is SEGMENT - Assembler directives SEGMENT:  This directive defines to assembler the start of a segment with name segment-name.  Segment name must be unique and follows the

State in brief about the pseudo instruction, State in brief about the pseud...

State in brief about the pseudo instruction A pseudo instruction isn't a real instruction. CPU can't execute it. It often requires a complex architectural operation and if it w

Master scheduling , The alpha beta company generates two products; A and B,...

The alpha beta company generates two products; A and B, that are made from components C and D. Given the following product structures, master scheduling requirements and inventory

Determine the uses of defparam, Using defparam Parameter values can be ...

Using defparam Parameter values can be changed in any module instance in the design with keyword defparam. Hierarchical name of the module instance can be used to override para

Expalin massively parallel system and scalability, Massively Parallel Syste...

Massively Parallel System Indicates to a "parallel computer system" involving a huge number of processors. The numbers in a huge number of processors keeps increasing and curre

Determine frame time and propagation time in a lan, Maximum channel utiliza...

Maximum channel utilization in a LAN is defined by frame time (t f ) and propagation time (t p ). It is defined by (A) t p /t f (B) t f /t p  (C) 1 + (t f /t p )

How many lists can a program can produce, How many lists can a program can ...

How many lists can a program can produce? Every program can produce up to 21 lists: one basic list and 20 secondary lists.  If the user makes a list on the next level (that is,

Illustrate the uses of assembly language, Q. Illustrate the Uses of Assembl...

Q. Illustrate the Uses of Assembly Language? Uses of Assembly Language Assembly language is used mainly for writing short, efficient, specific interfacing modules/ subrou

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