用于总线仲裁的方法和系统的制作方法

文档序号:6568955阅读:156来源:国知局

专利名称::用于总线仲裁的方法和系统的制作方法用于总线仲裁的方法和系统本发明涉及用于总线仲裁的方法和系统,它更具体地涉及用于具有多个数据处理单元的系统的总线仲裁系统。甚至更具体地,本发明涉及用于具有多个数据处理单元的系统的总线仲裁系统,该总线仲裁准许最优使用总线宽度和为最优数量的数据处理单元服务。定义l:在随后的描述中,术语"数据处理单元"将包括可以访问总线的任何单元,比如存储器,以及处理器。该单元可以是可编程的,例如通用处理器,或者具有预定功能。数据处理单元-不排除其他可能的数据处理单元-也将包括一个/多个处理器。下面,术语"数据处理单元"可以可互换地被用于替代单词"处理器"。定义2:在随后的描述中,术语"数据线"包括用来传送任何数据,包括地址,的任何线。但是,当仅对"地址线"进行引用时,它将绝对地(categorically);故叙述为"地址线"。以下"数据线"可以可互换地与单词"数据总线或总线"一起来使用。地址/数据总线是准许多个数据处理单元访问比如存储器那样的共享资源的熟知的解决方案。传统上,一个数据处理单元在某一时间得以访问总线来经由总线传递数据和相应的地址。现代数据总线非常宽,并且准许在单个总线周期中通过总线传递具有许多比特(例如64或128比特)的字。数据处理电路(如处理器)并不总是使用所有这些数据线,因为往往是必须被传送的字的大小要小于可用总线宽度的字的大小。美国专利No.6,366,984公开了一种在数据总线上通过识别彼此邻近的地址来进行的比特的包封机制。类似地,EP465,320公开了一种写入包封器,其收集写入请求并且比较来自这些请求的地址,以确定来自不同请求的数据是否可以被包封到单个总线周期中。进一步,美国专利号5,930,484讨论了一个机制,该机制按照每个数据处理单元的预定优先级来对多个数据处理单元准许总线访问。而且,这种机制将数据总线划分为子总线,并标识可以被准予给数据处理单元的子总线的最大数量,并且相应地将一个或多个子总线分派给一个或多个数据处理单元。在该专利中^Hf的这一^L制依赖于所标识的优先级,以及由此有可能导致可用总线宽度的非最优利用。此外,在所描绘的实施例中,共享的总线被分成子总线,每个子总线具有64比特的子总线宽度。假设根据美国专利号5,930,484的系统具有两个处理器,即Pl和P2,使处理器P1具有比处理器P2高的优先级。为每个处理器分派最多2个子总线,且有四个子总线,每个子总线有16比特宽。对于这一系统,有可能存在这样的情况,即此时处理器Pl请求48比特数据传递而处理器P2请求16比特数据传递。那么,在美国专利号5,930,484中描述的方法将需要至少两个总线周期来传送这些请求。在第一总线周期中,处理器Pl的32比特数据和P2的16比特数据利用了仅48比特的线。在第二总线周期中,处理器P1的其余16比特数据被转送。因此,在保持未被使用的子总线可用的同时,它需要至少两个总线周期来传递数据。更进一步,当子总线的大小高于所请求的数据传递的大小时,美国专利号5,930,484中所描述的发明可能剩下更多的数据线未被使用。例如,如果一个128数据线的总线被分为四个子总线,每个子总线为32比特线,那么对于每个16比特的数据传递请求,一个子总线将剩下16比特线未^皮使用,从而导致緩慢的数据传递。显然,从美国专利号5,930,484和其他引用的专利了解的机制并没有提供优化资源利用的任何机制,虽然其试图使所服务的处理器(客户机/数据处理单元)数量达到最大。本发明的一个目的尤其是提供用于总线仲裁的方法与系统,其不仅使在单个总线周期内所服务的客户机数量达到最大,而且最优地利用了可用资源。为此,本发明提供了一种总线仲裁器,其被安排成用于接收来自多个数据处理单元的数据传递请求和用于在所述多个数据处理单元间仲裁共享总线的数据线的访问,该总线仲裁器包括a、逻辑块,其一皮配置成用于准许一个或多个数据处理单元来访问所述数据总线,以便在单个总线周期中执行数据传递请求,其中所述逻辑块包括优化器,其将最大化数据处理单元访问的数量和最大化在单个总线周期中所利用的数据线的数量做为优化准则,以及;b、控制器,其能够登记和维护待决的(pending)数据传递请求的一个进度表,用于在一组已标识的待决数据传递请求间启动第一优化,以准许一个或多个待决的数据传递请求在单个总线周期中访问所述总线,其中所述控制器进一步被配置来在除了所述已标识的请求外的数据传递请求间启动第二优化,其中对未被使用的数据线的访问是在所述第一优化之后进行仲裁的。该逻辑块接收数据传递请求并且确定执行所收到的数据传递请求所需的数据线数量。逻辑块根据数据线的总数和数据传递请求的总数来标识一组数据传递请求,该组数据传递请求可被准许在单个总线周期中访问数据线,使得被准许访问数据线的请求的总数最多并且在所述总线周期中使用的数据线的总数最多。进一步,控制器登记还没有被准许访问数据线的数据传递请求。更进一步,控制器还维护一个进度表,以便确保每个数据传递请求在预定时间内被服务。此外,控制器标识是否一个或多个数据传递请求待决超出所述预定时间。在此情况下,控制器指令逻辑块对所标识的数据传递请求准许访问,并且如果还存在着任何未使用的数据线,则它还指令逻辑块来对除了已标识的数据传递请求外的一组数据传递请求准许访问。根据本发明的一个方面,提供了一种总线仲裁方法,在具有多个数据处理单元和有多个数据线的共享总线的系统中使用,该方法包括以下步骤a、接收来自数据处理单元的数据传递请求;b、选择一组一个或多个数据传递请求,对该请求的准许会服务最大数量的数据处理单元,并且利用最大数量的数据线,以及;c、准许发出所述组的所选数据传递请求的数据处理单元在单个总线周期中访问所述总线。除可用资源的最佳利用外,本发明的这一方面提供了在单个总线周期中所服务的客户机数量的最大化。根据本发明的另一方面,本发明提供的方法进一步包括以下步骤a、标识已经待决超出预定期限的数据传递请求,以及;b、在所述被标识的数据传递请求中选择第一组一个或多个数据传递请求,对该请求的准许会服务最大数量的数据处理单元并且利用最大数量的数据线。本发明的这一方面保证了数据传递请求在所标识的期限内#皮准许访问资源。该期限可被标识为在其之前数据传递请求必须被准许的一个期限。本发明的这一方面准许在被标识为待决超出预定期限的数据传递请求中选择一组数据传递请求,并且所述数据传递请求组服务最大数量的数据处理单元并且利用最大数量的数据线。根据本发明的另一方面,该方法包括以下步骤a、确定在选择所述第一组数据传递请求之后是否数据线未被使用;b、在除了所述被标识的数据传递请求外的数据传递请求间选择第二组一个或多个数据传递请求,对该请求的准许会服务最大数量的数据处理单元并且利用最大数量的所确定的未被使用的数据线,以及;c、准许发出所述第一和第二组数据传递请求的数据处理单元在单个总线周期中访问所述总线。本发明的这一方面准许在第一组数据传递请求已选定之后确定未核^使用的数据线。举例来说,如果存在一组数据传递请求,其待决长于预定期限,则在待决超出所述预定期限的数据传递请求间做出第一轮选择。在所述第一组被选定之后,使得服务最大数量的数据处理单元和利用最多的资源,并且一个或多个数据线仍可能未被利用。在这种情况下,在除了所标识的数据传递请求外的数据传递请求中,为剩下的数据线选择第二組,用于确保可用资源的最大限度的利用。根据本发明的另一方面,准许数据处理单元的步骤包括登记和调度每个所接收的和所服务的请求的步骤。本发明的这一方面准许一种机制来维护每个数据传递请求的时间日志,其可以被用于确定是否有任何数据传递请求是待决超出预定期限的。因此,也能保证该待决的请求在给定期限内得到服务。根据本发明的又一方面,标识步骤包括确定在其内数据传递请求必须被准许访问所述总线的期限的步骤。本发明的这一方面提供了一种灵活性来规划在其内数据传递请求可以预期得到服务的时间期限。根据本发明的又一方面,选择步骤可选地提供选择一组数据传递请求的步骤,该组数据传递请求包括多组请求间的相对较高数量的旧的数据请求,对该请求的准许会服务最多数量的数据处理单元并且引起最多数量的数据线的利用。本发明的这一方面提供了灵活性以在多组数据传递请求中选择可被准许访问的一组数据传递请求,对该请求的准许导致服务同样数量的数据处理单元和同样数量的资源利用。本发明的这些和其他方面将参照附图更具体地加以说明。这里,图1示例了适合于实施本发明的电子电路,图2示例了根据本发明的仲裁器的实施例的框图,图3示例了根据本发明的、构成仲裁器组成部分的电路的实施例的框图,图4示例了根据本发明的由仲裁方法所执行的步骤的流程图,图5示例了根据本发明的当计算可被准许访问数据线的、可能的一组请求时所执行的步骤的流程图。参照图1,其中示出了可用于实施本发明的电子电路。在这个例子中,为方便说明,为了理解清晰起见,数据处理单元由处理器和存储器来标识。但是,本领域的技术人员将了解到,在不偏离本发明的基本构思的情形下,处理器或存储器或两者可能使用其它的数据处理单元来进行交换或替代或重新安排。图1的电路100包含多个处理器或数据处理单元110a-d、总线接口U0、总线140、多个存储器或者另一组数据处理单元160a和b。每个处理器110a-d可能具有地址输出A、数据输出D和控制输入/输出。控制输入/输出可提供信息以标识处理器和/或将被传递的数据的字大小,以及也有可能提供地址的大小。总线接口120将地址和数据输出耦合到总线140,其中存储器160a、b^皮耦合到该总线140来接收地址和数据信息。总线140包括多个地址线、多个数据线-比如64或128条数据线,和控制线。举例来说,处理器110a-d被显示为仅具有数据输出,但应该理解,处理器可能有数据输入、数据输入l或一组数据输出和被耦合到总线接口UO的数据输出。虽然在图1中显示了处理器110a-d,但是应该理解,可以使用任何其他类型的数据处理电路。同样地,为了解释说明起见,虽然显示了两个存储器被连接到总线140,但是应当理解,许多其他电路可被连接到总线140,不一定全是存储器,或者仅单个电路也可被连接到总线140。在工作中,处理器110a-d产生数据并且将此数据写入到存储器160a-b中的位置上,或从存储器160a,...,d中读取数据。为此,处理器llOa-d生成读/写请求并提供输入给总线接口120。到总线接口的输入可以是数据和地址或者仅地址。总线接口120在总线周期中工作。在每个总线周期内,总线接口120选择性地传送数据/地址比特到总线140的数据/地址线。存储器160a-b接收来自总线140的地址,并且使用它们来选择数据被写入其中的位置。根据本发明的接口120在数据传递请求间进行仲裁,以对来自/去往不同处理器110a-d的数据和地址进行排序。接口120具有一个控制器,用于释放总线上的数据和地址。现在参照图2,该图示出了在总线接口120内的仲裁器210的框图200,该仲裁器接收多个输入23G并提供多个输出220。仲裁器210可接收输入,该输入清楚地标识处理器和由所述处理器做出的数据传递请求。此外,仲裁器210还可接收输入,其标识由处理器请求来用于通信的数据/地址的大小。通过其输出220,仲裁器可以通过使得在总线接口120(图1)内的开关和/或处理器能够准许数据/地址传递,而使得能够放出所标识的数据或地址或两者以用于通信。现在参照图3,该图示出了图2的仲裁器210内的电路的方框图300。电路30G包括逻辑单元310、320和330。这些逻辑单元选择数据传递请求或一组用于数据传递的请求,这样使得最大数量的处理器被准许访问数据线,同时也确保了数据线的最佳利用。块300进一步被提供有连接到逻辑单元310、320和330的控制器340,用于确保给定的请求在预定时间内得到服务。控制器340可以是可编程的或具有预定设置用于在其内一个请求应当基本上被服务的时间期限(timeduration)。如果它是可编程的,则它可以在执行指令过程期间被编程或可以在执行指令之前^皮编程。控制器340也登记和动态地更新待决的请求。本领域的技术人员将理解到,逻辑单元310、320和330的功能都具有在不同情形下来选择一组数据传递请求的相同功能("不同情形"在后续中将会更加清楚)并且本功能可以通过相应地编程单个逻辑单元,而使用仅一个逻辑单元来执行。可替换地,逻辑单元nO、320和330可被包封在单个逻辑块中。不过,为方便说明、简单及明晰起见,在本讨^沦中这些单元均显示为单独的块。块300的工作可纟皮理解如下。两个逻辑单元310和320都可接收输入,该输入唯一地标识处理器及由所述处理器做出的相应的请求。此外,所述逻辑单元310和320还可以接收标识数据/地址大小的输入,该数据/地址是由每个处理器请求来用于通信的。逻辑单元310和逻辑单元320被进一步提供有关于可供利用的数据线宽度的信息。逻辑单元330接收来自逻辑单元310、320和控制器340的输入。逻辑单元330提供了所选的一组数据传递请求,该组数据传递请求可以最终被准许访问数据总线。初始地,当不存在任何用于数据传递的请求时,控制器340被设置来指示"无"请求在等待。在这种情况下,控制器禁用逻辑单元320并且设置逻辑单元330去充当透明块。一接收到数据传递请求,逻辑单元310就计算可以被准许访问数据线的所有可能的数据传递请求组,并且这些可能组将服务于最大数量的请求。假使,如果有多于一个这样的可能的组将服务于最大数量的请求,则逻辑单元310选择一组请求,其将利用最多数量的数据线宽度来使所选数据传递请求能够访问数据线。另外,如果有多于一个组准许服务最大数量的数据传递请求并且利用最大可能的数据线宽度,则逻辑单元310可以选择具有相对高数量的相对旧的数据传递请求的一个组。逻辑单元310然后考虑待决的数据传递请求,更新控制器340。假使那时控制器340确定一个或多个数据传递请求是待决超出预定期限的,那么它启用逻辑单元320和逻辑单元330并且设置逻辑单元310来传送可用请求到逻辑单元330。逻辑单元320计算在所述#1标识的待决请求间的所有可能的数据传递请求组,并且完全以与前面例子中的逻辑单元310类似的方式来选择可能的组。一完成计算,逻辑单元320便将其输出提供到逻辑单元330。在逻辑单元320选择一组数据传递请求之后,逻辑单元330检查是否有任何更多的、可用于通信的数据线可得到。如果这样,那么逻辑单元330以类似对逻辑单元310所讨论的方式、为除了能通过可用数据线被准许访问的被标识请求之外的请求来执行计算。当计算可能的、可以被准许来访问数据线的数据传递请求组时,逻辑单元310、320和330可被编程来包括数据-地址的大小,并且发送信号来准许在给定总线(数据线)周期中访问数据以及地址线,或者另一方面数据的地址可以在单独地—皮标识的地址通信线上连续地进行传送。为了计算可能的数据传递请求组合,逻辑单元310、320和330可以使用下列公式。选择组G的子组S,这^^羊使得ISI最大并且S的元素的数据大小之和<=Max—Bus-Width(最大总线宽度)其中,G是所有可用请求的一个组。S是一组请求和G的一个子组,并且对应于可以被准许访问数据线的可能请求组之一。ISI是子组S中请求的数量,并且Max-Bus-Width是可用数据线的最大数量。正如前面所讨论的,如果存在多于一个子组S,对其而言ISI是相同的,那么逻辑单元可以选择那个将利用最大数量的数据线的子组,并且在块300的输出上发送控制信号以使得所选定的数据传递请求能够访问数据线。此外,如果有一个以上的组准许服务最大数量的数据传递请求并且利用最大可能数量的数据线,那么逻辑单元310、320、330可以选择具有相对较高数量的相对旧的数据传递请求的一个组。在选择过程的结尾,每个逻辑单元更新控制器340。从上述讨论中显然可见,逻辑单元310、320、330是对于"不同的情形"起作用的,即当没有被标识的待决请求时,逻辑单元310选择一组数据传递请求;逻辑单元320在被标识的待决请求间选择一组数据传递请求;以及在逻辑单元320已经选定一组;故标识的待决请求、留下一个或多个数据线未被使用之后,逻辑单元330仅仅为未被使用的数据线选择除了被标识的数据传递请求之外的另一组数据传递请求。现在参考图4,它给出高级别逻辑流程图400,示例了根据本发明的方法和系统的总线仲裁方案的控制顺序。如图所示,这个过程开始于块401,然后转到块402。块402检查是否有要被服务的任何请求。如果有请求可得到,则控制会移到块404。如果没有,则在块402中对请求的检查重复进行,直到下一总线请求可得到。在块404中,执行检查来标识待决超出预定期限的请求。控制器340(如图3所示)执行这一标识。如果控制器340标识某些请求待决的期限超出预定期限,则控制转到块405。在块405中,执行计算以在由控制器340所标识的请求间确定一组请求,该组请求应被准许以便服务最多数量的数据处理单元。在块405控制-故转到块409之后,块409检查是否有一个以上的组符合在块405中的准则。如果是的话,该控制移到块418。块418执行一个检查,用于标识这样的组,即对该组的准许会达到最高数量的数据线的利用。如果有单个组获得更多的利用,那么控制块420选择那一组,并提供输出信号且控制块421更新控制器340。返回到块418,如果多组同样地符合准则,则控制块419选择服务最高数量相对旧的请求的任何一组-定时细节由控制器340标识-并且块421更新控制器340。控制然后是转到块411。在块411中,验证是否所选定组的准许导致系统中所有数据线的占用。如果仍然有一个或多个数据线可用于通信,那么控制移到块413。在块413中,确定除了所标识的待决请求外的一组数据传递请求,并且在所述请求间标识一组数据传递请求以通过未被利用的数据线进行通信。一组数据传递请求的选择是这样做出的,即使得它服务最大数量的数据处理单元并且利用最大数量的可用数据线。控制然后被转到块407。这个块会标识是否有多于一组能满足上述准则。在这种情况下,控制移到块414,其中执行检查以保证对该组中仅一组的准许达到比对其他组中每组的准许更多的数据线利用。如果这样,则选择利用最多数量数据线的这一组。块417更新控制器340,以及接着将控制转到开始块401。返回到块414,如果多个组同样地符合准则,那么控制块416选择服务最高数量的相对较旧的请求的任何一组;定时细节由控制器340标识。块416提供输出信号,然后块417在控制器340中更新所服务的和待决的请求的细节,然后控制转到开始块401。返回到块411,如果检查确定没有剩余的可用数据线,那么控制移到块412。此块提供要被服务的一个所选定的请求组并且对控制器340更新所服务的和待决的请求的细节。随后控制被转到开始块401。返回到块407,如果只有一组满足所述准则,那么控制移到块408,该块选择该唯一组并且对控制器340更新所服务的和待决的请求的细节。最后,控制返回到开始块401。返回到块409,如果只有一组满足所述准则,则控制移到块410,其选择那个组并且对控制器340更新被服务的和待决的请求的细节。现在在块411中执行检查,看看是否在块410中被选定的组占用了系统中的所有数据线(或全部总线)。如果是的话,则控制移到块413并且来自块413的控制流如前面所解释的那样进行。如果不是的话,则在块412中选择所述组并且在控制器340中更新一皮il良务的且待决的请求的细节。块412将控制转到开始块401。返回到块404,如果控制器340没有^f皮标识的请求、其待决长于预定期限,则控制转到块406。在块406中,执行计算以确定对其的准许会服务最多数量的数据处理单元的那组请求。在块406之后,控制被转到块407,其检查是否有多于一组符合在406中的准则。如果是的话,则控制移到块414并且控制如前所述地从块414移动。如果不是,则控制移到块408,其中选择那个组,并且对控制器340更新关于纟皮服务的和待决的请求的细节。最后,控制转到开始块401。现在参照图5。图5描述了在所有可用请求间确定该组请求的步骤,所有可用请求包括那些由控制器340标识的请求。如所描绘的,这一过程开始于块501,并且转到块502。在块502中,接收指示可用数据线总数、数据传递请求数量、和由每个请求来请求用于传递的数据大小的信息,并且控制被转到块503,其中参数Max_Bus_Width(最大总线宽度)被设置为可用数据线的总数的被捕获值。此外,块503形成了基于可用请求的所有可用请求的组G。这一信息被转到块504。在块504中,根据以下准则执行计算以从组G找出可能的子组S:1、ISI是最大的,其中ISI是子组S中请求的数量2、S的元素的数据大小之和Max-Bus—Width(最大总线宽度)块505提供关于所有可能子组S的信息,且对于这一过程,控制流结束。现在参照表l,其示例了根据本发明的仲裁方案的例子,供在这样的系统中使用,即该系统具有共享总线、多个数据处理单元(处理器)、和仲裁器,该仲裁器接收来自所述处理器的输入以仲裁对所述共享总线的访问。在这个例子中,共享总线大小是64并且有4个或更多的处理器访问这一总线。假设每个处理器可以做出16比特或32比特或64比特的数据传递请求,并假定该控制器指示没有请求待决超出预定期限。那么,表l描述了根据本发明的用于一组请求的被服务的请求数量和总线宽度利用。为方便说明,表1中的每行列出了在特定时刻可用请求的大小(以比特计)、所服务的请求数量和总线带宽利用。条目'X,指示存在零或更多数量的请求。考虑行l。这相应于这样的一种情景,其中有4个或更多的、具有字大小16的请求。此外,还可以同时有多个32比特和64比特请求可用。考虑64比特的数据总线宽度,仲裁器选择去准予总线用于四个16比特请求,而不管用于32比特或64比特传递的请求的数量。即,所述选择既最大化所服务的处理器的数量、又最大化了数据总线宽度利用。条目4被示为阴影条目,作为这一请求被仲裁政策选择的指示。不同行表示了用于64比特数据总线和16、32、64比特请求大小的各种请求类型情形。这作为一个例子来说明所提出的仲裁政策,但不限制本发明的范围。<table>tableseeoriginaldocumentpage14</column></row><table>表格l在所描述的当前发明的方法和系统的实施例中的顺序不是强制性的,而仅是说明性的。本发明的范围不限于所描述的实施例。本领域的技术人员可以采用线程(threading);f莫型、多处理器系统或多个进程,改变步骤的顺序或同时执行步骤,而不偏离当前发明所计划的构思。任何这样的实施例将被归于本发明的范围之下,并且是保护的主题。应该指出的是,上面提到的实施例只是说明而不是限制本发明,并且本领域的技术人员将能设计许多可替换的实施例而不偏离所附权利要求的范围。在权利要求中,置于括号内的任何参考符号不应当视为限制权利存在。元素之前的单词"一"或"一个"并不排除存在多个这样的元素。本发明可以通过包括几个不同元件的硬件来实施,并且可以通过适当地编程的计算机来实施。在系统权利要求中列举了几种装置,这些装置中的几个可以由计算机可读软件或硬件的同一项来具体化。在相互不同的从属权利要求中陈述某些措施的单纯的事实并不表示不能用一组这样的措施来获益。权利要求1.一种总线仲裁方法,在具有多个数据处理单元和共享总线的系统中使用,其中该共享总线具有多个数据线,该方法包括以下步骤a、接收来自数据处理单元的数据传递请求;b、选择一组一个或多个数据传递请求,对该请求的准许会服务最大数量的数据处理单元并且利用最大数量的数据线,以及;c、准许发出所述组的所选数据传递请求的数据处理单元在单个总线周期中访问所述总线。2.如权利要求1要求的总线仲裁方法,其中所述方法进一步包括以下步骤a、标识已待决超出预定期限的数据传递请求,以及;b、在所述被标识的数据传递请求中选择第一组一个或多个数据传递请求,对该请求的准许会服务最大数量的数据处理单元并且利用最大数量的数据线。3.如权利要求2要求的总线仲裁方法,其中所述方法进一步包括以下步骤a、确定在选择所述第一组数据传递请求之后是否有数据线未被使用;b、在除了被标识的数据传递请求外的数据传递请求中,选择第二组一个或多个数据传递请求,对该请求的准许会服务最大数量的数据处理单元并且利用最大数量的、所确定的未被使用的数据线,以及;c、准许发出所述第一组和第二组数据传递请求的数据处理单元在单个总线周期中访问所述总线。4.如权利要求1和3要求的总线仲裁方法,其中所述准许数据处理单元的步骤包括登记和调度每个被接收到的和被服务的请求的步骤。5.如权利要求3和4要求的方法,其中所述标识步骤包括确定一个期限的步骤,数据传递请求必须在该期限之前被准许访问所述总线。6.如权利要求l、2和3要求的方法,其中所述选择步骤可选地提供在多组数据传递请求中选择一组数据传递请求的步骤,该组数据传递请求包括相对高数量的旧的数据请求,对该请求的准许会服务最多数量的数据处理单元并且使得利用最大数量的数据线。7.—种总线仲裁器,被安排成用于接收来自多个数据处理单元的数据传递请求和用于在所述多个数据处理单元间仲裁共享总线的数据线的访问,所述总线仲裁器包括a、逻辑块,被配置成用于准许一个或多个数据处理单无来访问所述数据总线,以便在单个总线周期中执行数据传递请求,其中所述逻辑块包括优化器,其将最大化数据处理单元访问的数量和最大化在单个总线周期中所利用的数据线的数量做为优化准则,以及;b、控制器,能够登记和维护待决的数据传递请求的进度表,用于在一组-故标识的待决数据传递请求中启动第一优化,以便准许一个或多个待决的数据传递请求在单个总线周期中访问所述总线,其中所述控制器进一步被配置成在除了所述被标识的请求之外的数据传递请求中启动第二优化,其中在所述第一优化之后仲裁对未被使用的数据线的访问。8.如权利要求7要求的总线仲裁器,其中如果一个请求待决超出预定时间,则所述控制器标识所述请求。9.如权利要求8要求的总线仲裁器,其中所述预定时间对应于一个期限,在该期限内数据传递请求必须被准许。全文摘要一种要在具有多个数据处理单元(110a,…,110d)和共享总线(140)的系统中使用的总线仲裁的方法和系统,该共享总线具有多个数据线。本发明提供了一种方法和执行该方法的系统,该方法具有以下步骤接收来自数据处理单元的数据传递请求;选择一组数据传递请求,对该请求的准许会服务最多数量的数据处理单元和利用最多数量的数据线,以及;准许发出所述所选的组的数据传递请求的数据处理单元在单个总线周期中访问所述总线。文档编号G06F13/364GK101263465SQ200680033942公开日2008年9月10日申请日期2006年9月7日优先权日2005年9月14日发明者B·汤玛斯,M·M·库尔卡尼申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1