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

What is common type system, What is "Common Type System" (CTS)?  CTS e...

What is "Common Type System" (CTS)?  CTS explain all of the basic types that can be used in the .NET Framework and the operations performed on those type. All this time we hav

Advantages and disadvantages of shared memory programming, Q. Show Advantag...

Q. Show Advantages and Disadvantages of Shared Memory Programming? Advantages of Shared Memory Programming Data sharing between processes is both rapid and uniform bec

Can you list out some of enhancements in verilog 2001, Can you list out som...

Can you list out some of enhancements in Verilog 2001? In  earlier  version  of  Verilog,  we  use  'or'  to  specify  more  than  one  element  in  sensitivity  list.  In Veri

Branding choices, Develop a web traffic plan - suppose that there is no/min...

Develop a web traffic plan - suppose that there is no/minimal advertising budget so you will require to look at branding choices & site design, word-of-mouth and publicity as your

Illustrate working of t flip-flop, Q. Illustrate working of T Flip-Flop? ...

Q. Illustrate working of T Flip-Flop? T (Toggle) flip-flop is attained from JK flip-flop by combining inputs J and K together. The implementation of T flip-flop is displayed in

Difference between field-group header and other field groups, What is the d...

What is the difference between field-group header and other field groups? The header field group is a particular field group for the sort criteria.  The system automatically p

What are the measures to be taken in the design, What are the measures or p...

What are the measures or precautions to be taken in the Design when the chip has both analog and digital portions? As today's IC has analog components also inbuilt, some design

How does the computer execute a program, Let's attempt to answer a fundamen...

Let's attempt to answer a fundamental question: 'How does the Computer execute a Program?' Let's describe this with the help of an example from higher level language domain. Pr

What is shadow ram, Shadow RAM is a copy of Basic Input/Output Operating Sy...

Shadow RAM is a copy of Basic Input/Output Operating System (BIOS) routines from read-only memory (ROM) into a particular area of random access memory (RAM) so that they can be acc

Define rules for evaluating the boolean expression, Define Rules For Evalua...

Define Rules For Evaluating the Boolean Expression? Generally, the following rules must always be followed when evaluating the Boolean expression: Primary, perform all in

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