Problem occurs during pipelining , Basic Computer Science

Assignment Help:
While pipelining can cruelly cut the time taken to execute a program, there are troubles that cause it to not work as well as it possibly shall. The three stages of the instruction execution process do not essentially take an equal amount of time, with the time taken for ''execute'' being usually longer than ''fetch''. This makes it much harder to synchronize a variety of stages of the different instructions. Also, some instructions may be dependent on the results of other previous instructions. This can arise when data produced previous needs to be used, or when a conditional branch based on a previous result is used.
One of the easiest ways in which the effects of these troubles can be reduced is by breaking the instruction execution cycle into stages that are more possible to be of an equal duration.
Although, while this may resolve some of the troubles outlined above, it is not without creating further tribulations of its own. Initially, it is not always the case than an instruction will use all six of these stages. Easy load instructions, for example, will not require the use of the final ''write operand'' stage, which would perhaps upset the synchronization. There is also the matter of potential variances within the memory system, as three of the above stages (fetch instruction, fetch operands, write operand) need access to the memory. Many memory management systems would not permit three separate instructions to be accessing the memory immediately, and hence the pipelining would not be as useful as it would first seem.
On top of this, the difficulty of conditional branching and consequence dependant instructions also occurs. This means that the processor requires to be designed well so as to cope with these potential interruptions to the flow of data. As you can tell, there are many subjects which need to be taken into consideration involving to the technique of pipelining. While it is a powerful method for the purpose of increasing CPU performance, it does need careful design and consideration so as to achieve the best possible results.

Related Discussions:- Problem occurs during pipelining

What are the commonly used input/output functions in c, Problem 1 What ...

Problem 1 What is the significance of the keyword 'extern' in a function declaration? Explanation of significance of Keyword 'extern' in function declaration Probl

Artificial intelligence agents, Artificial Intelligence Agents In the ea...

Artificial Intelligence Agents In the earlier teach, we discussed what we will be talking about in Artificial Intelligence and why those tasks are important. This lecture is all

Data autonomous transmission, DATA AUTONOMOUS TRANSMISSION: This could ...

DATA AUTONOMOUS TRANSMISSION: This could be the possible replacement for the ARINC 429 standard and will be annotated the standard - ARINC 629. In the DATAC system, the contro

How to set up the location (e.g. plaza, how to set up the location (e.g. pl...

how to set up the location (e.g. plaza, hall of fame, lecture theater or etc.) and services that will be used during the exhibition; devices needed; and finally produced a compreh

Quantitative Methods in Business Decision Making, 4. Union City Al has dec...

4. Union City Al has decided to upgrade their tornado warning system. The city leaders have identified six potential locations for erecting a warning siren tower. They want to e

Differentiate between a dynamic and a static web site, QUESTION a) Diff...

QUESTION a) Differentiate between a dynamic and a static web site. b) Why are electronic mails (e-mails) preferred to the post office mails? How do they affect the modern of

What is multi-protocol label switching (mpls), QUESTION (a) What is Mul...

QUESTION (a) What is Multi-Protocol Label Switching (MPLS)? List the main advantage of running MPLS in a service provider network (b) What is a label? Explain the structure

CAI, What is CAI? Explain its pitfalls

What is CAI? Explain its pitfalls

C++, whats the out put of int main(){ int n=310; funcone(n); functwo(&n); ...

whats the out put of int main(){ int n=310; funcone(n); functwo(&n); cout return 0; } void funcone(intn) n=240; } void func two(intn*) { n=120; }

Buses, BUSES It can be seen from Figure 4 that there are three buses ...

BUSES It can be seen from Figure 4 that there are three buses - the data bus, the address bus, and the control bus. Each bus consists of a group of parallel wires. The da

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