Mips 静态预测究竟是如何工作的?什么是延迟槽?
我知道未执行预测总是假设未执行分支,所以PC保持正常工作,除非证明错误,否则执行了分支,所以刷新管道中分支后面的所有指令(假设分支在MEM阶段解决) 但是如果总是采用静态预测呢? 在我的讲稿上写着: 编译器将尝试在每个分支后填充延迟槽 命令和跳转地址命令。以防特殊情况 分支命令它将无法填充其所有延迟槽,然后 它将推不。当然,这个处理器将刷新分支 未执行的命令 能给我一个简单的例子和实际的说明列表吗?Mips 静态预测究竟是如何工作的?什么是延迟槽?,mips,cpu-architecture,branch-prediction,Mips,Cpu Architecture,Branch Prediction,我知道未执行预测总是假设未执行分支,所以PC保持正常工作,除非证明错误,否则执行了分支,所以刷新管道中分支后面的所有指令(假设分支在MEM阶段解决) 但是如果总是采用静态预测呢? 在我的讲稿上写着: 编译器将尝试在每个分支后填充延迟槽 命令和跳转地址命令。以防特殊情况 分支命令它将无法填充其所有延迟槽,然后 它将推不。当然,这个处理器将刷新分支 未执行的命令 能给我一个简单的例子和实际的说明列表吗? 还有什么是延迟槽?延迟插槽和NOP之间有什么区别 ./。如果分支延迟插槽完全隐藏分支延迟,则无需
还有什么是延迟槽?延迟插槽和NOP之间有什么区别 ./。如果分支延迟插槽完全隐藏分支延迟,则无需预测@PeterCordes我仍在试图理解延迟槽的概念,所以发生的事情是在分支后插入一个延迟槽,该指令将被执行,无论分支是否被执行?如果执行,则会刷新分支后的指令?无论是否执行分支,始终执行分支后的指令..//。如果分支延迟插槽完全隐藏分支延迟,则无需预测@PeterCordes我仍在试图理解延迟槽的概念,所以发生的事情是在分支后插入一个延迟槽,该指令将被执行,无论分支是否被执行?如果执行该指令,则分支后的指令将被刷新?无论是否执行分支,分支后的指令始终被执行。