CN103620568B - 用于可变长度仲裁的方法、装置和系统 - Google Patents

用于可变长度仲裁的方法、装置和系统 Download PDF

Info

Publication number
CN103620568B
CN103620568B CN201280019395.9A CN201280019395A CN103620568B CN 103620568 B CN103620568 B CN 103620568B CN 201280019395 A CN201280019395 A CN 201280019395A CN 103620568 B CN103620568 B CN 103620568B
Authority
CN
China
Prior art keywords
request
arbitration
clock cycle
victor
classification
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
Application number
CN201280019395.9A
Other languages
English (en)
Other versions
CN103620568A (zh
Inventor
朱军
J·J·曹
S·卢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mawier International Trade Co Ltd
Original Assignee
Mawier International Trade Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mawier International Trade Co Ltd filed Critical Mawier International Trade Co Ltd
Publication of CN103620568A publication Critical patent/CN103620568A/zh
Application granted granted Critical
Publication of CN103620568B publication Critical patent/CN103620568B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K17/00Electronic switching or gating, i.e. not by contact-making and –breaking
    • H03K17/51Electronic switching or gating, i.e. not by contact-making and –breaking characterised by the components used
    • H03K17/56Electronic switching or gating, i.e. not by contact-making and –breaking characterised by the components used by the use, as active elements, of semiconductor devices
    • H03K17/60Electronic switching or gating, i.e. not by contact-making and –breaking characterised by the components used by the use, as active elements, of semiconductor devices the devices being bipolar transistors
    • H03K17/62Switching arrangements with several input- output-terminals, e.g. multiplexers, distributors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

在一个实施例中,一种方法确定对由多个实体共享的共享资源的请求的多个分类。从多个实体中的实体接收对资源的请求。该方法确定多个分类中针对接收的请求的分类。如果接收的请求被确定为在第一分类中,则该方法将接收的请求分派给第一仲裁方案,该第一仲裁方案被配置为在第一时间周期中确定仲裁裁决。如果接收的请求被确定为在第二分类中,则该方法将接收的请求分派给第二仲裁方案,该第二仲裁方案被配置为在第二时间周期中确定仲裁裁决,该第二时间周期与第一时间周期具有不同的长度。

Description

用于可变长度仲裁的方法、装置和系统
相关申请的交叉引用
本公开要求于2011年4月20日递交的第61/477,445号的“可变长度仲裁”的美国临时申请的优先级,其为了全部目的而以参考的方式全部并入于此。
背景技术
在此除非另外指明,本节中所描述的方式不是针对本申请中权利要求的现有技术,也不因其包含在本节中而被承认为现有技术。
计算系统包括越来越多的共享系统资源,比如存储器、总线和通信接口。另外,越来越多的实体(例如,用户和客户端)正共享那些资源。这些不同实体对使用计算机系统中的共享资源具有不同需求。例如,一些实体(像计算机处理单元(CPU))关注取读指令时的访问延迟;并且其他实体(比如直接存储器访问(DMA)控制器)最关心吞吐量。仲裁器被用来高效管理共享资源的使用和最好地满足计算系统中不同实体的需求。
不同的仲裁算法(比如循环(round robin)算法、加权循环算法、最近最少使用(LRU)算法和最近最频繁使用(MRU)算法)已被开发来提高仲裁的性能和公平性以满足不同的系统需求。然而,随着系统速度运行得越来越快和在仲裁中包括越来越多的实体,仲裁器可能难以满足系统设计需求。例如,如果有64个客户端共享一个资源,则有64比特的请求。典型的仲裁周期是固定的,比如每个仲裁在一个时钟周期中执行。然而,当使用高时钟速度时,即使用简单的循环算法也难以实现一个周期的仲裁。
发明内容
在一个实施例中,一种方法确定对由多个实体共享的共享资源的请求的多个分类。从多个实体中的实体接收对资源的请求。该方法确定多个分类中针对接收的请求的分类。如果接收的请求被确定为在第一分类中,则该方法将接收的请求分派到第一仲裁方案,该第一仲裁方案被配置为在第一时间周期中确定仲裁裁决。如果接收的请求被确定为在第二分类中,则该方法将接收的请求分派到第二仲裁方案,该第二仲裁方案被配置为在第二时间周期中确定仲裁裁决,该第二时间周期具有与第一时间周期不同的长度。
在一个实施例中,第一时间周期是固定的并且第二时间周期是可变的。
在一个实施例中,第一时间周期包括单个时钟周期并且第二时间周期包括两个或更多个时钟周期。
在一个实施例中,如果接收的请求被确定为在第三分类中,则该方法评估与接收的请求相关联的因素以确定接收的请求应当被分派到第一仲裁方案还是第二仲裁方案。
在一个实施例中,一种装置包括:被配置为从多个实体中的实体接收对共享资源的请求的逻辑;被配置为确定多个分类中针对接收的请求的分类的逻辑,其中多个分类用于由多个实体共享的共享资源;如果接收的请求被确定为在第一分类,则包括被配置为将接收的请求分派到第一仲裁方案的逻辑,该第一仲裁方案被配置为在第一时间周期中确定仲裁裁决;并且如果接收的请求被确定为在第二分类中,则包括被配置为将接收的请求分派到第二仲裁方案的逻辑,该第二仲裁方案被配置为在第二时间周期中确定仲裁裁决,该第二时间周期在具有与第一时间周期不同的长度的第二时间周期中。
在一个实施例中,一种系统包括共享资源和共享对共享资源的访问的多个实体。
下面的详细说明和附图提供了对本发明的实质和优点的更详细的理解。
附图说明
图1描绘了根据一个实施例的用于共享资源的简化系统。
图2描绘了根据一个实施例的仲裁器的简化示例。
图3描绘了根据一个实施例的请求控制块的更加详细的示例。
图4描绘了根据一个实施例的级别1仲裁环的更加详细的示例。
图5描述了根据一个实施例的用于执行可变长度仲裁的方法的简化流程图。
具体实施方式
此处描述的是用于可变长度仲裁系统的技术。出于说明的目的而在下面的说明中阐明了很多示例和具体细节以便提供对本发明的实施例的透彻理解。由权利要求限定的特定实施例可以单独或与下述其他特征组合包括这些示例中一些或所有特征,也可以进一步包括此处描述的特征和概念的修改或等同物。
图1描绘了根据一个实施例的用于共享资源的简化系统100。仲裁器102在可变时钟周期中对比如是存储器104的共享资源104执行仲裁。对资源进行共享的实体106包括CPU106-1,液晶显示器(LCD)控制器106-2,以及直接存储器访问(DMA)控制器106-3。可以领会到其他的共享资源104和实体106。另外,共享资源104将被称为存储器104,但是也将领会到其他共享资源。
仲裁器102使用可变长度仲裁(VLA)仲裁对存储器104的访问。可变长度仲裁意味着仲裁器102能够取决于比如实体请求的当前状态之类的不同因素而在可变的时钟周期中执行仲裁。如以下将更详细描述的,仲裁器102可以按照两个不同级别(或在其他实施例中按照更多级别)执行仲裁。在一个实施例中,提供了第一级别仲裁“级别0”和第二级别仲裁“级别1”。与执行级别1仲裁相比,在更少的周期中执行级别0仲裁。级别0仲裁可以是固定的或可变的,并且级别1仲裁是可变的。例如,级别0仲裁在一个周期中执行, 并且级别1仲裁在可变周期中执行,比如一个周期或多个周期,例如两个周期(但不限于两个周期)。因此,通过提供级别0或级别1仲裁而提供可变长度仲裁。
仲裁器102可以将请求分成三个分类。第一分类包括需要低延迟和高优先级的实体请求。比如用于高速缓存行重填的请求之类的CPU请求是第一分类中所包括的请求的典型示例。在一个实施例中,第一分类中的请求被映射到级别0的请求。
第二分类包括具有可变的优先级和延迟需求的实体请求。例如,基于与请求相关联的因素,需求有时低而有时高。第二分类中的请求可以取决于当前的状态而被映射到级别0的请求或者级别1的请求。来自LCD控制器106-2的请求是被映射到第二分类中的请求的示例。例如,来自LCD控制器106-2的请求的优先级可以基于显示器缓冲器状态而改变,该显示器缓冲器状态指示对于LCD控制器106-2已经缓冲了多少请求。
第三分类包括用于计算系统100中的其他实体的请求,比如DMA控制器106-3的请求。这些请求被映射到级别1,并且主要不是高优先级或低延迟。
图2描绘了根据一个实施例的仲裁器102的简化示例。仲裁器102包括请求控制块202、级别0仲裁环204、级别1仲裁环206以及准许仲裁器(Gnt Arb)208。
请求控制块202将请求分派到级别0仲裁环204和/或级别1仲裁环206。请求控制块202可以基于诸如当前状态和输入条件之类的输入标准来分派请求。例如,请求控制块202可以确定请求在哪个分类中并且将请求分派到级别0仲裁环204或级别1仲裁环206。例如,提供三个分类,即分类0、分类1和分类2。分类0的请求被分派到级别0仲裁环204并且分类2的请求被分派到级别1仲裁环206。分类1的请求可以被分派到级别0仲裁环204或者级别1仲裁环206。可以对分类1的请求使用QoS和/或加权以确定那些请求应当被分派到级别0仲裁环204还是级别1仲裁环206。QoS可以基于与请求相 关联的因素,比如优先级和延迟需求。状态可以对于来自实体106的不同请求而有所不同。例如,当在实体106处的条件改变时,优先级或者延迟需求可以改变,从而影响加权。例如,当缓冲器填满时,请求的优先级或延迟需求改变,比如优先级可以上升。
在一个实施例中,级别0仲裁环204接收针对一个时钟周期仲裁的请求。例如,级别0仲裁环204接收八个请求输入。级别0仲裁环204支持能够在一个时钟周期中被执行的多种仲裁算法。在一个实施例中,接收请求和加权,并且级别0仲裁环204基于加权确定哪个请求应当被准许访问存储器104。加权可以基于对实体106的哪些请求之前已经被准许(即,最近来自实体106的还未被处理的请求可以具有较高权重)。
级别1仲裁环206接收请求并且使用可变长度仲裁时间,比如从一个到两个时钟周期。仲裁时间可以取决于当前状态和所使用的仲裁算法。在一个实施例中,级别1仲裁环206接收62个请求输入和加权。加权可以是关于哪些请求先前被准予访问存储器104的信息。级别1仲裁环206基于加权,在两个仲裁(或多个仲裁)中确定准许哪个请求访问存储器104。
准许仲裁器208基于准许选择信号gnt_sel决定最终准许输出。换言之,如果八个Arb组(Arb组00到Arb组07)中仅有一个Arb组具有活跃的请求,则选择gnt_cyc1作为gnt_lvl1输出,否则选择gnt_cyc2作为gnt_lvl1输出。
图3描绘了根据一个实施例的请求控制块202的更加详细的示例。请求控制块202包括n个请求映射器(req_mapper)302。
请求映射器302确定请求是否是分类0的请求。如果是,则请求被分派到级别0仲裁环204(req_out_lvl0[i])。此外,还发送加权W_lvl0[i]。如果请求映射器302确定请求是分类2的请求,则请求映射器302将请求分派到级别1仲裁环206req_out_lvl1[i]。如果请求是分类1的请求,则请求映射器302回顾与该请求相关的因素,比如服务质量(QOS_in)和加权(weight[i]),以决定选择哪个级 别。QoS可以基于与请求相关联的优先级。加权可以基于不同的因素,比如先前哪些请求被准许访问。如果信号QOS_in为高,则请求被分派到级别0仲裁环204。否则,如果加权高于阈值,则请求被分派到级别0仲裁环204,否则请求被分派到级别1仲裁环206。加权可以基于先前被准许的请求。请求映射器302然后基于当前状态和准许信号(gnt)来更新和/或清除加权(W_lvl0[i]和W_lvl1[i])并且输出信号(req_out_lvl0和req_out_lvl1)。
控制信号(ctrl[i])来自系统寄存器。它包括用于请求的控制信息,比如请求使能、请求的初始权重等等。
请求映射器302的时序是常量,其不影响计算时间的总复杂度。
图4描绘了根据一个实施例的级别1仲裁环206的更加详细的示例。提供了树形结构,其中级别1仲裁环206是两层结构。也可以领会到其他结构。级别0仲裁环204(未示出)可以是单个的仲裁组404。
移位器(shifter)402确定被字节对准(byte-aligned)的仲裁起始点。例如,移位器402可以在0-7比特之间移位。移位可以使仲裁在不同仲裁组404处开始。
每个仲裁组404(arb_group0*)可以接收一组请求(例如,八个请求(req_sft[7:0]))和加权输入(W)。每个仲裁组404在八个请求之间进行仲裁并且选择一个请求以输出。
在级别1仲裁中,选择仲裁组404中的一个仲裁组以在级别0的请求之间进行仲裁。在这种情况下,其他仲裁组可能没有要仲裁的请求。在一个示例中,仲裁组404-0可以接收八个级别0的请求并在它们之间进行仲裁。选中一个请求并且通过逻辑406输出。这一请求被转发到准许仲裁逻辑208。当在准许仲裁逻辑208处接收选择信号时,输出该请求。这一过程花费一个时钟周期。
在级别1仲裁中,仲裁组404可以使用加权(w)在八个请求之间进行仲裁并输出赢得仲裁的请求。每个仲裁组404可以将获胜的请求和加权输出到第二级别仲裁组(arb_group10)408。第二级别仲 裁组408用接收的输入执行第二仲裁。例如,第二级别仲裁组408接收八个请求输入和八个对应的加权输入,并确定要输出到准许仲裁逻辑208的获胜请求。当在准许仲裁逻辑208接收选择信号时,输出来自仲裁组408的获胜请求。在这种情况下级别1仲裁花费两个时钟周期。
图5描绘了根据一个实施例的用于执行可变长度仲裁的方法的简化流程图500。在502处,确定对存储器104的请求的不同分类。存储器104由实体106共享。
在504处,仲裁器102从实体106接收对存储器104的请求。在506处,仲裁器102为接收的请求确定分类。例如,请求可能落入三个分类中。
在506处,仲裁器102确定接收的请求是在分类0、分类1还是分类2中。如果请求在分类0中,则仲裁器102将接收的请求分派到第一仲裁方案,该第一仲裁方案被配置为在第一时间周期中确定仲裁裁决。例如,仲裁器102将请求分派到级别0仲裁环204。如果请求在分类2中,则仲裁器102将请求分派给第二仲裁方案,该第二仲裁方案被配置为在第二时间周期中确定仲裁裁决,该第二时间周期具有与第一时间周期不同的长度。例如,仲裁器102将请求分派到级别1仲裁环206。
如果请求在分类1中,则仲裁器102基于与请求相关联的因素确定请求应当被分类到分类0还是分类1中。例如,仲裁器102分析请求的QoS或加权以确定将请求分类到哪个分类中。仲裁器102然后将请求分类到分类0或分类2中。
相应地,提供了一种可变长度仲裁。取决于请求的分类可以提供不同的仲裁长度。这允许基于请求的优先级来改变仲裁长度。
如此处说明书中所使用的和整个权利要求所遵照的,“一个”、“一种”和“该”除非上下文中另外明确指明否则包括复数引用。另外,如此处说明书中所使用的和整个权利要求所遵照的,除非上下文中另外明确指明否则“......中的”的含义包括“......中的”和“......上 的”。
以上说明举例说明了本发明的各种不同的实施例以及可以如何实现本发明的各方面的示例。以上示例和实施例不应被认为仅是实施例,而是被呈现来举例说明如由下面的权利要求所限定的本发明的灵活性和优点。基于以上公开和下面的权利要求,可以采用其他的布置、实施例、实现方式和等同物而不脱离如由权利要求所限定的本发明的范围。

Claims (20)

1.一种用于可变长度仲裁的方法,包括:
确定对由多个实体共享的共享资源的请求的多个分类;
从所述多个实体接收对所述资源的请求;
确定所述多个分类中针对每个所述请求的分类;
从所述请求中提供请求的第一集合和请求的第二集合,其中所述请求的第一集合被确定为在第一分类中,并且所述请求的第二集合被确定为在第二分类中;
将所述请求的第一集合分派到第一仲裁方案,其中所述第一仲裁方案执行第一仲裁算法,所述第一仲裁算法被配置为使用第一数量的时钟周期以确定第一仲裁裁决,其中所述第一仲裁裁决从所述请求的第一集合中识别将被准许的第一请求;以及
将所述请求的第二集合分派到第二仲裁方案,其中所述第二仲裁方案执行第二仲裁算法,所述第二仲裁算法被配置为使用第二数量的时钟周期以确定第二仲裁裁决,其中所述第一数量的时钟周期与所述第二数量的时钟周期不同,并且其中所述第二仲裁裁决从所述请求的第二集合中识别将被准许的第二请求。
2.根据权利要求1所述的方法,其中所述第一数量的时钟周期是固定的并且所述第二数量的时钟周期是可变的。
3.根据权利要求1所述的方法,其中:
所述第一数量的时钟周期是可变的并且所述第二数量的时钟周期是可变的,以及
所述第一数量的时钟周期小于所述第二数量的时钟周期。
4.根据权利要求1所述的方法,其中所述第一数量的时钟周期小于所述第二数量的时钟周期。
5.根据权利要求1所述的方法,其中所述第一仲裁方案包括:
在所述请求的第一集合之间进行仲裁以确定所述第一请求,其中所述第一请求在所述第一数量的时钟周期中被确定。
6.根据权利要求5所述的方法,其中进行仲裁包括:
在至少一个仲裁器处接收所述请求的第一集合;
在所述至少一个仲裁器处确定子获胜者;以及
提供所述子获胜者作为所述第一请求。
7.根据权利要求1所述的方法,其中所述第二仲裁方案包括:
在所述请求的第二集合之间进行仲裁以在所述第二数量的时钟周期中的第一时钟周期中确定多个子获胜者请求;以及
在所述多个子获胜者请求之间进行仲裁以确定所述第二请求,其中所述第二请求在所述第二数量的时钟周期中的第二时钟周期中被确定。
8.根据权利要求7所述的方法,其中:
在所述请求的第二集合之间进行仲裁包括:
在第一级别仲裁器处接收所述请求的第二集合的多个部分;
在所述请求的第二集合的所述部分之间进行仲裁以在每个所述第一级别仲裁器处确定子获胜者;以及
在所述多个子获胜者请求之间进行仲裁包括:
在第二级别仲裁器处从每个所述第一级别仲裁器接收所述子获胜者请求;以及
在接收的所述子获胜者请求之间进行仲裁以在所述第二级别仲裁器处从确定的所述子获胜者中确定所述第二请求。
9.根据权利要求1所述的方法,进一步包括:
从所述请求中提供请求的第三集合,其中所述请求的第三集合被确定为在第三分类中;以及
评估与所述请求的第三集合中的第三请求相关联的因素以确定所述第三请求应当被分派到所述第一仲裁方案还是所述第二仲裁方案。
10.根据权利要求9所述的方法,其中评估所述因素包括使用与所述第三请求相关联的加权或状态来确定将所述第三请求分派到所述第一仲裁方案还是所述第二仲裁方案。
11.根据权利要求10所述的方法,其中所述加权包括与先前被准许的请求相关的信息,并且所述状态与和所述第三请求相关联的优先级或者延迟相关联。
12.一种用于可变长度仲裁的装置,包括:
被配置为从多个实体接收对共享资源的请求的逻辑;
被配置为确定多个分类中针对每个所述请求的分类的逻辑,其中所述多个分类用于由所述多个实体共享的所述共享资源;
被配置为从所述请求中提供请求的第一集合和请求的第二集合的逻辑,其中所述请求的第一集合被确定为在第一分类中,并且所述请求的第二集合被确定为在第二分类中;
被配置为将所述请求的第一集合分派到第一仲裁方案的逻辑,其中所述第一仲裁方案执行第一仲裁算法,所述第一仲裁算法被配置为使用第一数量的时钟周期以确定第一仲裁裁决,以及其中所述第一仲裁裁决从所述请求的第一集合中识别将被准许的第一请求;以及
被配置为将所述请求的第二集合分派到第二仲裁方案的逻辑,其中所述第二仲裁方案被配置为使用第二数量的时钟周期以确定第二仲裁裁决,其中所述第一数量的时钟周期与所述第二数量的时钟周期不同,并且其中所述第二仲裁裁决从所述请求的第二集合中识别将被准许的第二请求。
13.根据权利要求12所述的装置,其中所述第一数量的时钟周期是固定的并且所述第二数量的时钟周期是可变的。
14.根据权利要求12所述的装置,其中:
所述第一数量的时钟周期是可变的并且所述第二数量的时钟周期是可变的,以及
所述第一数量的时钟周期小于所述第二数量的时钟周期。
15.根据权利要求13所述的装置,其中所述第一数量的时钟周期小于所述第二数量的时钟周期。
16.根据权利要求12所述的装置,其中所述第一仲裁方案包括:
被配置为在所述请求的第一集合之间进行仲裁以确定所述第一请求的逻辑,其中所述第一请求在所述第一数量的时钟周期中被确定。
17.根据权利要求16所述的装置,其中被配置为进行仲裁的逻辑包括:
被配置为在至少一个仲裁器处接收所述请求的第一集合的逻辑;
被配置为在所述至少一个仲裁器处确定子获胜者的逻辑;以及
被配置为提供所述子获胜者作为所述第一请求的逻辑。
18.根据权利要求12所述的装置,其中所述第二仲裁方案包括:
被配置为在所述请求的第二集合之间进行仲裁以在所述第二数量的时钟周期中的第一时钟周期中确定多个子获胜者请求的逻辑;以及
被配置为在所述多个子获胜者请求之间进行仲裁以确定所述第二请求的逻辑,其中所述第二请求在所述第二数量的时钟周期中的第二时钟周期中被确定。
19.根据权利要求18所述的装置,进一步包括第一级别仲裁器,其中:
被配置为在所述请求的第二集合之间进行仲裁的逻辑包括:
被配置为在所述第一级别仲裁器处接收所述请求的第二集合的多个部分的逻辑;
被配置为在所述请求的第二集合的所述部分之间进行仲裁以在每个所述第一级别仲裁器处确定子获胜者的逻辑;以及
被配置为在所述多个子获胜者请求之间进行仲裁的逻辑包括:
被配置为在第二级别仲裁器处从每个所述第一级别仲裁器接收所述子获胜者请求的逻辑;以及
被配置为在接收的所述子获胜者请求之间进行仲裁以在所述第二级别仲裁器处从确定的所述子获胜者中确定所述第二请求的逻辑。
20.一种用于可变长度仲裁的系统,包括根据权利要求12所述的装置,进一步包括:
所述共享资源;以及
共享对所述共享资源的访问的多个实体。
CN201280019395.9A 2011-04-20 2012-04-18 用于可变长度仲裁的方法、装置和系统 Expired - Fee Related CN103620568B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161477445P 2011-04-20 2011-04-20
US61/477,445 2011-04-20
PCT/US2012/034106 WO2012145416A1 (en) 2011-04-20 2012-04-18 Variable length arbitration

Publications (2)

Publication Number Publication Date
CN103620568A CN103620568A (zh) 2014-03-05
CN103620568B true CN103620568B (zh) 2016-10-05

Family

ID=47022148

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280019395.9A Expired - Fee Related CN103620568B (zh) 2011-04-20 2012-04-18 用于可变长度仲裁的方法、装置和系统

Country Status (7)

Country Link
US (1) US9507742B2 (zh)
EP (1) EP2700014B1 (zh)
JP (1) JP6041324B2 (zh)
KR (1) KR101960870B1 (zh)
CN (1) CN103620568B (zh)
TW (1) TWI559228B (zh)
WO (1) WO2012145416A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10268604B2 (en) 2015-07-09 2019-04-23 Oracle International Corporation Adaptive resource management in a pipelined arbiter
US11455097B2 (en) 2016-01-28 2022-09-27 Weka.IO Ltd. Resource monitoring in a distributed storage system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5339443A (en) * 1991-11-19 1994-08-16 Sun Microsystems, Inc. Arbitrating multiprocessor accesses to shared resources
CN1403913A (zh) * 2002-10-18 2003-03-19 威盛电子股份有限公司 具有并行仲裁机制的多重允许控制器及其方法
CN1913477A (zh) * 2005-08-10 2007-02-14 三星电子株式会社 仲裁对共享资源的访问的系统、方法和计算机程序产品
CN101510181A (zh) * 2009-03-19 2009-08-19 北京中星微电子有限公司 一种总线仲裁方法和总线仲裁装置

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09269927A (ja) 1996-03-29 1997-10-14 Mitsubishi Electric Corp バスアクセス方法、バス、並びにバス接続システム
US5815023A (en) * 1997-03-20 1998-09-29 Sun Microsystems, Inc. Unbalanced multiplexer and arbiter combination
JP2000187639A (ja) 1998-12-22 2000-07-04 Nec Eng Ltd バス調停装置
JP4573940B2 (ja) 1999-03-19 2010-11-04 パナソニック株式会社 クロスバススイッチ装置
EP1164493B1 (en) * 2000-06-16 2005-11-30 STMicroelectronics S.r.l. Variable priority arbitration method, for instance for interconnect buses, and respective system
JP2003030134A (ja) * 2001-07-12 2003-01-31 Matsushita Electric Ind Co Ltd バスアービタ及びバスアービトレーション方法
US7352741B2 (en) * 2002-02-21 2008-04-01 Sun Microsystems, Inc. Method and apparatus for speculative arbitration
US7051135B2 (en) * 2002-11-22 2006-05-23 Ess Technology, Inc. Hierarchical bus arbitration
US7120714B2 (en) * 2003-05-27 2006-10-10 Intel Corporation High-speed starvation-free arbiter system, rotating-priority arbiter, and two stage arbitration method
US7062615B2 (en) * 2003-08-29 2006-06-13 Emulex Design & Manufacturing Corporation Multi-channel memory access arbitration method and system
US7013357B2 (en) * 2003-09-12 2006-03-14 Freescale Semiconductor, Inc. Arbiter having programmable arbitration points for undefined length burst accesses and method
FR2860896A1 (fr) * 2003-10-14 2005-04-15 St Microelectronics Sa Procede d'arbitrage de l'acces a une ressource partagee
JP4222251B2 (ja) 2004-04-27 2009-02-12 ソニー株式会社 バス調停装置およびバス調停方法
JP2005316609A (ja) * 2004-04-27 2005-11-10 Sony Corp バス調停装置およびバス調停方法
US7761529B2 (en) 2004-06-30 2010-07-20 Intel Corporation Method, system, and program for managing memory requests by devices
JP2006127423A (ja) * 2004-11-01 2006-05-18 Matsushita Electric Ind Co Ltd バス制御装置、調停装置、並びに、その方法及びプログラム
US7380038B2 (en) * 2005-02-04 2008-05-27 Microsoft Corporation Priority registers for biasing access to shared resources
US7302510B2 (en) * 2005-09-29 2007-11-27 International Business Machines Corporation Fair hierarchical arbiter
US20070174529A1 (en) * 2005-12-29 2007-07-26 Intel Corporation Queue manager having a multi-level arbitrator
US20090037635A1 (en) * 2006-03-17 2009-02-05 Shanghai Magima Digital Information Co., Ltd. Bus arbitration device
US7930456B1 (en) * 2006-12-23 2011-04-19 Emc Corporation Data packet arbitration system
US8024731B1 (en) * 2007-04-25 2011-09-20 Apple Inc. Assigning priorities to threads of execution
US7984202B2 (en) 2007-06-01 2011-07-19 Qualcomm Incorporated Device directed memory barriers
US7680971B2 (en) * 2007-06-26 2010-03-16 International Business Machines Corporation Method and apparatus for granting processors access to a resource
JP5241384B2 (ja) * 2008-08-29 2013-07-17 ルネサスエレクトロニクス株式会社 分散共有メモリ型マルチプロセッサ及びデータ処理方法
JP5382003B2 (ja) * 2009-02-02 2014-01-08 富士通株式会社 調停装置
JP2010282405A (ja) * 2009-06-04 2010-12-16 Renesas Electronics Corp データ処理システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5339443A (en) * 1991-11-19 1994-08-16 Sun Microsystems, Inc. Arbitrating multiprocessor accesses to shared resources
CN1403913A (zh) * 2002-10-18 2003-03-19 威盛电子股份有限公司 具有并行仲裁机制的多重允许控制器及其方法
CN1913477A (zh) * 2005-08-10 2007-02-14 三星电子株式会社 仲裁对共享资源的访问的系统、方法和计算机程序产品
CN101510181A (zh) * 2009-03-19 2009-08-19 北京中星微电子有限公司 一种总线仲裁方法和总线仲裁装置

Also Published As

Publication number Publication date
KR20140037841A (ko) 2014-03-27
JP6041324B2 (ja) 2016-12-07
EP2700014A1 (en) 2014-02-26
US9507742B2 (en) 2016-11-29
CN103620568A (zh) 2014-03-05
TWI559228B (zh) 2016-11-21
WO2012145416A1 (en) 2012-10-26
KR101960870B1 (ko) 2019-03-21
EP2700014B1 (en) 2018-06-20
US20120271976A1 (en) 2012-10-25
EP2700014A4 (en) 2014-10-01
TW201250598A (en) 2012-12-16
JP2014514662A (ja) 2014-06-19

Similar Documents

Publication Publication Date Title
Ausavarungnirun et al. Staged memory scheduling: Achieving high performance and scalability in heterogeneous systems
US8209493B2 (en) Systems and methods for scheduling memory requests during memory throttling
EP3311288B1 (en) Shared memory controller and method of using same
US8549199B2 (en) Data processing apparatus and a method for setting priority levels for transactions
US8539129B2 (en) Bus arbitration techniques to reduce access latency
EP2580669B1 (en) Multithread application-aware memory scheduling scheme for multi-core processors
CN105389211B (zh) 适用于numa架构的内存分配方法及延时感知-内存分配装置
CN110297782A (zh) 仲裁系统和方法
US20060095634A1 (en) Method and apparatus for round robin resource arbitration with a fast request to grant response
US8706940B2 (en) High fairness variable priority arbitration method
US10268604B2 (en) Adaptive resource management in a pipelined arbiter
CN103620568B (zh) 用于可变长度仲裁的方法、装置和系统
CN104346303A (zh) 一种总线仲裁方法及装置
US7606957B2 (en) Bus system including a bus arbiter for arbitrating access requests
CN116126528A (zh) 资源分配方法、缓存状态控制方法及相关设备
KR100606701B1 (ko) 계층적 구조의 중재 시스템 및 이를 이용한 중재 방법
CN109101443A (zh) 一种权重分时的仲裁装置及方法
Doifode et al. Design and performance analysis of efficient bus arbitration schemes for on-chip shared bus multi-processor soc
CN116795547A (zh) 资源分配方法、装置及计算机可读存储介质
KR100651857B1 (ko) 우선 순위 구조의 중재 시스템 및 이를 이용한 중재 방법
JP2012108617A (ja) 情報処理装置
TW202219762A (zh) 用於仲裁對共享資源的存取的系統及方法
KR20000061088A (ko) 우선 순위 구조의 중재 시스템 및 이를 이용한 중재 방법

Legal Events

Date Code Title Description
PB01 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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161005

Termination date: 20190418