- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
高级计算机体系结构第2章3
1
2、集中式动态调度(记分牌算法)技术
*总体结构:
*调度原理:使用记录控制器集中记录各功能部件、流水线中各指令、源和目的REG的状态(记分牌),然后进行统一调度
*记录控制器工作原理:
记录功能—检测并记录功能部件的使用冲突;
检测并记录REG的RAW、WAR、WAW数据相关
控制功能—根据记录的状态,控制指令流水(有冲突的指令推后进入功能部件,有相关的指令进入后推后执行)
2
3、分布式动态调度(Tomasulo算法)技术
*实现原理:将状态记录与控制 分散到各个功能部件中
*关键技术:寄存器重命名、动态存储器地址判别技术
转54页
(1)结构与组织
有分布式指令窗口(含状态记录)、分布式控制机构2个方面
*分布式指令窗口的组织:--指令信息记录方法
组成—有保留站、取数缓冲器、存数缓冲器3种
功能—均可保存多条指令(操作)
回下页
3
转上页
回下页
*指令状态表示的组织:--指令操作的状态表示
指令功能的分布式表示—
①指令功能表示为部件操作+数据传递操作
②传递操作表示为数据来源部件与数据接收部件的关联
③各部件记录自身的操作需求及数据来源部件编号
数据来源部件—指产生源操作数的部件,有FLB/RS
4
站号
名称
FLB状态表
有效
地址
0001
FLB1
0→1
A1
0010
FLB2
0
*
…
…
名称
FLR状态表
忙
来源
数据
F0
0→1
0001
?
F1
0
*
25H
F2
0→1
1010
?
…
站号
保留站RS状态表
有效
操作
S1来源
S1值
S2来源
S2值
1010
0→1
ADD
0000
25H
0000
05H
1011
0
1000
0
名称
SDB状态表
有效
来源
地址
数据
SDB1
0→1
0000
A2
25H
SDB2
0→1
1010
A3
?
…
注:来源=0000表示数据有效
指令串例:
F0=[A1]
[A2]=F1
F2=F1+5
[A3]=F2
转上页
回下页
数据传递操作表示的组织—
数据来源部件:FLB/RS,每行标有站号(从1编号)
数据接收部件:RS/SDB/FLR,每行设立站号项
指令(操作)状态表示的组织—
各部件的状态表记录与之相关的所有操作需求,
状态表中用“忙”位或“有效”位记录操作需求已/未完成
5
*分布式控制机构的组织:--指令操作控制方法
①译码时,控制器转化指令操作→部件操作+数据传递,
并保存操作需求及传递关系到各指令窗口
*指令窗口间数据通路的组织:--数据传递操作实现方法
采用公共数据总线CDB为宜(便于RAW冒险的转发法实现)
②各部件查询自身状态表中所有操作需求的数据状态,
各部件自行控制数据已就绪操作的执行
转上页
回下页
6
转上页
回下页
回64页
7
(2)动态调度原理
*REG的RAW冒险检测及处理: --指令译码时控制器实现
冒险存在条件—指令源操作数(REG)的忙位=1时
RAW冒险处理—取REG的站号项到当前指令相应部件中
└→直接取源头数据(REG重命名)
└→从CDB接收(转发法)
指令串 I1:F1=F0+5
I2:F2=F1+F0
I3:F0=F3+F4
名称
FLR状态表
忙
来源
数据
F0
0
*
25H
F1
0
F2
0
站号
保留站RS状态表
有效
操作
S1站号
S1值
S2站号
S2值
1010
0
1011
0
RAW冒险的消除—CDB上数据有效时(FLB数据到达或EX结束),
各部件控制(站号相同时)接收数据并修改状态
1010
1→0
ADD
0000
25H
0000
05H
1011
1
ADD
0000
2AH
0000
25H
F1
1→0
1010
2AH
F2
1
1011
?
转上页
回下页
回64页
8
*REG的WAR冒险处理: --指令译码时控制器实现
冒险存在条件—指令源操作数存在时
WAR冒险处理—
源操作数REG的状态
忙位=0时
忙位=1时
当前指令相应部件
所
文档评论(0)