V tabulke vidime par mikroinstrukcii a jednotlive "ukony", ktore su vykonavane v jednotlivych stage-och pipeline. My uz teda mame navrhnutu nejaku pipeline a vidime, ze instrukcia SW vyzaduje 3 citacie porty v ID a a LW vyzaduje 2 porty vo WB stage. To nasa pipeline neobsahuje. Mame teda dve moznosti, bud upravime pipeline, alebo upravim instrukcie tak, aby boli podporovane nasim HW. 2 riesenie znamena rozbit instrukcie do mikroinstrukcii, ktore budu priamo vykonatelne a pipeline. Vyuzijeme pri tom register R32, ktory je programatorovi nepristupny a je vyzivany mikroinstrukciami. (microarchitecture scratch-pad register). Taketo registre sa vysytuju v CISC architekturach. Vysledne instrukcie bude mozne vykonat v dvoch taktoch.
S vyuzitim R32 rozbijeme instrukcie takto:
SW:
add R32, Rs, Rt Reg(R32) = Reg(Rs) + Reg(Rt)
sw (R32), Rt Mem(Reg(R32)) <= Reg(Rt)
LW:
addi Rs, Rs, Imm Reg(Rs) = Reg(Rs) + Imm
lw Rt, (Rs) Reg(Rt) = Mem(Reg(Rs))

Instrukcia SW stravila v ID faze dva takty a pocas v kazdom takte je emitovana jedna mikroinstrukcia. Dekoder tu uz musi byt sekv. obvod. Vsimnite si toho forwardingu MEM/EX, kde sa forwarduje register R32.
