Conflict Detection
Stall
Data Mem
Read
Data
Forwarding
Unit
SelA
SelB
Hazard
Detection
Stall
Instruction Mem
Instruction
Registers
Read
Data1
Read
Data2
ALU
Result
Zero
&
Branch & Zero
Branch & Zero
Branch & Zero
+
EX/MEM
WriteRegister
Read/Write
Address
Write
Data
Write
Data
RegWrite
RegWrite
MemRead
MemWrite
Jump
Jump
Jump
00
01
10
00
01
10
ID/EX
Write
Reg.
Jump
Jump
Branch
Branch
MemRead
RegWrite
AluOp
AluSrc
IF/ID
[25..21]
[25..21]
Read
Register1
Read
Register2
[20..16]
[20..16]
[15..0] || [25..0]
[31..26]
[5..0]
[20..11]
Main
Control
Jump
RegDest
MEM/WB
Write
Register
MemRead
RegWrite
RegWrite
0
1
1
0
Write
Data
0
1
[20..16] || [15..11]
(Reg 2 || Reg 3)
or
PC
Read
Address
+
4
0
1
0
1
Extend
1
0
<< 2
Sign Extend
+
Reset
-
←
→
↻
0
RS
-Pipeline-Sim
IF:
-/-
ID:
-/-
EX:
-/-
MEM:
-/-
WB:
-/-
Instruction Memory
Save Instructions
Load Instructions
Registers
Show All
R0
0
r only
Open Data Memory
Open Settings