CN102282546B - 资源控制 - Google Patents

资源控制 Download PDF

Info

Publication number
CN102282546B
CN102282546B CN200980153669.1A CN200980153669A CN102282546B CN 102282546 B CN102282546 B CN 102282546B CN 200980153669 A CN200980153669 A CN 200980153669A CN 102282546 B CN102282546 B CN 102282546B
Authority
CN
China
Prior art keywords
request
equations
value
kind request
priority
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.)
Active
Application number
CN200980153669.1A
Other languages
English (en)
Other versions
CN102282546A (zh
Inventor
托马斯·亨里克松
伊丽莎白·弗朗西斯卡·玛丽亚·斯特芬斯
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.)
Synopsys Inc
Original Assignee
Synopsys Inc
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 Synopsys Inc filed Critical Synopsys Inc
Publication of CN102282546A publication Critical patent/CN102282546A/zh
Application granted granted Critical
Publication of CN102282546B publication Critical patent/CN102282546B/zh
Active 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1615Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using a concurrent pipeline structrure

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Bus Control (AREA)

Abstract

本申请涉及一种资源控制方法,包括:控制具有第一优先级的第一类请求的处理。所述方法包括控制具有第二优先级的第二类请求的处理,其中第一优先级被设置为使得处理第一类请求优先于处理第二类请求。所述方法包括通过检测何时满足关于提供给第二类请求的服务的预定条件的机构来阻塞第一类请求。

Description

资源控制
技术领域
本申请涉及用于资源控制的方法。更具体地,本申请涉及用于以下资源控制的方法,所述资源控制包括控制对具有第一优先级的第一类请求的处理和控制对具有第二优先级的第二类请求的处理,其中第一优先级被设置为使得处理第一类请求的优先级高于处理第二类请求的优先级。本申请还涉及资源控制器、包括所述资源控制器的片上系统、包括所述片上系统的消费性电子装置、以及包括可操作来使处理器执行所述方法的指令的计算机程序。
背景技术
现在,诸如电视机、PC、移动电话等之类的消费性电子装置都包括片上系统(SoC)多处理器。SoC的优势在于其高性能、大灵活性以及低成本。此外,通过采用SoC可以减小可编程硬件对总的硅面积的影响以及消费性电子装置中的功耗。
SoC的基本问题是SoC上的处理单元与一个或多个外部资源(例如,外部存储器或类似单元)之间的通信。更具体地,资源必须在SoC上实施的几个处理单元或代理之间共享。一般关注的是资源利用率必须高。从而,使用资源的开销可能取决于请求的顺序。
一种方法是将处理单元发送的请求分成至少两类,并且为这些类中的一类分配最高优先级。例如,可以将请求分为一方面是低延迟传输请求以及另一方面是恒定带宽传输请求。通常,低延迟传输请求包括较高的优先级。为了防止较低优先级的传输请求饥饿,低延迟请求必须受限。根据现有技术,根据低延迟请求自身的带宽使用来限制低延迟请求的处理。
发明内容
本申请的一个目的是提供一种改进资源控制的方法。另一个目的是防止多个低延迟请求的不必要长的平均延迟。再一个目的是使得能够容易地确定准确的传输预算。另一个目的是为恒定带宽请求确保足够的带宽。另一个目的是提供一种特别适合于控制SoC与快速存储器装置之间的数据传输的方法。
这些和其他目的通过一种包括控制具有第一优先级的第一类请求的处理的资源控制方法来解决。所述方法包括控制具有第二优先级的第二类请求的处理,其中第一优先级被设置为使得处理第一类请求优先于处理第二类请求。所述方法包括通过检测何时满足关于提供给第二类请求的服务的预定条件的机构来阻塞第一类请求。
本方法通常可以用于控制至少一个处理单元或代理与资源(例如,存储器)之间的数据传输。特别地,本方法可以用于控制布置在片上系统上的多个处理单元或代理与一个或多个外部资源(诸如存储器,特别是快速外部存储器)之间的数据传输。
由至少一个处理单元发送的请求或数据传输请求被划分成至少两个不同的类。通常,可以考虑不同的系统参数或使用者的期望来确定所述至少两个类。例如,可以根据所要求的带宽、最大可允许的延迟、数据大小、产生请求的处理单元等来将请求划分成至少两个类别或类型。该划分应该被执行为使得能够确保资源控制(例如,存储器控制)的高性能。
特别地,该划分可以被执行为使得这些类请求中的一类请求更重要或者应该比其他类请求优先处理。该类可以比其他类具有较高的优先级(第一优先级)。换句话说,正常处理具有较高优先级的第一类请求。
根据本申请,如果在满足关于提供给第二类请求的服务的预定条件时处理等待的第二类请求,可以以充足的方式确保对第二类请求的处理,而第一类请求等待。与预期相反,可以在满足所述预定条件时通过阻塞高优先级请求来保护处理第二类请求所需要的带宽。例如,可以在检测到满足预定条件后的有限时间内处理第二类请求。应该理解的是,也可以在检测到所述预定条件满足后立即处理第二类请求。
本申请为改进的资源控制(诸如,存储器控制)而提供。防止了高优先级请求的不必要的高平均延迟,并且同时为具有低优先级的请求确保了足够的带宽。
根据本申请的另一个实施例,当关于提供给第二类请求的服务的预定条件满足时,阻塞第一类请求以允许至少一个第二类请求被处理。
另外,根据另一个实施例,所述预定条件可以是带宽和延迟服务保证即将被违反。
处理第二类请求而第一类请求等待可以通过明确地阻塞来自第一类的请求来实现。例如,可以通过计数机构来控制第一类请求的阻塞。
此外,根据另一个实施例,可以通过双向计数器达到预定阈值来检测带宽和延迟服务保证的即将违反,其中双向计数器记录第二类请求接收到的服务。双向计数器可以实现在计算(accounting)机构内。双向计数器可以算出第二类请求服务周期的总数,并且递减计数非第二类请求的服务周期,或者反之。例如,在净值计算的情况下,传输周期是传输周期,而在总值计算的情况下,传输周期是传输或准备周期。
根据另一个实施例,可以在总值周期或净值周期的至少一方面限定对第二类请求的服务。
例如,服务周期可以仅包括数据在接口上传输的周期。这被称为净值计算。另一种选择是,服务周期包括数据传输周期以及准备周期。这被称为总值计算。例如,为了满足预定条件所必须经过的周期是净值周期或数据传输周期。
根据本申请的另一个实施例,第一类请求是低延迟传输的请求。低延迟传输可能需要平均低延迟。但是,其可能不需要关于延迟或带宽的任何保证。可能有利的是,为这种传输请求分配最高的优先级。
此外,根据另一个实施例,第二类请求是恒定带宽传输的请求。恒定带宽传输可能需要保证最小带宽和保证最大延迟。
在另一个实施例中,可以设置预定阈值,可以设置双向计数器的初始值,以及可以设置双向计数器的递增值和递减值。
另外,如果实施了计算机构,则检测何时满足预定条件可以以容易的方式实现,例如通过双向计数器达到预定阈值。
在另一个实施例中,如果没有第二类请求被处理,可以通过第一预定改变值来改变计算值。换句话说,计算值与导致第二类请求的直接保护的第二类请求(诸如恒定带宽请求)相关。第一预定改变值可以表示特定数量的周期。在至少一个第二类请求等待而没有被处理的情况下,可以通过第一预定改变值来改变计算值。可能有利的是,周期性地改变计算值,例如每个时钟周期改变一次计算值。换句话说,为了确保精确的计算机构和准确检测的可能性,可以每个时钟周期更新一次计算值。更新计算值包括如果没有第二类请求等待时将计算值重置为初始值。
根据本申请的另一个实施例,第一预定改变值可以是递增值或递减值。换句话说,计算值可以递增和/或递减。
在另一个实施例中,如果没有第二类请求被处理,可以通过第一预定改变值来改变计算值。换句话说,计算值与导致第二类请求的直接保护的第二类请求(诸如恒定带宽请求)相关。在至少一个第二类请求等待而没有被处理的情况下,可以通过第一预定改变值来改变计算值。可能有利的是,周期性地改变计算值,例如每个时钟周期改变一次计算值。换句话说,为了确保精确的计算机构和准确检测的可能性,每个时钟周期更新一次计算值。更新计算值包括如果没有第二类请求等待时将计算值重置为初始值。
根据本申请的另一个实施例,如果第二类请求被处理,可以通过第二预定改变值来改变计算值。第二预定改变值也可以是递增值或递减值。可能有利的是,如果第二预定值为相反的值,即,如果第一改变值为递增值,则第二改变值为递减值,或者反之。
此外,计算机构可以通过定义阈值来容易地实现。该阈值可以是第二类请求等待处理到期的界限。换句话说,满足了预定条件。更具体地,根据另一个实施例,可以设置预定阈值,其在计算值被一个改变值改变以使得达到预定阈值时被检测到。然后,可以阻塞第一类请求。例如,当计算值达到预定阈值时,通过阻塞第一类请求来促进第二类请求。应该理解的是,检测到阈值达到之后,在阻塞第一类请求之前可能会经过几个周期,以允许首先处理第一类请求的剩余数据。可以根据初始计算值来选择阈值。通过示例的方式,初始计算值可以被设置为小于使第一改变值为递增值的阈值。否则,第一改变值为递减值。通过使用根据本申请的方法,由于将传输周期用作相关索引而提供了精确的计算,从而可以防止低延迟请求的不必要的长平均延迟,以及可以确保恒定带宽请求的足够带宽。
此外,在另一个实施例中,如果没有第一类请求等待,则可以处理至少一个第二类请求。如果除了第二类请求之外没有其他请求等待,则这些请求可以在预定条件不满足时被处理。从而可以最佳地使用可用带宽和处理时间。
还可以定义多于两类的请求。根据另一个实施例,可以控制具有第三优先级的第三类请求的处理。第三优先级可以更高、更低、或者为前述优先级之间的值。例如,第三类请求可以是内部命令,例如刷新命令。这些请求可以类似于上述请求被处理。
本申请的另一方面是一种资源控制器,其包括第一缓冲器,配置来存储包括第一优先级的第一预定类请求。所述资源控制器包括至少一个第二缓冲器,配置来存储包括第二优先级的第二预定类请求,其中第一优先级被设置为使得第一类请求的处理具有优先权。所述资源控制器包括配置来在满足预定条件时阻塞第一类请求的机构。
所述资源控制器包括配置来在关于第二类请求的预定条件满足时在缓冲器的入口处阻塞第一类请求的机构。
例如,所述资源控制器可以是存储器控制器或者用于管理多个客户端与至少一个共享资源之间的数据传输的任何其他种类的控制器。
根据本申请的另一个实施例,至少一个缓冲器可以作为FIFO缓冲器来形成。低延迟传输请求(trafficrequest)和/或恒定带宽传输请求可以在单独的队列中处理。应该理解的是,根据本申请的其他改变,所有实施的缓冲器都可以作为FIFO缓冲器来形成。
缓冲器单元可以通过不同的接口连接到处理单元。更具体地,不同类的请求可以到达不同的接口。在只提供了一个接口的情况下,资源控制器可以包括检测器。为了检测所接收到得请求的类别以及为了将请求置入各缓冲器中,可以布置检测器来检测所接收到的请求的类别。可以简单地分类通过一个或多个处理单元或代理发送的不同请求。
此外,根据本申请的另一个实施例的资源控制器可以包括连接到诸如外部存储器之类的至少一个共享资源的至少一个输出端。该输出端或存储器接口可以提供恒定或可变的带宽。应该理解的是,也可以提供两个或更多个端口以及两个或更多个诸如外部存储器之类的共享资源。
根据另一个实施例,所述机构可以包括配置来阻塞第一类请求的至少一个阻塞开关。阻塞开关可以是闭合的(即,第一类请求可以被处理),或者其可以是断开的(即,第一类请求被阻塞而第二类请求可以被处理)。
另外,根据另一个实施例,资源控制器还可以包括比较器,配置来通过计算机构检测是否达到预定阈值。该比较器可以与双向计数器相邻定位或者可以位于阻塞开关中。
在另一个实施例中,资源控制器可以包括观察单元,其检测是否向第二类请求提供了服务。
此外,根据另一个实施例,观察单元可以被配置为以下至少一种:将传输和准备周期看作第二类请求的服务;或者仅将传输周期看作第二类请求的服务。
本申请的另一方面是片上系统,其包括至少一个上述资源控制器和至少一个处理单元。应该理解的是,所述片上系统可以包括一个或多个处理单元,诸如数字信号处理器、中央处理单元、加速器、知识产权核等。
此外,所述片上系统可以包括或可以连接到至少一个共享资源,例如经过资源控制器(例如,存储器控制器)的外部存储器。应该理解的是,根据本申请的进一步改变,所述片上系统可以包括其他部件,例如存储器访问网络、控制网络等。
本申请的另一方面是包括上述片上系统的消费性电子装置。例如,所述消费性电子装置可以是电视机装置、PC、移动电话等。
本申请的另一方面是包括上述片上系统和片外存储器的封装件。
本申请的另一方面是其上存储有计算机程序的计算机可读介质。该计算机可读介质包括可操作来使处理器执行上述方法的指令。
本专利申请的这些和其他方面通过参考以下附图说明而变得显而易见。应该理解的是,以上所呈现的本申请的特征及其示例实施例可以以任意形式相互组合。
附图说明
附图中:
图1示出了根据本申请的片上系统的实施例。
图2示出了根据本申请的资源控制器的实施例。
图3示出了根据本申请的资源控制方法的实施例的第一流程图。
图4示出了根据本申请的资源控制方法的实施例的第二流程图。
图5示出了根据本申请的资源控制方法的实施例的第三流程图。
附图中相同的参考标号表示相同的元件。
具体实施方式
以下对本申请的详细描述中,本申请的示例实施例将描述和指出特别适合于使用快速外部资源(诸如快速外部存储器)的增强型资源控制器和资源控制方法,其防止第一类请求的不必要的长平均延迟,同时确保第二类请求的足够带宽。
在以下的详细描述中,为了更好地证明,通过仅考虑数据传输周期的存储器控制器来说明本申请。应该理解的是,本申请可以包括任意资源控制器,以及也可以考虑总的周期。还应该理解的是,可以考虑总的周期而不仅仅考虑数据传输周期。
图1示意性示出了根据本申请的片上系统(SoC)的实施例。如从图1可以看出,所示SoC2连接到外部存储器16。通过示例的方式,可以采用SDRAM作为外部存储器芯片16。特别地,可以使用快速存储器装置,诸如DDR2-1066或DDR3-1600。
本实施例的SoC2可以使用适当的存储器控制器4通过适当的输出端17与外部存储器装置16通信。例如,输出端17可以是提供高带宽的接口装置。除了存储器控制器4之外,SoC2包括多个处理单元8、10.1、10.2和14。在本实施例中,SoC2包括第一和第二数字信号处理器(DSP)10.1和10.2、中央处理单元(CPU)8和多个加速器14,例如知识产权(IP)核等。
所有这些处理单元8、10.1、10.2和14均与控制网络6通信。此外,加速器14连接到存储器访问网络12,存储器访问网络12又连接到存储器控制器4。另外,CPU8以及DSP10.2和10.2与控制网络6和存储器控制器4通信。
此外,处理单元8、10.1、10.2通过端子24.1连接到存储器控制器4,而存储器访问网络12通过端子24.2连接到存储器控制器4。
应该理解的是,根据其他变型,SoC2还可以包括更少的以及其他的部件,还可以提供两个或多个外部存储器。
存储器控制器4被配置为控制至少一个外部存储器16与SoC2的处理单元或代理8、10.1、10.2和14之间的数据传输。更具体地,存储器控制器4可以在来自不同代理的请求之间进行仲裁。
图2中示出了根据本申请的存储器控制器4.1的实施例的更详细的表示。存储器控制器4.1通过端子24.1接收不同处理单元发送的数据传输请求。在仅为存储器控制器4.1提供了一个端子的情况下,可以布置检测器(未示出)。该检测器可以被配置为检测所接收到的请求的类别。
通过示例的方式,可以根据预定参数(诸如带宽要求、延迟要求、数据大小等)将不同请求划分为至少两个不同的类别。在本实施例中,请求被划分为表示低延迟传输请求的第一类和表示恒定带宽传输请求的第二类。不同类别的请求到达不同的端子24.1和24.2。
来自要求低平均延迟的处理单元的请求属于低延迟类别。来自其他处理单元的请求属于恒定带宽类别。恒定带宽传输要求在从恒定带宽传输的空闲周期后的第一个恒定带宽类别的请求到达开始延迟初始延迟之后的保证最小带宽。
例如,可以根据应该满足的平均低延迟来定义低延迟传输。从而,无需保证特定的延迟或带宽。恒定带宽传输要求保证每个请求的保证最小带宽和保证最大延迟。
在所示实施例中,提供了四个端子24.1和24.2,其中端子24.1可以提供为传输第一类请求,而第二类请求可以通过端子24.2传输。此外,布置多路复用器18来管理三个输入端子24.1。与多路复用器18相关的仲裁算法不属于本发明的范围。
可以使用FIFO缓冲器来存储和预处理各类请求。预处理可以包括将端子24.1和24.2上的请求转换为内部存储器控制器请求。预处理还可以包括SDRAM的准备命令的命令产生。缓冲器的内部组织不是本发明的部分。
尽管缓冲器20.2可以包括计算机构26.2,但是缓冲器20.1可以包括阻塞开关26.1。更具体地,被配置为阻塞第一类请求的处理的阻塞开关26.1可以由计算机构26.2控制。以下将进行更详细的说明。
此外,存储器控制器4.1包括多路复用器22,其被配置为选择要处理的请求。更具体地,如果缓冲器20.1中存在请求,多路复用器可以选择来自缓冲器20.1的请求。否则,多路复用器可以选择来自缓冲器20.2的请求。可以依照接口17的定时规范来进行选择。根据接口17的定时规范以及最近服务的请求,存在几个这样的时钟周期,其中尽管存在等待的请求,但是没有请求可以被处理。这些周期被称为准备周期。
此外,存储器控制器4.1可以包括观察单元23,其检测什么类型的请求被处理。通过示例的方式,观察单元23可以观察多路复用器22以及多路复用器选择的请求。在该特定示例中,观察单元向计算机构发送当前周期是否提供给第二类请求的信号。观察单元可以以以下两种模式中的一种操作,以规定如何分配准备周期。在第一种模式(总值模式)中,准备周期分配给第二类别,在第二种模式(净值模式)中,根本不分配准备周期。观察单元也可以动态配置为这两种模式中的一种。根据观察结果,双向计数器26.2可以递增或递减。以下将详细描述存储器控制的方法。
应该理解的是,根据本申请的进一步变型,可以定义多于两个的不同请求类别,例如第三类别表示内部刷新命令。另外,可以提供三个或更多缓冲器。
图3示出了根据本申请的方法的实施例的第一简化流程图。在详细说明图3之前,指出可以在任意时间设置预定值。更具体地,可以将钳位值clip_cb以及阈值boost_cb设置为各预定值,其中钳位值clip_cb是计算值account_cb的最大值,阈值boost_cb表示应该阻塞第一类请求的值,其中在该值或者该值以下应该阻塞第一类请求。该值被定义为使得可以在阻塞第一类请求之后直到可以服务第二类请求为止经过几个时钟周期。如上所述,钳位值clip_cb也可以被设置为最低值,以及阈值boost_cb可以表示应该阻塞第一类请求的值,其中在该值或该值以上应该阻塞第一类请求。此外,恒定带宽计算值account_cb被设置为钳位值clip_cb,其也可以被称为初始计算值。而且,根据本实施例,可以对第一改变值(即,递减值num_cb)和第二改变值(即,递增值inc_cb=den_cb-num_cb)进行编程。
通常,可以根据片上系统的要求、使用者的期望等来定义前述值。下文中,指出了示例的值及其推导。分配给恒定带宽传输的带宽是:
num _ cb den _ cb * gabw - - - ( a )
其中参数gabw表示所采用的存储器接口的总的可用带宽。然后,可以确定所采用存储器的恒定带宽传输比。通过示例的方式,相应比率可以为75%。因此,可能有利的是,设置递减值num_cb为75,值den_cb可以被设置为100,从而导致递增值inc_cb=den_cb-num_cb=25。通常,预定值可以根据资源(例如,外部存储器)的行为来调整。
保证延迟可以是clip_cb/num_cb。为了实现它,升高(boost)应该被设置为使得,在所有情况下,计算值在0处不饱和。
如果适当设置阈值boost_cb,则确保的最大延迟为clip_cb/num_cb个时钟周期。例如,钳位值clip_cb可以被设置为1500。则恒定带宽流的最大延迟为200个时钟周期。
在对指定初始值进行说明之后,返回参考图3。每个时钟周期,可以以如下方式处理计算值。在第一步骤102中,可以检查是否没有恒定带宽请求在等待。在没有恒定带宽请求等待的情况下,计算值可以被重置为钳位值clip_cb,并且在下一个时钟周期中,可以再次从步骤102开始。否则,在步骤104中检查恒定带宽请求是否被服务,即,在净值计算的情况下传输数据,或在总值计算的情况下传输或准备数据。该情况下,计算值可以递增inc_cb。然后,可以在下一时钟周期以步骤102继续。
如果恒定带宽请求没有被服务,并且恒定带宽请求在等待,则计算值递减den_cb。然后,可以在下一时钟周期以步骤102继续。
应该理解的是,步骤102至步骤106的顺序也可以不同。特别地,可以并行地执行所述各步骤。
参考图4,描述了根据本申请的方法的实施例的第二简化流程图。通常,具有较高优先级的请求(诸如低延迟请求)被处理。同时,如根据图3所述,每个时钟周期可以在步骤202中检查计算值是否小于阈值boost_cb。如果检测到计算值小于阈值boost_cb,例如使用适当的比较器,则在步骤204中阻塞开关26.1阻塞到缓冲器20.1的输入。换句话说,阻塞开关26.1断开。更具体地,如果恒定带宽计算值account_cb降低到阈值boost_cb以下,则第二类请求的优先级可以提高。当恒定带宽计算值account_cb小于或等于阈值boost_cb时,计算机构26.2可以阻塞通过激活(断开)阻塞开关26.1请求的对低延迟请求的处理。所有的低延迟传输请求路径都将被阻塞,这在特定延时之后将导致在存在等待的低延迟传输请求路径的情况下恒定带宽传输请求被服务。
然后,在下一个时钟周期,再次检查计算值是否小于阈值boost_cb。如果没有,则开关26.1在步骤206中闭合。否则开关26.1保持断开。因此,阻塞开关断开或闭合,从而导致第一类请求或(在特定延时之后)第二类请求可以被处理。
在图5中,示出了根据本申请的方法的实施例的第三简化流程图。在第一步骤302中,如果缓冲器20.1中存在请求,多路复用器22选择来自缓冲器20.1的请求。否则,多路复用器22在步骤304中选择来自缓冲器20.2的请求。该选择可以依照接口17的定时规范来进行。根据接口17的定时规范以及最近服务的请求,存在几个没有请求可以被服务的时钟周期,尽管存在等待的请求。这些周期被称为准备周期。
应该理解的是,根据本申请的其他实施例,在没有恒定带宽传输被服务的情况下还可以设置上阈值以及递增恒定带宽计算值,并且检查恒定带宽计算值是否等于或大于预定阈值。
可选地,还可以定义另一阈值limit_cb。为了简单起见,图3至图5所示实施例中不考虑该值。如果恒定带宽计算值account_cb大于另一阈值limit_cb,则恒定带宽端口的优先级降低为最低。另一阈值limit_cb必须被指定为使得以下等式成立:
limit_cb≤clip_cb(c)
即,恒定带宽传输的最大大小。另一阈值limit_cb可以保护恒定带宽传输不会过度消耗。如果恒定带宽传输自然有界,则可以不需要另一阈值limit_cb。
根据本申请,可以以容易的方式保护一个恒定带宽流或者几个独立的恒定带宽流。此外,根据本申请,可以使用基于计算的存储器控制器以及新兴的快速存储器装置。对于程序员来说,由于不需要包括潜在的准备周期,因此方便确定恒定带宽速率。由于从恒定带宽传输计算中排除了准备时间,因此恒定带宽速率精确,即不需要速率的安全裕度,这将使得低延迟事务具有较低的平均延迟。
此外,对于本领域技术人员来说清楚的是,示意方框图中的逻辑块以及以上的描述所呈现的流程和算法步骤可以至少部分地实现在电子硬件和/或计算机软件中,其中其取决于逻辑块、流程步骤和算法步骤的功能性以及在硬件或软件中实现逻辑块、流程步骤或算法步骤强加于各装置的设计限制的程度。所呈现的逻辑块、流程步骤和算法步骤例如可以实现在一个或多个数字信号处理器、专用集成电路、现场可编程门阵列或其他可编程装置中。计算机软件可以存储在各种电、磁、电磁、或光存储介质中,并且可以通过处理器(例如,微处理器)读取和执行。为此目的,处理器和存储介质可以耦合来交换信息,或者存储介质可以包括在处理器中。

Claims (10)

1.一种资源控制方法,包括:
使用包含于第一缓冲器中的阻塞开关来控制第一类请求在缓冲器中的存储,第一类请求具有第一优先级,并且阻塞开关被配置为在第一缓冲器的输入端处阻塞第一类请求被接收;
控制具有第二优先级的第二类请求的处理,
当第二类请求在第二缓冲器中等待处理时,使双向计数器的计数值以递减值递减,
当至少一个第二类请求被处理时,使双向计数器的计数值以递增值递增,
当没有第二类请求等待时,将双向计数器的计数值重置为初始值,
其中第一优先级被设置为使得处理第一类请求优先于处理第二类请求,以及
使用检测何时满足关于提供给第二类请求的恒定带宽服务的预定条件的机构来阻塞第一类请求,其中,当双向计数器达到预定阈值时,检测到满足预定条件,其中双向计数器记录提供给第二类请求的服务,并且响应于检测到满足关于提供给第二类请求的恒定带宽服务的预定条件,使阻塞开关在第一缓冲器的输入端处阻塞第一类请求被接收,其中,所述方法还包括:
设置预定阈值,
设置双向计数器的初始值,和
设置双向计数器的递增值和递减值。
2.根据权利要求1所述的方法,其中当满足关于提供给第二类请求的服务的预定条件时,阻塞第一类请求以允许至少一个第二类请求被处理。
3.根据权利要求1所述的方法,其中在以下的至少一方面限定第二类请求的服务:
A)在总值周期方面,
B)在净值周期方面。
4.根据权利要求1所述的方法,还包括控制具有第三优先级的第三类请求的处理。
5.一种资源控制器(4,4.1),其包括:
第一缓冲器(20.1),配置来存储具有第一优先级的第一类请求,其包括被配置为在其输入端处阻塞第一类请求被接收的阻塞开关;
第二缓冲器(20.2),配置来存储具有第二优先级的第二类请求;
其中第一优先级被设置为使得处理第一类请求优先于处理第二类请求,
第二缓冲器包括被配置为当满足预定条件时阻塞第一类请求的机构,该机构被配置为:
在第二类请求没有被处理并且其他的第二类请求在第二缓冲器中等待处理时,使双向计数器的计数值以递减值递减,
在至少一个第二类请求被处理时,使双向计数器的计数值以递增值递增,并且在没有第二类请求等待时将双向计数器的计数值重置为初始值,以及
比较器,配置来检测双向计数器是否达到预定阈值,并且响应于检测到满足关于提供给第二类请求的服务的预定条件,使阻塞开关在第一缓冲器的输入端处阻塞第一类请求被接收,其中,所述控制器适于设置:
双向计数器的预定阈值,
双向计数器的初始值,和
双向计数器的递增值和递减值。
6.根据权利要求5所述的资源控制器,还包括观察单元(23),其检测是否向第二预定类请求提供了服务。
7.根据权利要求6所述的资源控制器,其中观察单元(23)被配置为考虑以下至少一种情况:
A)将传输和准备周期看作第二预定类请求的服务,
B)仅将传输周期看作第二预定类请求的服务。
8.一种片上系统,其包括:
至少一个根据权利要求5所述的资源控制器;以及
至少一个处理单元(8,10.1,10.2,14)。
9.一种封装件,包括:
根据权利要求8所述的片上系统;以及
片外存储器。
10.一种消费性电子装置,包括根据权利要求8所述的片上系统。
CN200980153669.1A 2008-11-10 2009-11-09 资源控制 Active CN102282546B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP08168737 2008-11-10
EP08168737.8 2008-11-10
PCT/IB2009/054961 WO2010052679A1 (en) 2008-11-10 2009-11-09 Resource controlling

Publications (2)

Publication Number Publication Date
CN102282546A CN102282546A (zh) 2011-12-14
CN102282546B true CN102282546B (zh) 2016-04-06

Family

ID=41524051

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980153669.1A Active CN102282546B (zh) 2008-11-10 2009-11-09 资源控制

Country Status (4)

Country Link
US (1) US8838863B2 (zh)
EP (1) EP2232376B1 (zh)
CN (1) CN102282546B (zh)
WO (1) WO2010052679A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2284714A1 (en) 2009-08-14 2011-02-16 Nxp B.V. Memory controller with external refresh mechanism
EP2296091A1 (en) * 2009-09-14 2011-03-16 Nxp B.V. Servicing low-latency requests ahead of best-effort requests
US20110264530A1 (en) 2010-04-23 2011-10-27 Bryan Santangelo Apparatus and methods for dynamic secondary content and data insertion and delivery
US8972551B1 (en) * 2010-04-27 2015-03-03 Amazon Technologies, Inc. Prioritizing service requests
US8490107B2 (en) 2011-08-08 2013-07-16 Arm Limited Processing resource allocation within an integrated circuit supporting transaction requests of different priority levels
CN102520961B (zh) * 2011-12-22 2014-08-27 福州大学 片外在线可编程的soc系统及其控制方法
US9514664B2 (en) * 2012-09-25 2016-12-06 The Boeing Company Measuring latency in a test system using captured images
US9188644B1 (en) 2012-09-25 2015-11-17 The Boeing Company Latency measurement system and method
US9066153B2 (en) 2013-03-15 2015-06-23 Time Warner Cable Enterprises Llc Apparatus and methods for multicast delivery of content in a content delivery network
WO2015067295A1 (en) 2013-11-05 2015-05-14 Huawei Technologies Co., Ltd. Method and arrangement for controlling requests to a shared electronic resource
US10327187B2 (en) 2015-12-04 2019-06-18 Time Warner Cable Enterprises Llc Apparatus and method for wireless network extensibility and enhancement
US9986578B2 (en) * 2015-12-04 2018-05-29 Time Warner Cable Enterprises Llc Apparatus and methods for selective data network access
US10164858B2 (en) 2016-06-15 2018-12-25 Time Warner Cable Enterprises Llc Apparatus and methods for monitoring and diagnosing a wireless network
MX2019013630A (es) * 2017-05-15 2020-08-20 Mixhalo Corp Sistemas y metodos para proporcionar audio y datos en tiempo real con referencia reciproca a aplicaciones relacionadas.
US10645547B2 (en) 2017-06-02 2020-05-05 Charter Communications Operating, Llc Apparatus and methods for providing wireless service in a venue
US10638361B2 (en) 2017-06-06 2020-04-28 Charter Communications Operating, Llc Methods and apparatus for dynamic control of connections to co-existing radio access networks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6629220B1 (en) * 1999-08-20 2003-09-30 Intel Corporation Method and apparatus for dynamic arbitration between a first queue and a second queue based on a high priority transaction type
CN1518691A (zh) * 2001-06-22 2004-08-04 ض� 用于在多线程处理器中分配线程优先级的方法和设备

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4493036A (en) * 1982-12-14 1985-01-08 Honeywell Information Systems Inc. Priority resolver having dynamically adjustable priority levels
JPS6226563A (ja) * 1985-07-26 1987-02-04 Nec Corp バス要求制御回路
US5193090A (en) * 1988-07-15 1993-03-09 Janusz Filipiak Access protection and priority control in distributed queueing
US5440752A (en) * 1991-07-08 1995-08-08 Seiko Epson Corporation Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU
US5917822A (en) * 1995-11-15 1999-06-29 Xerox Corporation Method for providing integrated packet services over a shared-media network
US6198724B1 (en) * 1997-10-02 2001-03-06 Vertex Networks, Inc. ATM cell scheduling method and apparatus
US6105094A (en) * 1998-01-26 2000-08-15 Adaptec, Inc. Method and apparatus for allocating exclusive shared resource requests in a computer system
US6223244B1 (en) * 1998-12-10 2001-04-24 International Business Machines Corporation Method for assuring device access to a bus having a fixed priority arbitration scheme
US6240458B1 (en) * 1998-12-22 2001-05-29 Unisys Corporation System and method for programmably controlling data transfer request rates between data sources and destinations in a data processing system
EP1037147A1 (en) * 1999-03-15 2000-09-20 BRITISH TELECOMMUNICATIONS public limited company Resource scheduling
CA2292828A1 (en) * 1999-12-22 2001-06-22 Nortel Networks Corporation Method and apparatus for traffic flow control in data switches
EP1170669B1 (en) * 2000-07-05 2006-03-29 STMicroelectronics S.r.l. Arbitration method and circuit architecture therefor
WO2002069575A1 (en) * 2001-02-28 2002-09-06 Gotham Networks, Inc. Methods and apparatus for network routing device
US20020178148A1 (en) * 2001-03-30 2002-11-28 Jonathan Sobel Source-level threads
US6804738B2 (en) * 2001-10-12 2004-10-12 Sonics, Inc. Method and apparatus for scheduling a resource to meet quality-of-service restrictions
US6880028B2 (en) * 2002-03-18 2005-04-12 Sun Microsystems, Inc Dynamic request priority arbitration
US7203621B1 (en) * 2002-06-06 2007-04-10 Hewlett-Packard Development Company, L.P. System workload characterization
US7139849B2 (en) 2002-08-07 2006-11-21 Matsushita Electric Industrial Co., Ltd. Semiconductor integrated circuit device
US20040059879A1 (en) * 2002-09-23 2004-03-25 Rogers Paul L. Access priority protocol for computer system
US7143219B1 (en) * 2002-12-31 2006-11-28 Intel Corporation Multilevel fair priority round robin arbiter
US8150407B2 (en) * 2003-02-18 2012-04-03 Qualcomm Incorporated System and method for scheduling transmissions in a wireless communication system
US7062582B1 (en) * 2003-03-14 2006-06-13 Marvell International Ltd. Method and apparatus for bus arbitration dynamic priority based on waiting period
US7263587B1 (en) * 2003-06-27 2007-08-28 Zoran Corporation Unified memory controller
US7089381B2 (en) * 2003-09-24 2006-08-08 Aristos Logic Corporation Multiple storage element command queues
JP4480427B2 (ja) * 2004-03-12 2010-06-16 パナソニック株式会社 リソース管理装置
US7263566B2 (en) * 2004-12-30 2007-08-28 Qualcomm Incorporated Method and apparatus of reducing transfer latency in an SOC interconnect
US7386681B2 (en) * 2005-02-11 2008-06-10 International Business Machines Corporation Reducing number of rejected snoop requests by extending time to respond to snoop request
US7653085B2 (en) * 2005-04-08 2010-01-26 Qualcomm Incorporated Methods and apparatus for enhanced delivery of content over data network
US7474615B2 (en) * 2005-07-11 2009-01-06 Dell Products L.P. Network optimization based on traffic prioritization
US7467245B2 (en) * 2005-07-22 2008-12-16 Cisco Technology, Inc. PCI arbiter
US7631131B2 (en) * 2005-10-27 2009-12-08 International Business Machines Corporation Priority control in resource allocation for low request rate, latency-sensitive units
US20090193527A1 (en) * 2006-08-03 2009-07-30 Freescale Semiconductor, Inc. Method for monotonically counting and a device having monotonic counting capabilities
US20080077720A1 (en) * 2006-09-27 2008-03-27 Blaise Fanning Isochronous memory access with variable channel priorities and timers
US20080091866A1 (en) * 2006-10-12 2008-04-17 International Business Machines Corporation Maintaining forward progress in a shared L2 by detecting and breaking up requestor starvation
US7668177B1 (en) * 2006-12-28 2010-02-23 Qlogic, Corporation Method and system for quality of service in host bus adapters
US7577780B2 (en) * 2007-02-28 2009-08-18 National Chiao Tung University Fine-grained bandwidth control arbiter and the method thereof
US8327057B1 (en) * 2007-04-16 2012-12-04 Juniper Networks, Inc. Ordering write bursts to memory
CN101286946B (zh) 2008-05-30 2010-08-11 北京北方烽火科技有限公司 一种基于ofdm系统的服务流接入控制和带宽分配方法
US8032678B2 (en) * 2008-11-05 2011-10-04 Mediatek Inc. Shared resource arbitration
US7986706B2 (en) * 2009-04-29 2011-07-26 Telefonaktiebolaget Lm Ericsson Hierarchical pipelined distributed scheduling traffic manager

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6629220B1 (en) * 1999-08-20 2003-09-30 Intel Corporation Method and apparatus for dynamic arbitration between a first queue and a second queue based on a high priority transaction type
CN1518691A (zh) * 2001-06-22 2004-08-04 ض� 用于在多线程处理器中分配线程优先级的方法和设备

Also Published As

Publication number Publication date
EP2232376B1 (en) 2016-04-20
EP2232376A1 (en) 2010-09-29
US8838863B2 (en) 2014-09-16
WO2010052679A1 (en) 2010-05-14
US20110055444A1 (en) 2011-03-03
CN102282546A (zh) 2011-12-14

Similar Documents

Publication Publication Date Title
CN102282546B (zh) 资源控制
US8629544B2 (en) Integrated circuit package with multiple dies and a multiplexed communications interface
US9367517B2 (en) Integrated circuit package with multiple dies and queue allocation
US8610258B2 (en) Integrated circuit package with multiple dies and sampled control signals
US7904666B2 (en) Access control device, access control integrated circuit, and access control method
US8653638B2 (en) Integrated circuit package with multiple dies and bundling of control signals
US8504751B2 (en) Integrated circuit package with multiple dies and interrupt processing
US9798375B1 (en) Credit-based processor energy consumption rate limiting system
JP2000259557A (ja) 多数の機能モジュールを接続するためのポート管理コントローラ
US7913014B2 (en) Data processing system and method for memory arbitration
CN111095220B (zh) 在服务于存储事务时的服务质量控制方法和系统
CN103201726A (zh) 提供细粒度仲裁系统
KR20040012964A (ko) 캐시 메모리 버스트 싸이클 동안 버스 중재를 제어하는시스템 및 방법
US6122693A (en) PCI bus utilization diagnostic monitor
CN109564611A (zh) 用于对非受信任互连代理进行限流的机制
US9971390B1 (en) Processor energy consumption rate limiting system
US8949845B2 (en) Systems and methods for resource controlling
KR20130083910A (ko) 스트림 트랜잭션(들)에 관련된 정보에 기초한 스트림 트랜잭션들의 중재
US8468381B2 (en) Integrated circuit package with multiple dies and a synchronizer
US9117508B2 (en) Integrated circuit with adaptive power state management
US9910812B2 (en) Initiating multiple data transactions on a system bus
CN111679992A (zh) 用于管理对共享总线访问的方法和对应的电子设备
US20210397379A1 (en) Norflash sharing
JP2017045089A (ja) 帯域制御回路、演算処理装置、および装置の帯域制御方法
이국표 et al. Performance Analysis of Bandwidth-Aware Bus Arbitration

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: SYNOPSYS INC.

Free format text: FORMER OWNER: VL C.V.

Effective date: 20120619

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20120619

Address after: California, USA

Applicant after: Synopsys Inc.

Address before: California, USA

Applicant before: Vilge Logic

C14 Grant of patent or utility model
GR01 Patent grant