Controlling the Execution of Jump and Branch
-
Jump (
j
)
-
(1) “
J=1
” selects Imm26
as jump target address according to the Next PC block;
(2) “PCSrc=1
”selects jump target address;
(3) upper 4 bits are from the incremented PC; and
(4) MemRead
, MemWrite
, and RegWrite
are 0.
-
Branch on Equal (
beq
) or Branch on Not Equal (bne
)
-
(1) Either “
Beq=1
” or “Bne=1
”;
(2) “ALUSrc=0
” ( the second ALU input is BusB
);
(3) “ALUCtrl=‘SUB’
” produces zero flag; and
(4) MemRead
, MemWrite
, and RegWrite
are 0 according to the Next PC block.