3解决指令相关 1)尽可能避免指令相关 2)用分支程序代替被修改的指令 4解决条件转移的全局相关 )猜测法 ①按成功支路猜测:凡是条件转移指令都将成功 支路指令提前取到指令站中,此时将不成功支 路指令取到后援寄存器组 ②按不成功支路猜测:做法与①正好相反 2)分支预测 允许CPU对分支以后的指令进行译码,如P6系列 CPU中,取指译码单元使用一种优化的分支预测算 法,用来在多级分支、过程调用和返回时预测指令 的流向
3 解决指令相关 1)尽可能避免指令相关 2)用分支程序代替被修改的指令 4 解决条件转移的全局相关 1)猜测法 ①按成功支路猜测:凡是条件转移指令都将成功 支路指令提前取到指令站中,此时将不成功支 路指令取到后援寄存器组。 ②按不成功支路猜测:做法与①正好相反。 2)分支预测: 允许CPU对分支以后的指令进行译码,如P6系列 CPU中,取指/译码单元使用一种优化的分支预测算 法,用来在多级分支、过程调用和返回时预测指令 的流向
如计算A=B*C if A<0 GoTo n 在进行B*C之前,可先对SBS=?进行判断, 决定流向。 3)尽可能作成短转移,短循环:使转去的指令都 在指令站中。 4)增加指令站容量 (P6体系中称为指令池—重排序缓冲器,是 个按内容寻址的存储器阵列。可存放40个等待 执行的微操作,执行单元能够以任意顺序执行重 排序缓冲器中的指令。) 5解决等待结果的数相关 1)推迟法:包括推迟译码分析,推迟执行 适用范围宽,但不利于速度的提高
如 计算 A=B﹡C if A<0 GoTo n 在进行B﹡C之前,可先对SB⊕SC=?进行判断, 决定流向。 3)尽可能作成短转移,短循环:使转去的指令都 在指令站中。 4)增加指令站容量 (P6体系中称为指令池——重排序缓冲器,是 一个按内容寻址的存储器阵列。可存放40个等待 执行的微操作,执行单元能够以任意顺序执行重 排序缓冲器中的指令。) 5 解决等待结果的数相关 1)推迟法:包括推迟译码分析,推迟执行。 适用范围宽,但不利于速度的提高
2)相关专用通路法 当上一条的运算结果 registers 需作下一条的源操作 数时,如: LD R, A ALU addR, B SUB R, C 相关专 常规通路 可建一个相关专用比用 常规通路提前1τ获取通 B 源操作数 路 数据总线
2)相关专用通路法 当上一条的运算结果 需作下一条的源操作 数时,如: LD R,A ADD R,B SUB R,C 可建一个相关专用比 常规通路提前1τ获取 源操作数。 ALU A B registers 相关专用通路 常规通路数据总线
§2流水方式 流水方式的出现 1重叠方式的两种等待 1)等待译码 当t译>t+1取时,即: 取译执 取][译执 等待译码 时间 2)等待执行 i[取「译执」 执>t1译时,即: 计+1「取译执 等待执行时间
一、流水方式的出现 1 重叠方式的两种等待 1)等待译码 当ti译>ti+1取时,即: 2)等待执行 ti执>ti+1译时,即: i+1 i 等待译码 时间 取 译 执 取 译 执 i 取 译 执 i+1 取 译 执 等待执行时间
2产生等待的原因 重迭方式未按时间单位来划分过程段,比较粗 糙 3流水线上对各过程段进行时间匹配的办法 1)将一条指令分为以△t为单位的多个△过程段 如某指令用时5△t,可分为5个过程段:(均匀流 水线) △t △t △t △t △t 4
2 产生等待的原因 重迭方式未按时间单位来划分过程段,比较粗 糙。 3 流水线上对各过程段进行时间匹配的办法。 1)将一条指令分为以Δt为单位的多个Δt过程段。 如某指令用时5Δt,可分为5个过程段:(均匀流 水线) 1 Δt 2 Δt 3 Δt 4 Δt 5 Δt