异步脉动流水线制造技术

技术编号:2825703 阅读:192 留言:0更新日期:2012-04-11 18:40
一种异步脉动流水线具有多个级,每个级包括控制器(18)和寄存器(16)。所述控制器具有寄存器控制输出(21)以及组合确认和请求输出(20),以及请求输入(22)和确认输入(24)。所使用的协议包括单个信号,其在级(30)的组合确认和请求输出(20)上输出,用作向下一级(32)的请求以及向前一级(34)的确认。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种异步脉动(ripple)流水线(pipeline)及其控制方法。
技术介绍
流水线提供对数据流的存储和频繁处理,图1示出了线性流水线的基本实现。多个连续级10中的每一个均包括存储器12,并且可以在如示意性示为处理器14的级之间进行处理。如果流水线不进行处理,则也可以认为它是先入先出(FIFO)存储器设备。如果实现为线性流水线,则结构包括串联的相同级,其中每个级能够存储一个字的数据。可以使用两种定时方法(公知为同步或异步)中的一种来实现流水线。同步定时使用全局时钟来在流水线的连续级之间传送数据。利用同步流水线,从输入到输出的传播延迟等于N个时钟周期,其中N是流水线的级数,被公知为深度。异步流水线不具有全局时钟,取而代之的是,利用握手信令(handshake signaling)在连续级之间传播数据。作为异步方法的结果,数据-令牌和孔以自定时的方式脉动(ripple)经过流水线(FIFO)。输入到输出的传播延迟与流水线的级数N成正比。由于级到级的脉动延迟(ripple delay)比时钟周期小一到两个数量级,因此异步流水线可以具有较好的传播延迟。异步流水线也具有如下益处,即在没有全局时钟的情况下,输入和输出可以以不同和/或变化的时钟速度运行。US6067109中给出了具有处理的流水线的现有技术实现,其在一-->个方向上传输指令包,并在相反方向上传输结果。提供逻辑,通过确保不能从相邻级同时释放指令和结果,以防止指令包和结果包彼此旁路。然而,该实现相对复杂。本专利技术旨在提供异步流水线的简化实现以及用于在这样的流水线中传送数据的方法。专利技术内容第一方面中,本专利技术涉及一种在流水线中的级和下一级之间传送数据的方法,该流水线具有用于将数据从该级传输到下一级的数据传送线路,用于将指示数据路径保持有效数据的请求信号从该级传输到下一级的请求线路,和用于将表明下一级被占用的确认信号从下一级传输到该级的确认线路,所述方法包括重复下列步骤:(i)在请求信号和确认信号均被断言或者请求信号和确认信号均未被断言时,等候两个数据传送条件均为真,其中第一数据传送条件是数据路径保持有效数据,第二数据传送条件是下一级为空;(ii)在请求信号被断言而确认信号被解除断言时,在级之间传送数据,然后断言确认信号;(iii)在请求信号被断言且确认信号被断言时,迅速地解除断言请求信号;(iv)在确认信号被断言而请求信号被解除断言时,等候两个数据传送条件之一被满足。所述方法可以包括重复步骤(i)到(iv)以传送数据项,其中在步骤(i)的至少一种情况下,请求信号和确认信号均被断言,在步骤(i)的至少另外一种情况下,请求信号和确认信号均未被断言。在级之间传送数据的步骤可以在在级之间传送数据时处理所述数据。在此情况下,所述方法进一步包括延迟从该级到下一级传送的请求信号,以在被断言的请求信号到达下一级之前预留时间进行处理。根据本专利技术的第二方面,提供一种流水线,包括:级;下一级;-->至少一个数据传送线路,用于将数据从该级传输到下一级;请求线路,用于将指示数据传送线路保持有效数据的请求信号从该级传输到下一级;和确认线路,用于将表明下一级被占用的确认信号从下一级传输到该级;以及级中的控制器,所述控制器被配置为进行下列协作:(i)在请求信号和确认信号均被断言或者请求信号和确认信号均未被断言时,等候两个数据传送条件均为真,其中第一数据传送条件是数据路径保持有效数据,第二数据传送条件是下一级为空;(ii)在请求信号被断言而确认信号被解除断言时,沿数据传送线路向下将数据从该级传送到下一级,然后断言确认信号;(iii)在请求信号被断言且确认信号被断言时,解除断言请求信号;以及(iv)在确认信号被断言而请求信号被解除断言时,等候两个数据传送条件之一被满足。本专利技术提供高速、鲁棒的流水线,它特别简单而且不丧失功能性。这种简单使得其实现起来毫不费力而且成本相对较低。从级到下一级的数据线路可以包括用于处理数据的处理单元,而且所述请求线路可以包括至少一个延迟组件,延迟组件被配置为延迟从级传输到下一级的请求信号。附图说明为了更好地理解本专利技术,将参考附图仅仅通过举例的方式描述实施例,附图中:图1示意性示出了流水线;图2示出了本专利技术第一实施例的示意图;图3是第一实施例的操作的时序图;图4是第一实施例的操作的信号传输图;图5示出了第一实施例的一个级中实现控制功能的电路;图6示出了当操作根据本专利技术的方法时在图5电路中各个点处的-->波形;图7示出了本专利技术的第二实施例,其中在流水线中进行处理;和图8示出了本专利技术的第三实施例,其中在接收来自一个以上级的输入的流水线中进行处理。注意,附图是示意性的,并未按比例绘制。在不同的图中,相同或相似的组件以相同的附图标记表示。具体实施方式图1中提供了脉动流水线FIFO的方框图。每一个级10可以在寄存器16中保持一个字,并且还包括控制器18,其中所述寄存器16以锁存器的实施例构造。接下来的描述将着重于单个级30、以及它与下一级32和前一级34的相互作用。本领域技术人员可以理解,在实际设备中,将有可变数目的级,例如3到50个,并且第一和最后一个级将与其它组件连接。每个级具有单个确认和请求输出20以及两个控制输入,即请求输入22和确认输入24。这些均连接至控制器18。此外,控制器具有寄存器控制输出21,它沿着内部控制线路17将寄存器控制信号“G”从控制器提供给寄存器16。数据总线26直接将数据从寄存器16提供给下一级32的寄存器。因此所述级具有数据输入15和数据输出19,其间具有寄存器16,虽然应当注意,在所描述的实施例中数据输入和输出只是到数据总线26的物理连接;每个寄存器16直接将信号提供给下一级。每一对级通过控制线路28连接,控制线路28之一是用于向后传输确认信号的确认线路25,另一线路是用于向前传输请求信号的请求线路23。所述确认和请求输出通过请求线路23连接至下一级32的请求输入22,并通过确认线路25连接至前一级34的确认输入24。以同样的方式,所讨论的级30的确认输入24连接至下一级的确认和请求输出20,并且请求输入22连接至前一级34的确认和请求输出20。沿控制线路28发送的控制信号被称为请求(R)和确认(A)。它们形成握手对(handshake pair)。当数据总线包含有效的数据-令牌-->时,请求被发送至下一级。当该数据-令牌已经被捕获时,确认被反向发送回来。根据4阶段握手协议,通过握手控制信号的转换,对所述请求和确认事件进行编码。存在两种类型的确认事件:A的上升转换,它指示数据已经被复制到下一级,从而下一级为满;以及A的下降转换,它意味着下一级为空。因此,在每一对相邻级之间,传送请求和确认信号。注意,返回至前一级的确认A0和到下一级R1的请求由单个输出信号实现。虽然所描述的实施例具有单个组合的请求和确认输出20,但是在其它实施例中,在级30上具有一对物理组合的请求和确认输出通常是方便的,一个连接至下一级32,一个连接至前一级34,两个输出在控制器18处连接至公共驱动器。操作中,如图3所示,出现多个阶段。图3示出了级30和下一级32之间的信号。第一波形代表在级30的组合的请求和确认输出22上传输的信号R。第二个曲线图表本文档来自技高网...

【技术保护点】
一种在流水线中的级(30)和下一级(32)之间传送数据的方法,所述流水线具有:用于将数据从该级(30)传输到下一级(32)的至少一个数据传送线路(26),用于将指示数据路径保持有效数据的请求信号从该级(30)传输到下一级(32)的请求线路(23),以及用于将表明下一级被占用的确认信号从下一级(32)传输到该级(30)的确认线路(25),所述方法包括重复下列步骤:    (i)在请求信号和确认信号均被断言或者请求信号和确认信号均未被断言时,等候两个数据传送条件均为真,其中第一数据传送条件是至少一个数据传送线路(26)保持有效数据,第二数据传送条件是下一级(32)准备好接收数据;    (ii)在请求信号被断言而确认信号被解除断言时,在级(30、32)之间传送数据,然后断言确认信号;    (iii)在请求信号被断言且确认信号被断言时,解除断言请求信号;    (iv)在确认信号被断言而请求信号被解除断言时,等候两个数据传送条件之一被满足。

【技术特征摘要】
【国外来华专利技术】EP 2005-9-5 05108127.11、一种在流水线中的级(30)和下一级(32)之间传送数据的方法,所述流水线具有:用于将数据从该级(30)传输到下一级(32)的至少一个数据传送线路(26),用于将指示数据路径保持有效数据的请求信号从该级(30)传输到下一级(32)的请求线路(23),以及用于将表明下一级被占用的确认信号从下一级(32)传输到该级(30)的确认线路(25),所述方法包括重复下列步骤:(i)在请求信号和确认信号均被断言或者请求信号和确认信号均未被断言时,等候两个数据传送条件均为真,其中第一数据传送条件是至少一个数据传送线路(26)保持有效数据,第二数据传送条件是下一级(32)准备好接收数据;(ii)在请求信号被断言而确认信号被解除断言时,在级(30、32)之间传送数据,然后断言确认信号;(iii)在请求信号被断言且确认信号被断言时,解除断言请求信号;(iv)在确认信号被断言而请求信号被解除断言时,等候两个数据传送条件之一被满足。2、根据权利要求1的方法,其中所述方法包括重复步骤(i)到(iv)以传送数据项,其中在步骤(i)的至少一种情况下,请求信号和确认信号均被断言,在步骤(i)的至少另外一种情况下,请求信号和确认信号均未被断言。3、根据权利要求1或2的方法,其中从该级(30)到下一级(32)的所述请求信号是也被传输至前一级的组合请求和确认信号。4、根据权利要求1、2或3的方法,进一步包括当第一和第二数据传送条件适用时,在下一级(32)中产生寄存器控制信号,以促使下一级(32)中的锁存寄存器(16)接受来自数据线路(26)的数据,并且其中在步骤(iii)中,响应于确认信号的接收,通过使确认信号传递经过一个或多个逻辑门,以由组合逻辑直接产生解除断言的寄存器控制信号,级(30)将寄存器控制信号解除断言。5、根据权利要求4的方法,进一步包括在下一级(32)中根据下一级中的寄存器控制信号来产生确认信号,以便在所捕获的数据在下一级中的锁存寄存器的输出处存在/变为有效之后,断言所述确认信号。6、根据前述任一权利要求的方法,其中所述在级之间传送数据的步骤在数据在级之间被传送时处理所述数据,所述方法还包括延迟从该级(30)到下一级(32)传输的被断言的请求信号,以提供在被断言的请求信号到达下一级之前执行处理的时间。7、根据前述任一权利要求的方法,其中当在步骤(iii)中数据在该级(30)中可用于送入至少一个数据线路(26)时,步骤(iii)包括将数据送入数据线路(26)并立即进行步骤(i),忽略步骤(iv)。8、一种流水线,包括:级(30);下一级(32);至少一个数据传送线路(26),用于将数据从该级(30)传输到下一级(32);请求线路(23),用于将指示数据传送线路(26)保持有效数据的请求信号从该级(30)传输到下一级(32);和确认线路(25),用于将表明下一级被占用的确认信号从下一级(32)传输到该级(30);以及级中的控制器(18),所述控制器被配置为进行下列协作:(i)在请求信号和确认信号均被断言或者请求信号和确认信号均未被断言时,等候两个数据传送条件均为真,其中第一数据传送条件是数据路径保持有效数据,第二数据传送条件是下一级为空;(ii)在请求信号被断言而确认信号被解除断言时,沿数据传送线路(26)从该级(30)到下一级(32)向下传送数据,然后断言确认信号;(iii)在请求信号被断言且确认信号被断言时,解除断言请求信号;以及(iv)在确认信号被断言而请求信号被解除断言时,等候两个数据传送条件之一被满足。9、根据权利要求8的流水线,其中所述级(30)包括:锁存寄存器(16);数据输入(15),用于将来自紧接前一级的数据项接收到寄存器(16)中;数据输出(19),用于将数据项从寄存器(16)输出至下一级;确认输入(24),用于从下一级(32)接收确定数据项已经被接收的确认信号;请求输入(22),用于从前一级接收指示前一级准备好传输数据项的请求信号;和组合请求和确认输出(20),被配置为向下一级(32)的请求输入输出组合请求信号,并向前一级(34)的确认输入输出确认信号,以确认从前一级接收数据项并请求向下一级传输数据项。10、根据权利要求9的流水线,其中所述控制器(18)被配置为:(i)通过等候如下条件:(a)请求输入上的请求信号被断言,和(b)组合请求和确认输出上的组合请求...

【专利技术属性】
技术研发人员:保罗维拉吉
申请(专利权)人:NXP股份有限公司
类型:发明
国别省市:NL[荷兰]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利