2.3.1 章节实例展示(4.2.2节)

下面是一个小节课程实例:

我们先通过以下三个方面来初识Tomasulo:

  • 基本结构

  • 算法执行基本步骤

  • 一个简单的小例子


1. Tomasulo的基本结构

把握要点:

  • 指令队列

  • 保留站

  • Store/load缓冲器

  • 公共数据总线CDB

 

请看视频讲解:



2. Tomasulo算法的基本执行步骤

把握要点:大致上三步

  • 流出

  • 执行

  • 写结果


请看视频讲解:



3. 一个简单的小例子

下面我们考虑用Tomasulo算法来实现如下的指令:

DIV.D F4,F0,F2

SUB.D F10,F4F6

ADD.D F6,F12,F14


请同学们不妨先自己模拟一下,然后再来看下面的视频讲解。



最后:请思考,如何解决的RAW冲突?如何通过寄存器换名来消除WAR和WAW冲突?把什么换成了什么?