允许多频域的请求方设备的仲裁方法

文档序号:6517151阅读:163来源:国知局
专利名称:允许多频域的请求方设备的仲裁方法
技术领域
本发明总体上涉及处理器中的资源分配,尤其涉及允许多频域的请求方设备和允许同时许可低频请求方设备的仲裁方法。
背景技术
当几个设备对共享资源作出有冲突的请求时,请求必须被仲裁以决定资源分配。例如,当总线被连接到高速缓存时,对于某些应用和设计,高速缓存分配和窥探请求可以被给予优先级。对一些这样的设计,它们的请求可以同时到达。这种仲裁优先级是特定于应用的,其他设计可以选择具有不同的优先级。
自仲裁能够用于在高优先级请求中进行选择。例如,当在总线上有再装入和窥探请求时,一个请求能够被选择。这个方法延迟另一个请求,直到可能需要几个周期的第一个请求完成为止。另外,一个自仲裁方法将增加一个附加仲裁点并且使请求方设备了解到仲裁。
因此,需要提供一种为高优先级请求提供优先权,但对没有被选择的高优先级请求只提供较少延迟的仲裁方法。

发明内容
本发明提供一种允许多频域的请求方设备的资源仲裁方法。大多数请求方设备全速产生请求,一小部分请求方设备每两个全速周期产生请求,并且在两个全速周期内维持其请求。本仲裁方法对来自低优先级请求方设备的请求给予优先级,并且保证在低速周期开始处由半速请求方设备发出的请求会在低速周期过程中得到许可。


为了更彻底地理解本发明和它的优点,参照下面结合附图所进行的描述,其中图1是举例说明对来自高速请求方设备和低速请求方设备的仲裁请求的处理的流程图;图2A是举例说明当在一个低速周期内有两个低速请求时仲裁请求处理的时序的流程图;而图2B是举例说明当在第一个低速周期内有一个低速请求时仲裁请求处理的时序的流程图。
具体实施例方式
在下面的讨论中,为了对本发明有详尽的理解,阐述了许多具体的细节。但是,本领域技术人员明白,可以在没有这些细节的情况下具体实施本发明。在其他情况中,为了不使本发明被不必要的细节所掩盖,许多众所周知的要素都以示意图或框图的形式进行说明。
还应注意,除非另外说明,这里描述的所有功能均可通过硬件、软件或二者结合来执行。然而在优选实施例中,除非另外说明,这些功能都由例如计算机或电子数据处理器的处理器根据例如计算机程序、软件和/或被编码以执行这样功能的集成电路的代码来执行。
图1是举例说明对来自高速请求方设备和低速请求方设备的仲裁请求的处理的流程图。半速请求方设备每两个全速周期产生请求。请求A 102,B 104和C 106到N 108到达以进行仲裁。请求A 102和B104来自于半速请求方设备。这些请求在两个全速周期中是活跃的,并且由两个阶段(phase)组成,每一周期一个阶段。在第一个全速周期内,第一阶段是低优先级请求。在第二个全速周期内,第二阶段是高优先级请求。如果在前一个周期内低优先级请求被许可,则该请求被阻塞。
请求A 102和B 104传送至请求阻塞逻辑110和112。请求阻塞逻辑110和112在请求的第一个全速周期内把低优先级请求传送到仲裁器114。请求A 102在低优先级阶段内被许可。在请求的第二个全速周期内,请求阻塞逻辑110不发出请求102的高优先级请求。在低优先级阶段内,请求B 104不被许可。在请求的第二个全速周期内,请求阻塞逻辑112发出请求102的高优先级请求阶段,并且仲裁器114许可它。
仲裁器114始终优选许可低速请求方设备。如果在两阶段低速请求周期的第一阶段内有两个低优先级请求,则仲裁器114许可它们之一。如果有一个来自低速请求方设备的请求,即在两阶段低速请求周期的第一阶段内的低优先级请求,或在两阶段低速请求周期的第二阶段内的高优先级请求,则仲裁器114许可该请求。如果有来自高速请求方设备但没有来自低速请求方设备的请求,则仲裁器114许可来自高速请求方设备的请求之一。
这种仲裁方法保证来自低速请求方设备的两个请求A 102和B104赢得仲裁,即使它们二者同时发出。请求A 102和B 104之一作为低优先级请求将在两阶段低速请求周期的第一阶段内得到许可。外一个请求将在这个周期的第二阶段内作为高速请求发出,并且被许可。在两阶段周期的第一阶段许可的请求不会在第二周期内作为高速请求发出。
这种仲裁方法进一步保证所有的请求在一个低速周期内得到许可。另外,只有一个仲裁点,而且这种仲裁方法允许高优先级请求方设备完全不知道任何仲裁点。如果在请求方设备赢得仲裁的任何时候资源均是可用的,则请求A 102和B 104不需要许可,因为它们被保证在其半速域内总是赢得仲裁,并且总是具有可用资源。因为它们总是确保赢得仲裁,所以这些高优先级请求方设备能够被设计成不用等待仲裁许可即发出它们的请求。
图2A是举例说明在一个低速周期内有两个低速请求时的仲裁请求处理的时序的流程图。在第一个全速周期内,低速请求方设备发出请求A和B,而高速请求方设备发出请求C和D。请求A和B分别到达阻塞逻辑110和112并产生低优先级请求,仲裁器114许可它们之一,在本图情况下为请求A。在全速周期2内,请求B到达阻塞逻辑112,被产生为高优先级请求,并被仲裁器114许可。阻塞逻辑110阻塞来自请求A的高优先级请求阶段。在周期3内,仲裁器许可来自高速请求方设备的请求C。在周期4内,仲裁器许可来自高速请求方设备的请求d。在这种仲裁方法中,来自低速请求方设备的请求被给予比来自高速请求方设备的请求更高的优先级。来自低速请求方设备的请求A和B在来自高速请求方设备的请求C和D之前得到许可。而且两个来自低速请求方设备的请求A和B在单个低速周期内得到许可。
图2B是举例说明当在第一个低速周期内有一个慢速请求时仲裁请求处理的时序的流程图。在第一个全速周期内,低速请求方设备发出请求A,而高速请求方设备发出请求C和D。请求A到达阻塞逻辑,它产生被仲裁器114许可的低优先级请求。在第二个全速周期内,也就是在此半速周期的第二半内,阻塞逻辑阻塞请求A的高优先级阶段。仲裁器许可来自高速请求方设备的请求C。在周期3内,来自低速请求方设备的请求B作为低优先级请求被阻塞逻辑发出并且被仲裁器114许可。在周期4内,仲裁器114许可来自高速请求方设备的请求D。阻塞逻辑阻塞请求B的高优先级阶段,因为在这个低速周期的第一阶段发出的低优先级请求被许可。因此,请求A、C、B、D按顺序被许可。当在同一周期内有来自两种速度的请求方设备的请求时,来自低速请求方设备的请求被给予比来自高速请求方设备的请求更高的优先级。
在可选实施例中,低速请求方设备以三分之一的速度操作。低速请求每三个高速周期被发出,并且维持3个高速周期。低速请求由3个阶段组成。当请求已经在前面的阶段被许可时,阻塞逻辑在后面的阶段把该请求阻塞。此外,来自低速请求方设备的请求被给予比来自高速请求方设备的请求更高的优先级。在低速周期内发出的三个请求被保证得到许可。
根据上面提到的一些优选实施例已描述了本发明,应注意的是,揭示的实施例在性质上是说明性的,而不是限制性的,而且在上述的说明中考虑到各种变化、修改、改变和替代,而且在一些实例中,本发明的一些特性的使用并不需要使用对应的其他特性。本领域技术人员根据上面对优选实施例的描述可考虑到许多这样的变化和修改。因此,应当理解,应当以广义以及与本发明范围相一致的方式解释附加权利要求。
权利要求
1.一种允许多频域的资源请求方设备的系统,包括被配置成以第一频率产生请求的高速请求方设备;被配置成以较低的第二频率产生请求的低速请求方设备;和仲裁器,其中仲裁器被配置成仲裁高速请求方设备和低速请求方设备的请求。
2.根据权利要求1的系统,还包含连接到低速请求方设备的阻塞逻辑装置,其中由低速请求方设备产生的请求按阶段发出,并且当在请求周期的较早阶段已经许可来自低速请求方设备之一的请求时,阻塞逻辑在请求周期的较后阶段阻塞该请求。
3.根据权利要求2的系统,还包含连接到阻塞逻辑装置的阶段信号装置,其中响应于阶段信号装置,阻塞逻辑识别低速周期的阶段。
4.根据权利要求1的系统,其中高速请求方设备的频率是低速请求方设备的频率的整数n倍。
5.根据权利要求4的系统,其中正好有整数n个低速请求方设备。
6.根据权利要求1的系统,其中仲裁器给予来自低速请求方设备的请求比来自高速请求方设备的请求更高的优先级。
7.根据权利要求1的系统,还包含能够同时满足来自低速请求方设备的请求的足够资源。
8.一种允许两个频域的请求方设备的资源仲裁方法,该方法包括步骤由高速请求方设备以一个频率产生资源请求;由低速请求方设备以较低的第二频率产生资源请求;以及仲裁高速请求方设备和低速请求方设备产生的资源请求。
9.根据权利要求8的方法,其中仲裁给予来自低速请求方设备的请求比来自高速请求方设备的请求更高的优先级。
10.根据权利要求8的方法,还包含步骤分多个阶段发出由低速请求方设备产生的请求;以及当低速请求方设备产生的请求在较早阶段得到许可时,阻塞该请求的多个阶段中较后阶段的发出。
11.根据权利要求10的方法,其中由低速请求方设备产生的资源请求由两个阶段组成,而且低速请求方设备产生请求的频率是高速请求方设备产生请求的频率的一半。
12.根据权利要求10的方法,其中低速请求方设备产生的资源请求由三个阶段组成,而且低速请求方设备产生请求的频率是高速请求方设备产生请求的频率的三分之一。
13.根据权利要求10的方法,还包含步骤发出允许仲裁以识别低速请求方设备产生的请求的阶段的信号。
14.根据权利要求11的方法,其中正好有2个高优先级请求方设备,而且仲裁许可高优先级请求方设备产生的所有请求。
15.根据权利要求12的方法,其中正好有3个高优先级请求方设备,而且仲裁许可高优先级请求方设备产生的所有请求。
16.一种允许两个频域的请求方设备的用于资源仲裁的计算机程序产品,该计算机程序产品具有在其上体现有计算机程序的介质,该计算机程序包括用于由高速请求方设备以一个频率产生资源请求的计算机代码;用于由低速请求方设备以较低的第二频率产生资源请求的计算机代码;以及用于仲裁高速请求方设备和低速请求方设备产生的资源请求的计算机代码。
17.根据权利要求16的方法,其中仲裁给予来自低速请求方设备的请求比来自高速请求方设备的请求更高的优先级。
18.根据权利要求16的方法,还包括用于分多个阶段发出由低速请求方设备产生的请求的计算机代码;以及用于当低速请求方设备产生的请求在较早阶段得到许可时,阻塞该请求的多个阶段中较后阶段的发出的计算机代码。
19.根据权利要求18的方法,其中低速请求方设备产生的资源请求由两个阶段组成,而且低速请求方设备产生请求的频率是高速请求方设备产生请求的频率的一半。
20.根据权利要求18的方法,低速请求方设备产生的资源请求由三个阶段组成,而且低速请求方设备产生请求的频率是高速请求方设备产生请求的频率的三分之一。
21.根据权利要求10的方法,还包括用于发出允许仲裁以识别低速请求方设备产生的请求的阶段的信号的计算机代码。
22.根据权利要求19的方法,其中正好有2个高优先级请求方设备,而且仲裁许可高优先级请求方设备产生的所有请求。
23.根据权利要求20的方法,其中正好有3个高优先级请求方设备,而且仲裁许可高优先级请求方设备产生的所有请求。
全文摘要
本发明提供了允许多频域的请求方设备的资源仲裁方法。大多数请求方设备以高速产生请求。一小部分低速请求方设备每两个全速周期产生请求,并且保持它们的请求两个全速周期。本仲裁方法给低速请求方设备产生的请求以优先级并保证半速请求方设备在低速周期开始产生的请求在整个低速周期过程都许可。低速请求方设备产生的请求分阶段发出。当请求在前面的阶段已经许可时,这个请求在后面的阶段是被阻塞的。
文档编号G06F13/00GK1694072SQ20051000931
公开日2005年11月9日 申请日期2005年2月18日 优先权日2004年4月29日
发明者布赖恩·大卫·巴利克 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1