赞
踩
对于正确地执行程序来说,必须保持的最关键的两个属性是:数据流和异常行为。
(1)保持异常行为是指:无论怎么改变指令的执行顺序,都不能改变程序中异常的发生情况。即原来程序中是怎么发生的,改变执行顺序后还是怎么发生。弱化为:指令执行顺序的改变不能导致程序中发生新的异常。
(2)数据流:指数据值从其产生者指令到其消费者指令的实际流动。
(1)指令状态表:记录正在执行的各条指令已经进入到了哪一段。
(2)功能部件状态表:记录各个功能部件的状态。每个功能部件有一项,每一项由9个字段组成.
(3)结果寄存器状态表Result:每个寄存器在该表中有一项,用于指出哪个功能部件(编号)将把结果写入该寄存器。
记录和检测指令相关,操作数一旦就绪就立即执行,把发生RAW冲突的可能性减少到最小;通过寄存器换名来消除WAR冲突和WAW冲突。
采用动态分支预测技术的目的
(1)预测分支是否成功
(2)尽快找到分支目标地址(或指令) (避免控制相关造成流水线停顿)
关键问题:如何记录分支的历史信息,要记录哪些信息?如何根据这些信息来预测分支的去向,甚至提前取出分支目标处的指令?
(1)动态分支预测。用来选择后续执行的指令。
(2)在控制相关的结果尚未出来之前,前瞻地执行后续指令
(3)用动态调度对基本块的各种组合进行跨基本块的调度
(1)指令类型:指出该指令是分支指令、store指令或寄存器操作指令。
(2)目标地址:给出指令执行结果应写入的目标寄存器号(如果是load和ALU指令)或存储器单元的地址(如果是store指令)。
(3)数据值字段:用来保存指令前瞻执行的结果,直到指令得到确认。
(4)就绪字段:指出指令是否已经完成执行并且数据已就绪。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。