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

Hubs are present in the network, Hubs are present in the network To inte...

Hubs are present in the network To interconnect the LAN with WANs.

How to creating a key pair, How to Creating a Key Pair You can make a...

How to Creating a Key Pair You can make a key pair using the Strong Name tool (Sn.exe). Key pair files usually have an .snk extension. To create a key pair at the command

What are the principles of transport layer, Q. What are the principles of t...

Q. What are the principles of transport layer? Transport layer: This layer is the first end-to-end layer. Header of transport layer includes information which helps send the

Evaluate total expense of algorithm, Q. Evaluate Total expense of algorithm...

Q. Evaluate Total expense of algorithm? Lastly, the total expense of algorithm is a product of the total number of processors required for computation and time complexity of th

Compare a decoder and a demultiplexer with block diagram, Compare a decoder...

Compare a decoder and a demultiplexer with suitable block diagrams. Ans. Demultiplexer has similar circuit as decoder but here e is obtained as the particular input line, the

Define ftp, FTP FTP (File Transfer Protocol) is the protocol used on th...

FTP FTP (File Transfer Protocol) is the protocol used on the Internet for sending files and is usually used for uploading / downloading files (web pages) to and from servers. T

Write a subroutine in c for toggling the cursor, Write a subroutine in C fo...

Write a subroutine in C for toggling the cursor using old directives. ; ; use small memory model for C - near code segment _DATA SEGMENT WORD   'DATA'   CURVAL EQU   [B

How are standard query operators implemented in linq, Standard Query Operat...

Standard Query Operators are executed as extension methods in .NET Framework. These Standard Query Operators can be used to work with any collection of objects that executes the IE

Delete the leaves of a binary tree, Write a recursive algorithm to delete t...

Write a recursive algorithm to delete the leaves of a binary tree. Programming Requirements You must use the binary search tree code provided.  Each algorithm must be impleme

Execute a reduce operation over members of specified group, Q. Execute a re...

Q. Execute a reduce operation over members of specified group? int info = pvm_reduce( void (*func)(), void *data, int count, int datatype, int msgtag, char    *group, int root

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