CN101471856B - 仲裁方法和仲裁器 - Google Patents
仲裁方法和仲裁器 Download PDFInfo
- Publication number
- CN101471856B CN101471856B CN2007101606659A CN200710160665A CN101471856B CN 101471856 B CN101471856 B CN 101471856B CN 2007101606659 A CN2007101606659 A CN 2007101606659A CN 200710160665 A CN200710160665 A CN 200710160665A CN 101471856 B CN101471856 B CN 101471856B
- Authority
- CN
- China
- Prior art keywords
- age
- request
- port
- pointer
- overtime
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种仲裁方法和仲裁器。所述仲裁方法包括:对于有年龄超时的端口请求的输入端口,仅将所述输入端口的年龄超时的端口请求设置为有效的端口请求;对于没有年龄超时的端口请求的输入端口,将所述输入端口的所有端口请求设置为有效的端口请求;若最大年龄方式没有超时或者顺序轮转方式超时,将优先级指针指向与年龄最大的端口请求对应的仲裁单元所在的优先级组;若最大年龄方式超时并且顺序轮转方式没有超时,将优先级指针轮流指向各优先级组;根据所述优先级指针对有效的端口请求进行仲裁。所述仲裁方法和仲裁器可以解决波阵仲裁中存在的“饥饿”问题,改善仲裁性能。
Description
技术领域
本发明涉及仲裁方法和仲裁器。
背景技术
交叉连接矩阵(crossbar)是一种将输入端口和输出端口互联的交换结构,仲裁是将尽量多的输入端口和输出端口匹配,分为集中式仲裁和分布式仲裁:集中式仲裁有一个中央仲裁器,受理所有输入端口向输出端口的请求,按优先或公平原则发出授权信号。分布式仲裁不需要中央仲裁器,每个输入端口都有自己的仲裁号和仲裁器,通过分配优先级仲裁号,获得输出端口的响应。
波阵(Wave Front)仲裁器是一种集中式仲裁器,可以在一个时钟周期内仲裁多个请求,获得多个输入端口向输出端口请求间的最大匹配。在申请号为200510034923.X的中国发明专利申请中可以找到有关波阵仲裁器的信息。
图1是一个七个输入端口和七个输出端口构成7×7波阵仲裁器的仲裁单元阵列的结构原理图,图中的仲裁单元阵列为格栅式和冗余式排列,一个方框表示一个仲裁单元,每个方框用(x,y)标识,称之为仲裁单元(x,y),其中,x表示输入端口,y表示输出端口,仲裁单元(x,y)对输入端口x能否向输出端口y发送消息进行仲裁,例如,仲裁单元(6,1)表示对输入端口6向输出端口1发送消息的请求进行仲裁的仲裁单元。另外,为了便于说明,下面都以请求(x,y)表示输入端口x向输出端口y发送消息的端口请求。
图1中,虚线上的仲裁单元具有相同的优先级,称之为优先级组,在任何一个优先级组上的仲裁单元的输入端口和输出端口都互不相同,可以同时被选中而不会出现冲突。优先级指针所指向的优先级组为仲裁的最高优先级组,例如,图1中的优先级指针为PriorPt1,其指向的优先级组w1具有最高的优先级,当开始仲裁时,首先仲裁最高优先级组w1,然后仲裁次一级优先级组w2,以此类推,像波纹(wave)一样向下一级优先级组传递。为了达到公平性的要求,最高优先级组也不是固定的,也要向波纹一样传递,图1中的优先级指针为PriorPt1、最高优先级组是w1,那么下次仲裁时,优先级指针加1变为PriorPt2、最高优先级组就变为w2,......,当优先级指针为PriorPt6、最高优先级组是w6时,下次仲裁的优先级指针变为PriorPt0、最高优先级组就回到w0。这种将优先级指针轮流指向优先级组的方式通常称为“顺序轮转方式”。
波阵仲裁的基本规则是在每一行、每一列有且仅有一个仲裁单元被选中,举例来说,图1中,如果仲裁单元(1,0)被选中,那么与仲裁单元(1,0)同一行、同一列的其他仲裁单元(1,y)和仲裁单元(x,0)都不能被选中;当波纹移动到优先级组w2时,如果仲裁单元(1,0)和仲裁单元(0,1)都没有被选中,那么仲裁单元(1,1)才可能被选中。一个仲裁单元被选中还需要两个条件,一个是这个仲裁单元对应的输入端口有发消息的请求,另一个是这个仲裁单元对应的输出端口处于空闲状态。当一个仲裁单元(x,y)被选中,仲裁器发出仲裁响应给输入端口x,输入端口x在获得仲裁响应后向输出端口y发送消息。
波阵仲裁器是根据相邻单元之间的信息传播来仲裁,这种结构特性决定了只有当每个端口都被充分利用时,各个端口的公平性才能得以保证,公平性是指在一段足够长的时间内,多个输入端口能够向同一个输出端口发送消息的次数几乎相等,或者一个输入端口能够向多个输出端口发送消息的次数几乎相等。
然而,在端口没有全部被配置的情况下,不公平性的问题就会变得明显,举例来说,参考图1,在每个仲裁器的工作时钟周期内,仲裁器对输入端口的请求进行一次仲裁:
(1)第一次仲裁,优先级指针为PriorPt1,有请求(1,0)、请求(2,0)、请求(3,5)和请求(4,2),仲裁后,请求(1,0)、请求(3,5)、请求(4、2)获得仲裁响应,输入端口1向输出端口0发送消息,输入端口3向输出端口5发送消息,输入端口4向输出端口2发送消息;请求(2,0)因请求(1,0)获得仲裁响应而不能获得仲裁响应。
(2)第二次仲裁,优先级指针变为PriorPt2,有请求(2,0)、请求(0,3)和请求(5,0),仲裁后,请求(0,3)获得仲裁响应,输入端口0向输出端口3发送消息;由于输入端口1向输出端口0发送消息的时间会比仲裁的工作时钟周期长,请求(2,0)、请求(5,0)因输出端口0处于忙状态(接收输入端口1发送的消息)而不能获得仲裁响应。
(3)第三次仲裁,优先级指针变为PriorPt3,请求(2,0)、请求(5,0)仍因输出端口0处于忙状态而不能获得仲裁响应。
(4)第四次仲裁,优先级指针变为PriorPt4,输入端口1向输出端口0发送消息完成,仲裁后,请求(5,0)获得仲裁响应,输入端口5向输出端口0发送消息;请求(2,0)因请求(5,0)获得仲裁响应而不能获得仲裁响应。
……
(5)当优先级指针回到PriorPt1,输入端口5向输出端口0发送消息完成,又有请求(1,0),仲裁后,请求(1,0)获得仲裁响应,请求(2,0)仍然无法获得仲裁响应。
最严重的情况是,在很长的一段时间内,某些输入端口的请求始终不能获得仲裁响应,无法将消息发送到输出端口,也就是通常所说的“饥饿”现象。例如上述实例中(1)至(5)的情况重复发生,输入端口1、输入端口5的请求会交替获得输出端口0的响应,输入端口2向输出端口0的请求始终无法获得仲裁响应,并且其他输入端口向输出端口0的请求也无法获得仲裁响应。
发明内容
本发明提供一种仲裁方法和仲裁器,以解决波阵仲裁中存在的“饥饿”问题,改善仲裁性能。
为解决上述问题,本发明提供一种仲裁方法,包括下述步骤:根据年龄超时的端口请求设置有效的端口请求;根据端口请求的年龄设置优先级指针;根据所述优先级指针对有效的端口请求进行仲裁,所述端口请求的年龄是端口请求等待仲裁响应的时间,所述年龄超时是端口请求的年龄超过年龄阈值。
可选的,所述根据年龄超时的端口请求设置有效的端口请求包括下述步骤:对于有年龄超时的端口请求的输入端口,仅将所述输入端口的年龄超时的端口请求设置为有效的端口请求;对于没有年龄超时的端口请求的输入端口,将所述输入端口的所有端口请求设置为有效的端口请求。
可选的,所述根据端口请求的年龄设置优先级指针包括下述步骤:将优先级指针指向与年龄最大的端口请求对应的仲裁单元所在的优先级组。
可选的,所述根据端口请求的年龄设置优先级指针包括下述步骤:若最大年龄方式没有超时,采用最大年龄方式,所述最大年龄方式是将优先级指针指向与年龄最大的端口请求对应的仲裁单元所在的优先级组;若最大年龄方式超时,采用顺序轮转方式,所述顺序轮转方式是将优先级指针轮流指向各优先级组,所述最大年龄方式超时是指采用最大年龄方式的时间超过了最大年龄方式阈值。
可选的,所述根据端口请求的年龄设置优先级指针包括下述步骤:若最大年龄方式没有超时或者顺序轮转方式超时,采用最大年龄方式,所述最大年龄方式是将优先级指针指向与年龄最大的端口请求对应的仲裁单元所在的优先级组;若最大年龄方式超时并且顺序轮转方式没有超时,采用顺序轮转方式设置仲裁的优先级指针,所述顺序轮转方式是将优先级指针轮流指向各优先级组,所述最大年龄方式超时是指采用最大年龄方式的时间超过了最大年龄方式阈值,所述顺序轮转方式超时是指采用顺序轮转方式的时间超过了顺序轮转方式阈值。
可选的,所述根据端口请求的年龄设置所述仲裁的优先级指针包括下述步骤:根据预先设定的指针设置模式,设置仲裁的优先级指针,所述指针设置模式包括年龄设置模式、年龄轮转设置模式和交替设置模式或者其中的两两结合,其中,
所述年龄设置模式的设置优先级指针包括:将优先级指针指向与年龄最大的端口请求对应的仲裁单元所在的优先级组;
所述年龄轮转设置模式的设置优先级指针包括:若最大年龄方式没有超时,采用最大年龄方式,若最大年龄方式超时,采用顺序轮转方式;
所述交替设置模式的设置优先级指针包括:若最大年龄方式没有超时或者顺序轮转方式超时,采用最大年龄方式,若最大年龄方式超时并且顺序轮转方式没有超时,采用顺序轮转方式。
可选的,所述端口请求的年龄从请求到达仲裁器的时间开始计算,或者从请求提出的时间开始计算。
可选的,所述年龄最大的端口请求是按端口请求的年龄对有效的端口请求进行排序而获得。
对应地,本发明还提供一种仲裁器,包括:根据年龄超时的端口请求设置有效的端口请求和根据端口请求的年龄设置优先级指针的设置单元,所述端口请求的年龄是端口请求等待仲裁响应的时间,所述年龄超时是端口请求的年龄超过年龄阈值;根据所述设置单元设置的优先级指针对有效的端口请求进行仲裁的仲裁单元阵列。
与现有技术相比,上述技术方案以年龄最大的端口请求设置仲裁的优先级指针,并且在端口有年龄超时的端口请求时,该端口中仅年龄超时的端口请求可以参加仲裁,因此,可以增加等待仲裁响应时间长的端口请求获得仲裁响应的机会,提高仲裁的公平性。
采用最大年龄方式设置优先级指针,如果年龄最大的端口请求长时间未获得仲裁响应,而可能使其它端口请求不能获得仲裁响应的情况下,采用顺序轮转方式可以增加其它等待仲裁响应时间较短但有迅速传送条件的端口请求获得仲裁响应的机会,这样就提高了仲裁的公平性,改善了仲裁性能。
设置优先级指针的方式交替采用最大年龄方式和顺序轮转方式,可以进一步减少了“饥饿”现象出现的可能性,提高了仲裁的公平性,改善了仲裁性能。
以设定指针设置模式的方式来选择优先级指针的设置方式,因此可以通过灵活地应用不同的优先级指针的设置方式,有效地解决了波阵仲裁中存在的“饥饿”问题,提高了仲裁的公平性,使仲裁性能达到最优化。
附图说明
图1是一种波阵仲裁器的仲裁单元阵列的结构原理图;
图2是本发明第一实施方式的仲裁方法的具体流程图;
图3是本发明第一实施方式的仲裁方法的实例示意图;
图4是本发明第一实施方式的仲裁器的结构示意图;
图5是本发明第二实施方式的仲裁方法的具体流程图;
图6是本发明第二实施方式的仲裁方法的实例示意图;
图7是本发明第二实施方式的仲裁器的结构示意图;
图8是本发明第三实施方式的仲裁方法的具体流程图;
图9是本发明第三实施方式的仲裁器的结构示意图;
图10是本发明第四实施方式的仲裁器的结构示意图。
具体实施方式
本发明实施方式是以等待仲裁响应时间最长(即年龄最大)的端口请求设置仲裁的优先级指针,并且端口中仅等待仲裁响应时间长(即年龄超时)的端口请求可以参加仲裁,增加了等待仲裁响应时间长的端口请求获得仲裁响应的机会,以此解决波阵仲裁中存在的“饥饿”问题。
本发明实施方式的仲裁方法包括下述步骤:根据年龄超时的端口请求设置有效的端口请求;根据端口请求的年龄设置优先级指针;根据所述设置的优先级指针对所述有效的端口请求进行仲裁。
本发明实施方式的仲裁器包括:根据年龄超时的端口请求设置有效的端口请求和根据端口请求的年龄设置优先级指针的设置单元;根据所述设置单元设置的优先级指针对有效的端口请求进行仲裁的仲裁单元阵列。
所述端口请求的年龄是端口请求等待仲裁响应的时间,所述年龄超时是端口请求的年龄超过年龄阈值。
下面即结合附图和实施例对本发明的实施方式做详细的说明。
第一实施方式
本实施方式的仲裁方法包括:根据年龄超时的端口请求设置有效的端口请求;将优先级指针指向与年龄最大的端口请求对应的仲裁单元所在的优先级组;根据所述优先级指针对有效的端口请求进行仲裁。
端口请求的年龄可以从请求到达仲裁器的时间开始计算,对应地,年龄最大的端口请求是最早到达仲裁器并且还未获得仲裁响应的端口请求。
端口请求的年龄也可以从请求提出的时间开始计算,输入端口提出请求时,在端口发送的消息中会包含请求发送消息的时间(即请求提出的时间),对应地,年龄最大的端口请求是最先提出请求并且还未获得仲裁响应的端口请求。
所述年龄超时是指端口请求的年龄超过预设的年龄阈值。以端口请求的年龄从请求到达仲裁器的时间开始计算为例,本实施方式中,在一个端口请求到达仲裁器时,即开始对该端口请求进行计时,可以用一个年龄计数器对仲裁器的工作时钟进行计数,当年龄计数器的计数值超过预设的年龄计数值(预设的年龄计数值等于预设的年龄阈值与仲裁器的工作时钟周期的比值),即为端口请求的年龄超时;当年龄计数器的计数值达到最大值时计数值保持不变,直至对应的端口请求获得仲裁响应;当端口请求获得仲裁响应后,对应的年龄计数器清零。可以根据实际需要改变年龄阈值,从而计算出预设的年龄计数值,以确定有哪些端口请求是年龄超时的。
如果一个输入端口向一个输出端口的请求未获得仲裁响应,该端口请求继续等待仲裁响应,而该输入端口又可以继续向另一个输出端口发出请求,因此在仲裁时,每个输入端口可能会对应的有多个端口请求参加仲裁。例如,请求(1,0)为输入端口1向输出端口0发出的请求,若请求(1,0)未获得仲裁响应,其继续等待仲裁响应,输入端口1又向输出端口1发出请求,则请求(1,0)、请求(1,1)都可能会参加仲裁。本实施方式所述的根据年龄超时的端口请求设置有效的端口请求是根据是否有年龄超时的端口请求来设置可以参加仲裁的端口请求:如果一个输入端口的多个端口请求中没有年龄超时的端口请求,那么该输入端口的所有端口请求都为有效的端口请求,可以参加仲裁;如果一个输入端口的多个端口请求中有年龄超时的端口请求,那么该输入端口仅有年龄超时的端口请求为有效的端口请求,可以参加仲裁,该输入端口的其他端口请求(年龄没有超时的端口请求)为无效的端口请求,不可以参加仲裁。
本实施方式的仲裁方法的一个具体流程如图2所示:
步骤S11,在每次仲裁开始前,判断是否有年龄超时的端口请求:若有年龄超时的端口请求,则执行步骤S12;若没有年龄超时的端口请求,则执行步骤S13。本实施方式中是根据各端口请求对应的年龄计数器的计数值是否超过了预设的年龄计数值来判断是否有年龄超时的端口请求,并确定有哪个或哪些年龄超时的端口请求。
步骤S12,对于有年龄超时的端口请求的输入端口,将该输入端口的年龄超时的端口请求设置为有效的端口请求,将该输入端口的年龄没有超时的端口请求设置为无效的端口请求;对于没有年龄超时的端口请求的输入端口,将该输入端口的所有端口请求设置为有效的端口请求,接着执行步骤S14。
步骤S13,将各端口的所有端口请求设置为有效的端口请求。
步骤S14,获取年龄最大的端口请求。可以按端口请求的年龄对有效的端口请求进行排序(从大到小或者从小到大),也可以按端口请求的年龄对所有的端口请求进行排序,获取的年龄最大的端口请求应该是一样的。
步骤S15,将优先级指针指向与年龄最大的端口请求对应的仲裁单元所在的优先级组。
步骤S16,从优先级指针指向的优先级组开始对有效的端口请求进行仲裁。接着返回至步骤S11。
上述流程也可以先执行设置优先级指针的步骤S14至S15,再执行设置有效的端口请求的步骤S11至S13。
另外,对于年龄一样大的多个端口请求,可以按输入端口的端口号,以升序或降序对端口请求进行排序,例如,请求(1,0)、请求(2,0)的年龄一样大,请求(1,0)的提出请求的端口为输入端口1,请求(2,0)的提出请求的端口为输入端口2,如果按端口号升序进行排序,请求(1,0)排在请求(2,0)之前,即将请求(1,0)的年龄视为比请求(2,0)的年龄大。
下面结合图1和图3,以一个实例对本实施方式的仲裁方法进行说明。设开始仲裁时,有请求(1,0)、请求(2,0)、请求(3,5)、请求(4、2),下面的实例中一个步骤表示一次仲裁。
(1-1)按请求到达仲裁器的时间,设对上述端口请求进行年龄排序(从大到小)的结果为:请求(1,0)、请求(2,0)、请求(3,5)、请求(4,2)。请求(1,0)的年龄最大,将优先级指针指向对应于请求(1,0)的仲裁单元(1,0)所在的优先级组w1,即优先级指针设置为PriorPt1。对所有请求进行仲裁后,请求(1,0)、请求(3,5)、请求(4,2)获得仲裁响应,输入端口1向输出端口0发送消息,输入端口3向输出端口5发送消息,输入端口4向输出端口2发送消息。请求(2,0)未获得仲裁响应。
(1-2)又有请求(0,3)和请求(5,0),设对端口请求进行年龄排序的结果为:请求(2,0)、请求(5,0)、请求(0,3)。请求(2,0)的年龄最大,将优先级指针指向对应于请求(2,0)的仲裁单元(2,0)所在的优先级组w2,即优先级指针设置为PriorPt2。对所有请求进行仲裁后,请求(0,3)获得仲裁响应,输入端口0向输出端口3发送消息。请求(2,0)、请求(5,0)因输出端口0处于忙状态而未获得仲裁响应。
(1-3)又有请求(2,3),设对端口请求进行年龄排序的结果为:请求(2,0)、请求(5,0)、请求(2,3)。请求(2,0)的年龄最大,优先级指针仍为PriorPt2。对所有请求进行仲裁后,请求(2,0)、请求(5,0)仍因输出端口0处于忙状态而未获得仲裁响应,请求(2,3)因输出端口3处于忙状态而未获得仲裁响应。
(1-4)设又有请求(5,1),并且此时请求(2,0)的年龄超时,输入端口1向输出端口0发送消息完成。输入端口2有年龄超时的端口请求,即请求(2,0),因此,请求(2,3)为无效的端口请求,不能参加仲裁,对有效的端口请求进行年龄排序的结果为:请求(2,0)、请求(5,0)、请求(5,1),优先级指针仍为PriorPt2。对输入端口2的请求(2,0)、输入端口5的请求(5,0)、请求(5,1)进行仲裁后,请求(2,0)、请求(5,1)获得仲裁响应,请求(5,0)因请求(2,0)获得仲裁响应而未获得仲裁响应。
……
对应地,本实施方式的仲裁器的基本结构如图4所示,包括:设置单元10、仲裁单元阵列11。所述设置单元10包括端口设置单元12、获取单元13、指针设置单元14。
端口设置单元12,根据年龄超时的端口请求设置有效的端口请求。端口设置单元12包括与各个端口请求对应的年龄计数器,根据年龄计数器的计数值判断是否有年龄超时的端口请求:若有年龄超时的端口请求,对于有年龄超时的端口请求的输入端口,将该输入端口的年龄超时的端口请求设置为有效的端口请求,将该输入端口的年龄没有超时的端口请求设置为无效的端口请求;对于没有年龄超时的端口请求的输入端口,将该输入端口的所有端口请求设置为有效的端口请求;若没有年龄超时的端口请求,则将各端口的所有端口请求设置为有效的端口请求。
获取单元13,获取年龄最大的端口请求。可以按端口请求的年龄对端口设置单元12设置的有效的端口请求进行排序,也可以按端口请求的年龄对所有的端口请求进行排序,以获取年龄最大的端口请求。
指针设置单元14,根据获取单元13所获取的年龄最大的端口请求,将优先级指针设置为指向与年龄最大的端口请求对应的仲裁单元所在的优先级组。
仲裁单元阵列11,根据指针设置单元14设置的优先级指针对端口设置单元12设置的有效的端口请求进行仲裁。仲裁后,仲裁单元阵列11向选中的仲裁单元对应的提出请求的端口发送仲裁响应。本实施方式的仲裁单元阵列11为如图1所示的波阵仲裁单元阵列。
以年龄最大的端口请求设置仲裁的优先级指针,并且在端口有年龄超时的端口请求时,该端口仅有年龄超时的端口请求可以参加仲裁,可以增加等待仲裁响应时间长的端口请求获得仲裁响应的机会,减少“饥饿”现象出现的可能性,提高仲裁的公平性。
第二实施方式
本实施方式的仲裁方法包括下述步骤:
根据年龄超时的端口请求设置有效的端口请求;
若最大年龄方式没有超时,采用最大年龄方式,所述最大年龄方式是将优先级指针指向与年龄最大的端口请求对应的仲裁单元所在的优先级组;
若最大年龄方式超时,采用顺序轮转方式,所述顺序轮转方式是将优先级指针轮流指向各优先级组;
根据所述优先级指针对有效的端口请求进行仲裁。
所述最大年龄方式超时是指采用最大年龄方式的时间超过了最大年龄方式阈值。
所述根据年龄超时的端口请求设置有效的端口请求如第一实施方式所述。
所述端口请求的年龄从请求到达仲裁器的时间开始计算,或者从请求提出的时间开始计算。所述年龄超时是指端口请求的年龄超过预设的年龄阈值。本实施方式中可以使用与第一实施方式相同的年龄计数器来确定年龄超时的端口请求。
根据年龄最大的端口请求设置仲裁的优先级指针(即将优先级指针指向与年龄最大的端口请求对应的仲裁单元所在的优先级组),如果年龄最大的端口请求没有获得仲裁响应,优先级指针会一直指向同一个优先级组,这样,位于优先级指针下方的输入请求获得仲裁响应的机会就会明显减少,因此,相比于第一实施方式,本实施方式还设置了最大年龄方式阈值,在采用最大年龄方式的时间超过了预设的最大年龄方式阈值后,采用顺序轮转方式,既不再将优先级指针一直指向与年龄最大的端口请求对应的仲裁单元所在的优先级组,而是轮流指向各个优先级组,即每次仲裁时先将优先级指针指向下一个优先级组。例如,优先级指针从优先级组w0开始顺序循环,轮流指向w0、w1、......、w5、w6、w1、......;或者也可以不从优先级组w0开始,而是从开始采用顺序轮转方式时优先级指针指向的优先级组开始顺序循环。
本实施方式的仲裁方法的一个具体流程如图5所示:
步骤S21,在每次仲裁开始前,判断是否有年龄超时的端口请求:若有年龄超时的端口请求,则执行步骤S22;若没有年龄超时的端口请求,则执行步骤S23。
步骤S22,对于有年龄超时的端口请求的输入端口,将该输入端口的年龄超时的端口请求设置为有效的端口请求,将该输入端口的年龄没有超时的端口请求设置为无效的端口请求;对于没有年龄超时的端口请求的输入端口,将该输入端口的所有端口请求设置为有效的端口请求,接着执行步骤S24。
步骤S23,将各端口的所有端口请求设置为有效的端口请求。
步骤S24,按端口请求的年龄对有效的端口请求进行排序,以获取年龄最大的端口请求。
步骤S25,判断最大年龄方式是否超时:若最大年龄方式超时,则执行步骤S26;若最大年龄方式没有超时,则执行步骤S27。本实施方式中,当开始采用最大年龄方式时,即开始对采用最大年龄方式的时间进行计时,可以用一个最大年龄方式计数器对仲裁器的工作时钟进行计数,若最大年龄方式计数器的计数值超过预设的最大年龄方式计数值(预设的最大年龄方式计数值等于最大年龄方式阈值与仲裁器的工作时钟周期的比值),即为最大年龄方式超时,最大年龄方式计数器的计数值保持不变。
步骤S26,将优先级指针指向下一个优先级组,例如,当前的优先级指针指向优先级组w1,则将优先级指针指向优先级组w2。接着执行步骤S28。在最大年龄方式超时后,将始终采用顺序轮转方式。
步骤S27,将优先级指针指向与年龄最大的端口请求对应的仲裁单元所在的优先级组。
步骤S28,从优先级指针指向的优先级组开始对有效的端口请求进行仲裁。接着返回至步骤S21。
上述流程也可以先执行设置优先级指针的步骤S24至S27,再执行设置有效的端口请求的步骤S21至S23。
下面结合图1和图6,以一个实例对本实施方式的仲裁方法的轮转设置优先级指针进行说明,下面的实例中一个步骤表示一次仲裁。
(2-1)设有请求(1,0)、请求(2,0)和请求(3,5),没有年龄超时的端口请求,所有的端口请求都为有效的端口请求,对所有的端口请求进行年龄排序后为:请求(1,0)、请求(2,0)、请求(3,5)。此时最大年龄方式没有超时,采用最大年龄方式,将优先级指针设置为对应年龄最大的请求(1,0)的PriorPt1,并且对所有请求进行仲裁。
(2-2)设有请求(1,0)、请求(2,0)、请求(3,5)、请求(1,3)和请求(2、4),请求(1,0)的年龄超时,因此输入端口1的请求(1,0)为有效的请求、请求(1,3)为无效的端口请求,输入端口2的请求(2,0)、请求(2、4)和输入端口3的请求(3,5)都为有效的请求,对有效的端口请求包括进行年龄排序后为:请求(1,0)、请求(2,0)、请求(3,5)、请求(2、4)。此时最大年龄方式没有超时,优先级指针设置为对应请求(1,0)的PriorPt1。对请求(1,0)、请求(2,0)、请求(3,5)、请求(2、4)进行仲裁,请求(1,3)因请求(1,0)的年龄超时而不能参加仲裁。
(2-3)设请求(2,0)的年龄超时,有请求(2,0)、请求(3,5)、请求(1,3)、请求(2、4)和请求(3、6)。请求(2、4)为无效的端口请求,其他请求都为有效的端口请求,对有效的端口请求进行年龄排序后为:请求(2,0)、请求(3,5)、请求(1,3)、请求(3、6)。此时最大年龄方式超时,采用顺序轮转方式,优先级指针设置为PriorPt0(或者也可以设置为PriorPt2)。对请求(2,0)、请求(3,5)、请求(1,3)、请求(3、6)进行仲裁,请求(2、4)因请求(2,0)的年龄超时而不能参加仲裁。
(2-4)(接(2-3))有请求(3,5)、请求(1,3)、请求(2、4)、请求(3、6),没有年龄超时的请求,进行年龄排序后的端口请求包括:请求(3,5)、请求(1,3)、请求(2、4)、请求(3、6),最大年龄方式超时,采用顺序轮转方式,优先级指针设置为PriorPt1(如果(2-3)中的优先级指针设置为PriorPt2,则这里设置为PriorPt3)。对所有请求进行仲裁。
……
对应地,本实施方式的仲裁器的基本结构如图7所示,包括:设置单元20、仲裁单元阵列21。所述设置单元20包括端口设置单元22、获取单元23、第一指针设置单元24、第二指针设置单元25、选择单元26。
端口设置单元22,根据年龄超时的端口请求设置有效的端口请求。与第一实施方式的端口设置单元12相同。
获取单元23,获取年龄最大的端口请求。与第一实施方式的获取单元13相同。
第一指针设置单元24,根据获取单元23获取的年龄最大的端口请求,将优先级指针设置为指向与年龄最大的端口请求对应的仲裁单元所在的优先级组。
第二指针设置单元25,将优先级指针设置为轮流指向各优先级组。在每次仲裁时,将优先级指针指向下一个优先级组。
选择单元26,判断最大年龄方式是否超时:若最大年龄方式没有超时,选择第一指针设置单元24设置的优先级指针传送给仲裁单元阵列21;若最大年龄方式超时,选择第二指针设置单元25设置的优先级指针传送给仲裁单元阵列21。选择单元26包括最大年龄方式计数器,根据最大年龄方式计数器的计数值是否超过预设的最大年龄方式计数值来判断最大年龄方式是否超时。
仲裁单元阵列21,根据选择单元26选择的优先级指针对端口设置单元22设置的有效的端口请求进行仲裁。
采用最大年龄方式,如果年龄最大的端口请求长时间未获得仲裁响应,而可能使其它端口请求不能获得仲裁响应的情况下,采用顺序轮转方式可以增加其它等待仲裁响应时间较短但有迅速传送条件的端口请求获得仲裁响应的机会,这样就提高了仲裁的公平性,改善了仲裁性能;并且在端口有年龄超时的端口请求时,该端口仅有年龄超时的端口请求可以参加仲裁,这样可以增加该端口等待仲裁响应时间较长的端口请求获得仲裁响应的机会,进一步减少了“饥饿”现象出现的可能性。
第三实施方式
本实施方式的仲裁方法包括下述步骤:
根据年龄超时的端口请求设置有效的端口请求;
若最大年龄方式没有超时或者顺序轮转方式超时,采用最大年龄方式,所述最大年龄方式是将优先级指针指向与年龄最大的端口请求对应的仲裁单元所在的优先级组;
若最大年龄方式超时并且顺序轮转方式没有超时,采用顺序轮转方式,所述顺序轮转方式是将优先级指针轮流指向各优先级组;
根据所述优先级指针对有效的端口请求进行仲裁。
所述最大年龄方式超时是指采用最大年龄方式的时间超过了最大年龄方式阈值。
所述顺序轮转方式超时是指采用顺序轮转方式设置优先级指针的时间超过了顺序轮转方式阈值。
所述根据年龄超时的端口请求设置有效的端口请求如第一实施方式所述。
所述端口请求的年龄从请求到达仲裁器的时间开始计算,或者从请求提出的时间开始计算。所述年龄超时是指端口请求的年龄超过预设的年龄阈值。本实施方式中可以使用与第一实施方式相同的年龄计数器来确定年龄超时的端口请求。
相比于第二实施方式,本实施方式除了设置最大年龄方式阈值,还设置了顺序轮转方式阈值。仲裁开始时,先采用最大年龄方式,并开始计算采用最大年龄方式的时间;在采用最大年龄方式的时间超过了最大年龄方式阈值后,则采用顺序轮转方式,并开始计算采用顺序轮转方式的时间;在采用顺序轮转方式的时间超过了顺序轮转方式阈值后,再采用最大年龄方式,并重新开始计算采用最大年龄方式的时间,......,如此循环,即交替采用最大年龄方式和顺序轮转方式。
本实施方式的仲裁方法的一个具体流程如图8所示:
步骤S31,在每次仲裁开始前,判断是否有年龄超时的端口请求:若有年龄超时的端口请求,则执行步骤S32;若没有年龄超时的端口请求,则执行步骤S33。
步骤S32,对于有年龄超时的端口请求的输入端口,将该输入端口的年龄超时的端口请求设置为有效的端口请求,将该输入端口的年龄没有超时的端口请求设置为无效的端口请求;对于没有年龄超时的端口请求的输入端口,将该输入端口的所有端口请求设置为有效的端口请求,接着执行步骤S34。
步骤S33,将各端口的所有端口请求设置为有效的端口请求。
步骤S34,按端口请求的年龄对有效的端口请求进行排序,以获取年龄最大的端口请求。
步骤S35,判断最大年龄方式是否超时:若最大年龄方式超时,则执行步骤S36;若最大年龄方式没有超时,则执行步骤S38。本实施方式中,当开始采用最大年龄方式时,即开始对采用最大年龄方式的时间进行计时,可以用一个最大年龄方式计数器对仲裁器的工作时钟进行计数,若最大年龄方式计数器的计数值超过预设的最大年龄方式计数值(预设的最大年龄方式计数值等于最大年龄方式阈值与仲裁器的工作时钟周期的比值),即为最大年龄方式超时。
步骤S36,判断顺序轮转方式是否超时:若顺序轮转方式超时,则执行步骤S38;若顺序轮转方式没有超时,则执行步骤S37。本实施方式中,当开始采用顺序轮转方式时,即开始对采用顺序轮转方式的时间进行计时,可以用一个顺序轮转方式计数器对仲裁器的工作时钟进行计数,若顺序轮转方式计数器的计数值超过预设的顺序轮转方式计数值(预设的顺序轮转方式计数值等于顺序轮转方式阈值与仲裁器的工作时钟周期的比值),即为顺序轮转方式超时。
最大年龄方式计数器的计数值在采用顺序轮转方式时保持不变,在从顺序轮转方式转为最大年龄方式时清零,以重新计算采用最大年龄方式的时间。顺序轮转方式计数器的计数值在采用最大年龄方式时保持不变,在从最大年龄方式转为顺序轮转方式时清零,以重新计算采用顺序轮转方式的时间。
步骤S37,将优先级指针指向下一个优先级组。接着执行步骤S39。
步骤S38,将优先级指针指向与年龄最大的端口请求对应的仲裁单元所在的优先级组。
步骤S39,从优先级指针指向的优先级组开始对有效的端口请求进行仲裁。接着返回至步骤S31。
上述流程也可以先执行设置优先级指针的步骤S34至S38,再执行设置有效的端口请求的步骤S31至S33。
对应地,本实施方式的仲裁器的基本结构如图9所示,包括:设置单元30、仲裁单元阵列31。所述设置单元30包括端口设置单元32、获取单元33、第一指针设置单元34、第二指针设置单元35、选择单元36。
端口设置单元32,根据年龄超时的端口请求设置有效的端口请求。与第一实施方式的端口设置单元12、第二实施方式的端口设置单元22相同。
获取单元33,获取年龄最大的端口请求。与第一实施方式的获取单元13、第二实施方式的获取单元23相同。
第一指针设置单元34,将优先级指针设置为指向与年龄最大的端口请求对应的仲裁单元所在的优先级组。与第二实施方式的第一指针设置单元24相同。
第二指针设置单元35,将优先级指针设置为轮流指向各优先级组。与第二实施方式的第而指针设置单元25相同。
选择单元36,判断最大年龄方式是否超时:若最大年龄方式没有超时,选择第一指针设置单元34设置的优先级指针传送给仲裁单元阵列31;若最大年龄方式超时,则判断顺序轮转方式是否超时,若顺序轮转方式没有超时,则选择第二指针设置单元35设置的优先级指针传送给仲裁单元阵列31,若顺序轮转方式超时,则选择第一指针设置单元35设置的优先级指针传送给仲裁单元阵列31。
选择单元36包括最大年龄方式计数器和顺序轮转方式计数器,根据最大年龄方式计数器的计数值是否超过预设的最大年龄方式计数值来判断最大年龄方式是否超时,根据顺序轮转方式计数器的计数值是否超过预设的顺序轮转方式计数值来判断顺序轮转方式是否超时。
仲裁单元阵列31,根据选择单元36选择的优先级指针对端口设置单元32设置的有效的端口请求进行仲裁。
本实施方式设置优先级指针的方式是交替采用最大年龄方式和顺序轮转方式,可以进一步减少了“饥饿”现象出现的可能性,提高了仲裁的公平性,改善了仲裁性能。
第四实施方式
本实施方式的仲裁方法包括下述步骤:
根据年龄超时的端口请求设置有效的端口请求;
根据预先设定的指针设置模式,设置优先级指针;
根据设置的优先级指针对有效的端口请求进行仲裁。
所述指针设置模式包括:最大年龄设置模式、年龄轮转设置模式和交替设置模式。
所述最大年龄设置模式的设置优先级指针包括:将优先级指针指向与年龄最大的端口请求对应的仲裁单元所在的优先级组,请参考第一实施方式中对应的详细说明。
所述年龄轮转设置模式的设置优先级指针包括:若最大年龄方式没有超时,采用最大年龄方式;若最大年龄方式超时,采用顺序轮转方式,请参考第二实施方式中对应的详细说明。
所述交替设置模式的设置优先级指针包括:若最大年龄方式没有超时或者顺序轮转方式超时,采用最大年龄方式;若最大年龄方式超时并且顺序轮转方式没有超时,采用顺序轮转方式,请参考第三实施方式中对应的详细说明。
所述根据年龄超时的端口请求设置有效的端口请求如第一实施方式所述。
对应地,本实施方式的仲裁器的一种基本结构如图10所示,包括:模式寄存器47、设置单元40、仲裁单元阵列41。所述设置单元40包括:端口设置单元42、获取单元43、第一指针设置单元44、第二指针设置单元45、选择单元46。
模式寄存器47,储存预先设定的指针设置模式。所述指针设置模式包括:最大年龄设置模式、年龄轮转设置模式和交替设置模式。
端口设置单元42,根据年龄超时的端口请求设置有效的端口请求。与第一实施方式的端口设置单元12、第二实施方式的端口设置单元22、第三实施方式的端口设置单元32相同。
获取单元43,获取年龄最大的端口请求。与第一实施方式的获取单元13、第二实施方式的获取单元23、第三实施方式的获取单元33相同。
第一指针设置单元44,将优先级指针设置为指向与年龄最大的端口请求对应的仲裁单元所在的优先级组。与第二实施方式的第一指针设置单元24、第三实施方式的第一指针设置单元34相同。
第二指针设置单元45,将优先级指针设置为轮流指向各优先级组。与第二实施方式的第二指针设置单元25、第三实施方式的第二指针设置单元35相同。
选择单元46,根据模式寄存器47储存的指针设置模式选择第一指针设置单元44或第二指针设置单元45设置的优先级指针传送给仲裁单元阵列41:
在模式寄存器47储存的指针设置模式为最大年龄设置模式时,选择单元46选择第一指针设置单元44设置的优先级指针传送给仲裁单元阵列41;
在模式寄存器47储存的指针设置模式为年龄轮转设置模式时,选择单元46对应地与第二实施方式的选择单元26相同;
在模式寄存器47储存的指针设置模式为交替设置模式时,选择单元46对应地与第三实施方式的选择单元36相同。
仲裁单元阵列41,根据选择单元46选择的优先级指针对端口设置单元42设置的有效的端口请求进行仲裁。
本实施方式是上述三种实施方式的结合,在其他实施方式中,也可以是上述三种实施方式的两两结合。以设定指针设置模式的方式来选择仲裁的优先级指针的设置方式,因此可以通过灵活地应用不同的优先级指针的设置方式,有效地解决了波阵仲裁中存在的“饥饿”问题,提高了仲裁的公平性,使仲裁性能达到最优化。
本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。
Claims (12)
1.一种仲裁方法,其特征在于,包括下述步骤:
根据年龄超时的端口请求设置有效的端口请求;
根据端口请求的年龄设置优先级指针;
根据所述优先级指针对有效的端口请求进行仲裁,
所述端口请求的年龄是端口请求等待仲裁响应的时间,所述年龄超时是端口请求的年龄超过年龄阈值,
所述根据年龄超时的端口请求设置有效的端口请求包括下述步骤:对于有年龄超时的端口请求的输入端口,仅将所述输入端口的年龄超时的端口请求设置为有效的端口请求;对于没有年龄超时的端口请求的输入端口,将所述输入端口的所有端口请求设置为有效的端口请求;
所述根据端口请求的年龄设置优先级指针是指采用最大年龄方式设置优先级指针,或者采用最大年龄方式或顺序轮转方式设置优先级指针,所述最大年龄方式是将优先级指针指向与年龄最大的端口请求对应的仲裁单元所在的优先级组,所述顺序轮转方式是将优先级指针轮流指向各优先级组。
2.根据权利要求1所述的仲裁方法,其特征在于,所述采用最大年龄方式或顺序轮转方式设置优先级指针包括下述步骤:
若最大年龄方式没有超时,采用最大年龄方式;
若最大年龄方式超时,采用顺序轮转方式,
所述最大年龄方式超时是指采用最大年龄方式的时间超过了最大年龄方式阈值。
3.根据权利要求1所述的仲裁方法,其特征在于,所述采用最大年龄方式或顺序轮转方式设置优先级指针包括下述步骤:
若最大年龄方式没有超时或者顺序轮转方式超时,采用最大年龄方式;
若最大年龄方式超时并且顺序轮转方式没有超时,采用顺序轮转方式;
所述最大年龄方式超时是指采用最大年龄方式的时间超过了最大年龄方式阈值,
所述顺序轮转方式超时是指采用顺序轮转方式的时间超过了顺序轮转方式阈值。
4.根据权利要求1所述的仲裁方法,其特征在于,所述采用最大年龄方式或顺序轮转方式设置优先级指针包括下述步骤:根据指针设置模式设置优先级指针,所述指针设置模式包括年龄设置模式、年龄轮转设置模式和交替设置模式,或者包括年龄设置模式、年龄轮转设置模式和交替设置模式其中的两两结合,其中,
所述年龄设置模式的设置优先级指针包括:将优先级指针指向与年龄最大的端口请求对应的仲裁单元所在的优先级组;
所述年龄轮转设置模式的设置优先级指针包括:若最大年龄方式没有超时,采用最大年龄方式,若最大年龄方式超时,采用顺序轮转方式;
所述交替设置模式的设置优先级指针包括:若最大年龄方式没有超时或者顺序轮转方式超时,采用最大年龄方式,若最大年龄方式超时并且顺序轮转方式没有超时,采用顺序轮转方式,
其中,所述最大年龄方式超时是指采用最大年龄方式的时间超过了最大年龄方式阈值,所述顺序轮转方式超时是指采用顺序轮转方式的时间超过了顺序轮转方式阈值。
5.根据权利要求1至4中任意一项所述的仲裁方法,其特征在于,所述端口请求的年龄从请求到达仲裁器的时间开始计算,或者从请求提出的时间开始计算。
6.根据权利要求1至4中任意一项所述的仲裁方法,其特征在于,所述年龄最大的端口请求是按端口请求的年龄对有效的端口请求进行排序而获得。
7.一种仲裁器,其特征在于,包括:
根据年龄超时的端口请求设置有效的端口请求和根据端口请求的年龄设置优先级指针的设置单元,所述端口请求的年龄是端口请求等待仲裁响应的时间,所述年龄超时是端口请求的年龄超过年龄阈值;
根据所述设置单元设置的优先级指针对有效的端口请求进行仲裁的仲裁单元阵列,
所述设置单元包括:
端口设置单元,对于有年龄超时的端口请求的输入端口,仅将所述输入端口的年龄超时的端口请求设置为有效的端口请求;对于没有年龄超时的端口请求的输入端口,将所述输入端口的所有端口请求设置为有效的端口请求;
获取单元,获取年龄最大的端口请求;
指针设置单元,根据获取单元获取的年龄最大的端口请求,将优先级指针设置为指向与年龄最大的端口请求对应的仲裁单元所在的优先级组,
或者,所述设置单元包括:
端口设置单元,对于有年龄超时的端口请求的输入端口,仅将所述输入端口的年龄超时的端口请求设置为有效的端口请求;对于没有年龄超时的端口请求的输入端口,将所述输入端口的所有端口请求设置为有效的端口请求;
获取单元,获取年龄最大的端口请求;
第一指针设置单元,根据所述获取单元获取的年龄最大的端口请求,将优先级指针设置为指向与年龄最大的端口请求对应的仲裁单元所在的优先级组;
第二指针设置单元,将优先级指针设置为轮流指向各优先级组;
选择单元,选择第一指针设置单元或第二指针设置单元设置的优先级指针传送给仲裁单元阵列。
8.根据权利要求7所述的仲裁器,其特征在于,所述获取单元获取的年龄最大的端口请求是按端口请求的年龄对有效的端口请求进行排序而获得的。
9.根据权利要求7所述的仲裁器,其特征在于,所述选择单元判断最大年龄方式是否超时:若否则选择所述第一指针设置单元设置的优先级指针传送给所述仲裁单元阵列;若是则选择所述第二指针设置单元设置的优先级指针传送给所述仲裁单元阵列,
所述最大年龄方式超时是指采用最大年龄方式的时间超过了最大年龄方式阈值,所述最大年龄方式是将优先级指针设置为指向与年龄最大的端口请求对应的仲裁单元所在的优先级组。
10.根据权利要求7所述的仲裁器,其特征在于,所述选择单元判断最大年龄方式是否超时:若否则选择所述第一指针设置单元设置的优先级指针传送给所述仲裁单元阵列;若是则判断顺序轮转方式是否超时,若否则选择所述第二指针设置单元设置的优先级指针传送给所述仲裁单元阵列,若是则选择所述第一指针设置单元设置的优先级指针传送给所述仲裁单元阵列,
所述最大年龄方式超时是指采用最大年龄方式设置的时间超过了最大年龄方式阈值,所述最大年龄方式是将优先级指针设置为指向与年龄最大的端口请求对应的仲裁单元所在的优先级组,
所述顺序轮转方式超时是指采用顺序轮转方式设置优先级指针的时间超过了顺序轮转方式阈值,所述顺序轮转方式是将优先级指针设置为轮流指向各优先级组。
11.根据权利要求7所述的仲裁器,其特征在于,还包括用于储存预先设定的指针设置模式的模式寄存器,所述指针设置模式包括年龄设置模式、年龄轮转设置模式和交替设置模式,或者包括年龄设置模式、年龄轮转设置模式和交替设置模式其中的两两结合,其中,
在所述模式寄存器储存的指针设置模式为年龄设置模式时,所述选择单元选择所述第一指针设置单元设置的优先级指针传送给所述仲裁单元阵列;
在所述模式寄存器储存的指针设置模式为年龄轮转设置模式时,所述选择单元判断最大年龄方式是否超时:若否选择所述第一指针设置单元设置的优先级指针传送给所述仲裁单元阵列;若是则选择所述第二指针设置单元设置的优先级指针传送给所述仲裁单元阵列;
在所述模式寄存器储存的指针设置模式为交替设置模式时,所述选择单元判断最大年龄方式是否超时:若否则选择所述第一指针设置单元设置的优先级指针传送给所述仲裁单元阵列;若是则判断顺序轮转方式是否超时,若否则选择所述第二指针设置单元设置的优先级指针传送给所述仲裁单元阵列,若是则选择所述第一指针设置单元设置的优先级指针传送给所述仲裁单元阵列,
所述最大年龄方式超时是指采用最大年龄方式的时间超过了最大年龄方式阈值,所述最大年龄方式是将优先级指针设置为指向与年龄最大的端口请求对应的仲裁单元所在的优先级组,
所述顺序轮转方式超时是指采用顺序轮转方式的时间超过了顺序轮转方式阈值,所述顺序轮转方式是将优先级指针设置为轮流指向各优先级组。
12.根据权利要求7至11中任意一项所述的仲裁器,其特征在于,所述端口请求的年龄从请求到达仲裁器的时间开始计算,或者从请求提出的时间开始计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101606659A CN101471856B (zh) | 2007-12-26 | 2007-12-26 | 仲裁方法和仲裁器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101606659A CN101471856B (zh) | 2007-12-26 | 2007-12-26 | 仲裁方法和仲裁器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101471856A CN101471856A (zh) | 2009-07-01 |
CN101471856B true CN101471856B (zh) | 2011-01-12 |
Family
ID=40828993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101606659A Expired - Fee Related CN101471856B (zh) | 2007-12-26 | 2007-12-26 | 仲裁方法和仲裁器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101471856B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101989942B (zh) * | 2009-08-07 | 2012-10-31 | 无锡江南计算技术研究所 | 仲裁控制方法、通信方法、仲裁器和通信系统 |
US10911366B2 (en) * | 2017-06-30 | 2021-02-02 | Intel Corporation | Technologies for balancing throughput across input ports of a multi-stage network switch |
KR20210031185A (ko) * | 2019-09-11 | 2021-03-19 | 에스케이하이닉스 주식회사 | 데이터 처리 장치 및 그 동작 방법 |
CN110674065B (zh) * | 2019-10-09 | 2021-01-15 | 上海钧正网络科技有限公司 | 一种在总线上的竞争仲裁方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5680554A (en) * | 1995-01-16 | 1997-10-21 | Samsung Electronics Co., Ltd. | Method and apparatus for arbitrating among processors for access to a common bus |
CN1581125A (zh) * | 2003-08-01 | 2005-02-16 | 上海奇码数字信息有限公司 | 仲裁器和仲裁方法 |
CN1972242A (zh) * | 2005-11-23 | 2007-05-30 | 中国科学院计算技术研究所 | 一种用于网络处理器的差额权重排队调度装置及调度方法 |
CN101046787A (zh) * | 2006-03-31 | 2007-10-03 | 上海奇码数字信息有限公司 | 总线仲裁方法 |
-
2007
- 2007-12-26 CN CN2007101606659A patent/CN101471856B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5680554A (en) * | 1995-01-16 | 1997-10-21 | Samsung Electronics Co., Ltd. | Method and apparatus for arbitrating among processors for access to a common bus |
CN1581125A (zh) * | 2003-08-01 | 2005-02-16 | 上海奇码数字信息有限公司 | 仲裁器和仲裁方法 |
CN1972242A (zh) * | 2005-11-23 | 2007-05-30 | 中国科学院计算技术研究所 | 一种用于网络处理器的差额权重排队调度装置及调度方法 |
CN101046787A (zh) * | 2006-03-31 | 2007-10-03 | 上海奇码数字信息有限公司 | 总线仲裁方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101471856A (zh) | 2009-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101383712B (zh) | 一种片上网络的路由节点微结构 | |
CN100454885C (zh) | 流水线调度方法和调度装置 | |
CN101841420B (zh) | 面向片上网络的低延迟路由器结构 | |
CN103543954B (zh) | 一种数据存储管理方法和装置 | |
CN101471856B (zh) | 仲裁方法和仲裁器 | |
EP0463943A2 (en) | Fast arbiter having easy scaling for large numbers of requesters, large numbers of resource types with multiple instances of each type, and selectable queuing disciplines | |
US5729702A (en) | Multi-level round robin arbitration system | |
CN102298539A (zh) | 一种用于分布式并行处理的共享资源调度方法及系统 | |
WO2012000365A1 (zh) | 一种优先级仲裁方法及装置 | |
KR100252752B1 (ko) | 다단계 제어 버스 중재장치 | |
CN101026556B (zh) | 一种支持服务质量的仲裁方法及装置 | |
JPH10190710A (ja) | アクセス調停方法 | |
CN114968866B (zh) | 优先级分组轮询仲裁器及其仲裁方法、交叉开关和芯片 | |
CN100481045C (zh) | 一种实现软/硬件复用的dma控制器和传输方法 | |
CN202815824U (zh) | 微控制器系统 | |
CN100561982C (zh) | 一种基于定长分组的高速交换仲裁调度方法 | |
CN101459598B (zh) | 实现分组交换的方法及其系统 | |
Li et al. | Co-Scheduler: A coflow-aware data-parallel job scheduler in hybrid electrical/optical datacenter networks | |
CN104104617B (zh) | 一种报文仲裁方法及装置 | |
US8145823B2 (en) | Parallel wrapped wave-front arbiter | |
CN101741722A (zh) | 数据交互方法及装置 | |
KR100468946B1 (ko) | 간단한 파이프라인 방식을 이용한 입력 버퍼형 스위치 및그 경합 방법 | |
CN100449515C (zh) | 总线仲裁方法 | |
CN104052686B (zh) | 用于对互连访问进行仲裁的系统和方法 | |
JPWO2002065709A1 (ja) | ネットワーク・スイッチング装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110112 Termination date: 20131226 |