ZHCU875Z August 2001 – October 2023 SM320F28335-EP
汇编器检测到特定流水线冲突,并根据其严重程度发出错误消息或警告。检测到的流水线冲突类型如下所示,还列出了发生每种冲突时汇编器的操作。
在一条指令写入一个寄存器时,另一条指令正在读取这个寄存器。
汇编器响应:
汇编器生成一条错误消息并中止。
两条指令在同一周期写入同一寄存器。
汇编器响应:
汇编器生成一条错误消息并中止。
在指定类型的 MOV32 指令(将一个值从 CPU 寄存器或存储器位置移动到 FPU 寄存器)的延迟时隙中,出现 FRACF32、I16TOF32、UI16TOF32、F32TOI32 和/或 F32TOUI32 指令。
汇编器响应:
汇编器生成错误消息并中止,因为硬件无法正确执行此序列。
并行操作的目标寄存器相同。
汇编器响应:
汇编器生成警告。
在写入寄存器的延迟时隙中出现对同一寄存器的读取/写入。
汇编器响应:
汇编器生成警告。
在流水线操作的延迟时隙中出现 SAVE 操作。
汇编器响应:
汇编器生成警告。
在流水线操作的延迟时隙中出现 RESTORE 操作。
汇编器响应:
汇编器生成警告。
当修改 LUF/LVF 的特定指令(例如 ADDF32、SUBF32、EINVF32、EISQRTF32 等)有待处理的写入时,SETFLG 指令尝试修改 LUF 或 LVF 标志。
汇编器响应:
汇编器不会检查哪些指令有待处理的写入;如果有任何待处理的写入时遇到 SETFLG,汇编器会发出详细警告,要求您确保 SETFLG 并不在指定指令的延迟时隙中。
对于每个 FPU 指令的实际时序,以及流水线建模,请参考《TMS320C28x 浮点单元和指令集参考指南》。VCU 指令的时序信息可在《TMS320x28xx、28xxx DSP 外设参考指南》中找到。