查看分支延迟槽的源代码
←
分支延迟槽
跳转到:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
== 缘起 == 引入分支延迟槽的目的主要是为了提高流水线的效率。 流水线中,分支指令执行时因为确定下一条指令的目标地址(紧随其后 or 跳转目标处?)一般要到第 2 级以后,在目标确定前流水线的取指级是不能工作的,即整个流水线就“浪费”(阻塞)了一个时间片,为了利用这个时间片,在体系结构的层面上规定跳转指令后面的一个时间片为分支延迟槽(branch delay slot)。位于分支延迟槽中的指令总是被执行,与分支发生与否没有关系。这样就有效利用了一个时间片,消除了流水线的一个“气泡”。 这种技术手段主要用在早期没有分支预测的流水线 RISC 上,现代 RISC 实现早就可以在流水线的第 2 级利用分支预测确定跳转的目标,分支延迟槽也就失去了原来的价值,但为了软件上的兼容性 MIPS 和 SPARC 还是作了保留。 <br><br> <br><br> <br><br> <br><br>
返回到
分支延迟槽
。
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面