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

Logic diagrams for same boolean expression, Q. Logic diagrams for same Bool...

Q. Logic diagrams for same Boolean expression? The expression F can be simplified using Boolean algebra. The logic diagram of simplified expression is drawn in fig (b)

How can we minimize problems occurring because of branch., Q. How can we mi...

Q. How can we minimize problems occurring because of the branch instructions? We may use various mechanisms which may minimize the effect of branch penalty. To keep mult

What is literal, Meaning of Literal is:- Literal is string constant.

Meaning of Literal is:- Literal is string constant.

Explain arithmetic shift micro-operations, Q. Explain arithmetic shift Micr...

Q. Explain arithmetic shift Micro-operations? In arithmetic shift a signed binary number is shifted to right or to the left. So an arithmetic shift-left causes a number to be m

What is independent process, What is independent process? A process is ...

What is independent process? A process is independent it cannot affect or be affected by the other processes implementing in the system. Any process does not share data with ot

Which language is a platform free language, Which language  is a platform ...

Which language  is a platform free language Java language

What is verilog case 1, What is verilog case (1) ? wire [3:0] x; al...

What is verilog case (1) ? wire [3:0] x; always @(...) begin case (1'b1) x[0]: SOMETHING1; x[1]: SOMETHING2; x[2]: SOMETHING3; x[3]: SOMETHING4; endcase

Define a formal system, Q. Define a Formal System? A Formal System is o...

Q. Define a Formal System? A Formal System is one which is planned in advance and is used according to schedule. In this system procedures and policies are documented well in a

Decision support at a digital hospital, Heart disease is the number-one kil...

Heart disease is the number-one killer in the United States, and in a cardiac crisis, each minute matters. Indiana Heart Hospital (IHH) is a new cardiac hospital that saves life b

Dynamic programing, a ship is loaded with a stock of 3 items each unit of i...

a ship is loaded with a stock of 3 items each unit of item n has a wt wn and vn the max cargo wt the ship can take is the details of 3items are item(n):1 2 3 wt(wn):2 3 1 value(vn)

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