CN102428450A - 用于资源控制的系统和方法 - Google Patents

用于资源控制的系统和方法 Download PDF

Info

Publication number
CN102428450A
CN102428450A CN2010800191174A CN201080019117A CN102428450A CN 102428450 A CN102428450 A CN 102428450A CN 2010800191174 A CN2010800191174 A CN 2010800191174A CN 201080019117 A CN201080019117 A CN 201080019117A CN 102428450 A CN102428450 A CN 102428450A
Authority
CN
China
Prior art keywords
request
classification
priority
category
service
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.)
Pending
Application number
CN2010800191174A
Other languages
English (en)
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 CN102428450A publication Critical patent/CN102428450A/zh
Pending legal-status Critical Current

Links

Images

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
    • 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

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

本发明涉及一种用于资源控制的方法,该方法包括控制对具有第一优先级(24.1)的第一类别的请求的处理。该方法包括控制对具有第二优先级(24.2)的第二类别的请求的处理,其中该第一优先级被如此设定以便处理该第一类别的请求比处理该第二类别的请求具有更高的优先级。该方法包括通过机制阻塞第一类别的请求,该机制检测有关提供给第二类别的服务的预定义条件何时被满足。

Description

用于资源控制的系统和方法
交叉引用和相关申请
本申请主张享有2009年3月11日提交的欧洲专利申请的权益,将该申请的全部内容通过援引纳入本文。
技术领域
本申请涉及用于资源控制的方法。本申请尤其涉及包括控制对具有第一优先级的第一类别的请求的处理和控制对具有第二优先级的第二类别的请求的处理的用于资源控制的方法,其中该第一优先级被如此设定以使得处理该第一类别的请求对于处理该第二类别的请求具有更高优先级。本申请还涉及资源控制器、包括所述资源控制器的片上系统(system-on-chip)、包括所述片上系统的消费电子设备以及包括可用于使处理器执行所述方法的指令的计算机程序。
背景技术
如今,诸如电视、PC、移动电话等消费电子设备包括片上系统(SoC)微处理器。SoC的好处是其高性能、高弹性和低成本。而且,通过使用SoC可降低可编程硬件对消费电子设备中的总的硅面积和功耗的影响。
SoC的基本问题是SoC上的处理单元和一个或多个外部资源(像外部存储器或类似单元)之间的通信。更特别而言,资源必须在SoC上实现的几个处理单元或代理之间共享。常见的顾虑在于资源的利用率必须很高。因此,使用资源的总开销可取决于请求的顺序。
一种方案是将处理单元发送的请求分离为至少两个类别并将这些类别中的一个类别赋予最高优先级。例如,可将请求分为低延迟流量请求(在一方面)和恒定带宽流量请求(在另一方面)。正常情况下,低延迟流量请求包括更高的优先级。为了防止较低优先级的流量请求被饿死,低延迟流量请求必须被限制。根据现有技术,对低延迟请求的处理是基于其自己的带宽使用而限制的。
发明概述
本发明的一个目标是提供一种改进资源控制的方法。另一目标是防止低延迟请求的不必要地长的平均延迟。进一步的目标是便于准确的流量预算的确定。另一目标是确保恒定带宽请求的足够的带宽。另一目标是提供一种特别适用于控制SoC和快速存储器设备之间的数据传输的方法。
通过一种包括控制对具有第一优先级的第一类别的请求的处理的资源控制的方法,解决了这些及其它目标。该方法包括控制对具有第二优先级的第二类别的请求的处理,其中该第一优先级被如此设定以使得处理第一类别的请求对于处理第二类别的请求具有更高优先级。该方法包括通过一机制阻塞该第一类别的请求,该机制检测何时满足有关提供给该第二类别的服务的预定义条件。
本方法可通用于控制至少一个处理单元或代理和资源(像是存储器)之间的数据传输。特别而言,本方法可用于控制布置在片上系统上的多个处理单元或代理与一个或多个外部资源(诸如存储器,尤其是快速外部存储器)之间的数据传输。由该至少一个处理单元发送的请求或数据传输请求被分为至少两个不同类别。一般而言,在确定该至少两个类别时,可将不同的系统参数或用户愿望纳入考量。例如,根据所需带宽、最大可允许延迟、数据大小、产生该请求的处理单元、业务速率等,该请求可被区分为至少两个类别或类型。所述区分应当被如此执行以使得可以确保资源控制(像是存储器控制)的高性能。
特别而言,所述区分可被如此执行以使得这些类别中的一个类别的请求与其他类别的请求相比可以更重要或者应当被优先处理。此类别与其他类别相比可具有更高的优先级——第一优先级。换言之,具有较高优先级的第一类别的请求被正常处理。
根据本申请发现,如果在满足关于提供给该第二类别的服务的预定义条件时处理对该第二类别的待决请求,则在该第一类别的请求待决时,对该第二类别的请求可以以足够的方式确保。与预期不同,发现处理该第二类别的请求所需的带宽和/或业务速率或业务容量可以通过在满足预定义条件时阻塞高优先级请求而得以保护。例如,该第二类别的请求可以在检测到已满足该预定义条件后的有限时间内处理。应当理解,该请求还可在检测到已满足该预定义条件后立即处理。
本发明可提供更好的资源控制,诸如存储器控制。可以防止高优先级请求的不必要地高的平均延迟,同时为具有低优先级的请求确保足够的带宽。
根据本发明的一个进一步的实施例,阻塞第一类别的请求以允许在有关提供给第二类别请求的预定义条件被满足时第二类别的至少一个请求被处理。另外,根据第一方面,该预定义条件可以是:“带宽和延迟(bandwidth-and-latency)”服务保证马上要被违反了。
而且,根据第二方面,该预定义条件可以是:“业务速率和延迟(transaction-rate-and-latency)”服务保证马上要被违反了。
通过明确阻塞来自该第一类别的请求,可以实现在该第一类别的请求待决时对该第二类别的请求的处理。例如,阻塞该第一类别的请求可以由记账机制控制。而且,根据另一实施例,该“带宽和延迟”服务保证和/或“业务速率和延迟”服务保证的即将违反可以通过升降计数器达到预定义阈值而检测,其中该升降计数器跟踪该第二类别的请求已接受的服务。该升降计数器可在记账机制内实现。该升降计数器可以对第二类别请求服务周期向上计数而对非第二类别请求服务周期向下计数,或反之亦然。例如,在净记账的情况下,传输周期是传输周期而在毛记账的情况下,传输周期是传输或准备周期。
根据一个进一步的实施例,用于该第二类别的请求的服务可以以毛周期或净周期两个措辞中的至少一个措辞限定。在预定义条件与“业务速率和延迟”服务保证相关联的情况下,净周期的使用是有利的。
例如,该服务周期可仅包括数据在接口上传输时的周期。这被称为净记账。另一选项是在服务周期中包括数据传输周期以及准备周期。这被称为毛记账。例如,为满足预定义条件而必须流逝的周期是净周期或数据传输周期。
根据本发明的另一实施例,该第一类别的请求可以是对低延迟流量的请求。该低延迟流量可能需要平均低延迟流量。然而,对延迟或对带宽或对业务速率可能不需要任何保证。对这类流量请求赋予最高优先级可以是有利的。
而且,根据另一实施例,该第二类别的请求可以是对恒定带宽流量的请求。该恒定带宽流量可能需要经保证的最小带宽和经保证的最大延迟。
在另一实施例中,可设定该预定义阈值值,可设定该升降计数器的初始值,以及可设定升降计数器的增量值和减量值。
此外,发现如果实现记账机制,则检测何时满足该预定义条件(像是升降计数器达到预定义阈值)可以容易的方式执行。
在另一实施例中,如果没有第二分类的请求被处理,可将记账值改变第一预定义变化值。换言之,记账值与导致第二类别的请求的直接保护的第二类别的请求相关联,诸如恒定的带宽请求和/或经保证的业务速率请求。第一预定义变化值可表示特定数量的周期。在第二类别的至少一个请求待决而尚未处理时,该记账值可改变第一预定义变化值。周期性(如每个时钟周期)改变记账值是有利的。换言之,该记账值可每个时钟周期更新以确保准确的记账机制和精确的检测可能性。更新记账值包括如果没有第二类别的请求待决时将记账值重新设定为初始值。
根据本发明的一个进一步实施例,第一预定义变化值可以是增量值或减量值。换言之,记账值可被增量和/或减量。在另一实施例中,如果没有第二分类的请求被处理,可将记账值改变第一预定义变化值。换言之,记账值与导致第二类别的请求的直接保护的第二类别的请求相关联,诸如恒定的带宽请求和/或经保证的业务速率请求。在第二类别的至少一个请求待决而尚未处理时,该记账值可改变第一预定义变化值。周期性(如每个时钟周期)改变记账值是有利的。换言之,该记账值可每个时钟周期更新以确保准确的记账机制和精确的检测可能性。更新记账值包括如果没有第二类别的请求待决时将记账值重新设定为初始值。
根据本发明的另一实施例,如果第二分类的请求被处理,则记账值可改变第二预定义变化值。第二预定义变化值还可以是增量或减量值。如果第二预定义值是相反值,即,如果第一变化值是增量值,而第二变化值是减量值,且反之亦然,则是有利的。
进而,记账机制可以容易地通过限定阈值值实现。阈值值可以是第二类别的待决请求的处理过期处的边界。换言之,预定义条件被满足。更特别而言,根据进一步的实施例,预定义阈值值可被设定且可以检测记账值改变预定义变化值之一从而达到预定义阈值值。然后第一类别的请求可被阻塞。例如,当记账值已达到该阈值值时,通过阻塞第一类别请求推进第二类别请求。应当理解,在第一类别请求被阻塞之前在检测已达到阈值值和需要流逝一些周期以允许首先处理第一类别的剩余数据。阈值值可以基于初始记账值选择。例如,初始记账值可被设定为小于阈值值,从而使得第一变化值是增量值。否则,第一变化值是减量值。根据本申请,因为用于使用传输周期作为相关索引而提供了精确的计算,所以可以防止低延迟请求的不必要地长的平均延迟,并且可以确保恒定带宽请求的足够的带宽。
而且,在另一实施例中,如果没有第一类别的请求待决,则第二类别的至少一个请求可被处理。如果没有除了第二类别请求之外的其他请求待决,则可在不满足预定义条件时处理这些请求。可用带宽和处理时间可最优地使用。
可定义超过仅两个类别也是可能的。根据一个进一步的实施例,可控制具有第三优先级的第三类别的请求的处理。该优先级可更高、更小或者是前面提到的各优先级之间的值。例如,第三类别的请求可以是内部命令,如刷新命令。这些请求可以类似上面陈述的请求被处理。
本申请的主旨在于提供一种用于资源控制的方法,例如,能够用集中网络中的仲裁者统一存储器控制器中的仲裁。为了资源控制,必须观察的重要因素是低优先级请求需要经保证的带宽和延迟以确保片上缓冲区永远不会溢出或变空。因此流量被称为恒定流量(CTR)。
根据第一示例性方面,这种方法可使用带宽保护。根据该第一方面的方法可为存储器控制器中的低优先级请求流保证带宽和延迟,例如,通过使用用于高优先级请求流的阻塞开关。例如,该开关可由升降计数器控制,其中该升降控制器跟踪最近带宽如何被赋予低优先级流。当记账达到阈值值时,高优先级请求流可被阻塞。
根据第二示例性方面,这种方法可使用业务速率保护。根据该第二方面的方法能够为个体流提供业务速率保证和延迟保证。使用业务速率保护(例如,对高优先级流请求和/或低优先级流请求的业务的数量计数)可以是特别有用的,因为对于基于业务的CTR来说,存储器控制器通常与其他集中器结合使用。而且,在不同请求流具有不同业务大小的情况下根据第二方面的方法可被有利地使用,从而集中器将多个流复用为具有变化的业务大小的单一流。在这种情况下,尽管可使用不同的业务大小,然而用于延迟速率保证的重复计算不是必须的,以便不会丢失由这种重复计算带来的精确。因此,片上缓冲区和/或到存储器控制器中的CTR的分配的速率的过大可得以避免。总结根据第二方面的方法可适用于在集中器之前精确地计算每个单个CTR流的保证,由此可减少缓冲区的过大。而且可以以高精度对存储器控制器中的CTR进行分配,这会导致高优先级请求的改进的平均服务,因为它们被阻塞得更不频繁。在根据该第二方面的方法中,存储器控制器可被改变为在业务方面给出保证,因为不建议将存储器控制器外的集中器中的业务分开。在此上下文中,应当注意,对于单一流,业务速率和业务大小的乘积可以是带宽。
大体上,根据两个示例性方面的方法类似,例如,两者使用相同的机制来阻塞高优先级请求。然而,根据第一示例性方面的方法对贷款记账(比特/秒),而根据第二示例性方面的方法对业务速率记账(业务/秒)。
本申请的另一方面是资源控制器,该资源控制器包括被配置成存储包括第一优先级的第一预定义类别的请求的第一缓冲区。该资源控制器至少包括被配置成存储包括第二优先级的第二预定义类别的请求的第二缓冲区,其中第一优先级被设定为处理第一类别的请求具有优先级。该资源控制器包括被配置成在满足预定义条件时阻塞第一类别的请求的机制。该资源控制器包括被配置成在满足有关第二类别的预定义条件时在缓冲区的入口阻塞第一类别的请求的机制。
例如,该资源控制器可以是用于管理多个客户机和至少一个共享资源之间的数据传输的存储器控制器或任何其他类型的控制器。
根据本申请的一个进一步的实施例,至少一个缓冲区可被形成为FIFO缓冲区。低延迟流量请求和/或恒定带宽流量请求可以在分开的队列中处置。应当理解,根据本申请的其他变型,所有实现的缓冲区可以形成为FIFO缓冲区。
缓冲区单元经由不同的接口连接于处理单元是可能的。更特别而言,不同类别的请求可到达不同的接口。在只提供一个接口的情况下,资源控制器可包括检测器。为了检测接收的请求的类别和为了将请求输出到相应缓冲区中,检测器可被布置为检测接收的请求的类别。为了对一个或多个处理单元或代理发送的不同请求进行排序,给出简单的概率。
而且,根据本申请的另一实施例的资源控制器可包括连接于至少一个共享资源(如外部存储器)的至少一个输出端子。输出端子或存储器接口可提供恒定的或变化的带宽。应当理解,可提供两个或更多个端子及两个或更多个共享资源,注入可提供各外部存储器。根据一个进一步的实施例,该机制可包括至少一个被配置成阻塞第一类别的请求的阻塞开关。阻塞开关可被关闭(即,第一类别请求可被处理)或可被打开(即,第一类别请求被阻塞且第二类别请求可被处理)。另外,根据另一实施例,该资源控制器可进一步包括被配置成检测记账机制是否达到预定义阈值的比较器。该比较器可邻近升降计数器或在阻塞开关中。
在一个进一步的实施例中,该资源控制器可包括观察者单元,该观察者单元检测是否把服务给予第二类别的请求。
而且,根据另一实施例,观察者单元可被配置成考虑传输和准备周期的至少一个作为用于第二类别的请求的服务或单独传输周期作为用于第二类别的请求的服务。本申请的一个进一步的实施例是片上系统,该片上系统包括至少一个上述资源控制器和至少一个处理单元。应当理解,该片上系统包括一个或多个处理单元,注入数字信号处理器、中央处理单元、加速器、知识产权核心等等。而且,该片上系统还可包括至少一个共享资源(如外部存储器),或经由资源控制器(如存储器控制器)能连接于该共享资源。应当理解,根据本申请的进一步的变型,该片上系统可包括进一步的组件,如存储器访问网络、控制网络等等。本申请的一个进一步的实施例是包括上述片上系统的消费电子设备。例如,该消费电子设备可以是电视设备、PC、移动电话等等。
本申请的另一方面是包括上面描述的相应的片上系统和片下存储器的封装。
本申请的另一方面是具有存储于其上的计算机程序的计算机可读介质。该计算机程序包括可操作以使处理器执行上述方法的指令。
本申请的另一方面是程序元素,该程序元素在被处理器执行时适于控制或执行上述方法。
参考附图,本申请的这些及其它方面会变得显而易见,下面将会进行说明。要理解,公开的上面陈述的本申请的特征及其示例性实施例或方面还可以是彼此间的所有可能的组合,这些组合通过本申请也可以思考得出。
附图说明
在附图中示出:
图1是根据本申请的片上系统的一个实施例,
图2是根据本申请的资源控制器的一个实施例,
图3是根据本申请用于资源控制的方法的一个实施例的第一流程图,
图4是根据本申请用于资源控制的方法的一个实施例的第二流程图,
图5是根据本申请用于资源控制的方法的一个实施例的第三流程图。
不同附图中的相同的参考标号指示相同的元件。
发明详述
在本申请的后续详细说明中,本申请的示例性实施例将描述并指出增强的资源控制器和用于资源控制的方法,其特别适于与快速外部资源(诸如快速外部存储器)一起使用并防止请求的第一类别的不必要地长的平均延迟,而且同时为第二类别的请求确保足够的带宽和/或业务速率。
在后面的详细描述中,为了更好地理解,在仅考虑数据传输周期的存储器控制器的情况下,阐明本申请。应当理解,任何资源控制器均由本申请包括且可将毛周期纳入考量。还应理解,可将毛周期纳入考量,而不仅仅是数据传输周期。
图1示意性示出根据本申请的片上系统(SoC)的一个实施例,从图1中可以看出,所示SoC 2连接于外部存储器16。作为示例,SDRAM可用作外部存储器芯片16。特别而言,可使用快速存储器设备,诸如DDR2-1066或DDR3-1600。
本实施例的SoC 2可经由合适的输出端子17使用合适的存储器控制器4与外部存储器设备16通信。例如,输出端子17可以是提供高带宽的接口设备。除了存储器控制器4之外,SoC 2还包括多个处理单元8、10.1、10.2和14。在本实施例中,SoC 2包括第一和第二数字处理器(DSP)10.1和10.2、中央处理单元(CPU)8和多个加速器14,如知识产权(IP)核心等等。
所有这些处理单元8、10.1、10.2和14均与控制网络6通信。进而,加速器14连接于存储器访问网络12,存储器访问网络12又连接于存储器控制器14。另外,CPU 8和DSP 10.1和10.2与控制网络6和存储器控制器4两者通信。
而且,处理单元8、10.1、10.2经由端子24.1连接于存储器控制器4,而存储器访问网路12经由端子24.2连接于存储器控制器4。应当理解,根据其他变型,SoC 2可包括进一步的、更少的或其他组件,而且提供两个或更多个外部存储器是可能的。
存储器控制器4被配置成控制至少一个外部存储器16和SoC 2的存储单元或代理8、10.1、10.2和14之间的数据传输。更特别而言,存储器控制器4可在来自不同代理的请求间仲裁。
图2示出了根据本申请的存储器控制器4.1的一个实施例的更详细的表示。由不同处理单元发送的对数据传输的请求经由端子24.1被存储器控制器4.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.2的请求。该选择可以依照接口17的定时说明而进行。取决于接口17的定时说明和最近服务的请求,有一些时钟周期,在这些时钟周期内尽管有待决请求也不处理请求。那些周期是我们称为准备周期的周期。
而且,存储器控制器4.1可包括观察单元23,观察单元23检测什么类型的请求被处理。作为示例,观察单元23可观察复用器22和复用器所选择的请求。在此特定示例中,观察单元向记账机制以信号表示当前周期是否被提供给第二类别的请求。观察单元可以以两种模式中的一种操作,指示准备周期如何被分配。在第一模式中,准备周期被分配给第二类别(毛模式),在第二模式(净模式)中,准备周期完全不被分配。观察单元还可以以其模式之一动态配置。取决于观察结果,升降计数器26.2可被增量或减量。后面有对用于存储器控制的方法的详细说明。
应当理解,根据本申请的进一步的变型,可限定多于仅两个不同的请求类别,如代表内部刷新命令的第三类别。另外,提供三个或更多个缓冲区是可能的。
图3示出根据第一示例性方面的方法的一个实施例的第一简化流程图,其中方法是基于记账带宽的。在详细描绘图3之前,要提到,可在任意时间设定预定义值。更具体而言,截断值clip_cb以及阈值值boost_cb可被设定为相应的预定义值,其中截断值clip_cb是记账值记账cb的最大值而阈值值boost_cb指示处于该值或低于该值的第一类别的请求应当被阻塞的值。该值被如此限定以便某些时钟周期可被纳入考量,其中该时钟周期可在阻塞第一类别的请求之后直到第二类别的请求被服务。如同上面提到的,截断值clip_cb也可被设定为最低值而阈值值boost_cb可指示处于该值或高于该值的第一类别请求应当被阻塞的值。进而,恒定贷款记账值记账cb被设定为截断值clip_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=75。一般而言,预定义值可根据资源(如外部存储器)的行为而被改变。经保证的延迟可以是clip_cp/num_cb。为了实现这一点,升高应当被如此设定以便在所有情况下,记账值在0处不饱和。
如果阈值值boost_cb被恰当设置,则保证的最大延迟是clip_cp/num_cb个时钟周期。例如,截断值clip_cb可被设定为1500。然后恒定带宽流的最大延迟是200个时钟周期。
在解释了初始值的指定之后,回头参考图3。每个时钟周期,可以通过以下方式处理记账值。在第一步骤102中,检查是否没有恒定带宽请求待决。在没有恒定带宽请求待决的情况下,记账值可被重设为截断值clip_cb且在下一时钟周期可再次以步骤102开始。否则,在步骤104中检查是否恒定带宽请求被服务,即,数据在净记账的情况下或在毛记账的情况下被传输,数据被传输或准备。在此情况下,记账值可以增加inc_cb。然后在下一时钟周期以步骤102继续。
如果恒定带宽请求未被服务且恒定带宽请求待决,则记账值减少den_cb。然后在下一时钟周期以步骤102继续。
应当理解,步骤102到106的次序也可以不同。特别而言,这些步骤可以并行执行。
参考图4,描绘了根据第一方面的方法的一个实施例的第二简化流程图。一般而言,处理具有更高优先级的请求,诸如低延迟请求。在如前面提到的根据图1的方法的同时,每个时钟周期可在步骤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。如果不是这样,在步骤206关闭开关26.1。否则开关26.1保持打开。因此,阻塞开关要么打开要么关闭,导致第一类别请求或(在一定延时后)第二类别请求可被处理。
在图5中,示出了根据第一方面的方法的一个实施例的第三简化流程图。在第一步骤302中,复用器22选择来自缓冲区20.1的请求(如果有的话)。否则在步骤304中复用器22选择来自缓冲区20.2的请求。该选择可以依照接口17的定时说明而进行。取决于接口17的定时说明和最近服务的请求,有一些时钟周期,在这些时钟周期内尽管有待决请求也不服务请求。那些周期是我们称为准备周期的周期。
应当理解,根据本申请的其他实施例,设定上阈值值并增量恒定带宽记账值以免没有恒定带宽被服务并且检查恒定带宽记账值是否等于或高于预定义的阈值值也是可能的。
可选地,可限定进一步阈值值limit_cb。为了简明,如在图3到5中所示,在本实施例中,没有把这个值纳入考量。如果恒定带宽记账值account_cb大于该进一步阈值值limit_cb,则将恒定带宽端口的优先级降低到背景。该进一步阈值值limit_cb必须被指定从而等式
limit cb≤clip cb            (c)
被满足,即,恒定带宽传输的最大大小。该进一步阈值值limit_cb保护恒定带宽传输的过渡消耗。如果恒定带宽流量被自然约束,则该进一步阈值值limit_cb可不需要。
根据本申请,以容易的方式保护一个恒定带宽流或若干个独立的恒定带宽流是可能的。而且,根据本申请,使用具有逐渐涌现的快速存储器设备的基于记账的存储器控制器是可能的。对于编程者而言,有助于确定恒定带宽速率,因为不需要包括潜在的准备周期。因为准备周期被从恒定带宽流量记账中排除,所以恒定带宽速率是精确的,即,在速率中不需要安全裕度,这带来低延迟业务的耕地的平均延迟。在后文中,将较详细地描述根据第二示例性方面的方法。根据第二方面的方法依赖业务的记账而非如根据第一示例性方面的方法的上下文中描述的带宽的记账。然而,因为这些方法非常类似,所以上面描述的特征或步骤对于根据第一示例性方面的方法也有效。主要是,只有记账不同。因此,在图1到5的上下文中描述的特征也用在或用于根据第二方面的方法。特别而言,应当注意,优选地,可使用业务的净记账。当没有恒定带宽(CTR)请求待决时,记账可被重设到值clip_ctr。而且,当有CTR请求待决时,记账可以每个周期减少值num_ctr。记账在0处饱和。而且,当CTR请求被服务时,记账可增加值inc_ctr=den_ctr-num_ctr。记账在clip_ctr处饱和。当记账低于值boost_ctr时,高优先级请求被阻塞。经保证的业务速率可以通过num_ctr/den_ctr业务/时钟周期计算。延迟速率服务器模型中的延迟可以是clip_ctr/num_ctr时钟周期。在时钟周期为p_clk的情况下,延迟速率服务器参数可以通过下式计算:
ρ=num_ctr/den_ctr/p_clk transaction/s(rate)
θ=clip_ctr/num_ctr x p_clk s(latcncy).
值clip_ctrl、num_ctr、den_ctr和boost_ctr可以是可编程参数且可在数据表中描述。
而且,对于本领域的技术人员而言,非常清楚,示意框图以及流程图中的逻辑框和上面的描述中呈现的算法步骤可至少部分以电子硬件和/或计算机软件实现,这取决于逻辑块的功能、流程图步骤和算法步骤并取决于对逻辑框、流程图步骤或算法步骤以硬件或软件实现的程度对各设备施加的设计约束。所呈现的逻辑框、流程图步骤和算法步骤可例如以一个或多个数字信号处理器、专用集成电路、现场可编程门阵列或其他可编程设备实现。计算机软件可被存储在电、磁、电磁或光学型的各种存储器介质中并可被处理器(诸如例如微处理器)读取和执行。为此目的,处理器和存储介质可被耦合以交换信息,或存储介质可被包括于处理器中。

Claims (16)

1.一种用于资源控制的方法,包括:
-使用适当编程的计算机控制对具有第一优先级的第一类别的请求的处理;
-使用适当编程的计算机控制对具有第二优先级的第二类别的请求的处理,其中所述第一优先级被如此设定以使得处理所述第一类别的所述请求对于处理所述第二类别的所述请求具有更高优先级;以及
-使用适当编程的计算机通过机制阻挡所述第一类别的请求,其中所述机制检测何时满足有关提供给所述第二类别的服务的预定义条件。
2.如权利要求1所述的方法,其中阻挡所述第一类别的所述请求以允许在有关提供给所述第二类别请求的所述预定义条件被满足时所述第二类别的至少一个请求被处理。
3.如权利要求1所述的方法,其中所述预定义条件是带宽和延迟服务保证和业务速率和延迟服务保证中的至少一个即将被违反。
4.如权利要求3所述的方法,其中所述带宽和延迟服务保证和/或业务速率和延迟服务保证的所述即将违反通过升降计数器达到预定义阈值而检测,其中所述升降计数器跟踪所述第二类别的所述请求已接受的服务。
5.如权利要求3所述的方法,其中所述第二类别的所述请求的所述服务是以下述各项中的至少一项限定的:
A)毛周期,或
B)净周期。
6.如权利要求4所述的方法,进一步包括:
-设定预定义阈值值;
-设定所述升降计数器的初始值;以及
-设定所述升降计数器的增量值和减量值。
7.如权利要求1所述的方法,进一步包括控制对具有第三优先级的第三类别的请求的处理。
8.一种资源控制器,包括:
-被配置成存储包括第一优先级的第一预定义类别的请求的第一缓冲区;
-被配置成存储包括第二优先级的第二预定义类别的请求的至少一个第二缓冲区,其中所述第一优先级被设定为处理所述第一类别的请求对处理所述第二类别的请求具有更高的优先级;以及
-被配置成在满足预定义条件时阻塞所述第一类别的所述请求的机制。
9.如权利要求8所述的资源控制器,其中所述机制包括被配置成阻塞所述第一类别的所述请求的至少一个阻塞开关。
10.如权利要求8所述的资源控制器,进一步包括被配置成检测记账机制是否达到预定义阈值的比较器。
11.如权利要求8所述的资源控制器,进一步包括观察者单元,所述观察者单元检测所述第二类别的请求是否被给予服务。
12.如权利要求11所述的资源控制器,其中所述观察者单元被配置成考虑以下各项中的至少一项:
A)作为对所述第二类别的所述请求的服务的传输和准备和周期,或
B)仅作为对所述第二类别的所述请求的服务的传输周期。
13.一种片上系统,包括:
-至少一个权利要求8的资源控制器,以及
-至少一个处理单元。
14.一种封装,包括:
-权利要求13的片上系统,以及
-片下存储器。
15.一种包括权利要求13的片上系统的消费电子设备。
16.一种存储有计算机程序的计算机可读介质,所述计算机程序包括:
-可操作以使适当编程的处理器执行一种方法的指令,所述方法包括:
-A)控制对具有第一优先级的第一类别的请求的处理;以及
-B)控制对具有第二优先级的第二类别的请求的处理,其中所述第一优先级被如此设定以使得处理所述第一类别的所述请求对于处理所述第二类别的所述请求具有更高优先级,以及
-C)通过机制阻挡所述第一类别的请求,其中所述机制检测何时满足有关提供给所述第二类别的服务的预定义条件。
CN2010800191174A 2009-03-11 2010-03-11 用于资源控制的系统和方法 Pending CN102428450A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP09154844 2009-03-11
EP09154844.6 2009-03-11
PCT/US2010/026988 WO2010105060A1 (en) 2009-03-11 2010-03-11 Systems and methods for resource controlling

Publications (1)

Publication Number Publication Date
CN102428450A true CN102428450A (zh) 2012-04-25

Family

ID=42170329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010800191174A Pending CN102428450A (zh) 2009-03-11 2010-03-11 用于资源控制的系统和方法

Country Status (3)

Country Link
US (1) US8949845B2 (zh)
CN (1) CN102428450A (zh)
WO (1) WO2010105060A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893140A (zh) * 2015-12-17 2016-08-24 乐视移动智能信息技术(北京)有限公司 一种用于分配动态内存资源的方法及装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2296091A1 (en) * 2009-09-14 2011-03-16 Nxp B.V. Servicing low-latency requests ahead of best-effort requests
US20130124805A1 (en) * 2011-11-10 2013-05-16 Advanced Micro Devices, Inc. Apparatus and method for servicing latency-sensitive memory requests
US8706936B2 (en) 2011-11-14 2014-04-22 Arm Limited Integrated circuit having a bus network, and method for the integrated circuit
CN105610728B (zh) * 2015-12-28 2018-09-14 湖南蚁坊软件有限公司 一种基于时间窗口的网络爬虫流量控制自动降级方法
US10073629B2 (en) 2016-12-13 2018-09-11 International Business Machines Corporation Memory transaction prioritization

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US20030081624A1 (en) * 2001-02-28 2003-05-01 Vijay Aggarwal Methods and apparatus for packet routing with improved traffic management and scheduling
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
CN1585374A (zh) * 2003-08-19 2005-02-23 广东省电信有限公司科学技术研究院 保证端到端ip电信服务质量的网络系统和控制方法
US7263587B1 (en) * 2003-06-27 2007-08-28 Zoran Corporation Unified memory controller
CN101155093A (zh) * 2006-09-30 2008-04-02 华为技术有限公司 一种无线通信网络带宽分配方法与装置
CN101198182A (zh) * 2007-12-28 2008-06-11 中国科学院计算技术研究所 一种无线网络媒体接入控制系统及其数据调度实现方法
CN101286946A (zh) * 2008-05-30 2008-10-15 北京北方烽火科技有限公司 一种基于ofdm系统的服务流接入控制和带宽分配方法

Family Cites Families (36)

* 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
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
DE60026908D1 (de) 2000-07-05 2006-05-18 St Microelectronics Srl Arbitrierungsverfahren und Schaltungsarchitektur dazu
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
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
US8285914B1 (en) * 2007-04-16 2012-10-09 Juniper Networks, Inc. Banked memory arbiter for control memory
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 (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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
US20030081624A1 (en) * 2001-02-28 2003-05-01 Vijay Aggarwal Methods and apparatus for packet routing with improved traffic management and scheduling
US7263587B1 (en) * 2003-06-27 2007-08-28 Zoran Corporation Unified memory controller
CN1585374A (zh) * 2003-08-19 2005-02-23 广东省电信有限公司科学技术研究院 保证端到端ip电信服务质量的网络系统和控制方法
CN101155093A (zh) * 2006-09-30 2008-04-02 华为技术有限公司 一种无线通信网络带宽分配方法与装置
CN101198182A (zh) * 2007-12-28 2008-06-11 中国科学院计算技术研究所 一种无线网络媒体接入控制系统及其数据调度实现方法
CN101286946A (zh) * 2008-05-30 2008-10-15 北京北方烽火科技有限公司 一种基于ofdm系统的服务流接入控制和带宽分配方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893140A (zh) * 2015-12-17 2016-08-24 乐视移动智能信息技术(北京)有限公司 一种用于分配动态内存资源的方法及装置
WO2017101324A1 (zh) * 2015-12-17 2017-06-22 乐视控股(北京)有限公司 一种用于分配动态内存资源的方法及装置

Also Published As

Publication number Publication date
US8949845B2 (en) 2015-02-03
US20120060169A1 (en) 2012-03-08
WO2010105060A1 (en) 2010-09-16

Similar Documents

Publication Publication Date Title
CN102282546B (zh) 资源控制
CN102428450A (zh) 用于资源控制的系统和方法
Li et al. Pslo: Enforcing the xth percentile latency and throughput slos for consolidated vm storage
US11805065B2 (en) Scalable traffic management using one or more processor cores for multiple levels of quality of service
DE102021124514A1 (de) Vorrichtung und verfahren für hierarchische leistungsverwaltung
EP2333673B1 (en) Signal sampling and transfer
TW201743223A (zh) 自適應資源分配方法及裝置
CN102098216B (zh) 一种基于共享存储的航空全双工交换式以太网afdx协议交换引擎
US20110022871A1 (en) System-On-Chip Queue Status Power Management
Nikolić et al. Are virtual channels the bottleneck of priority-aware wormhole-switched noc-based many-cores?
CN102207918A (zh) 一种片上总线仲裁方法及装置
CN103201726A (zh) 提供细粒度仲裁系统
CN106571978A (zh) 数据包捕获方法及装置
CN103428099A (zh) 一种通用多核网络处理器流量控制的方法
WO2021115482A1 (zh) 一种令牌的调整方法及装置
CN103828294B (zh) 基于信用的功率管理
US8468381B2 (en) Integrated circuit package with multiple dies and a synchronizer
Kühn Systematic classification of self-adapting algorithms for power-saving operation modes of ICT systems
CN106294227B (zh) 仲裁设备、动态自适应仲裁方法及系统
CN103905339B (zh) 电脑仲裁系统、其带宽分配设备以及方法
CN104702521A (zh) 负载均衡方法和装置
CN105159613B (zh) 一种emmc控制系统及其访问方法
Bayati Managing energy consumption and quality of service in data centers
Rizzo et al. A study of speed mismatches between communicating virtual machines
CN209642693U (zh) 一种双路can通信装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120425