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

Example multi-layer ann with sigmoid units, Example Multi-layer ANN with Si...

Example Multi-layer ANN with Sigmoid Units - Artificial intelligence: We will discuss ourselves here with ANNs containing only 1 hidden layer, as this makes describing the back

What do you mean by lock synchronization, Q. What do you mean by Lock Synch...

Q. What do you mean by Lock Synchronization? Lock Synchronization: In this method contents of an atom are updated by requester process and sole access is granted before atomic

Compiler software difficulty, IA-64 instead depends on the compiler for thi...

IA-64 instead depends on the compiler for this task. Even before the program is fed into the CPU, the compiler studies the code and makes the similar sorts of decisions that would

What are desirable features of an electronic market place, What are the des...

What are the desirable features of an Electronic Market Place? Features of an Electronic Market Place: 1. Its electronic and business center is not a physical building qu

Illustrate the following list of consideration of Laptop, Illustrate the fo...

Illustrate the following list of consideration of laptop computers The following is a list for consideration: -  The processor must consume as little power as possible thus

Give difference between assembler and interpreter, Give difference between ...

Give difference between assembler and interpreter. Assembler: It is the translator for an assembly language of computer. An assembly language is a low-level programming langu

Ms access database to a present conversion, I have converted my MS Access d...

I have converted my MS Access database to a present conversion. I am getting conversion errors? Ans) Design specs have changed in new releases of MS Access. Visit the on-line

What are grouping notations, What are Grouping Notations These notat...

What are Grouping Notations These notations are boxes into which a model could be decomposed. Their elements includes of packages, frameworks and subsystems.

Autonomous rational an agents, Autonomous Rational an Agents: In many ...

Autonomous Rational an Agents: In many cases, it is inaccurate to talk about a single program or a single robot, as the multi-purpose and multi-tasking system of hardware and

Operation of micro-programmed control unit, Micro-instructions are stored i...

Micro-instructions are stored in control memory. Address register for control memory comprises the address of subsequent instruction which is to be read. Control memory Buffer Regi

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