Eliminating data hazards - computer architecture, Computer Engineering

Eliminating data hazards:


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

Posted Date: 10/13/2012 4:29:09 AM | Location : United States

Related Discussions:- Eliminating data hazards - computer architecture, Assignment Help, Ask Question on Eliminating data hazards - computer architecture, Get Answer, Expert's Help, Eliminating data hazards - computer architecture Discussions

Write discussion on Eliminating data hazards - computer architecture
Your posts are moderated
Related Questions
Q. Show the Comparison of ASCII and EBCDIC? EBCDIC is an easier to employ code on punched cards due to BCD compatibility. But ASCII has some of major benefits on EBCDIC. These

Explain the Executing Requests Using a Message-Passing Architecture Executing requests using a message-passing architecture requires good fundamental client-server programming

In TCP protocol header "checksum" is of___________? In protocol header of Transfer Control Protocol checksum is of 16 bits.

What is Monkey testing? The monkey testing is the process of testing here and there for judging the application trying to observe the accessing dissimilar functionalities is i

The linkage section is used to pass data from one program to one more program or to pass data from a PROC to a program.

What is difference between collaboration on task and event management? Web-based task management application let the user handle the multiple pieces and parts of large projects

Q. Main drawbacks of CD-ROMs? The main drawbacks of CD-ROMs are: It is read only thus can't be updated Access time is longer than that of magnetic disks. Very

Differentiate between pre-emptive and non-pre-emptive scheduling. Pre-emptive scheduling : in its approach, center processing unit can be taken away from a process if there is a

Show Library and its types. Libraries constitute a simple meaning of gathering many object files together: 1. Static: during link editing Library code is integrated with t

How many logical drives is it possible to fit onto a physical disk? Ans) Maximum of 24 logical drives can be fit into physical disk. The extended partition can only have 23 lo