欢迎来到天天文库
浏览记录
ID:56999682
大小:222.00 KB
页数:11页
时间:2020-07-30
《非线性流水线的调度技术.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、非线性流水线的调度技术线性流水线的调度非常简单,可以在每一个时钟周期向流水线输入一个新任务。而在非线性流水线中,由于存在有反馈回路,当一个任务在流水线中流过时,在同一个流水段中可能要经过多次。因此,就不能每一个时钟周期向流水线输入一个新任务,否则会发生在同一个时刻有几个任务争用同一个流水段的情况。这种情况称为功能部件冲突(属于资源冲突),或流水线冲突。 非线性流水线调度的任务是要找出一个最小的循环周期,按照这周期向流水线输入新任务,流水线的各个流水段都不会发生冲突,而且流水线的吞吐率和效率最高。 为了避免流水
2、线发生冲突,一般采用延迟输入新任务的方法。那么,在非线性流水线的输入端,究竟每间隔多少个时钟周期向流水线输入一个新任务才能使流水线的各个流水段都不发生冲突,这就是非线性流水线的调度问题。当然,在一般情况下,这个间隔的时钟周期数应该愈小愈好。在许多非线性流水线中,间隔的周期数往往不是一个常数,而是一串周期变化的数字,也叫循环数列。 以下,首先介绍非线性流水线的表示方法,然后分析非线性流水线中的冲突情况,并且介绍无冲突调度方法,最后是非线性流水线的优化调度方法。非线性流水线的表示一条线性流水线通常只用各个流水段之间的连
3、接图就能够表示清楚,但是,在非线性流水线中,由于一个任务在流水线的各个流水段中不是线性流动的,有些流水段要反复使用多次,因此,只用连接图并不能正确地表示一条非线性流水线的工作过程。一条非线性流水线一般需要一个各流水段之间的连接图和一张预约表共同来表示。图5.29(a)是一条由4个流水段组成非线性流水线,它与一般线性流水线相同的地方是都有从第一个流水段S1到最后一个流水段S4的单方向传输线;它与一般线性流水线明显不同的地方有两个;一是有两条反馈线和一条前馈线,二是非线性流水线的输出端经常不在最后一个流水段,而可能从中间的任
4、意一个流水段输出。 预约表如图5.29(b)所示。预约表的横坐标表示流水线工作的时钟周期,纵坐标表示流水线的流水段,中间有“×”的表示该流水段在这一个时钟周期处于工作状态,即在这个时钟周期有任务通过这个流水段,空白的地方表示该流水段在这个时钟周期不工作。一行中可以有多个“×”,其含义是一个任务在不同时钟周期重复使用了同一个流水段,一列中有多个“×”是指在同一个时钟周期同时使用了多个流水段。预约表的行数就是非线性流水线的段数,这与线性流水线相同,而预约表的列数是指一个任务从进入流水线到从流水线中输出所经过的时钟周期数
5、。图5.29非线性流水线的表示方法(b)非线性流水线的预约表 有时把预约表的列数称为流水线的功能求值时间或流水线的装入时间等。 一张非线性流水线的预约表可能与多个非线性流水线连接图相对应。产生这种情况的原因是:在预约表的同一列中可能有多个“×”,即在这个时钟周期有多个流水段段有输出,从而造成下一个功能段的输入可能有多种来源,如图5.30所示。 同样,一个非线性流水线的连接图也可能对应有多张预约表。造成这种情况的原因是:在非线性流水线的有些功能段可能有多个输出端,也有些功能段可能有多个输入端,这些输出端与
6、输入端之间连接的先后次序就形成了多张预约表。如图5.31所示。图5.30与图5.29(b)对应的另一种非线性流水线的连接图图5.31与图5.29(a)对应的另一张预约表非线性流水线的冲突向一条非线性流水线的输入端连续输入两个任务之间的时间间隔称为非线性流水线的启动距离(InitiationInterval)或等待时间(Latency)。启动距离通常用时钟周期数来表示,它是一个正整数。 当以某一个启动距离向一条非线性流水线连续输入任务时,可能在某一个流水段,或某几个流水段中发生有几个任务同时争用同一个流水段的情况,这
7、种情况就是非线性流水线中的冲突(collision)。如图5.29所示的一条非线性流水线,当启动距离为3时,有关流水段的冲突情况如图5.32所示。流水段S1在时钟周期4有两个任务争用,在时钟周期7、10、13、……,有三个任务争用。流水段S2在时钟周期5、8、11、……,有两个任务争用。图5.32启动距离为3的流水线冲突情况 同样,图5.29所示的非线性流水线,当启动距离为2时,在有些流水段中也发生有冲突,流水段S1在时钟周期7、9、11、……,有两个任务争用,流水段S3在时钟周期6、8、10、……,也有两个任务争
8、用。 引起非线性流水线流水段冲突的启动距离称为禁止启动距离。如图5.29所示的非线性流水线,启动距离2和启动距离3都是禁止启动距离。 使非线性流水线的任何一个流水段在任何一个时钟周期都不发生冲突的循环数列称为非线性流水线的启动循环。只有一个启动距离的启动循环又称为恒定循环。对于图5.29的非线性流水线,启
此文档下载收益归作者所有