Single-cycle ARM processor (flags)

aluarmcpu

This is an ARM processor from my book:

enter image description here

The picture can be enlarged by clicking on it.

I'm wondering about the control unit below, specifically the last picture, the conditional logic. Is the FlagWrite signal connected to the reset button on the flip flops? Is it so that if FlagWrite is zero, then zeroes are written for the flags? If so, why can we set them to zero? Couldn't that disturb the conditional logic in the next cycle?

Best Answer

It's meant to be the enable "button", not the reset "button". When the clock goes high but the enable input is not high, the registers won't update.