CN1728118B - 资源分配管理方法和设备 - Google Patents

资源分配管理方法和设备 Download PDF

Info

Publication number
CN1728118B
CN1728118B CN2005100544533A CN200510054453A CN1728118B CN 1728118 B CN1728118 B CN 1728118B CN 2005100544533 A CN2005100544533 A CN 2005100544533A CN 200510054453 A CN200510054453 A CN 200510054453A CN 1728118 B CN1728118 B CN 1728118B
Authority
CN
China
Prior art keywords
order
system resource
request
token
assigned
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
CN2005100544533A
Other languages
English (en)
Other versions
CN1728118A (zh
Inventor
格伦·H·汉德洛格滕
约翰·D·艾里什
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1728118A publication Critical patent/CN1728118A/zh
Application granted granted Critical
Publication of CN1728118B publication Critical patent/CN1728118B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

在第一方面,提供了用于管理系统资源分配的第一种方法。该第一种方法包括以下步骤:(1)接收需要系统资源的第一命令;(2)接收为第一命令做出的对该系统资源的第一请求;(3)接收需要该系统资源的第二命令;(4)将该系统资源指派给第二命令;以及(5)接收为第二命令做出的对系统资源的第二请求。还提供了很多其它方面。

Description

资源分配管理方法和设备
技术领域
本发明一般地涉及计算机系统,特别涉及用于计算机系统内的资源分配管理的方法和设备。
背景技术
计算机系统(例如,由多个处理单元组成的计算机系统)可以接收需要(require)计算机系统资源的命令。在很多传统的计算机系统中,可以在先来先服务的基础上将系统资源分配给多个命令。然而,这样的分配方案不能高效地管理系统资源。因此,希望有用于管理系统资源分配的改进的方法和设备。
发明内容
在本发明的第一方面,提供了用于管理系统资源分配的第一种方法。该第一种方法包括以下步骤:(1)接收需要系统资源的第一命令;(2)接收为第一命令做出的对该系统资源的第一请求;(3)接收需要该系统资源的第二命令;(4)将该系统资源指派(assign)给第二命令;以及(5)接收为第二命令做出的对该系统资源的第二请求。
在本发明的第二方面,提供了用于管理系统资源分配的第二种方法。该第二种方法包括以下步骤:(1)接收需要第一系统资源的第一命令,其中第一命令具有第一优先级;(2)接收为第一命令做出的对第一系统资源的第一请求;(3)接收需要第一系统资源的第二命令,其中第二命令具有第一优先级;(4)基于第一优先级而将第一系统资源指派给第二命令;以及(5)接收为第二命令做出的对第一系统资源的第二请求。
在本发明的第三方面,提供了用于管理系统资源分配的第三种方法。该第三种方法包括以下步骤:(1)接收需要多个低需求系统资源中的第一个和第二系统资源的第一命令,其中,对第二系统资源的需求高;(2)将所述多个低需求系统资源中的第一个指派给第一命令;(3)在将所述多个低需求系统资源中的第一个指派给第一命令之后,接收为第一命令做出的对第二系统资源的请求;(4)接收需要所述多个低需求系统资源中的第二个和第二系统资源的第二命令;(5)将所述多个低需求系统资源中的第二个指派给第二命令;(6)在将所述多个低需求系统资源中的第二个指派给第二命令之后,将第二系统资源指派给第二命令;以及(7)接收为第二命令做出的对第二系统资源的第二请求。
在本发明的第四方面,提供了用于管理系统资源分配的第四种方法。该第四种方法包括以下步骤:(1)接收需要系统资源的命令;(2)接收为该命令做出的对与该系统资源相对应的令牌(token)的请求;以及(3)将该令牌指派给该命令,从而将该系统资源指派给该命令。还提供了很多其它方面,如根据本发明的这些和其它方面的系统和设备。
在本发明的第五方面,提供了用于管理系统资源分配的第一设备,包括:第一装置,接收需要系统资源的第一命令;第二装置,接收为第一命令做出的对该系统资源的第一请求;第三装置,接收需要该系统资源的第二命令;第四装置,将该系统资源指派给第二命令;以及第五装置,接收为第二命令做出的对该系统资源的第二请求。
在本发明的第六方面,提供了用于管理系统资源分配的第二设备,包括:第一装置,接收需要第一系统资源的第一命令,其中,第一命令具有第一优先级;第二装置,接收为第一命令做出的对第一系统资源的第一请求;第三装置,接收需要第一系统资源的第二命令,其中,第二命令具有第一优先级;第四装置,基于第一优先级,将第一系统资源指派给第二命令;以及第五装置,接收为第二命令做出的对第一系统资源的第二请求。
在本发明的第七方面,提供了用于管理系统资源分配的第三设备,包括:第一装置,接收需要多个低需求系统资源中的第一个和第二系统资源的第一命令,其中,对第二系统资源的需求高;第二装置,将所述多个低需求系统资源中的第一个指派给第一命令;第三装置,在将所述多个低需求系统资源中的第一个指派给第一命令之后,接收为第一命令做出的对第二系统资源的请求;第四装置,接收需要所述多个低需求系统资源中的第二个和第二系统资源的第二命令;第五装置,将所述多个低需求系统资源中的第二个指派给第二命令;第六装置,在将所述多个低需求系统资源中的第二个指派给第二命令之后,将第二系统资源指派给第二命令;以及第七装置,接收为第二命令做出的对第二系统资源的第二请求。
在本发明的第八方面,提供了用于管理系统资源分配的第四设备,包括:第一装置,接收需要系统资源的命令;第二装置,接收为该命令做出的对与该系统资源相对应的令牌的请求;以及第三装置,将该令牌指派给该命令,从而将该系统资源指派给该命令。
根据下面的详细描述、所附权利要求和附图,本发明的其它特征和方面将变得更显而易见。
附图说明
图1是根据本发明实施例的用于管理系统资源分配的设备的方框图。
图2是根据本发明实施例的阵列条目(array entry)的方框图。
图3示出根据本发明实施例的用于管理系统资源分配的第一示例方法。
图4示出根据本发明实施例的用于管理系统资源分配的第二示例方法。
具体实施方式
本发明涉及用于高效地管理系统资源分配的方法和设备。更具体地说,本方法和设备使用对应于系统上各种资源的令牌,并高效地管理(例如来自多个请求者的)对令牌的请求和/或将令牌指派给命令。系统资源包括存储体(memory bank)的存储带宽以及总线带宽。以这一方式,本方法和设备控制对系统资源的访问和/或将系统资源分配给系统执行的命令。本方法和设备需要的芯片空间比先前用于管理系统资源分配的方法和设备所需的少。此外,本方法和设备使得能够更加高效地将系统资源赋予(grant)命令,并使得系统能够周期性更好地(例如,在分配了系统资源之后)发布命令。
图1是根据本发明实施例的用于管理系统资源分配的设备100的方框图.设备100是包括主芯片102的计算机系统,该主芯片102耦接到诸如系统存储器的存储器104,并且将在下面对其进行描述.存储器104可分为多个段(例如,存储体106a-p).在一个实施例中,存储器104分为16个存储体106a-p.存储器104可分为更大或更小数目的存储体106a-p.存储体106a-p的每一个充当系统资源.主芯片102通过存储器总线108耦接到存储器104,其中,存储器总线108提供可用来例如响应计算机系统接收的命令而访问存储体106a-p的带宽(例如,存储器总线带宽).
主芯片102耦接到可发布对主芯片102的命令的一个或多个芯片(例如,第三方芯片110-112)。在一个实施例中,两个第三方芯片110-112耦接到主芯片102。可以有其它数目的第三方芯片110-112耦接到主芯片102。主芯片102通过I/O接口(IOIF)如各条入站(inbound)总线114-116和出站(outbound)总线118-120(例如,I/O总线)而耦接到第三方芯片110-112。耦接到第三方芯片110-112的各条入站总线114-116和出站总线118-120充当系统资源。每条入站总线114-116和出站总线118-120提供可用于在第三方芯片110-112之一与耦接到主芯片102的其它组件之间通信的带宽(例如,I/O总线带宽)。因此,设备100包括诸如存储体106a-p和I/O接口的系统资源。
主芯片102包括多个处理器,例如主处理器122和8个协处理器124-138。主芯片102可包括更大或更小数目的主处理器122和/或协处理器124-138。主芯片102的组件如处理器122-138可能需要并因此请求访问一个或多个系统资源。主芯片102包括充当与存储器104的接口的存储控制器140。或者,主芯片102可以不包括存储控制器140。
此外,主芯片102包括和/或耦接到被适配为管理系统资源分配的多个逻辑141。更具体地说,所述多个逻辑141实现这样的资源分配管理(RAM),其提供一种用于将一部分或多个部分的系统资源分配给请求该系统资源的一个或多个组件的访问控制机制。所述多个逻辑141可以使令牌与每个系统资源相关联。RAM可能需要计算机系统内需要系统资源的组件(如主芯片处理器122-138或第三方处理器110-112之一)中驻留的命令,以在使用该系统资源之前请求并获得(例如,被赋予)对应于该系统资源的令牌。在本发明的第一组实施例中,在将为驻留在计算机系统100的组件110-112、122-138中的第一命令请求的令牌赋予驻留在组件110-112、122-138中的第一命令之前,可以不为驻留在组件110-112、122-138中的第二命令请求该令牌。
如下面所述,在驻留在组件110-112、122-138中的第二命令可以请求为驻留在组件110-112、122-138中的第一命令请求的令牌之前,本发明的第二组实施例可以不需要将该令牌赋予正在请求的命令。在这样的实施例中,为驻留在组件110-112、122-138中的第一命令请求的令牌可被赋予(例如,被借给)驻留在组件110-112、122-138中的第二命令。因此,在第二组实施例中,当令牌被赋予组件110-112、122-138时,该令牌可以指派给驻留在组件110-112、122-138中需要该令牌的任何命令。更具体地说,令牌不必指派给最初做出请求的命令。此后,驻留在计算机系统的组件110-112、122-138中的另一命令可以请求该令牌。
在任一组实施例中,在组件110-112、122-138请求的令牌被赋予组件110-112、122-138之前,组件110-112、122-138可以不必再次请求该令牌。组件110-112、122-138可以不具有并且可以不需要有关由计算机系统的其它组件110-112、122-138做出的令牌请求的任何知识。因此,对特定的令牌可以有多个请求,但是每个组件110-112、122-138只有一个请求。此外,对于每种令牌类型(例如,每个对应于系统资源的各令牌),允许每个组件110-112、122-138有一个未完成请求。
如下面将描述的,可以在请求所需要的令牌的单个组件中合并来自第三方芯片110-112的需要令牌的命令.因此,在第二组实施例中,为这种命令做出的请求可以认为是为单个组件做出的请求,并且,可以将赋予所述单个组件的令牌指派给来自任何(例如,任一个)第三方芯片110-112的任何命令.
所述多个逻辑141包括耦接到入站总线114-116和出站总线118-120的输入/输出控制器(IOC)142。IOC 142包括含有多个条目的阵列144、以及多个寄存器146或类似的装置,每个装置被适配为存储对应于阵列条目的索引(index)。在一个实施例中,IOC 142充当耦接到主芯片的一个或多个组件(例如第三方芯片110-112)的代理。更具体地说,IOC 142从第三方芯片110-112接收命令,并且将该第三方芯片命令纳入主芯片102。以这一方式,来自组件的命令(例如,来自第三方芯片110-112的命令)在IOC 142中被合并,并且IOC 142为这样的命令请求资源。IOC 142被适配为管理存储在所述多个寄存器146中的索引,并使未使用的索引与IOC 142从组件110-112、122-138接收的命令相关联。所接收的命令被存储在与该命令相关联的索引所指示的阵列条目中。在一个实施例中,阵列144包括64个条目。因此,IOC 142可以接收并存储多达64个命令(例如,多达64个命令“待决(in flight)”)。阵列144可以包括更多或更少的条目,并因此IOC 142可以接收并存储更多或更少的命令。每个命令可以需要多达3个系统资源(例如,对应于系统资源的令牌)。下面,参考图2来描述阵列条目的结构。
在一个或多个实施例中,将设备100的组件110-112、122-138并因此将来自组件110-112、122-138的命令分组到一起,以形成一个或多个资源分配组(RAG),每个资源分配组(RAG)被指派了资源分配ID(RAID)。所述多个逻辑141可以基于指派给RAG的RAID,将系统资源分配给从RAG中的组件110-112、122-138接收的命令。更具体地说,可以给具有一个RAID的进程比具有其它RAID的进程更加频繁地分配系统资源。以这一方式,与每个RAG相关联的RAID充当RAG的优先级。
所述多个逻辑141包括耦接到主芯片102的IOC令牌请求器逻辑(ITR)148。IOC 142可包括ITR 148。ITR 148被适配为高效地请求由IOC 142接收的命令所需要的令牌。为命令获得令牌的请求被以索引的形式传递,该索引用来获得关于存储在阵列144中的命令的信息。ITR 148接收索引,并向阵列144做出读取请求。以这一方式,ITR 148可以释放对应于命令的索引。一旦命令所需要的所有令牌均被赋予该命令、并且为该命令做出了所有所需要的令牌的请求,就释放与该命令相关的索引。在索引被释放之前,该索引可以不与其它命令相关联。此外,ITR 148被适配为接收所赋予的令牌,并将所赋予的令牌高效地指派给需要该令牌的命令。以这一方式,ITR 148可以释放命令。一旦指派了命令所需要的所有令牌,就从IOC 142(例如ITR 148)释放该命令(例如,该命令可以退出)。ITR 148例如在为命令请求令牌或者将令牌指派给该命令之后更新对应于该命令的阵列条目。
所述多个逻辑141包括耦接到IOC 142的令牌管理器逻辑(TM)150。TM150被适配为生成对应于一个或多个系统资源的令牌。用户可以配置TM150,以基于对于系统资源的指定周期生成对应于该系统资源的令牌。例如,最初,TM 150可以在基于指定周期的时间内创建对应于系统资源的令牌。因此,赋予所请求的令牌的顺序是不能(例如由请求器)预测的。一旦赋予了令牌,TM 150就可以基于指定周期为该系统资源创建新令牌。此外,TM 150被适配为从ITR 148接收对与系统资源相对应的令牌的请求。在一个实施例中,设备100包括20个系统资源(例如,16个存储体106a-p以及2条入站总线114-116和两条出站I/O总线118-120)。因此,TM 150为每个RAG创建20个令牌.在其它实施例中,设备100可包括更多或更少的系统资源,并因此TM 150可创建更多或更少的令牌。
图2是根据本发明实施例的阵列条目(例如,144a)的方框图。每个阵列条目144a对应于由IOC 142(例如ITR 148)接收的命令,并包括关于该命令的信息。在一个实施例中,阵列条目144a为24位宽。阵列条目144a可以更大或更小。阵列条目144a包括RAID字段202,其用于存储指示与命令相关联的RAID的位。在一个实施例中,RAID字段可以为2位宽。然而,RAID字段可以为不同的尺寸。
阵列条目144a包括IOIF类型字段204,其指示命令所需要的第一I/O总线令牌(IOIF令牌)的类型。例如,在图1的设备100中,命令可需要对应于耦接到第一个第三方处理器110的入站总线114、耦接到第一处理器110的出站总线118、耦接到第二个第三方处理器112的入站总线116、或耦接到第二个第三方处理器112的出站总线120的令牌。在一个实施例中,IOIF类型字段204可以为2位宽。IOIF类型字段204可以为不同的尺寸。
阵列条目144a包括存储体/IOIF类型字段206。如果命令需要存储体106a-p的令牌(例如,存储器令牌),则存储体/IOIF类型字段206指示需要哪个存储器令牌。然而,如果该命令不需要存储器令牌而是需要第二IOIF令牌,则存储体/IOIF类型字段206的一部分指示对于第二IOIF令牌,需要哪种类型的IOIF令牌。在一个实施例中,存储体/IOIF类型字段206为4位宽。4位的存储体/IOIF类型字段206可用于指示所需要的存储器令牌,而2位的存储体/IOIF类型字段206可用于指示第二需要的IOIF令牌。存储体/IOIF类型字段206可以为不同的尺寸。
阵列条目144a包括IOIF令牌请求字段208,其指示必须做出的IOIF令牌请求。例如,IOIF令牌请求字段208可以为2位宽,并且每位指示一个必须做出的IOIF令牌请求。然而,IOIF令牌请求字段208可以为不同的尺寸。此外,阵列条目144a包括“缺少的IOIF令牌”字段210,其指示必须获得的IOIF令牌。在一个实施例中,“缺少的IOIF令牌”字段210可以为2位宽,并且每位指示一个必须获得的IOIF令牌。然而,“缺少的IOIF令牌”字段210可以为不同的尺寸。阵列条目144a包括存储器令牌请求字段212,其指示要做出的存储器令牌请求。例如,存储器令牌请求字段212可以为2位宽,并且每位指示一个要做出的存储器令牌请求。然而,存储器令牌请求字段212可以为不同的尺寸。此外,阵列条目144a可以包括“缺少的存储器令牌”字段214,其指示必须为命令获得的存储器令牌。在一个实施例中,“缺少的存储器令牌”字段214可以为2位宽,并且每位可以指示一个要获得的存储器令牌。然而,“缺少的存储器令牌”字段214可以为不同的尺寸。
现在,参考图1和2、并参考示出根据本发明实施例的用于管理系统资源分配的第一示例方法的图3,来描述用于管理系统资源分配的设备100的操作。更具体地说,图3图示了一种用于管理系统资源分配的方法,其允许将为第一命令请求的系统资源赋予(例如借给)第二命令。参考图3,在步骤302,方法300开始。在步骤304,接收需要系统资源的第一命令。更具体地说,IOC 142可以从设备100的一个组件如第三方处理器110-112接收第一命令。如上所述,当IOC 142接收到第一命令时,IOC 142使该第一命令与来自索引库(pool)的可用索引相关联.该索引对应于阵列144中的条目144a.用来自第一命令的信息填充阵列条目的各字段.例如,如果第一命令需要访问存储体106a以及耦接到第一个第三方处理器110的出站总线118,则各字段中,可以设置(例如,声明(assert))存储体/IOIF类型206、IOIF令牌请求208、“缺少的IOIF令牌”210、存储器令牌请求212和“缺少的存储器令牌”字段214中的位.更具体地说,声明存储体/IOIF类型字段206中的位,以指示第一命令需要存储体1的存储器令牌.此外,设置IOIF令牌请求字段208中的一个或多个位,以指示尚未做出对所需要的IOIF令牌(例如,对应于耦接到第一个第三方处理器110的出站总线180的令牌)的请求.类似地,设置“缺少的IOIF令牌”字段210中的位,以指示尚未获得一个或多个所需要的IOIF令牌.此外,设置存储器令牌请求字段212中的一个或多个位,以指示尚未做出对所需要的存储器令牌(例如对应于存储体1的令牌)的请求.类似地,设置“缺少的存储器令牌”字段214中的一个或多个位,以指示尚未获得一个或多个所需要的存储器令牌.命令可包括RAID字段202中指示发布该命令的组件110-112所属的RAG的位.以这一方式,IOC 142可以接收多个命令,并将其存储在主芯片102的阵列144中。阵列144充当所述命令的等待队列。
ITR 148扫描阵列条目,以确定需要请求系统资源(例如,对应于该系统资源的令牌)的命令。更具体地说,在第一时间周期(例如,第一个处理器循环(cycle))期间,ITR 148可以访问第一阵列条目144a,以确定对应于第一个阵列条目144a的命令是否需要令牌请求。在下一时间周期(例如,第二个处理器循环)期间,ITR 148可访问第二个阵列条目144b,以确定对应于第二个阵列条目144b的命令是否需要令牌请求。类似地,ITR 148在随后的时间周期期间扫描剩余的阵列条目。如果ITR 148在某时间周期期间访问最后一个阵列条目,则在下一时间周期期间,ITR 148访问第一个阵列条目144a。一旦ITR 148确定命令需要对系统资源(例如,对应于该系统资源的令牌)的请求,ITR 148就确定命令先前对相同系统资源的请求是否未决(pending)。ITR 148包括被适配为确定先前对每个系统资源的请求是否未决的逻辑。如果ITR 148确定先前对系统的请求不是未决,则ITR 148请求所需要的系统资源。更具体地说,ITR 148向TM 150发出对所需要的系统资源的请求(例如,第一请求)。ITR 148可以在ITR 148访问对应于该命令的阵列条目的相同时间周期期间请求该命令所需要的系统资源。或者,ITR 148可以在另一时间周期期间请求所需要的系统资源。
在步骤306,接收为第一命令做出的对系统资源的第一请求(例如,可以接收来自第一命令或代表第一命令做出的对该系统资源的第一请求)。例如,ITR 148做出对第一命令所需的系统资源的第一请求。TM 150从ITR 148接收代表第一命令做出的对该系统资源(例如,对与该系统资源相对应的令牌)的请求。TM 150可以将所请求的令牌提供给(例如,赋予)ITR 148。如上所述,TM 150被配置为基于用户指定的周期生成令牌。因此,TM 150可能在接收到来自ITR 148的请求之前已经生成了所需要的令牌。因此,TM 150可以在接收到令牌请求之后不久(例如,在几个时间周期内)赋予所需要的令牌。或者,如果尚未生成所请求的令牌,则TM 150在基于TM 150配置的某个时间生成该令牌。在TM 150生成所请求的令牌时,可能过去了多个时间周期。一旦TM 150将所请求的令牌赋予ITR 148,对该令牌的请求就不再是未决的。
在步骤308,接收需要该系统资源的第二命令。因此,第一和第二命令需要相同的系统资源。类似于步骤304,IOC 142可以从设备的一个组件(例如第三方芯片110-112)接收第二命令,使第二命令与对应于阵列144中的条目(例如,144b)的索引相关联,并用来自第二命令的信息填充条目144b的字段。例如,可以在接收到第一命令后一个或多个时间周期之后接收第二命令。
在访问对应于第一命令的阵列条目144a之后,ITR 148可以访问对应于第二命令的阵列条目144b,以确定第二命令的状态。更具体地说,ITR 148可以确定第二命令是否需要一个或多个令牌、是否需要请求所需要的令牌和/或是否已经获得了所需要的令牌。例如,ITR 148可以在TM 150将ITR 148代表第一命令请求的系统资源(例如,对应于该系统资源的令牌)赋予ITR 148之后的时间周期期间,访问对应于第二命令的阵列条目144b。如上所述,此时,对系统资源(例如,对应于该系统资源的令牌)的请求不再是未决的。在此时间周期期间,ITR 148确定第二命令需要该系统资源(例如,第一命令所需要的相同系统资源)、需要请求该系统资源、并且需要获得该系统资源。
在步骤310,系统资源被指派给第二命令。更具体地说,ITR 148将为第一命令请求的系统资源(例如,对应于该系统资源的令牌)指派给第二命令。可以在ITR 148代表第二命令请求系统资源之前将该系统资源指派给第二命令。通过将为另一命令(例如,第一命令)请求的系统资源指派给第二命令,第二命令从第一命令借用该系统资源。允许一个命令从其它命令借用系统资源(例如,系统资源借用)提高了系统性能。例如,不是将系统资源赋予该系统资源的请求者(例如,第一命令)——这需要等待(例如,多达64个时间周期)直到ITR 148再次访问对应于第一命令的阵列条目144a为止,而是可以将该系统资源指派给第二命令,从而释放第二命令(假设第二命令不需要其它系统资源)。因此,系统资源被更快地分配给命令,这更加高效地(例如,更快地)释放了命令。此外,系统资源借用消除了使所赋予的系统资源与请求该系统资源的命令相关联的需要,这可以简化所述多个逻辑141的设计。因此,在主芯片102上需要更少的空间。
在步骤312,接收为第二命令做出的对系统资源的第二请求(例如,可以接收来自第二命令或者代表第二命令做出的对该系统资源的第二请求)。例如,ITR 148做出对第二命令所需的系统资源的第二请求。TM 150从ITR 148接收代表第二命令做出的对该系统资源(例如,对与该系统资源相对应的令牌)的请求。第二命令对系统资源的第二请求可以在将该系统资源赋予第二命令之后接收。以这一方式,TM 150可以为另一命令(例如,第一命令)生成系统资源(例如,对应于该系统资源的令牌)。此外,因为系统资源已经被分配给第二命令,所以一旦ITR 148请求该系统资源,就释放与第二命令相关联的索引。随后,进行步骤314。在步骤314,方法300结束。
此外,在一个或多个实施例中,系统资源被赋予第一命令。例如,TM 150生成代表第二命令而请求的系统资源,并将其赋予ITR 148,并且,在访问对应于第一命令的阵列条目144a的同时,ITR 148将该系统资源指派给第一命令。以这一方式,可以释放与第一命令相关的索引和/或第一命令。
通过使用图3的方法300,可以在所赋予的系统资源被指派给请求该系统资源的第一命令之前,将该系统资源指派给第二命令。此外,在指派该系统资源之前,不需要第二命令对该系统资源的请求。以这一方式,可以以稳定的速度释放命令,从而提高设备性能。
在一个或多个实施例中,IOC 142接收的命令可以来自不同RAG中包括的组件(例如,第三方芯片110-112),并因此有不同的RAID(例如,优先级),在这样的实施例中,不只一个令牌对应于设备100的一个系统资源(例如,存储体106a-p或I/O总线114-120)。例如,用于每个RAID的令牌对应于一个系统资源。对于采用20种令牌类型和4个RAG的设备100,采用80个不同的令牌。此外,IOC 142接收的命令包括RAID,ITR 148将通过请求用于该RAID的对应于系统资源的令牌来请求该系统资源,并且,TM 150基于TM150配置生成所请求的令牌。例如,TM 150可被配置为以快于用于第二RAID的对应于系统资源的令牌的速度,生成用于第一RAID的对应于该系统资源的令牌,从而给命令指派对应于RAID的优先级,并基于该优先级生成令牌。可以使用类似于图3的方法300的方法来接收多于一个优先级的命令,并将系统资源分配给这些命令,同时允许需要相同令牌(例如,用于某RAID的对应于该系统资源的令牌)的命令互相借用令牌。
现在,参考图1和2、并参考示出根据本发明实施例的用于管理系统资源分配的第二示例方法的图4,来描述用于管理系统资源分配的设备100的操作。更具体地说,图4图示了一种用于管理需要一个或多个系统资源的命令之间的系统资源分配的方法。参考图4,在步骤402,方法400开始。在步骤404,接收需要多个低需求系统资源中的第一个和第二系统资源的第一命令。对第二系统资源的需求高(例如,高于低需求系统资源)。例如,以类似于上述步骤304的方式,IOC 142从设备100的组件(例如,第三方芯片110-112)接收第一命令。
ITR 148向TM 150请求低需求(例如,低需求/低利用率)系统资源如存储体106a-p中的第一个(例如,对应于低需求系统资源中的第一个的令牌)。该请求包括与命令相关联的RAID。TM 150接收对低需求系统资源中的第一个的请求,并生成所请求的令牌(如果先前没有生成的话)。TM 150被配置为基于所请求的令牌和与所请求的令牌相关联的RAID来生成令牌。随后,TM 150将所生成的令牌赋予ITR 148。
在步骤406,将多个低需求系统资源中的第一个指派给第一命令。更具体地说,ITR 148将多个低需求系统资源中的第一个(例如,对应于多个低需求系统资源如存储体106a-p中的第一个的令牌)指派给第一命令。随后,ITR148请求第二系统资源(例如,对应于高需求(例如,高需求/高利用率)系统资源如I/O总线114-120带宽的令牌)。在获得第一命令所需要的低需求系统资源之前,ITR 148不会为第一命令请求高需求系统资源。
在步骤408,在将多个低需求系统资源中的第一个指派给第一命令之后,接收第一命令对第二系统资源的请求(例如,可以接收来自第一命令或者代表第一命令做出的对第二系统资源的请求)。更具体地说,ITR 148可以以上述方式访问与需要多个低需求系统资源中的第一个和第二系统资源的命令相对应的阵列条目144a。如果ITR 148确定获得了低需求系统资源,则ITR 148代表第一命令向TM 150请求第二系统资源。TM 150从ITR 148接收代表第一命令做出的对第二系统资源的请求。如上所述,TM 150可能需要多个时间周期来生成所需要的系统资源。在此时间期间,ITR 148继续访问对应于命令的阵列条目,以确定是否为了该命令而需要令牌请求、或者是否可以将所赋予的令牌指派给该命令。例如,ITR 148可以在每个时间周期访问不同的阵列条目。因此,对于存储64个命令的阵列144,ITR 148每64个时间周期访问阵列条目144a一次。然而,ITR 148可以以不同的速率访问阵列条目。
在步骤410,接收需要多个低需求系统资源中的第二个和第二系统资源的第二命令。以类似于上述步骤304的方式,IOC 142从设备100的组件(例如第三方芯片110-112)接收第二命令。第二命令可能需要与第一命令不同的低需求系统资源、以及与第一命令相同的高需求系统资源。对应于第二命令的条目144b被输入到阵列144中。
以上述方式,ITR 148可以访问对应于第二命令的条目,并向TM 150请求多个低需求系统资源中的第二个.更具体地说,ITR 148向TM 150请求对应于多个低需求系统资源中的第二个的令牌。TM 150从ITR 148接收代表第二命令做出的请求,生成所请求的令牌,并将该令牌赋予ITR148。可以在从ITR 148做出请求的相同时间周期或者随后的时间周期期间将该令牌赋予ITR 148。
在步骤412,多个低需求系统资源中的第二个被指派给第二命令。当(例如在随后的时间周期期间)访问对应于第二命令的阵列条目144b时,ITR 148将确定第二命令需要但尚未获得多个低需求系统资源中的第二个。因此,ITR148将把所需要的系统资源指派给第二命令。
在步骤414,在将多个低需求系统资源中的第二个指派给第二命令之后,第二系统资源被指派给第二命令。例如,在步骤406接收到代表第一命令做出的对第二系统资源的请求之后,TM 150生成(如果先前未生成的话)第二系统资源,并将其赋予ITR 148。在将第二系统资源赋予ITR 148之后,ITR 148可以在访问对应于第一命令的条目144a之前访问对应于第二命令的条目144b。当访问对应于第二命令的阵列条目144b时,ITR 148确定第二命令需要第二系统资源并且尚未请求该第二系统资源。尽管第二命令尚未请求该第二系统资源,但是ITR 148将该第二系统资源指派给第二命令。因此,由TM 150赋予的系统资源不限于请求了该系统资源的命令,而是可以将该系统资源指派给具有比请求了该系统资源的命令更紧急的需要的命令。
在步骤416,接收为第二命令做出的对第二系统资源的第二请求(例如,可以接收来自第二命令或代表第二命令做出的对系统资源的第二请求)。更具体地说,ITR 148访问对应于第二命令的阵列条目144b,并确定需要并且尚未做出对第二系统的请求。因此,第二命令请求该第二系统资源。更具体地说,ITR 148代表第二命令向TM 150请求该第二系统资源。ITR 148可以在将第二系统资源指派给第二命令的相同时间周期期间请求该第二系统资源。或者,ITR 148可以在随后的时间周期期间请求该第二系统资源。因为第二系统资源可以在第二命令请求第二系统资源之前被指派给第二命令(或者由第二命令获得),所以代表第二命令向TM 150做出的对第二系统资源的请求充当“替代”请求。该“替代”请求确保对于对系统资源的每个未决需求而言,对该系统资源的请求是未决的。在本示例中,在给第二命令指派第二系统资源之后接收的、为第二命令做出的对第二系统资源的请求充当第一命令的“替代”请求。因此,TM 150可以在ITR 148再次访问对应于第一命令的阵列条目144a之前,从ITR 148接收代表第二命令做出的对第二系统资源的请求,生成第二系统资源,并将第二系统资源赋予ITR 148,从而使得第二系统资源对第一命令可用。
“替代”请求释放对应于第二命令的索引,从而允许由IOC 142接收的另一命令使用该索引。
在步骤418,方法400结束。使用图4的方法400,通过在既需要高需求系统资源又需要低需求系统资源的命令获得低需求系统资源之后,将高需求系统资源指派给该命令,命令被周期性更好地释放。
本方法和设备允许将系统资源指派给尚未请求该系统资源的命令。因此,本方法和设备可以管理来自命令的对系统资源的请求,以使释放索引的速率最优化,并且/或者管理系统资源向命令的指派,以使释放命令的速率最优化。
前面的描述仅公开了本发明的示例实施例.对于本领域技术人员来说,对上面公开的设备和方法的落在本发明范围内的修改将是显而易见的.例如,尽管一个或多个上述实施例描述了一种管理系统资源分配的方法,其中,在命令请求系统资源之前将系统资源指派给该命令,但是,其它实施例包括更广泛的方面.例如,本发明包括用于通过以下步骤管理系统资源分配的方法和设备:(1)接收需要系统资源的命令;(2)接收为该命令做出的对与系统资源相对应的令牌的请求;以及(3)将令牌指派给该命令,从而将系统资源指派给该命令.例如,由该命令或者代表该命令做出对与系统资源相对应的令牌的请求.
此外,参考图3和4描述的命令可以来自计算机系统的相同组件、或者来自计算机系统的一个或多个不同组件(例如,一个或多个第三方芯片110-112)。
在一个或多个实施例中,由设备100创建的令牌包括对应于存储体106a-p的存储器令牌、对应于耦接到第一个第三方芯片110的入站总线114和出站I/O总线118的IOIF0令牌、以及对应于耦接到第二个第三方芯片112的入站总线116和出站I/O总线120的IOIF1令牌。IOIF0令牌可以以高于其它令牌的速率生成,并且可以是高需求的。存储器令牌比IOIF令牌较不“通用(generic)”,这导致了对专用(specific)存储器令牌的竞争减少。在一个实施例中,ITR 148可以具有(例如,访问)来自一个第三方芯片的多达48个命令。这些命令需要一个IOIF0令牌,并且还可能需要一个存储器令牌。
在一个实施例中,使用十六进制格式(例如,索引0x1E)称呼索引和/或令牌,并且可以按顺序给可由设备100创建的令牌编号(例如,令牌1-20)。更具体地说,对应于存储体0-15的令牌可分别称为令牌0x0-0xF。IOIF0入站总线、IOIF0出站总线、IOIF1入站总线以及IOIF1出站总线可分别称为0x10-0x13。
如果没有仔细地指派令牌,则会出现问题。例如,假设索引0x1E中的命令获得了令牌0xB,但是仍然需要IOIF0令牌。阵列144中的其它命令也可能在相同的时间周期期间需要相同的IOIF0令牌。当IOIF0令牌被赋予ITR148时,ITR 148检查(访问)需要该IOIF0令牌和存储器令牌0x5的索引0x1A。ITR 148可能将IOIF0令牌指派给对应于索引0x1A的命令。然而,因为索引0x1A尚未获得存储器令牌0x5,所以该IOIF0令牌被对应于在一定时间内可能不会被释放的索引0x1A的命令占用(tie up)。命令索引0x1E仍然需要并且必须等待该IOIF0令牌。因为其它命令可能也需要该IOIF0令牌,并且可能在命令索引0x1E之前被赋予该IOIF0令牌,所以在ITR 148用可用于指派的IOIF0令牌来处理或访问命令索引0x1E之前可能要一定时间。更具体地说,因为新释放的索引被可能需要相同IOIF0令牌的新命令充满,所以该IOIF0令牌被赋予命令索引0x1E的机会不会随着时间提高。如上所示,将令牌指派给错误的命令可能是代价高昂的。当命令占用令牌时,减小了RAM的预期的调步效果(pacing effect)。命令被比预期晚并且周期性较差地释放。
此外,即使允许错误的命令请求令牌也会引发问题。一旦命令做出对令牌的请求,另一命令就不能请求相同的令牌。如上所述,在做出命令需要的所有请求之前,不能释放与该命令相关联的索引。然而,可以防止对应于一个命令的需要被释放的索引做出请求,这是因为每次为索引服务时,先前从另一命令对该令牌的请求都是未决的。先前的请求占用了该索引,并因此降低了IOC 142的效率。
本方法和设备通过允许ITR令牌借用(例如,将令牌给予被发现需要该令牌的符合条件的第一个命令)避免了上面的问题.一个命令对高需求、某种程度上通用的令牌的请求和指派仅在该命令获得了低需求(例如,更加专用的、更低速率的令牌)之后被允许.在一个实施例中,默认的是,在命令获得该命令所需的所有其它令牌之前,不会为该命令请求IOIF0令牌,或将IOIF0令牌指派给该命令.
在一个或多个实施例中,在采用RAG的设备100中,RAM确保在RAG之间适当地共享系统资源。每个受管理的系统资源的时间的一部分被分配给多个RAG。更具体地说,每个RAG可以要求享用一部分受管理的系统资源的带宽。RAG可以请求比分配给该RAG的系统资源更多的系统资源。然而,仅仅在另一RAG没有充分使用分配给该RAG的系统资源,并被配置为共享这样的系统资源时,才同意这样的请求。
在一个或多个实施例中,RAG是称为请求器的一个或多个硬件单元的群组,其中,所述硬件单元是可发起加载或存储请求、或者DMA读取或写入访问的物理的或虚拟的单元。诸如主处理器和协处理器的请求器位于单个RAG中。然而,这些请求器所属的RAG可随着时间变化。此外,IOC 142具有用于每个RAG的虚拟信道。更具体地说,4个RAG可以与IOIF0相关联,而4个RAG可以与IOIF1相关联。因此,设备100可包括17个请求器。
在一个实施例中,一个命令可能需要2个令牌、一个总线令牌(基于该命令的操作码(opcode))以及一个存储器令牌(基于该命令中的存储器地址)。在一个或多个实施例中,只为访问受管理的系统资源而需要令牌;对于不受管理的资源则不需要令牌。
因此,尽管结合本发明的示例实施例公开了本发明,但是应当理解,其它实施例可以落在如所附权利要求限定的本发明的精神和范围内。

Claims (41)

1.一种用于管理系统资源分配的方法,包括:
接收需要系统资源的第一命令;
接收为第一命令做出的对该系统资源的第一请求;
接收需要该系统资源的第二命令;
将该系统资源指派给第二命令;以及
接收为第二命令做出的对该系统资源的第二请求。
2.如权利要求1所述的方法,其中,接收为第二命令做出的对系统资源的第二请求的步骤包括:在该系统资源被指派给第二命令之后,接收为第二命令做出的对该系统资源的第二请求。
3.如权利要求1所述的方法,其中,在第二命令请求系统资源的情况下,在访问对应于第一命令的阵列条目的同时,将该系统资源指派给第一命令。
4.如权利要求1所述的方法,其中:
接收为第一命令做出的对该系统资源的第一请求的步骤包括接收为第一命令做出的对与该系统资源相对应的令牌的第一请求;
将该系统资源指派给第二命令的步骤包括将与该系统资源相对应的令牌指派给第二命令;并且
接收为第二命令做出的对系统资源的第二请求的步骤包括接收为第二命令做出的对与该系统资源相对应的令牌的第二请求。
5.如权利要求1所述的方法,其中,系统资源包括存储器或总线带宽中的至少一个。
6.一种用于管理系统资源分配的方法,包括:
接收需要第一系统资源的第一命令,其中,该第一命令具有第一优先级;
接收为第一命令做出的对第一系统资源的第一请求;
接收需要第一系统资源的第二命令,其中,该第二命令具有第一优先级:
基于第一优先级,将第一系统资源指派给第二命令;以及
接收为第二命令做出的对第一系统资源的第二请求。
7.如权利要求6所述的方法,还包括接收需要第一系统资源或第二系统资源中的至少一个的第三命令,其中,第三命令具有第二优先级。
8.如权利要求7所述的方法,还包括:
接收为第三命令做出的对所需要的系统资源的请求;以及
基于第二优先级,将所需要的系统资源指派给第三命令。
9.如权利要求6所述的方法,其中,接收为第二命令做出的对第一系统资源的第二请求的步骤包括:在第一系统资源被指派给第二命令后,接收为第二命令做出的对第一系统资源的第二请求。
10.如权利要求6所述的方法,其中,在第二命令请求第一系统资源的情况下,在访问对应于第一命令的阵列条目的同时,将第一系统资源指派给第一命令。
11.如权利要求6所述的方法,其中:
接收为第一命令做出的对第一系统资源的第一请求的步骤包括接收为第一命令做出的对与第一系统资源相对应的令牌的第一请求;
将第一系统资源指派给第二命令的步骤包括将与第一系统资源相对应的令牌指派给第二命令;并且
接收为第二命令做出的对第一系统资源的第二请求的步骤包括接收为第二命令做出的对与第一系统资源相对应的令牌的第二请求。
12.如权利要求6所述的方法,其中,第一系统资源包括存储器或总线带宽中的至少一个。
13.一种用于管理系统资源分配的方法,包括:
接收需要多个低需求系统资源中的第一个和第二系统资源的第一命令,其中,对第二系统资源的需求高;
将所述多个低需求系统资源中的第一个指派给第一命令;
在将所述多个低需求系统资源中的第一个指派给第一命令之后,接收为第一命令做出的对第二系统资源的请求;
接收需要所述多个低需求系统资源中的第二个和第二系统资源的第二命令;
将所述多个低需求系统资源中的第二个指派给第二命令;
在将所述多个低需求系统资源中的第二个指派给第二命令之后,将第二系统资源指派给第二命令;以及
接收为第二命令做出的对第二系统资源的第二请求。
14.如权利要求13所述的方法,其中,接收为第二命令做出的对第二系统资源的第二请求的步骤包括:在第二系统资源被指派给第二命令之后,接收为第二命令做出的对第二系统资源的第二请求。
15.如权利要求13所述的方法,其中,在第二命令请求第一系统资源的情况下,在访问对应于第一命令的阵列条目时,将第二系统资源指派给第一命令。
16.如权利要求13所述的方法,其中:
将所述多个低需求系统资源中的第一个指派给第一命令的步骤包括将与所述多个低需求系统资源中的第一个相对应的令牌指派给第一命令;
接收为第一命令做出的对第二系统资源的请求的步骤包括接收为第一命令做出的对与第二系统资源相对应的令牌的请求;
将所述多个低需求系统资源中的第二个指派给第二命令的步骤包括将与所述多个低需求系统资源中的第二个相对应的令牌指派给第二命令;并且
将第二系统资源指派给第二命令的步骤包括将与第二系统资源相对应的令牌指派给第二命令。
17.如权利要求13所述的方法,其中:
所述多个低需求系统资源包括存储器;并且
第二系统资源包括总线带宽。
18.一种用于管理系统资源分配的设备,包括:
第一装置,接收需要系统资源的第一命令;
第二装置,接收为第一命令做出的对该系统资源的第一请求;
第三装置,接收需要该系统资源的第二命令;
第四装置,将该系统资源指派给第二命令;以及
第五装置,接收为第二命令做出的对该系统资源的第二请求。
19.如权利要求18所述的设备,其中,所述第二装置还接收为第一命令做出的对与该系统资源相对应的令牌的第一请求;
所述第四装置将与该系统资源相对应的令牌指派给第二命令;以及
第五装置接收为第二命令做出的对与该系统资源相对应的令牌的第二请求。
20.如权利要求18所述的设备,其中,还包括输入/输出控制器IOC,该输入/输出控制器IOC被适配为:
接收需要系统资源的第一命令;以及
接收需要该系统资源的第二命令。
21.如权利要求18所述的设备,其中,还包括令牌管理器,该令牌管理器被适配为:
接收为第一命令做出的对该系统资源的第一请求;以及
接收为第二命令做出的对该系统资源的第二请求。
22.如权利要求21所述的设备,其中,令牌管理器还被适配为:在该系统资源被指派给第二命令之后,接收为第二命令做出的对该系统资源的第二请求。
23.如权利要求18所述的设备,其中,还包括令牌请求器,该令牌请求器被适配为将该系统资源指派给第二命令。
24.如权利要求23所述的设备,其中,令牌请求器还被适配为将该系统资源指派给第一命令。
25.一种用于管理系统资源分配的设备,包括:
第一装置,接收需要第一系统资源的第一命令,其中,第一命令具有第一优先级;
第二装置,接收为第一命令做出的对第一系统资源的第一请求;
第三装置,接收需要第一系统资源的第二命令,其中,第二命令具有第一优先级;
第四装置,基于第一优先级,将第一系统资源指派给第二命令;以及
第五装置,接收为第二命令做出的对第一系统资源的第二请求。
26.如权利要求25所述的设备,其中,:
第二装置接收为第一命令做出的对与第一系统资源相对应的令牌的第一请求;
第四装置将与第一系统资源相对应的令牌指派给第二命令;以及
第五装置接收为第二命令做出的对与第一系统资源相对应的令牌的第二请求。
27.如权利要求25所述的设备,其中,还包括输入/输出控制器IOC,该输入/输出控制器IOC被适配为:
接收需要第一系统资源的第一命令,其中,第一命令具有第一优先级;以及
接收需要第一系统资源的第二命令,其中,第二命令具有第一优先级。
28.如权利要求27所述的设备,其中,所述输入/输出控制器IOC还被适配为接收需要第一系统资源或第二系统资源中的至少一个的第三命令,其中,第三命令具有第二优先级。
29.如权利要求28所述的设备,还包括:
接收为第三命令做出的对所需要的系统资源的请求的装置;以及
基于第二优先级,将所需要的系统资源指派给第三命令的装置。
30.如权利要求25所述的设备,还包括令牌管理器,该令牌管理器被适配为:
接收为第一命令做出的对第一系统资源的第一请求;以及
接收为第二命令做出的对第一系统资源的第二请求。
31.如权利要求30所述的设备,其中,令牌管理器还被适配为:在第一系统资源被指派给第二命令之后,接收为第二命令做出的对第一系统资源的第二请求。
32.如权利要求25所述的设备,还包括令牌请求器,该令牌请求器被适配为基于第一优先级将第一系统资源指派给第二命令。
33.如权利要求32所述的设备,其中,令牌请求器还被适配为将第一系统资源指派给第一命令。
34.一种用于管理系统资源分配的设备,包括:
第一装置,接收需要多个低需求系统资源中的第一个和第二系统资源的第一命令,其中,对第二系统资源的需求高;
第二装置,将所述多个低需求系统资源中的第一个指派给第一命令;
第三装置,在将所述多个低需求系统资源中的第一个指派给第一命令之后,接收为第一命令做出的对第二系统资源的请求;
第四装置,接收需要所述多个低需求系统资源中的第二个和第二系统资源的第二命令;
第五装置,将所述多个低需求系统资源中的第二个指派给第二命令;
第六装置,在将所述多个低需求系统资源中的第二个指派给第二命令之后,将第二系统资源指派给第二命令;以及
第七装置,接收为第二命令做出的对第二系统资源的第二请求。
35.如权利要求34所述的设备,其中:
第二装置将对应于所述多个低需求系统资源中的第一个的令牌指派给第一命令;
第三装置接收为第一命令做出的对与第二系统资源相对应的令牌的请求;
第五装置将对应于所述多个低需求系统资源中的第二个的令牌指派给第二命令;以及
第六装置将对应于第二系统资源的令牌指派给第二命令。
36.如权利要求34所述的设备,还包括输入/输出控制器IOC,该输入/输出控制器IOC被适配为:
接收需要所述多个低需求系统资源中的第一个和第二系统资源的第一命令,其中,对第二系统资源的需求高;以及
接收需要所述多个低需求系统资源中的第二个和第二系统资源的第二命令。
37.如权利要求34所述的设备,还包括令牌管理器,该令牌管理器被适配为:
接收为第一命令做出的对第二系统资源的请求;以及
接收为第二命令做出的对第二系统资源的第二请求。
38.如权利要求37所述的设备,其中,该令牌管理器还被适配为:在第二系统资源被指派给第二命令之后,接收为第二命令做出的对第二系统资源的第二请求。
39.如权利要求34所述的设备,还包括令牌请求器,该令牌请求器被适配为:
将所述多个低需求系统资源中的第一个指派给第一命令;
将所述多个低需求系统资源中的第二个指派给第二命令;以及
在将所述多个低需求系统资源中的第二个指派给第二命令之后,将第二系统资源指派给第二命令。
40.如权利要求39所述的设备,其中,令牌请求器还被适配为将第二系统资源指派给第一命令.
41.如权利要求34所述的设备,其中:
所述多个低需求系统资源包括存储器;以及
第二系统资源包括总线带宽。
CN2005100544533A 2004-07-29 2005-03-10 资源分配管理方法和设备 Expired - Fee Related CN1728118B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/901,547 2004-07-29
US10/901,547 US8490102B2 (en) 2004-07-29 2004-07-29 Resource allocation management using IOC token requestor logic

Publications (2)

Publication Number Publication Date
CN1728118A CN1728118A (zh) 2006-02-01
CN1728118B true CN1728118B (zh) 2010-05-12

Family

ID=35733888

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005100544533A Expired - Fee Related CN1728118B (zh) 2004-07-29 2005-03-10 资源分配管理方法和设备

Country Status (3)

Country Link
US (1) US8490102B2 (zh)
CN (1) CN1728118B (zh)
TW (1) TWI380182B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0422276D0 (en) * 2004-10-07 2004-11-10 Nokia Corp Controller
US8904400B2 (en) * 2007-09-11 2014-12-02 2236008 Ontario Inc. Processing system having a partitioning component for resource partitioning
US8850154B2 (en) * 2007-09-11 2014-09-30 2236008 Ontario Inc. Processing system having memory partitioning
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
US9417998B2 (en) 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
US8909567B2 (en) 2012-02-20 2014-12-09 Xerox Corporation Method and system for the dynamic allocation of resources based on fairness, throughput, and user behavior measurement
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
CN103813481A (zh) * 2013-09-23 2014-05-21 杭州优能通信系统有限公司 一种智能终端设备及其业务处理方法
US9026699B2 (en) * 2013-09-23 2015-05-05 Seagate Technology Llc Command execution using existing address information
CN107067240B (zh) 2016-12-12 2020-09-08 创新先进技术有限公司 资源调配方法和装置以及电子支付方法
US11500824B1 (en) 2017-04-03 2022-11-15 Amazon Technologies, Inc. Database proxy
US11392603B1 (en) 2017-04-03 2022-07-19 Amazon Technologies, Inc. Database rest API
US11106540B1 (en) * 2017-04-03 2021-08-31 Amazon Technologies, Inc. Database command replay
US11182496B1 (en) 2017-04-03 2021-11-23 Amazon Technologies, Inc. Database proxy connection management
US11734278B2 (en) 2021-10-19 2023-08-22 Salesforce, Inc. Cache management for multiple tenants
US12105715B2 (en) * 2021-10-19 2024-10-01 Salesforce, Inc. Tenant identification for cache keys

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761734A (en) * 1996-08-13 1998-06-02 International Business Machines Corporation Token-based serialisation of instructions in a multiprocessor system

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4574350A (en) * 1982-05-19 1986-03-04 At&T Bell Laboratories Shared resource locking apparatus
US5542076A (en) * 1991-06-14 1996-07-30 Digital Equipment Corporation Method and apparatus for adaptive interrupt servicing in data processing system
US5428796A (en) * 1992-08-26 1995-06-27 International Business Machines Corporation System and method for regulating access to direct access storage devices in data processing systems
US5708814A (en) * 1995-11-21 1998-01-13 Microsoft Corporation Method and apparatus for reducing the rate of interrupts by generating a single interrupt for a group of events
US6233645B1 (en) * 1998-11-02 2001-05-15 Compaq Computer Corporation Dynamically disabling speculative prefetch when high priority demand fetch opportunity use is high
US6651125B2 (en) * 1999-09-28 2003-11-18 International Business Machines Corporation Processing channel subsystem pending I/O work queues based on priorities
US6662278B1 (en) * 2000-09-22 2003-12-09 Intel Corporation Adaptive throttling of memory acceses, such as throttling RDRAM accesses in a real-time system
EP1191453B1 (de) * 2000-09-22 2008-11-12 Infineon Technologies AG Vorrichtung zur Auswahl und Weiterleitung von empfangenen Unterbrechungsanfragen gemäss konfigurierbarer Konditionen
US6772352B1 (en) * 2000-09-29 2004-08-03 Intel Corporation Method and apparatus for reducing the rate of commands being issued if the rate exceeds a threshold which is based upon a temperature curve
US7032222B1 (en) * 2000-10-13 2006-04-18 Hewlett-Packard Development Company, L.P. Method and system for determining resource allocation to users by granting request based on user associated different limits and resource limit
US6842428B2 (en) * 2001-01-08 2005-01-11 Motorola, Inc. Method for allocating communication network resources using adaptive demand prediction
US7561734B1 (en) * 2002-03-02 2009-07-14 Science Applications International Corporation Machine learning of document templates for data extraction
US6978330B1 (en) * 2002-04-04 2005-12-20 Applied Micro Circuits Corporation Shared resource access via declarations that contain a sequence number of a packet
US6965965B2 (en) * 2002-06-06 2005-11-15 International Business Machines Corporation Dynamic response shaping for command aging
US7054968B2 (en) * 2003-09-16 2006-05-30 Denali Software, Inc. Method and apparatus for multi-port memory controller
US6996647B2 (en) * 2003-12-17 2006-02-07 International Business Machines Corporation Token swapping for hot spot management
US7120717B2 (en) * 2004-02-13 2006-10-10 Hewlett-Packard Development Company, L.P. Method and apparatus for controlling interrupt storms
US7487503B2 (en) * 2004-08-12 2009-02-03 International Business Machines Corporation Scheduling threads in a multiprocessor computer

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761734A (en) * 1996-08-13 1998-06-02 International Business Machines Corporation Token-based serialisation of instructions in a multiprocessor system

Also Published As

Publication number Publication date
US8490102B2 (en) 2013-07-16
US20060026598A1 (en) 2006-02-02
CN1728118A (zh) 2006-02-01
TW200627168A (en) 2006-08-01
TWI380182B (en) 2012-12-21

Similar Documents

Publication Publication Date Title
CN1728118B (zh) 资源分配管理方法和设备
JP4456490B2 (ja) Dma装置
CN101606130B (zh) 在处理器系统的指令级使能资源分配标识的方法和装置
US9086920B2 (en) Device for managing data buffers in a memory space divided into a plurality of memory elements
US9875139B2 (en) Graphics processing unit controller, host system, and methods
CN103365794B (zh) 数据处理方法、装置和系统
CN104321758A (zh) 经由共享存储器结构的仲裁存储器访问
JP7506096B2 (ja) 計算資源の動的割り当て
JPH06236344A (ja) 複数データ転送要求間の仲裁方法と装置
US8213461B2 (en) Method of designating slots in a transmission frame for controlling transmission of data over an interconnect coupling a plurality of master units with a plurality of slave units
CN111104219A (zh) 虚拟核心与物理核心的绑定方法、装置、设备及存储介质
US7353338B2 (en) Credit mechanism for multiple banks of shared cache
CN109840877A (zh) 一种图形处理器及其资源调度方法、装置
US7552285B2 (en) Line fill techniques
US20150212859A1 (en) Graphics processing unit controller, host system, and methods
CN106681948A (zh) 可编程逻辑器件的逻辑控制方法及装置
CN116483536B (zh) 数据调度方法、计算芯片及电子设备
CN115525343A (zh) 一种并行译码的方法、处理器、芯片及电子设备
US20110022712A1 (en) Multiprocessor computer and network computing system
CN115878517A (zh) 存储器装置、存储器装置的操作方法和电子装置
CN101196835B (zh) 用于在线程之间通信的方法和装置
JP2004126642A (ja) ソフトウェアライセンス管理装置、ソフトウェアライセンス管理プログラム、ソフトウェアライセンス管理方法およびソフトウェアライセンス管理システム
CN100573489C (zh) 经由流动id方法的dmac发布机制
US6486884B1 (en) Apparatus for accessing memory in a video system and method thereof
US7818504B2 (en) Storage system that prioritizes storage requests

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
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: 20100512

Termination date: 20190310