0

I am trying to understand the concept of bypassing by reading the following slideenter image description here

Bypassing is reading a value from an intermediate source. What does the arrow stand for?, does it mean that X is executed after M in the sequence?. How does it work?

4
  • I believe the Computer Science or (less so) Programmers StackExchange sites would be more appropriate for this question. Commented Oct 15, 2016 at 2:45
  • there exists a cpu-architecture tag and I have seen a lot of threads about cpu architecture. Commented Oct 15, 2016 at 2:47
  • This is asking about a concept in processors rather than a code or programming issue, which why I thought the Computer Science site (which specifically lists "computer architecture" as on-topic) would get better answers. I could be wrong, though, and I suppose it being "more on-topic on that site" does not necessarily mean "off-topic on this site". Commented Oct 15, 2016 at 3:03
  • Thanks for the advice. Commented Oct 15, 2016 at 3:07

1 Answer 1

5

Bypassing means the data at that stage is passed to the stage required. For example in the first case (MX bypass), the output of the operation ADD r2, r3 is available at the M stage, but has not written back to its destination r1. The SUB instruction is expecting one of its data to be available at r1. Since this r1 data is produced by the ADD and "we" know that it is this same r1 is needed for SUB we dont need to wait until the writeback stage W of ADD is complete. "We" can simply bypass the data to the SUB instruction. The same goes with WX bypass as well.

2
  • Is bypassing the same as data forwarding? Commented Apr 14, 2021 at 15:07
  • 1
    Yes. In this context.
    – Isuru H
    Commented Apr 15, 2021 at 16:14

Not the answer you're looking for? Browse other questions tagged or ask your own question.