# Homework Help: Question about JAL instruction in datapath

1. Oct 26, 2016

### SuperSusanoo

1. The problem statement, all variables and given/known data
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.

2. Relevant equations

3. 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?.

#### Attached Files:

• ###### modified.jpg
File size:
51.9 KB
Views:
299
2. Oct 28, 2016

### Staff: Mentor

This member has been banned, and the thread is now closed.