先行控制方式
采用先行控制方式的处理机结构如图5.3所示,只要在处理机内部设置一定容量的指令缓冲栈,把指令分析器所需要的指令事先取到指令缓冲栈中,而不必访问主存储器。这样,就能够使取指令、分析指令和执行指令重叠起来执行。
??图5.3 采用先行控制方式的处理机机构
?? 如果指令分析器每次取指令都能够在先行指令缓冲栈中得到,则取指令只需要很短的时间就能够完成,因此,可以把取指令与分析指令合并到一起,从而构成如图5.4所示的一次重叠执行方式。
图5.4 先行控制方式中的一次重叠执行
?? 如果分析指令和执行指令所需要的时间都是t,则采用一次重叠执行方式连续执行n条指令所需要的时间为:
T重叠=(1+n)t
(5.5)
????实际上要达到这个速度还有许多困难,主要有如下三个问题需要解决:????1、现代计算机的指令系统是很复杂的,各种类型的指令,其“分析”和“执行”所需要的时间相差往往很大。因此,指令分析部件和指令执行部件经常要相互等待,从而造成功能部件的浪费。????2、如果“分析k+1”所要读取的操作数正好是“执行k”的结果,则它们不能重叠执行,这种情况称为数据相关。另外还有控制相关和变址相关等。????3、当出现转移或转子程序指令时,程序的执行过程就不是顺序的。这时,在先行指令缓冲器中预取的指令和已经分析完成的下一指令等都可能要作废。
指令执行时序(keywo
原创力文档

文档评论(0)