部件号: TMS320F28379D
您好:
该问题与 CLA 流水线中潜在的写读取冲突有关。
使用同一浮点寄存器 (MRx) 时、写指令后跟读指令是否会导致潜在冲突、或者仅在使用相同地址(或从属地址)时冲突才相关?
请考虑以下代码:
MMOV16 *MAR0, MR1 ;旧 MR1 应写入第一个地址
MMOVZ16 MR1、@_cla_current21 ;第二个(不同)地址应加载到 MR1(新)
这里是否存在冲突、因为两个指令都使用 MR1? @由于流水线顺序、新的 MR1(包含 μ S_CLA_current21 的内容)可能会存储在*MAR0 中、而不是存储在旧的 MR1 内容中吗?
如果这里确实存在冲突、应使用多少个中间指令(或 MNOP)来避免这里的冲突?
谢谢
