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

Analyse the website design, Briefly analyse and compare the two website des...

Briefly analyse and compare the two website designs, applying in turn each of the six design principles. This will result in six brief paragraphs. As part of each analysis, expl

What are the components of i-way infrastructure, What are the components of...

What are the components of I-way Infrastructure? There are three components of the I-way infrastructure: • Consumer access equipment • Local on-Ramps • Global informat

What are the server specific middle wares, What are the server specific mid...

What are the server specific middle wares? Server specific middle wares. Their role in e-commerce. Additional features needed by e-commerce server. Middleware is the term of

Determine the uses of smart cards, Determine the uses of Smart cards  ...

Determine the uses of Smart cards  These comprise embedded microchips and receive power from the card readers; Microchip is made up of RAM, ROM and 16-bit processor and the st

How we get assignments, Hello i am a freelancer how I get a assignments ?

Hello i am a freelancer how I get a assignments ?

Example calculation of entropy, Example Calculation: If we see an exam...

Example Calculation: If we see an example we are working with a set of examples like S = {s 1 ,s 2 ,s 3 ,s 4 } categorised with a binary categorisation of positives and negati

Explain structured and modular programming, Structured and Modular programm...

Structured and Modular programming. Structured programming means the collection of principles and practices that are directed toward developing correct programs which are simpl

Set up the minunit test framework - mortgage code, Set up the minunit test ...

Set up the minunit test framework examples in your environment (i.e. build or compile the code). Once you can run the example, use the minunit test framework to create and run a bo

Layered architecture of electronic data interchange, Illustrated about the ...

Illustrated about the layered architecture of Electronic Data Interchange? Layered Architecture of EDI: Electronic Data Interchange is most commonly applied into th

What is a recursively enumerable language, What is a recursively enumerable...

What is a recursively enumerable language?            The languages that is accepted by TM is said to be recursively enumerable (r. e) languages.  Enumerable means that the stri

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