由于PIC32使用MIPS 4K内核,因此其汇编语言必须受到管道效应的影响:分支延迟时隙和负载延迟时隙。
问题是延迟槽是一条指令还是更多指令?我想这取决于管道的细节。
无法找到相关文档。
答案 0 :(得分:1)
4K流水线具有负载使用互锁,如果加载指令后的指令使用了加载结果,则会使流水线停止一个时钟。 (摘自MIPS文档MIPS32®M4K™处理器核心软件用户手册,修订版02.03 。)
与所有MIPS32处理器一样,4K实现一条branch delay slot条指令。
分支延迟槽是改变汇编代码编写方式的唯一方法,但您可以重新排列代码,以避免在需要时触发性能关键代码中的加载使用互锁。