0

I am currently taking a Computer Architecture class, and I have a test coming up soon, on that test one of the many things I'm going to need to know is how to find the control signals for a long (far) Jump (likely using a hypothetical MIPS instruction), however I hardly know the difference between a long and a regular jump.
I believe that in a long jump you're attempting to jump to an address that's too large of a distance away to store it's address in a register so you need a storage specifically for the address, what would this look like on a data path? And which control signals would be used in this process?

If anyone would offer an explanation I would be very grateful, and if it helps here is the image of the data path we have been using in my class:
Data_Path

Peter Cordes
  • 328,167
  • 45
  • 605
  • 847
Mason G.
  • 1
  • 1
  • 1
    MIPS has "branches" and "jumps". MIPS does not use terms of long/far/regular/short jumps (though other processors do). Each of branch & jump are supported by specific opcodes in a non-hypothetical MIPS. If you're using a hypothetical MIPS processor/instruction, how are we supposed to help? I would suggest you get more detail about what that instruction is and does. – Erik Eidt Oct 23 '21 at 19:25
  • (FYI, it is extremely unlikely that there's a distance too large for a register, especially as register-based jumps use absolute addresses rather than pc-relative deltas.) – Erik Eidt Oct 23 '21 at 19:28
  • Thank you for your response, Erik! I will see if I can find any relevant examples of a MIPS instruction. – Mason G. Oct 23 '21 at 20:40
  • If I had to guess at what a "long jump" would be in MIPS, I'd guess that instead of leaving the upper 4 bits of PC unmodified, it would maybe left-shift the immediate more, so it can target a 64-byte aligned address anywhere in memory. (Low 6 bits = 0). [How to Calculate Jump Target Address and Branch Target Address?](https://stackoverflow.com/q/6950230) – Peter Cordes Oct 23 '21 at 21:35
  • This datapath diagram doesn't have any support for MIPS jumps, only MIPS branches (which are conditional, and with 16-bit immediate). Looks like it would have to be extended for jumps with wider immedate. – Erik Eidt Oct 23 '21 at 23:12

0 Answers0