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

Write a program that will solve a puzzle, You will write a program that wil...

You will write a program that will solve a version of the common newspaper puzzle \word search." In the puzzle you are given a grid lled with characters and a list of words to nd

Explain definition of fibonacci, Explain definition of fibonacci Where ...

Explain definition of fibonacci Where an input value gives a trivial result, it is returned directly, otherwise the function calls itself, passing a changed version of the inpu

What is ram bus technology, What is RAM Bus technology? The key feature...

What is RAM Bus technology? The key feature of RAM bus technology is a fast signalling method used to transfer information among chips. Instead of using signals that have volta

Explain circuit switching versus packet switching, Explain difference of Ci...

Explain difference of Circuit switching versus Packet switching. Within circuit switching an end-to-end path is to be establishing before any data can be sent. Previously a con

Predicates in first-order logic sentences , Predicates in first-order logic...

Predicates in first-order logic sentences - artificial intelligence There are predicates first and foremost in first-order logic sentences. These are indications that some thin

How to insert script in dreamweaver, Q. How to insert script in dreamweaver...

Q. How to insert script in dreamweaver? Step 1: Click on Insert Step 2: Click on Script Step 3: Choose the type of Script Step 4: Write the code in "Content" Step 5: T

Observing the existing system first hand, Observing the existing system fir...

Observing the existing system first hand This involves watching personnel using the existing system to find out precisely how it works. There are a number of disadvantages as

Explain how sap gui handles output screen for the user, Explain how SAP GUI...

Explain how SAP GUI handles output screen for the user. The SAP front-end s/w can either run on the similar computer or on dissimilar computers given for that purpose.  User t

Explain in detail about register transfer language, We have multiple instan...

We have multiple instances in RTL (Register Transfer Language), do you do anything special during synthesis stage? Whereas writing RTL(Register Transfer language),say in Verilo

Explain about the term e-cash, Explain about the term E-Cash. E-cash is...

Explain about the term E-Cash. E-cash is cash demonstrated by two models. E-cash has one is on-line form of e-cash, that is introduced by DigiCash that permits for the completi

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