避让定时机制制造技术

技术编号:2849004 阅读:292 留言:0更新日期:2012-04-11 18:40
用于对通过分割事务总线从主设备发送到从设备的命令的重试实现避让定时的系统和方法。一个实施例包括缓冲器,具有用于存储每个未决命令和相关信息的项,包括命令的重试次数和静态伪随机定时器期满值。根据与对应于该项的命令的重试次数相关的掩码,将每个项的定时器期满值与该运行计数器进行比较。在两个值的未屏蔽位匹配时,重试该命令。在一个实施例中,用于存储重试次数和定时器期满值的缓冲器项的相同部分用于交替存储与确认响应一起接收的从生成标志。

【技术实现步骤摘要】

本专利技术一般地涉及主设备和从设备之间的通信,而且,更具体地说,本专利技术涉及关于重试从主设备发送到从设备的请求,实现避让定时(backing-off timing)的系统和方法。
技术介绍
现代的高性能计算系统可以包括多个可以实现各种计算系统的设备。例如,可以存在多个处理器(可以用作主、从或者它们二者)、存储器、输入/输出(I/O)设备等。这些不同设备通常连接到总线,因此,它们可以互相通信、传送数据等。因为可以存在许多试图利用总线的无限带宽进行通信的设备,所以设备之间的通信应该尽可能有效。通常以多个步骤或者多个阶段实现通过总线在设备之间执行的事务(transaction)。例如,如果主设备希望将数据写入从设备,则需要在典型系统中该主设备发出写命令,等待来自可以接收该命令的目标从设备的确认,然后,将该写数据传送到总线,以便被发送到该目标从设备。通过总线,在各种设备之间同时执行的这种事务可以有许多,因此,需要实现各种机制,以防止每种事务互相干扰。如上所述,为了有助于通过分割(split)事务总线进行通信通常实现的机制之一是重试目标设备在第一次尝试时没有收到的命令的避让机制。如上所述,为了执行事务,主设备必须等待来自目标从设备的确认。如果在从设备第一次发送命令时,从设备未准备好接收该命令(例如,如果从设备的命令缓冲器是满的),则该从设备可以将RETRY响应发送到该主设备。在该主设备收到RETRY响应时,它知道该命令未被收到,而且可以在以后的时间重试该命令。因为设备之间通过总线执行的通信的多阶段性质,可能存在两个不同设备几乎同时尝试互相发送命令的情况。在相应目标设备收到每个命令时,该目标设备可以认为自己不能用于接收其他设备的命令,因为自己的未决命令,因此,该目标设备可以对其他设备发送RETRY响应。因此,两个设备都必须在以后的时间重试发送其命令。如果在再一次发送它们的命令之前,两个设备都等待同样长的时间,则在接收其他设备的命令时,每个设备都再一次处于忙。如果两个设备都陷入无穷循环,则这可以无限重复。该条件被称为“活锁(live lock)”。为了避免出现活锁情况,通常执行避让定时机制(backing-offtiming)。通常,避让定时机制使得设备在重试未确认的命令之前等待增加的时间。避让定时机制还在选择特定等待周期过程中实现随机性因素。选择等待周期的随机性减少了两个设备连续互相干扰的机会。增大等待周期的大小可以减少在重试该命令时占用的资源量(因为在短等待周期后仍忙碌的设备很可能在另一个短等待周期之后仍忙碌)。为了实现避让定时机制,通常需要跟踪命令的重试次数和在应该重试该命令之前剩余的时间。在传统系统中,对每个未决命令设置一组寄存器。这些寄存器之一存储相应命令的重试次数(重试计数器或者指示符),而另一个寄存器用作定时器(定时器期满值)。在每次从目标从设备收到重试响应时,更新第一寄存器。通常,第二寄存器存储要重试该命令之前剩余的时间,因此,必须在每个周期更新它。因为典型系统提供大量未决命令(例如,8个或者16个),所以还必须提供相应数量的重试指示符(indicator)和定时器值。因此,鉴于该芯片上它们所需的空间,以及对每个命令更新定时器值所需的处理,所以传统的避让定时机制可能昂贵。因此,希望提供一种用于在重试命令的过程中实现避让定时的系统和方法,其中该系统和方法可以更有效利用该芯片上它们所需的空间以及跟踪重试定时所需的处理资源。
技术实现思路
利用本专利技术的各种实施例可以解决上面概括说明的一个或者多个问题。总体上说,本专利技术包括用于对通过分割事务总线从主设备发送到从设备的命令的重试实现避让定时的系统和方法。一个实施例包括缓冲器,具有用于存储每个未决命令和相关信息的项,如该命令的重试次数和静态(但是不是永久的)伪随机定时器期满值。根据与对应于该项的命令的重试次数相关的掩码,将每个项的定时器期满值与该运行计数器进行比较。在两个值的未屏蔽位匹配时,重试该命令。在一个实施例中,用于存储重试次数和定时器期满值的缓冲器项的相同部分用于交替存储与确认响应一起接收的从生成标志。在收到从生成标志时,不需要重试次数和定时器期满值,因此,利用该标志覆盖写它们。一个实施例包括避让定时系统,该避让定时系统包括命令缓冲器、运行计数器、一个或者多个比较器以及控制电路。该命令缓冲器具有多个项,每个项具有相应比较器。配置该控制电路,以在对于对应于该项的命令,收到重试时,将静态定时器期满值存储到每个项内。控制电路还存储重试次数的指示符。该比较器将静态定时器期满值的选择位与运行计数器值的相应位进行比较。如果选择的位匹配,则该控制电路启动动作,例如,对应于匹配项的命令的重试。变换实施例包括避让定时系统,该避让定时系统包括命令缓冲器和该命令缓冲器的控制电路。命令缓冲器具有多个项,每个项均与相应未决命令相关。配置该控制电路,以当对于对应于该项的命令收到重试响应时,将避让定时信息存储到每个项的第一部分内。当对于对应于该项的命令收到含有从生成标志的确认时,将该从生成标志存储到该项的第一部分,代替该避让定时信息。另一个变换实施例包括用于避让定时的方法,该方法包括存储含有静态定时器期满值的多个缓冲器项;将定时器期满值的选择位与运行计数器进行比较;以及启动动作,例如,对应于匹配项的命令的重试。又一个变换实施例包括一种用于避让定时的方法,该方法包括根据是否收到重试响应或者确认响应,存储对应于未决命令的多个缓冲器项并将避让定时信息或者从生成标志交替存储到每个项的相同部分上。还可以有许多其他实施例。附图说明在阅读了下面的详细说明并参考了附图后,本专利技术的其他目的和优点显而易见。图1是示出具有总线的系统的方框图,该总线将根据一个实施例的多个主设备和从设备互连在一起;图2是示出根据一个实施例被配置成执行分割事务的主设备结构的方框图;图3是示出根据一个实施例交替存储s标志或者避让定时值的流程图;图4是示出根据一个实施例实现避让定时机制的命令缓冲器和相应控制电路的结构的示意图。尽管本专利技术可以具有各种修改形式和变换形式,但是,作为例子,在附图和下面的详细说明中示出并说明了特定实施例。应该明白,附图和详细说明无意使本专利技术局限于所描述的特定实施例。相反,该公开意在涵盖落入所附权利要求限定的本专利技术范围内的所有修改、等同以及变换。具体实施例方式下面说明本专利技术的一个或者多个实施例。应该注意,下面描述的这些以及任何其他实施例是示例性的,意在说明本专利技术,而非限制本专利技术。总体上说,本专利技术包括用于对通过分割事务总线从主设备发送到从设备的命令的重试实现避让定时的系统和方法,其中与传统系统和方法相比,需要的资源少。在一个实施例中,提供一组寄存器(一个命令缓冲器)用于存储未决命令。对于每个未决命令,存在一个寄存器(缓冲器项(entry)),其被配置成存储指出命令重试的次数和定时器期满值的信息。保持一个运行计数器,用于与存储在对应于未决命令的寄存器内的定时器期满值进行比较。在首先发出命令时,将该命令存储到缓冲器项之一内,利用相应识别标志索引该缓冲器项。如果必须重试该命令,则将相应命令的重试次数存储到缓冲器项内。伪随机数存储在缓冲器项内,作为定时器期满值。根据该命令的重试次数,对定时器期满值和运行计数器本文档来自技高网
...

【技术保护点】
一种避让定时系统,包括:命令缓冲器,被配置成存储多个项;运行计数器,被配置成周期性地通过一组值进行计数;一个或者多个比较器,被配置成对于每一项,将对应于该项的定时器期满值的选择位与该运行计数器的当前值的相应位进行比较;以及控制电路,被配置成:响应一个或者多个比较器确定对应于所述多个项中的第一项的定时器期满值的选择位与该运行计数器的当前值的相应位匹配,启动对应于所述多个项中的第一项的动作。

【技术特征摘要】
US 2005-4-6 11/100,0811.一种避让定时系统,包括命令缓冲器,被配置成存储多个项;运行计数器,被配置成周期性地通过一组值进行计数;一个或者多个比较器,被配置成对于每一项,将对应于该项的定时器期满值的选择位与该运行计数器的当前值的相应位进行比较;以及控制电路,被配置成响应一个或者多个比较器确定对应于所述多个项中的第一项的定时器期满值的选择位与该运行计数器的当前值的相应位匹配,启动对应于所述多个项中的第一项的动作。2.根据权利要求1所述的系统,其中在多处理器系统的主设备内实现避让定时系统,而且其中控制电路启动的动作包括与所述多个项中的第一项相关的命令的重试。3.根据权利要求1所述的系统,进一步包括伪随机数发生器,其中控制电路被配置成存储伪随机数发生器提供的伪随机数作为定时器期满值,而且当对于对应于该项的命令收到重试响应时,将重试次数指示符存储到每个项内。4.根据权利要求3所述的系统,其中该一个或者多个比较器被配置成根据与重试次数指示符相关的掩码,确定定时器期满值的选择位。5.根据权利要求4所述的系统,其中该一个或者多个比较器被配置成对定时器期满值施加掩码,而且选择一系列未屏蔽位。6.根据权利要求1所述的系统,其中对定时器期满值的各位的第一子集施加该掩码,而且其中选择位始终包括该定时器期满值的各位的第二子集。7.根据权利要求1所述的系统,其中选择的该定时器期满值的各位的子集包括该定时器期满值的一系列连续最低有效位。8.根据权利要求1所述的系统,其中控制电路被配置成当对于对应于该项的命令收到重试响应时,将定时器期满值和重试次数指示符存储在每个项的第一部分;以及当对于对应于该项的命令收到含有从生成标志的确认时,将从生成标志存储到每个项的第一部分。9.一种用于避让定时的方法,包括存储对应于未决命令的一个或者多个项,其中每个项均包括静态定时器期满值;保持运行计数器,该运行计数器被配置成周期性地通过一组值进行计数;对于每个项,重复地将对应于定时器期满值的选择位与该运行计数器的当前值的相应位进行比较;以及响应确定对应于所述多个项中的第一项的定时器期满值的选择位与该运行计数器的当前值的相应位匹配,启动对应于所述多个项中的第一项的动作。10.根据...

【专利技术属性】
技术研发人员:浅野滋博石井励
申请(专利权)人:株式会社东芝
类型:发明
国别省市:JP[日本]

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

1