Source Code

.text


main:	li	$3,42
	li	$2,35
	sw	$2,4($0)
	lw	$3,4($0)
	li	$8,2
	lw	$8,4($0)
	addi	$9,$8,8
end:	b	end
.end

Simulation Results

#pcoprdqd (hex)qd (dec)addr
100ori3002A42
201ori2002335
302sw20023350004
403lw30023350004
504ori800022
605lw80023350004
706addi9002B43
807halt

Pipeline Results

#IFIDEXMEMWBok
10000
ori






20001
ori
0000
3 0 3





30002
sw
0001
2 0 2
0000
0x2a




40003
lw
0002
0 0 2
0001
0x23
0000




qb forwarded: 0x23 (rb: 2)
50004
ori
0003
3 0 3
0002
0x4
0001

0000
0x2a
0000
0x2a
60005
lw
0004
8 0 8
0003
0x4
0002
0x23
0001
0x23
0001
0x23

mem[0x4] = 0x23
70006
addi
0005
8 0 8
0004
0x2
0003
0x23
0002
0x23
0002
0x23

qd = 0x23 = mem[0x4]

qb forwarded: 0x2 (rb: 8)
80006
addi

0005
0x4
0004

0003
0x23
0003
0x23
90007
halt
0006
9 8 9

0005

0004
0x2
0004
0x2

qa forwarded: 0x23 (ra: 8)
10
0007

0006
0x2b


0005
0x23
0005
0x23
11

0007

0006



12


0007

0006
0x2b
0006
0x2b

Registers

formatr0r1r2r3r4r5r6r7
hex0000000000000000000000230000002300000004000000050000000600000007
decimal0035354567
formatr8r9r10r11r12r13r14r15
hex000000230000002B0000000A0000000B0000000C0000000D0000000E0000000F
decimal3543101112131415
formatr16r17r18r19r20r21r22r23
hex0000001000000011000000120000001300000014000000150000001600000017
decimal1617181920212223
formatr24r25r26r27r28r29r30r31
hex00000018000000190000001A0000001B0000001C0000001D0000001E0000001F
decimal2425262728293031

Memory

addr0123456789ABCDEF
000000000000000000000000000000000000000000000023000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000
000000100000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000