Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8826303
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 14, 20262026-06-14T07:06:09+00:00 2026-06-14T07:06:09+00:00

I am reading section 4.7 in in Computer Organization and Design: The Hardware/Software Interface

  • 0

I am reading section 4.7 in in Computer Organization and Design: The Hardware/Software Interface on data forwarding. In the example given in the book, there is register file forwarding.(This is exactly how it appears in the book example)

Why do you need register file forwarding? Data in the register is written in the first half of the clock and read in the second half of the clock, so it should be safe without forwarding.

Just to clarify the example given in the link above: Left side shading of Reg means it being written into, right – being read from.

Thanks !

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-14T07:06:11+00:00Added an answer on June 14, 2026 at 7:06 am

    Figure 4.53 of Computer Organization and Design, (c)2009 Elsevier

    You need register file forwarding to prevent stalls.

    If you look closely the second instruction (and $12, $2, $5) needs to use register $2, but the value computed in the previous instruction (sub $2, $1, $3) will get written back in the register file in clock cycle 5. Therefore if it wasn’t because of register file forwarding, the second instruction would have to stall until register $2 were written back. The forwarding is shown with a skyblue line between the result of the ALU operation of instruction 1 and the first argument to the ALU operation of instruction 2.

    Likewise, the third instruction (or $13, $6, $2) also needs to use $2 before it is actually written back to the register file by the first instruction. Therefore again, to prevent stalls, register forwarding is used to use the result of the first instruction in as an argument to the third instruction.

    On the other hand, the fourth instruction (add $14, $2, $2) does not need to use pipeline register forwarding, as the result of the first instruction is written back in the first half of cycle 5 and therefore its contents are already updated when they are needed in the fourth instruction.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm reading Stroustrup's book, the section on overloading and related ambiguities. There's an example
I'm reading an assembly book. The book explains that there are .text and .data
I was reading the section on C portability in the book C Traps and
Reading the MCIMX50 Application Processor Reference Manuals on page 1368 (Section 33.3) there is
Reading Java Concurrency In Practice, there's this part in section 3.5: public Holder holder;
I was reading the Simple Database section of Peter Siebel's book Practical Common Lisp
I was reading this section and the last paragraph stated that the example code
I'm reading a old book Simply Scheme: Introducing Computer Science you can find it
I was reading the GoF book and in the beginning of the prototype section
I'm reading through K&R and came to the small section on register variables, and

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.