Question about JAL instruction in datapath

  • Thread starter Thread starter SuperSusanoo
  • Start date Start date
  • Tags Tags
    Instruction
AI Thread Summary
The discussion focuses on modifying a single-cycle datapath to implement the JAL (Jump and Link) instruction in MIPS architecture. The JAL instruction saves the return address in register $ra and updates the program counter (PC) to a specified jump address. Participants seek clarification on the necessity of certain modifications, specifically regarding the shift left operation needed to calculate the jump address. The original poster expresses confusion about specific labels and the bit manipulation involved in the instruction's implementation. The thread concludes without further responses due to the banning of a member.
SuperSusanoo
Messages
7
Reaction score
1

Homework Statement


In this problem, you will modify the single-cycle datapath we built up in class to implement JAL instruction. The MIPS jump and link instruction, JAL, is used to support procedure calls by jumping to jump address (similar to j ) and saving the address of the following instruction PC+4 in register $ra ($31), i.e.,

JAL: R[31] ← PC + 4
PC ← Jump Address

JAL uses the j instruction format: JAL address->op (6 bits) | Target address (26 bits)

1. Add to the provided datapath the necessary data and control signals to implement the JAL instruction. Draw and label all components and wires very clearly (give control signals meaningful names; if selecting a subset of bits from many, specify exactly which bits are selected; and so on). Justify the need for the modifications, if any.

2. Specify control line values for this instruction.


Homework Equations

The Attempt at a Solution


I have attached my solution. Is it right?. I also can't understand the shift left 2 part. I know that somehow we have to shift the instruction 4 bits to the right to actually get the offset which is the address that we will fetch in the next instruction, so can u explain the labels instruction[25-0], shift left 2, jump address [31-0], PC+4[31-28] and the jump part with shift left2?.
 

Attachments

  • modified.jpg
    modified.jpg
    44.9 KB · Views: 2,275
Physics news on Phys.org
This member has been banned, and the thread is now closed.
 

Similar threads

Replies
1
Views
2K
Replies
2
Views
1K
Replies
3
Views
2K
Replies
7
Views
3K
Replies
5
Views
6K
Replies
4
Views
2K
Back
Top