Eliminating data hazards - computer architecture, Computer Engineering

Assignment Help:

Eliminating data hazards:

Forwarding

NOTE: In the following instance, computed values are in bold, whereas Register numbers are not.

Forwarding involves adding output data into a previous stage of the pipeline. For example, let's assume we desire to write the value 3 to register 1, (which already contains a six), and then add 7 to register 1 and hold the result in register 2, for instance

Instruction 0: Register 1 = 6

Instruction 1: Register 1 = 3

Instruction 2: Register 2 = Register 1 + 7 = 10

Following execution, register 2 would contain the value 10. Though, if Instruction 1 (write 3 to register 1) does not fully exit the pipeline before Instruction 2 begins execution, it means that Register 1 does not contain the value 3 when Instruction 2 performs its addition operation. In such type of event, Instruction 2 adds 7 to the old value of register 1 (6), and so register 2 would contain 13 instead for example Instruction 0: Register 1 = 6

Instruction 1: Register 1 = 3

Instruction 2: Register 2 = Register 1 + 7 = 13

This error takes place because before Instruction 1 has committed/stored Instruction 2 reads1 Register the result of its write operation to Register 1. Thus when Instruction 2 is reading the contents of Register 1, register 1 still contains 6, not 3.

Forwarding (described below) helps right such errors by depending on the fact that the output of Instruction 1 (which is 3) may be utilized by subsequent instructions before the value 3 is committed to/stored in Register 1.

Forwarding is implemented by putting back the output of an instruction into the previous stage(s) of the pipeline as soon as the output of that instruction is available.  Forwarding applied to our instance means that we do not wait to commit/store the output of Instruction 1 in Register 1 (in this instance, the output is 3) before making that output accessible to the subsequent instruction (in this particular case, Instruction 2). The effect is that Instruction 2 uses the right (the more recent) value of Register

1: the commit/store was made instantly and not pipelined.

With forwarding enabled, the ID/EX[clarification needed] stage of the pipeline now has 2 inputs: the value read from the register mention (in this instance, the value 6 from Register 1), and the new value of Register 1 (in this instance, this value is 3) which is sent from the next stage (EX/MEM)[clarification needed]. Additional control logic is utilized to determine which input to use.

813_Eliminating data hazards.png


Related Discussions:- Eliminating data hazards - computer architecture

Which is valid syntax of the fork and join primitive, Which is valid syntax...

Which is valid syntax of the Fork and Join Primitive? Ans. A valid syntax of the Fork and Join Primitive is as given below: Fork Join

What is layer, What is layer? A layered system is ordered set of virtua...

What is layer? A layered system is ordered set of virtual worlds. Every build-in terms of one's below it and providing the execution basis for one above it. The objects in ever

On what machines matlab should be run?, Matlab will run from sthelens, and ...

Matlab will run from sthelens, and only if sthelens is down, from cher, orsay or tiree. It runs on other machines too, but some of the other machines have older versions of the OS

Interfacing assembly language routines, By now you can write procedures bot...

By now you can write procedures both internal andexternal and pass parameters particularly through stack.Let's us use these concepts to see how assembly language can be interfaced

Example to show a single digit, Q. Example to show a single digit ? Dis...

Q. Example to show a single digit ? Displaying a single digit (0 to 9) Presume that a value 5 is stored in BL register then to output BL as ASCII value add character ‘0' to

Evolutionary approaches boil down - artificial intelligence, Evolutionary a...

Evolutionary approaches boil down - artificial intelligence: In fact as we will see whether evolutionary approaches boil down to like (i) just to identify how to represent pos

When one speech sample appears in time multiplexed system, In a time multip...

In a time multiplexed space switching system, one speech sample appears every? One speech sample shows every 125 micro sec, in a time multiplexed space switching system.

Adding layers to the timeline, ADDING LAYERS TO THE TIMELINE AND GIVING MOT...

ADDING LAYERS TO THE TIMELINE AND GIVING MOTION TO THE LAYER Step 1:  Choose Layer from Common toolbar after that draw a layer. Step 2:  Write the text inside Layer. Step

What do you mean by term procedure, What do you mean by term procedure? Dif...

What do you mean by term procedure? Differentiate between far call and near call? PROC: PROC and ENDP directives indicate the start and end of a procedure. These directives for

Mpi communications, We have to use 3 MPI communications: Plz the code in C+...

We have to use 3 MPI communications: Plz the code in C++     1.  MPI_Scatter 2.  MPI_Alltoall 3.  MPI_Gather     **The length of the array will be determined by the user Fir

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