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

Evaluate - 48 - 23 by using the 2's complement method, Perform the - 48 - 2...

Perform the - 48 - 23 operations using the 2's complement method. Ans. - 48 - 23 = - 48 + (-23)     -48     =  1 1 0 1 0 0 0 0     -23     =  1 1 1 0 1 0 0 1       = -71

Determine a program that is in execution, Determine a program that is in ex...

Determine a program that is in execution is known as Program in execution is known as Process

State the Process of sending signals to televisions, Determine about the Si...

Determine about the Signals to televisions Signals to televisions are now sent digitally thus need a computer to interpret as well as decode these signals into a sound/picture;

Where engaged tone is generated, E ngaged tone is generated in the: (...

E ngaged tone is generated in the: (A)  Telephone instrument of calling subscriber (B)  Telephone instrument of called subscriber (C)  Exchange (D)  Repeater

Explain conditions for the critical section problem solution, What are the ...

What are the properties which a data item should possess to implement a critical section? The Critical Section Problem Solution should satisfy the following conditions: 1.

What features are needed to implement top down parsing, The features are ne...

The features are needed to implement top down parsing are? Ans. Source string marker, Prediction making mechanism and also matching and backtracking mechanism features are need

Define the register addressing mode, Q. Define the Register Addressing mode...

Q. Define the Register Addressing mode? When operands are taken from registers implicitly or explicitly it is known as register addressing. These operands are termed as regis

Add references dialog box, What is the difference among "using System.Data;...

What is the difference among "using System.Data;" and directly adding the reference from "Add References Dialog Box"?  When you compile a program using command line, you add th

How many types of keys used to encrypt and decrypt data, How many types of ...

How many types of keys used to encrypt and decrypt data in Secure Sockets Layer? Two forms of keys are used as ciphers to decrypt and encrypt data. Private keys are referred to

What is basic analog design, What is basic Analog Design? Analog design...

What is basic Analog Design? Analog design is rather challenging than digital design as analog circuits are sensitive to noise, operating voltages, loading circumstances and ot

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