下面是一个小节课程实例:
我们先通过以下三个方面来初识Tomasulo:
1. Tomasulo的基本结构
把握要点:
指令队列
保留站
Store/load缓冲器
公共数据总线CDB
请看视频讲解:
2. Tomasulo算法的基本执行步骤
把握要点:大致上三步
请看视频讲解:
3. 一个简单的小例子
下面我们考虑用Tomasulo算法来实现如下的指令:
DIV.D F4,F0,F2
SUB.D F10,F4,F6
ADD.D F6,F12,F14
请同学们不妨先自己模拟一下,然后再来看下面的视频讲解。
最后:请思考,如何解决的RAW冲突?如何通过寄存器换名来消除WAR和WAW冲突?把什么换成了什么?