[组成原理] 指令重排序
程序员文章站
2022-05-04 17:18:36
...
上一篇:[组成原理] 流水线设计
1. 前提
a = b + c
d = a * e
x = y * z
可以发现,第三条指令并不依赖前两条,在第二条指令等待第一条指令的结果的时候,完全可以先执行第三条指令。
2. 指令重排序
在取指令和译码之后,会讲指令发到保留站,等待他们所依赖的数据。如果指令依赖的数据准备好了,就会提交到ALU进行计算,计算完成后,会讲结果放到重排序缓冲区,在这里,CPU按照取指令的顺序,对计算结果重新排序,只有当前指令前面的指令都完成,才会提交当前指令,来保证在外部看来指令的顺序性。
上一篇: 线程阻塞与唤醒
下一篇: 求PHP的服务器设置多个本地站点