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

Addressing relationship for main memory and cache, Q. Addressing Relationsh...

Q. Addressing Relationship for Main Memory and Cache? In the normal case there are 2k words in cache memory and 2n words in main memory. The n-bits memory address is splitted i

Explain is cgi a script or a program, The distinction is semantic. Traditio...

The distinction is semantic. Traditionally, compiled executables (binaries) are known as programs, and interpreted programs are usually known as scripts. In the context of CGI, the

What is the accessibility testing, Accessibility testing for web sites is a...

Accessibility testing for web sites is a service that can give much more than the standard point-by-point testing methods of most automated services.

Write a menu driven program to perform addition, Q. Write a menu driven pr...

Q. Write a menu driven program to perform addition and subtraction in base 5. Check that entered numbers are in base 5 or not else error message should be displayed.

Phython, super ascii string checker

super ascii string checker

What is the role of a controller in an mvc application, The controller resp...

The controller responds to user interactions, with the application, by selecting the act method to implement and also selecting the view to render.

The statement vline is used to insert vertical lines, Like ULINE the statem...

Like ULINE the statement VLINE is used to insert vertical lines. No , Vline is not used to insert vertical lines.

And-introduction rule, And-Introduction: In generally English says tha...

And-Introduction: In generally English says that "if we know that a lot of things are true, so we know that the conjunction of all of them is true", then we can introduce conj

What are the steps followed in testing, What are the steps followed in test...

What are the steps followed in testing? i. Unit testing - The individual components are tested in this method of testing. ii. Module testing - Related collection of independ

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