Hello,
The question is about the potential write-read conflict in the CLA pipeline.
Is the a write instruction followed immediately by a read instruction could cause potential conflict when using the same floating point register (MRx) or is the conflict only relevant when using the same address (or dependent addresses)?
Consider the following code:
MMOV16 *MAR0, MR1 ; Old MR1 should be writen into the 1st address
MMOVZ16 MR1, @_cla_current21 ; A 2nd (different) address should be loaded into MR1 (new)
Is there a conflict here because both instructions use MR1? Is it possible that due to pipeline sequence the new MR1 (with the content of @_cla_current21) will be stored into *MAR0 instead of the old MR1 content?
If indeed there is conflict here, how many intermediate instructions (or MNOPs) should be used to avoid the conflict here?
Thanks
