MIPS processor continued
-
Upload
urielle-gould -
Category
Documents
-
view
37 -
download
3
description
Transcript of MIPS processor continued
![Page 1: MIPS processor continued](https://reader035.fdocuments.in/reader035/viewer/2022062314/56812c37550346895d90bc7d/html5/thumbnails/1.jpg)
MIPS processor continued
![Page 2: MIPS processor continued](https://reader035.fdocuments.in/reader035/viewer/2022062314/56812c37550346895d90bc7d/html5/thumbnails/2.jpg)
Review
• Different parts in the processor should be connected appropriately to be able to carry out the functions.
• Connections depending on what we need• Learnt R-type, lw, sw, beq
![Page 3: MIPS processor continued](https://reader035.fdocuments.in/reader035/viewer/2022062314/56812c37550346895d90bc7d/html5/thumbnails/3.jpg)
lw & sw?
![Page 4: MIPS processor continued](https://reader035.fdocuments.in/reader035/viewer/2022062314/56812c37550346895d90bc7d/html5/thumbnails/4.jpg)
Data path only for lw and sw (answer)
![Page 5: MIPS processor continued](https://reader035.fdocuments.in/reader035/viewer/2022062314/56812c37550346895d90bc7d/html5/thumbnails/5.jpg)
Data path for both R-type and memory-type instructions
add $rd, $rs, $rt, format: opcode (6 bits) rs (5 bits) rt (5 bits) rd (5 bits) 00000 funct (6 bits)lw $rt, offset_value($rs): opcode (6 bits) rs (5 bits) rt (5 bits) offset (16 bits)sw $rt, offset_value($rs): opcode (6 bits) rs (5 bits) rt (5 bits) offset (16 bits)
![Page 6: MIPS processor continued](https://reader035.fdocuments.in/reader035/viewer/2022062314/56812c37550346895d90bc7d/html5/thumbnails/6.jpg)
Data path for both R-type and memory-type instructions
add $rd, $rs, $rt, format: opcode (6 bits) rs (5 bits) rt (5 bits) rd (5 bits) 00000 funct (6 bits)lw $rt, offset_value($rs): opcode (6 bits) rs (5 bits) rt (5 bits) offset (16 bits)sw $rt, offset_value($rs): opcode (6 bits) rs (5 bits) rt (5 bits) offset (16 bits)
![Page 7: MIPS processor continued](https://reader035.fdocuments.in/reader035/viewer/2022062314/56812c37550346895d90bc7d/html5/thumbnails/7.jpg)
Answer
![Page 8: MIPS processor continued](https://reader035.fdocuments.in/reader035/viewer/2022062314/56812c37550346895d90bc7d/html5/thumbnails/8.jpg)
Datapath for R-type, memory, and branch operations
![Page 9: MIPS processor continued](https://reader035.fdocuments.in/reader035/viewer/2022062314/56812c37550346895d90bc7d/html5/thumbnails/9.jpg)
Datapath for R-type, memory, and branch operations (Answer)
![Page 10: MIPS processor continued](https://reader035.fdocuments.in/reader035/viewer/2022062314/56812c37550346895d90bc7d/html5/thumbnails/10.jpg)
Datapath for Memory, R-type and Branch Instructions, plus the control signals
![Page 11: MIPS processor continued](https://reader035.fdocuments.in/reader035/viewer/2022062314/56812c37550346895d90bc7d/html5/thumbnails/11.jpg)
11/15/2007 5:02:11 PM week-13-3.ppt 11
Jump Instruction
• Jump instruction seems easy to implement– We just need to replace the lower 28 bits of the
PC with the lower 26 bits of the instruction shifted by 2 bits• The shift is achieved by simply concatenating 00 to the
jump offset
![Page 12: MIPS processor continued](https://reader035.fdocuments.in/reader035/viewer/2022062314/56812c37550346895d90bc7d/html5/thumbnails/12.jpg)
12
Implementing Jumps
• The one we have supports arithmetic/logic instructions, branch instructions, load and store instructions– We need also to support the jump instruction
– What are the changes we need to make?
0 0 1 00 031
opcode Address
26 25 0
![Page 13: MIPS processor continued](https://reader035.fdocuments.in/reader035/viewer/2022062314/56812c37550346895d90bc7d/html5/thumbnails/13.jpg)
Add j?
![Page 14: MIPS processor continued](https://reader035.fdocuments.in/reader035/viewer/2022062314/56812c37550346895d90bc7d/html5/thumbnails/14.jpg)
14
Supporting Jump Instruction
![Page 15: MIPS processor continued](https://reader035.fdocuments.in/reader035/viewer/2022062314/56812c37550346895d90bc7d/html5/thumbnails/15.jpg)
11/25/2007 10:54:43 PM week-14-1.ppt 15
In Class Exercise – Supporting Jump Register