Question about JAL instruction in datapath

  • Thread starter Thread starter SuperSusanoo
  • Start date Start date
  • Tags Tags
    Instruction
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,315
This member has been banned, and the thread is now closed.
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
5K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 4 ·
Replies
4
Views
5K
Replies
2
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 1 ·
Replies
1
Views
13K
  • · Replies 5 ·
Replies
5
Views
7K
  • · Replies 10 ·
Replies
10
Views
4K