Read after write and write after write - data hazards, Computer Engineering

Assignment Help:

RAW and WAW - Data hazards:

RAW (read after write) - j tries to read a source before i writes it, hence j wrongly gets the old value .This is the most usual type of hazard and the kind that we use forwarding to solve it.

WAW (write after write) - j tries to write an operand before i. The writes end up being performed in the incorrect order, leaving the value written by  i rather than the value written by  j in the destination. This hazard is there only in pipelines that write in more than 1 pipe stage or permit an instruction to proceed even when a preceding instruction is stalled. DLX integer pipeline writes a register just in WB and ignores this class of hazards.

WAW hazards would be possible if we perform the following 2 changes to the DLX pipeline:1)move write back for an ALU operation into the MEM stage, while the data value is available by then. Assume that the data memory access took 2 pipe stages.

Here is a sequence of 2 instructions which showing the execution in this revised pipeline, importance the pipe stage that writes the consequence:

1753_Read after write and write after write - data hazards.png

 Unless this type of hazard is ignored, execution of this sequence on this revised pipeline will leave the result of the first write (the LW) in R1, before the result of the instruction ADD.

Let writes in different pipe stages introduces other problems, since 2 instructions may try to write at the similar clock cycle. DLX FP pipeline, which has both writes in different pipeline lengths and different stages and will deal with both write conflicts and WAW hazards in detail.


Related Discussions:- Read after write and write after write - data hazards

Cell array variable , a)   Make a cell array variable that would kept for a...

a)   Make a cell array variable that would kept for a student his or her name, university id number, and GPA.  Print this information. b) Make a structure variable that would kept

Recursive procedures are implemented, Recursive procedures are implemented ...

Recursive procedures are implemented by using Recursive procedures are executed by using stacks due to stacks are LIFO data structure and we require this feature to store retur

What does wsdl stand for, What does WSDL stand for?  WSDL stands for We...

What does WSDL stand for?  WSDL stands for Web Services Description Language.  It is an XML representation of the web service interface. There are two parts of the operation

Commutativity of connectives, Commutativity of Connectives : In this y...

Commutativity of Connectives : In this you will be aware of the fact that some arithmetic operators that have a property which it doesn't matter that way around you give the o

What is cursor, The illustration of the mouse on-screen. Depending on your ...

The illustration of the mouse on-screen. Depending on your settings, the cursor can be many dissimilar things.

In a for loop, In a for loop, if the condition is missing, then, It is s...

In a for loop, if the condition is missing, then, It is supposed to be present and taken to be true.

Challenges facing operations managers - information systems, Challenges Fac...

Challenges Facing Operations Managers - Information Systems While information systems should be seen as tools that enable better performance their implementation also brings a

What is the difference between the c#.net and vb.net, What is the differenc...

What is the difference between the C#.NET and VB.NET? VB.NET - It don't have the XML Documentation. - It don't have the Operator Overloading. - It dont't have the P

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