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

Flynns categorization, Flynn's Categorization Flynn's Categorization is...

Flynn's Categorization Flynn's Categorization is based on multiplicity of data streams and instruction streams observed by CPU at the time of program execution. Let I s and D

Define bandwidth, Define Bandwidth? When transferring blocks of data, i...

Define Bandwidth? When transferring blocks of data, it is of interest to know how much time is required to transfer an entire block, as blocks can be variable in size it is use

What are the different types of computer networks, Q. Mention different cla...

Q. Mention different classes of computer networks (on the basis of scale) and distinguish one from the other. Ans: Local Area Network (LAN) Metropolitan Area Netw

What is dvd and dvd-rom, DVD is a new technology very same to compact discs...

DVD is a new technology very same to compact discs. A DVD looks just like an ordinary compact disc, though a DVD can hold up to 25 times as much as a CD!! That's 18 gigabytes!! Thi

Layered architecture of edi, Layered Architecture of EDI: EDI is most c...

Layered Architecture of EDI: EDI is most commonly applied in the implementation and settlement phases of the trade cycle. In implementation of a simple trade exchange, the cust

What are the concerns for growth of e-commerce in india, What are the conce...

What are the concerns for growth of e-commerce in India? Government as Facilitator for the growth of e-commerce has taken following steps: a. Promotion of competitive dataco

Define google calendar, Define Google calendar Google Calendar is free,...

Define Google calendar Google Calendar is free, full featured, and easy to use. It lets the user create both personal and shared calendars, which makes it ideal for tracking bu

Can matchcode object contain ids with different update types, Can matchcode...

Can matchcode object contain Ids with different update types? Yes.

Boolean algebra, Prove the following Boolean identities using the laws of B...

Prove the following Boolean identities using the laws of Boolean algebra (A + B)(A  + C) = A + BC Ans. (A+B)(A+C)=A+BC LHS AA+AC+AB+BC=A+AC+AB+BC OR  A((C+1)+A(B+1))+BC

Explain the term thread scheduling, Problem: a) Most RMI and RPC system...

Problem: a) Most RMI and RPC systems expect to be supported by the "Request-Reply Protocol". Describe what "Request-Reply Protocol" is. b) Describe the invocation semantics

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