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

Device controllers, All components of computer communicate with processor b...

All components of computer communicate with processor by the system bus. Which means I/O devices required to be attached to system bus. But I/O devices aren't connected directly to

Illustrate about probability of collision, Illustrate about probability of ...

Illustrate about probability of collision? Probability of collision: There is a triangle and on this let’s assume that there are three ants one on each corner and are free t

Compute the different stages of kohlbergs theory, Problem 1 (a) Identi...

Problem 1 (a) Identify and briefly describe the possible roles of Codes of Ethics (b) Describe why is a code of ethics important to stakeholders. (c) Explain how should

Full form of ldap, LDAP stands for LDAP- Light weight Directory Access...

LDAP stands for LDAP- Light weight Directory Access Protocol.

Number system, Number systems   Consider a decimal number:         ...

Number systems   Consider a decimal number:               7654.32   Short hand for:            7 * 103 + 6*102 + 5* 101 + 4*100 + 3*10 -1  + 2*10 -2   Likewise

Define user mode and kernel mode, Define user mode and Kernel mode Kern...

Define user mode and Kernel mode Kernel is a private mode in that no limitation is imposed on the kernel of system. Kernel may be use all the information of the processor, oper

TIME COMPLEXITY, calculate the time complexity of a=(b/c) operation in stac...

calculate the time complexity of a=(b/c) operation in stack

What is called when distortion caused on telephone line, Distortion caused ...

Distortion caused on telephone line by an adjacent one is called (A) Cross Fire                      (B) Inductive Disturbance (C)  Cross Talk                     (D) Non

What are dynamic process groups, Q. What are Dynamic Process Groups? To...

Q. What are Dynamic Process Groups? To create and manage dynamic groups a separate library libgpvm3.a should be linked with the user programs which make use of any of group fun

What is the network service access policy, What is the Network Service Acce...

What is the Network Service Access Policy A high-level, issue-specific policy which defines those services that are allowed or denied from the restricted network. It also co

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