CN111033480A - 使用以处理器为基础的系统中用于分区资源的内插而提供精细度的服务质量控制 - Google Patents

使用以处理器为基础的系统中用于分区资源的内插而提供精细度的服务质量控制 Download PDF

Info

Publication number
CN111033480A
CN111033480A CN201880053700.3A CN201880053700A CN111033480A CN 111033480 A CN111033480 A CN 111033480A CN 201880053700 A CN201880053700 A CN 201880053700A CN 111033480 A CN111033480 A CN 111033480A
Authority
CN
China
Prior art keywords
resource
memory
partition
allocation
cache
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.)
Granted
Application number
CN201880053700.3A
Other languages
English (en)
Other versions
CN111033480B (zh
Inventor
D·R·霍华
C·A·瓦尔德斯普盖尔
V·塞西
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN111033480A publication Critical patent/CN111033480A/zh
Application granted granted Critical
Publication of CN111033480B publication Critical patent/CN111033480B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0848Partitioned cache, e.g. separate instruction and operand caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
    • 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/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • 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/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/282Partitioned cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/70Details relating to dynamic memory management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

公开使用以处理器为基础的系统中用于分区资源的内插而提供精细度的服务质量QoS控制。就此来说,在一个方面中,以处理器为基础的系统提供分区资源(例如系统高速缓冲存储器或到共享系统存储器的存储器存取带宽),所述分区资源再分为多个分区并被配置成为多个资源客户端服务。所述以处理器为基础的系统的资源分配代理提供多个分配指示符,其对应于资源客户端与分区的每一组合并指示针对每一资源客户端的每一分区的分配。所述资源分配代理基于所述多个分配指示符的内插而在所述资源客户端之间分配所述分区资源。因为每一分配指示符对于资源客户端与分区的每一组合可为不同的,所以所述分配指示符的内插为每一资源客户端提供较高分辨率聚合资源分配。

Description

使用以处理器为基础的系统中用于分区资源的内插而提供精 细度的服务质量控制
优先权申请
本申请要求2017年8月29日提交的标题为“使用以处理器为基础的系统中用于分区资源的内插而提供精细度的服务质量控制”的美国专利申请序列号15/689,543的优先权,所述美国专利申请以引用方式全文并入本文中。
技术领域
本公开的技术大体上涉及以处理器为基础的系统中的分区资源,且具体地说涉及用于分区资源的服务质量(QoS)机构。
背景技术
常规以处理器为基础的系统提供资源(例如系统高速缓冲存储器及/或存储器存取带宽),其可在多个资源客户端之间共享。为增加并行度,资源可再分为可大部分彼此独立地操作及/或存取的多个分区。举例来说,系统高速缓冲存储器(例如,作为非限制性实例,末阶高速缓存)可分区成多个“切片”或“例项”,各自提供相同数目个高速缓存通路。通过不同资源客户端进行的高速缓存存取操作可使用常规地址到分区映射技术基于例如高速缓存存取操作的存储器地址的散列而指配给高速缓冲存储器分区中的一个。
为促进共享,服务质量(QoS)机构可在不同资源客户端之间选择性地分配资源的部分,不同资源客户端可根据不同优先权、相对重要性及/或性能目标操作。举例来说,在上文所描述的高速缓存实例中,对应于资源客户端的“通路屏蔽”(即,包含每一高速缓存通路的位的位屏蔽)可用于分配用于每一高速缓冲存储器分区的高速缓存通道的子集以供所述资源客户端使用。作为非限制性实例,20通路组联高速缓存可再分为八个(8)分区,其中每一资源客户端的通路屏蔽具有20个位以指示20个通路中的哪一个经分配到所述资源客户端。因为每一资源客户端的通路屏蔽应用于所有分区,所以可分配到每一资源客户端的最小高速缓存空间为5%,或在八(8)个分区内的20个通路中的一个(1)。
同样地,还可使用在概念上类似的控制分配存储器存取带宽。作为实例,以处理器为基础的系统可提供四个(4)存储器控制器作为存储器存取带宽提供者。每一资源客户端可经指配四个(4)位的“存储器步幅值”以指示对于存储器带宽的请求如何经加权用于所述资源客户端,其中较低存储器步幅值指示较高权重。因为存储器步幅值可具有16个不同值(即0到15),所以可经分配到每一资源客户端的最小存储器存取带宽为总存储器存取带宽的6.25%(或1/16)。
然而,精细度的QoS控制可为分配共享资源所需要。上文所描述的QoS机构允许仅仅相对粗糙控制,其限制分配分辨率并抑制可存取给定共享资源的资源客户端的数目。此外,用于实施精细度的QoS控制的许多机构可导致较高硬件实施成本。
发明内容
根据本公开的方面包含使用以处理器为基础的系统中用于分区资源的内插而提供精细度的服务质量(QoS)控制。就此来说,在一个方面中,以处理器为基础的系统提供分区资源(即,作为非限制性实例,系统高速缓冲存储器或到共享系统存储器的存储器存取带宽),所述分区资源再分为多个分区且被配置成为多个资源客户端服务。对于资源客户端与分区的每一组合,分配指示符经提供以指示针对资源客户端的分区的分配。作为非限制性实例,其中分区资源为具有多个通路的分区高速缓存的方面可提供分配指示符以指示分区的多少通路可分配到资源客户端。类似地,其中分区资源为多个存储器存取带宽提供者的方面可规定分配指示符指示在执行资源客户端的存储器存取操作时待通过存储器控制器应用的步幅。
因为每一分配指示符对于资源客户端与分区的每一组合可为不同的,所以所述分配指示符的内插为每一资源客户端提供较高分辨率聚合资源分配。举例来说,如果分区资源为分成四个(4)分区的10通路组联高速缓存,那么常规QoS机构将仅仅允许高速缓存以10%的最小分辨率(即,最小分配为10个中的1个通路)来分配。然而,根据本文所公开的方面,给定资源客户端的分配指示符对于每一分区可变化。作为非限制性实例,资源客户端可经分配第一及第二分区的50%,及第三及第四分区的60%。此导致用于资源客户端的55%的高速缓存的总聚合分配。
在另一方面中,公开一种用于提供分区资源的精细度的QoS控制的以处理器为基础的系统。所述以处理器为基础的系统包括经再分为多个分区且被配置成为多个资源客户端服务的分区资源。所述以处理器为基础的系统进一步包括资源分配代理及多个分配指示符,每一分配指示符对应于所述多个分区中的一分区及多个资源客户端中的一资源客户端,且表示针对资源客户端的分区的分配。资源分配代理被配置成基于用于所述多个资源客户端中的每一资源客户端的所述多个分配指示符的内插在所述多个资源客户端之间分配分区资源。
在另一方面中,公开一种用于提供分区资源的精细度的QoS控制的以处理器为基础的系统。所述以处理器为基础的系统包括用于基于多个分配指示符的内插在多个资源客户端之间分配分区资源的装置,所述分区资源再分为多个分区,每一分配指示符对应于所述多个分区中的一分区及多个资源客户端中的一资源客户端,且表示针对资源客户端的分区的分配。
在另一方面中,公开一种用于提供分区资源的精细度的QoS控制的方法。所述方法包括通过以处理器为基础的系统的资源分配代理基于多个分配指示符的内插在多个资源客户端之间分配分区资源,所述分区资源再分为多个分区,每一分配指示符对应于所述多个分区中的一分区及多个资源客户端中的一资源客户端,且表示针对资源客户端的分区的分配。
在另一方面中,提供一种非暂时性计算机可读媒体。所述非暂时性计算机可读媒体在上面存储计算机可执行指令,所述计算机可执行指令在由处理器执行时促使所述处理器基于多个分配指示符的内插在多个资源客户端之间分配分区资源,所述分区资源再分为多个分区,每一分配指示符对应于所述多个分区中的一分区及多个资源客户端中的一资源客户端,且表示针对资源客户端的分区的分配。
附图说明
图1为用于通过采用资源分配代理及分配指示符使用分区资源的内插而提供精细度的服务质量(QoS)控制的示例性以处理器为基础的系统的框图;
图2为包含系统高速缓冲存储器及高速缓存控制器的图1的以处理器为基础的系统的示例性实施的框图;
图3为绘示通过图2的高速缓存控制器进行以提供图2的系统高速缓冲存储器的精细度的QoS控制的分配指示符的示例性内插的框图;
图4为包含共享系统存储器及存储器管理单元(MMU)的图1的基于处理器的系统的示例性实施的框图;
图5为绘示通过图4的MMU进行以提供用于图4的共享系统存储器的存储器存取带宽的精细度的QoS控制的分配指示符的示例性内插的框图;
图6为绘示用于通过图1的资源分配代理使用用于分区资源的内插而提供精细度的QoS控制的示例性程序的流程图;
图7为绘示用于接收存取请求并指配存取请求给分区资源的分区的图1的资源分配代理的其它示例性操作的流程图;且
图8为可包含图1的资源分配代理的示例性以处理器为基础的系统的框图。
具体实施方式
现参考附图,描述本公开的若干示例性方面。词语“示例性”在本文中用以意味着“充当实例、例子或说明”。本文中被描述为“示例性”的任何方面未必被认作比其它方面优选或更有利。
公开于具体实施方式中的方面包含使用以处理器为基础的系统中用于分区资源的内插而提供精细度的服务质量(QoS)控制。就此来说,图1绘示包含中央处理单元(CPU)102及在多个资源客户端106(0)到106(C)之间共享的分区资源104的示例性以处理器为基础的系统100。根据一些方面的分区资源104可包括系统高速缓冲存储器(例如末阶高速缓存),及/或可经由多个存储器控制器(图中未绘示)存取的共享系统存储器的存储器存取带宽。作为非限制性实例,资源客户端106(0)到106(C)可包括并行执行的软件程序、虚拟机、硬件装置,或被配置成存取分区资源104的其它实体。应理解,图1的以处理器为基础的系统100可涵盖已知数字逻辑元件、半导体电路及处理核心中的任一者,及/或存储器结构、以及其它元件或其组合。本文中所描述的方面并不限于任何特定的元件的布置,且所公开的技术可容易地延伸到半导体模具或封装上的各种结构及布局。应理解,以处理器为基础的系统100的一些方面可包含除图1中所绘示的那些元件以外的元件。
为促进通过分区资源104的资源客户端106(0)到106(C)的并行使用,以处理器为基础的系统100规定分区资源104再分为多个分区108(0)到108(P),其中的每一个可进一步分成可在资源客户端106(0)到106(C)之间选择性分配的子单元。举例来说,在其中分区资源104包括系统高速缓冲存储器(例如,末阶高速缓存,作为非限制性实例)的以处理器为基础的系统100的方面中,分区108(0)到108(P)可包括高速缓存“切片”或“例项”,其中的每一个提供相同数目个高速缓存通路。类似地,分区资源104包括用于共享系统存储器的存储器存取带宽提供者的以处理器为基础的系统100的方面可规定:分区108(0)到108(P)中的每一个包括存储器存取带宽提供者,例如一存储器控制器。在两个方面中,来自资源客户端106(0)到106(C),例如资源客户端106(0)的存取请求110基于例如与存取请求110相关联的存储器地址的散列而指配给分区108(0)到108(P)中的一个。
然而,如上文所提及,用于在资源客户端106(0)到106(C)之间分配分区资源104的常规QoS机构不可能提供足够分配分辨率(即,可通过QoS机构分配的分区资源104的最小可分配部分对于精确分配来说仍可能过大)。此外,这些粗糙的QoS机构可对可存取给定共享资源的资源客户端的数目强加固有限制。因此,需要实施精细度的QoS机构以提供较高分配分辨率而不招致过度较高硬件实施成本。
就此来说,图1的以处理器为基础的系统100提供资源分配代理112。虽然资源分配代理112在图1中绘示为独立元件,但在一些方面中,资源分配代理112可集成到CPU102中、集成到高速缓存控制器(图中未绘示)或存储器管理单元(MMU)(图中未绘示)中、集成到以处理器为基础的系统100的其它元件中或跨越以处理器为基础的系统100的其它元件分布,及/或部分通过软件实体(图中未绘示),例如由以处理器为基础的系统100的CPU 102执行的操作系统或超管理器来实施。资源分配代理112采用与分区108(0)到108(P)相关联的多个分配指示符114(0)到114(C)、114'(0)到114'(C)。分配指示符114(0)到114(C)、114'(0)到114'(C)中的每一个对应于资源客户端106(0)到106(C)中的一个与分区108(0)到108(P)中的一个的独特组合,且表示针对对应资源客户端106(0)到106(C)的分区108(0)到108(P)的分配。举例来说,在图1中,假设分配指示符114(0)对应于用于资源客户端106(0)的分区108(0),而分配指示符114'(0)对应于用于资源客户端106(0)的分区108(P)。取决于存取请求110是指配给分区108(0)还是分区108(P),分配指示符114(0)或分配指示符114'(0)将由资源分配代理112使用以确定对应分区108(0)、108(P)中的多少可被分配到资源客户端106(0)以满足存取请求110。
不同于常规QoS机构,用于资源客户端106(0)到106(C)中的给定资源客户端的分配指示符114(0)到114(C)、114'(0)到114'(C)中的每一个可跨越不同分区108(0)到108(P)而变化。结果,例如资源客户端106(0)的资源客户端可经分配分区108(0)到108(P)中的每一个的不同部分。通过内插不同分配指示符114(0)到114(C)、114'(0)到114'(C),可达到较高分配分辨率,因此使得分区资源104的较小部分能够在必要时被分配到资源客户端106(0)到106(C)中的每一个。
为绘示以处理器为基础的系统100的示例性方面,提供图2到5。图2绘示图1的以处理器为基础的系统100的示例性实施,其中分区资源104包括系统高速缓冲存储器且资源分配代理112包括高速缓存控制器,而图4绘示图1的以处理器为基础的系统100的示例性实施,其中分区资源104包括用于共享系统存储器的存储器存取带宽提供者且资源分配代理112包括MMU。图3及5经提供以绘示分配指示符114(0)到114(C)、114'(0)到114'(C)的内插如何在前述方面中的每一个中提供精细度的QoS控制。
如图2中所见,以处理器为基础的系统100的一个方面可提供对应于图1的资源分配代理112的高速缓存控制器200。图2进一步提供对应于图1的分区资源104的系统高速缓冲存储器202,及对应于图1的分区108(0)到108(P)的多个高速缓冲存储器分区204(0)到204(H)。因此,本文中关于图1的资源分配代理112、分区资源104及分区108(0)到108(P)的公开内容分别应用于图2的高速缓存控制器200、系统高速缓冲存储器202及高速缓冲存储器分区204(0)到204(H)。作为非限制性实例,系统高速缓冲存储器202可包括1阶(L1)高速缓存、2阶(L2)高速缓存、3阶(L3)高速缓存及/或末阶高速缓存。在接收包括存储器地址208的高速缓存存取请求206后,高速缓存控制器200指配高速缓存存取请求206给高速缓冲存储器分区204(0)到204(H)中的一个(例如基于存储器地址208的散列)。
在图2的实例中的分配指示符114(0)到114(C)、114'(0)到114'(C)各自包括提供多个位指示符(图中未绘示)的通路屏蔽(图中未绘示)。分配指示符114(0)到114(C)、114'(0)到114'(C)的每一位指示符对应于系统高速缓冲存储器202的高速缓冲存储器分区204(0)到204(H)中的一个的一个通路,且指示对应通路是否已分配到相关联资源客户端106(0)到106(C)。使用通过分配指示符114(0)到114(C)、114'(0)到114'(C)提供的通路屏蔽,高速缓存控制器200分配经指配高速缓冲存储器分区204(0)到204(H)的一部分以代表资源客户端106(0)到106(C)进行高速缓存存取请求206。
图3提供在图2的实例中的分配指示符114(0)到114(C)、114'(0)到114'(C)可如何经内插以提供图2的系统高速缓冲存储器202的精细度的QoS控制的更详细说明。在此实例中,假设高速缓冲存储器分区204(0)到204(H)的数目为四(即,H=3),且进一步假设系统高速缓冲存储器202的高速缓冲存储器分区204(0)到204(3)由10个通路组成。因此,分配指示符114(0)到114(3)、114'(0)到114'(3)提供通路屏蔽300(0)到300(3)、300'(0)到300'(3),其中的每一个是由对应于10个通路的10个位组成。分配指示符114(0)到114(3)分别表示针对资源客户端106(0)的系统高速缓冲存储器202的高速缓冲存储器分区204(0)到204(3)的分配。分配指示符114'(0)到114'(3)分别表示针对资源客户端106(C)的系统高速缓冲存储器202的高速缓冲存储器分区204(0)到204(3)的分配。
因为在此实例中的系统高速缓冲存储器202由10个通路组成,所以常规QoS机构将能够仅仅以10%的增量分配系统高速缓冲存储器202。然而,通过内插分配指示符114(0)到114(3)、114'(0)到114'(3)以确定针对资源客户端106(0)、106(C)的系统高速缓冲存储器202的聚合分配,可达到较高分配分辨率。在图3的实例中,替代10%的分辨率,系统高速缓冲存储器202可通过在高速缓冲存储器分区204(0)到204(3)中的一个(1)中分配一个(1)通路,及在剩余的高速缓冲存储器分区204(0)到204(3)中分配零个(0)通路而以小如2.5%(即,在此实例中,通路的数目(10)除以高速缓冲存储器分区204(0)到204(3)的数目)的增量分配。应理解,上文所论述的百分比特定针对于图3的实例,且可在一些方面中根据通路的数目及高速缓冲存储器分区204(0)到204(H)的数目而变化。
在图3的实例中,分配指示符114(0)及114(1)具有设定为一(1)值的前五个(5)位指示符,其指示高速缓冲存储器分区204(0)及204(1)的前五个(5)通路(即,50%)分别分配到资源客户端106(0)。分配指示符114(2)及114(3)具有设定为一(1)值的前六个(6)位指示符,其指示高速缓冲存储器分区204(2)及204(3)的前六个(6)通路(即,60%)分别分配到资源客户端106(0)。因此,针对资源客户端106(0)的系统高速缓冲存储器202的总聚合分配为55%(即,(50+50+60+60)/4)。同样地,分配指示符114'(0)及114'(1)具有设定为一(1)值的后五个(5)位指示符,其指示高速缓冲存储器分区204(0)及204(1)的后五个(5)通路(即50%)分别分配到资源客户端106(C)。分配指示符114'(2)及114'(3)具有设定为一(1)值的后四个(4)位指示符,其指示高速缓冲存储器分区204(2)及204(3)的后四个(4)通路(即,40%)分别分配到资源客户端106(C)。针对资源客户端106(C)的系统高速缓冲存储器202的总聚合分配因此为45%(即,(50+50+40+40)/4),使用具有较粗糙分辨率的常规QoS机构将是不可能的分配。
现参考图4,在另一方面中,图1的以处理器为基础的系统100可提供对应于图1的资源分配代理112的MMU 400、对应于图1的分区资源104的存储器存取带宽提供者402,及对应于图1的分区108(0)到108(P)的多个存储器控制器404(0)到404(M)。本文中关于图1的资源分配代理112、分区资源104及分区108(0)到108(P)的公开内容因此可分别应用于图4的MMU 400、存储器存取带宽提供者402及存储器控制器404(0)到404(M)。以处理器为基础的系统100还包含可通过资源客户端106(0)到106(C)经由存储器控制器404(0)到404(M)存取的共享系统存储器406。在一些方面中,作为非限制性实例,共享系统存储器406可包括动态随机存取存储器(DRAM)。
在图4的实例中,分配指示符114(0)到114(C)、114'(0)到114'(C)各自包括指示与对于对应资源客户端106(0)到106(C)的存储器存取带宽的请求相关联的权重的存储器步幅值(图中未绘示)。在一些方面中,存储器步幅值与指配给对于存储器存取带宽的请求的权重成反比,使得较低存储器步幅值指示较高权重。当MMU 400接收包括存储器地址410的存储器存取请求408时,MMU 400指配待由存储器控制器404(0)到404(M)中的一个处置的存储器存取请求408。作为非限制性实例,存储器存取请求408可基于存储器地址410的散列而指配给存储器控制器404(0)到404(M)中的一个。
图5更详细地绘示图4的存储器存取带宽提供者402的精细度的QoS控制可如何通过内插分配指示符114(0)到114(C)、114'(0)到114'(C)而提供。在图5中,假设存储器控制器404(0)到404(M)的数目为四(即,M=3)。分配指示符114(0)到114(3)、114'(0)到114'(3)提供存储器步幅值500(0)到500(3)、500'(0)到500'(3),其具有四个(4)位的大小且指示指配给对于对应资源客户端106(0)到106(C)及存储器控制器404(0)到404(3)的存储器存取带宽的请求的相对权重。具体地说,分配指示符114(0)到114(3)分别表示针对资源客户端106(0)的存储器存取带宽提供者402的存储器控制器404(0)到404(3)的分配,而分配指示符114'(0)到114'(3)分别表示针对资源客户端106(C)的存储器存取带宽提供者402的存储器控制器404(4)到404(3)的分配。
因为对于四位存储器步幅值500(0)到500(3)、500'(0)到500'(3)中的每一个存在16个可能值,所以常规QoS机构将能够仅仅以6.25%(即1/16)的增量分配存储器存取带宽提供者402。然而,在图5的实例中,较高分配分辨率可通过内插分配指示符114(0)到114(3)、114'(0)到114'(3)以提供分数存储器步幅值用于资源客户端106(0)、106(C)来达成。在图5的实例中,替代6.25%的分辨率,存储器存取带宽提供者402可通过选择存储器控制器404(0)到404(M)中的一个(1)的为一(1)的存储器步幅值500(0)到500(3)、500'(0)到500'(3),及选择剩余存储器控制器404(0)到404(3)中的为零(0)的存储器步幅值500(0)到500(3)、500'(0)到500'(3)而以小如1.5625%(即,在此实例中,1/16除以存储器控制器404(0)到404(3)的数目)的增量分配。应理解,上文所论述百分比特定针对于图5的实例,且可在一些方面中根据存储器步幅值500(0)到500(3)、500'(0)到500'(3)的大小及存储器控制器404(0)到404(3)的数目而变化。
如图5中所见,分配指示符114(0)及114(1)已分别经指配存储器步幅值500(0)及500(1),各自具有为二(2)的值。分配指示符114(2)及114(3)已分别经指配存储器步幅值500(2)及500(3),其中的每一个具有为一(1)的值。因此,用于资源客户端106(0)的存储器存取带宽提供者402的总聚合存储器步幅值为1.5。类似地,分配指示符114'(0)及114'(1)已分别经指配存储器步幅值500'(0)及500'(1),各自具有为四(4)的值,而分配指示符114'(2)及114'(3)已分别经指配存储器步幅值500'(2)及500'(3),各自具有为三(3)的值。用于资源客户端106(C)的存储器存取带宽提供者402的总聚合存储器步幅值因此为3.5。
图6绘示用于使用用于分区资源104的内插而提供精细度的QoS控制的图1的以处理器为基础的系统100及资源分配代理112的示例性操作。为清楚起见,在描述图6时参考图1的元件。在图6中,操作以以处理器为基础的系统100提供分区资源104开始(框600),所述分区资源再分为多个分区108(0)到108(P)且被配置成为多个资源客户端106(0)到106(C)服务。就此来说,以处理器为基础的系统100在本文中可被称作“用于提供再分为多个分区且被配置成为多个资源客户端服务的分区资源的装置”。
资源分配代理112(例如,作为非限制性实例,图2的高速缓存控制器200及/或图4的MMU 400)接着基于多个分配指示符114(0)到114(C)、114'(0)到114'(C)的内插在所述多个资源客户端106(0)到106(C)之间分配分区资源104,每一分配指示符对应于所述多个分区108(0)到108(P)中的一分区108(0)到108(P)及所述多个资源客户端106(0)到106(C)中的一资源客户端106(0)到106(C),并表示针对资源客户端106(0)到106(C)的分区108(0)到108(P)的分配(框602)。因此,资源分配代理112在本文中可被称作“用于基于多个分配指示符的内插在多个资源客户端之间分配分区资源的装置,每一分配指示符对应于所述多个分区中的一分区及多个资源客户端中的一资源客户端,且表示针对资源客户端的分区的分配”。
为绘示用于接收存取请求(例如图1的存取请求110)并指配所述存取请求给分区资源104的分区108(0)到108(P)的图1的资源分配代理112的其它示例性操作,提供图7。为清楚起见,在描述图7时参考图1到5的元件。图7中的操作开始于资源分配代理112从所述多个资源客户端106(0)到106(C)中的一资源客户端106(0)到106(C)接收对于分区资源104的存取请求110(框700)。在提供图2的系统高速缓冲存储器202的以处理器为基础的系统100的方面中,用于接收存取请求110的框700的操作可通过高速缓存控制器200实施,且可包括接收包括存储器地址208的高速缓存存取请求206(框702)。同样地,包含图4的共享系统存储器406的以处理器为基础的系统100的方面可规定用于接收存取请求110的框700的操作可通过MMU 400实施,且可包括接收包括存储器地址410的存储器存取请求408(框704)。
接下来,存取请求110经指配给分区资源104的分区108(0)到108(P)(框706)。根据图2及3中所绘示的方面用于指配存取请求110的框706的操作可包括基于存储器地址208的散列选择系统高速缓冲存储器202的多个高速缓冲存储器分区204(0)到204(H)中的一高速缓冲存储器分区204(0)到204(H)(框708)。在图4及5中所绘示的方面中,用于指配存取请求110的框706的操作可包括基于存储器地址410的散列选择所述多个存储器控制器404(0)到404(M)中的一存储器控制器404(0)到404(M)来存取存储器存取带宽(框710)。资源分配代理112(例如,作为非限制性实例,图2的高速缓存控制器200及/或图4的MMU 400)基于多个分配指示符114(0)到114(C)、114'(0)到114'(C)中的一分配指示符114(0)到114(C)、114'(0)到114'(C)将分区资源104的分区108(0)到108(P)的一部分分配到资源客户端106(0)到106(C),每一分配指示符对应于多个分区108(0)到108(P)中的一分区108(0)到108(P)及多个资源客户端106(0)到106(C)中的一资源客户端106(0)到106(C)(框712)。
根据本文所公开的方面使用以处理器为基础的系统中用于分区资源的内插而提供精细度的QoS控制可在任何以处理器为基础的装置中提供或集成到以处理器为基础的装置中。实例(非限制性地)包含机顶盒、娱乐单元、导航装置、通信装置、固定位置数据单元、移动位置数据单元、全球定位系统(GPS)装置、移动电话、蜂窝式电话、智能电话、会话起始协议(SIP)电话、平板计算机、平板手机、服务器、计算机、便携式计算机、移动计算装置、可佩戴式计算装置(例如,智能手表、保健或健康跟踪器、护目镜等)、台式计算机、个人数字助理(PDA)、监视器、计算机监视器、电视、调谐器、收音机、卫星收音机、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频光盘(DVD)播放器、便携式数字视频播放器、汽车、车辆组件、航电系统、无人机及多旋翼飞行器。
就此来说,图8绘示对应于图1、2及4的以处理器为基础的系统100并可采用图1中所绘示的资源分配代理112的以处理器为基础的系统800的实例。以处理器为基础的系统800包含一或多个CPU 802,各自包含一或多个处理器804。一或多个CPU 802可具有耦合到一或多个处理器804以用于快速存取暂时存储的数据且在一些方面中可包括图1的资源分配代理112的高速缓冲存储器806。一或多个CPU 802耦合到系统总线808且可将包含于以处理器为基础的系统800中的主控装置与从属装置相互耦合。如所熟知,一或多个CPU 802通过经由系统总线808交换地址、控制及数据信息而与这些其它装置通信。举例来说,一或多个CPU 802可将总线交易请求传达到作为从属装置的实例的存储器控制器810。根据一些方面,存储器控制器810可对应于图4的存储器控制器404(0)到404(M)。
其它主控装置及从属装置可连接到系统总线808。如图8中所绘示,作为实例,这些装置可包含存储器系统812、一或多个输入装置814、一或多个输出装置816、一或多个网络接口装置818及一或多个显示控制器820。在一些方面中,存储器系统812可包括图1的资源分配代理112。一或多个输入装置814可包含任何类型的输入装置,包含但不限于输入键、交换器、语音处理器等。一或多个输出装置816可包含任何类型的输出装置,包含但不限于音频、视频、其它视觉指示器等。一或多个网络接口装置818可为被配置成允许去到及来自网络822的数据交换的任何装置。网络822可为任何类型的网络,包含但不限于有线或无线网络、私用或公用网络、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、BLUETOOTHTM网络及因特网。一或多个网络接口装置818可被配置成支持任何类型的所要通信协议。存储器系统812可包含一或多个存储器单元824(0)到824(N)。
一或多个CPU 802还可被配置成经由系统总线808存取一或多个显示控制器820以控制发送到一或多个显示器826的信息。一或多个显示控制器820发送信息到一或多个显示器826以待经由一或多个视频处理器828显示,所述视频处理器处理所述信息而以适合于一或多个显示器826的格式来显示。一或多个显示器826可包含任何类型的显示器,包含但不限于阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器等。
所属领域的技术人员应进一步了解,结合本文中所公开的方面描述的各种说明性逻辑块、模块、电路及算法可实施为电子硬件、存储于存储器或另一计算机可读媒体中且由处理器或其它处理装置执行的指令,或这两者的组合。作为实例,本文中所描述的主控装置及从属装置可用于任何电路、硬件组件、集成电路(IC)或IC芯片中。本文中公开的存储器可为任何类型及大小的存储器,且可被配置成存储所需的任何类型的信息。为清楚地说明此互换性,上文已大体上就其功能性来说描述各种说明性组件、块、模块、电路及步骤。如何实施此功能性取决于特定应用、设计选项及/或强加于整个系统的设计约束。对于每一特定应用来说,所属领域的技术人员可针对每一特定应用而以变化的方式实施所描述的功能性,但不应将这些实施决策解译为致使脱离本公开的范围。
可通过处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或经设计以执行本文中所描述的功能的其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或执行结合本文中所公开的方面而描述的各种说明性逻辑块、模块及电路。处理器可为微处理器,但在替代例中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合(例如,DSP与微处理器的组合、多个微处理器、结合DSP核心的一或多个微处理器,或任何其它此类配置)。
本文中所公开的方面可体现于硬件及存储于硬件中的指令中,且可驻留于例如随机存取存储器(RAM)、快闪存储器、只读存储器(ROM)、电可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)、寄存器、硬盘、可移动磁盘、CD-ROM或所属领域中已知的任何其它形式的计算机可读媒体中。示例性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息并将信息写入到存储媒体。在替代例中,存储媒体可与处理器成一体式。处理器及存储媒体可驻留于ASIC中。ASIC可驻留在远程站中。在替代例中,处理器及存储媒体可作为离散组件驻留在远程站、基站或服务器中。
还应注意,描述在本文中示例性方面中的任一者中所描述的操作步骤以提供实例及论述。可以不同于所说明的序列的众多不同序列进行所描述的操作。此外,实际上可以数个不同步骤来执行单一操作步骤中描述的操作。此外,可组合示例性方面中所论述的一或多个操作步骤。应理解,流程图中所说明的操作步骤可经受所属领域的技术人员将容易明白的许多不同修改。所属领域的技术人员还将理解,可使用多种不同技术及技法中的任一者来表示信息及信号。举例来说,可由电压、电流、电磁波、磁场或磁性粒子、光场或光学粒子,或其任何组合来表示在贯穿以上描述中可能引用的数据、指令、命令、信息、信号、位、符号及码片。
提供本公开的先前描述以使得任何所属领域的技术人员能够制造或使用本公开。所属领域的技术人员将容易地显而易见对本公开的各种修改,且本文中定义的一般原理可在不背离本公开的精神或范围的情况下应用于其它变体。因此,本公开并不希望限于本文中所描述的实例及设计,而应符合与本文中所公开的原理及新颖特征相一致的最广泛范围。

Claims (21)

1.一种用于提供分区资源的精细度的服务质量QoS控制的以处理器为基础的系统,其包括:
分区资源,其再分为多个分区且被配置成为多个资源客户端服务;
多个分配指示符,每一分配指示符对应于所述多个分区中的一分区及多个资源客户端中的一资源客户端,并表示所述分区对于所述资源客户端的分配;及
资源分配代理,其被配置成基于用于所述多个资源客户端中的每一资源客户端的所述多个分配指示符的内插在所述多个资源客户端之间分配所述分区资源。
2.根据权利要求1所述的以处理器为基础的系统,其被配置成通过经配置而执行以下操作来基于用于所述多个资源客户端中的每一资源客户端的所述多个分配指示符的所述内插在所述多个资源客户端之间分配所述分区资源:
从所述多个资源客户端中的一资源客户端接收对所述分区资源的存取请求;
指配所述存取请求到所述分区资源的分区;及
基于所述多个分配指示符中对应于所述分区及所述资源客户端的分配指示符而分配所述分区资源的所述分区的一部分到所述资源客户端。
3.根据权利要求2所述的以处理器为基础的系统,其中:
所述分区资源包括系统高速缓冲存储器;
所述资源分配代理包括高速缓存控制器;
所述多个分区包括所述系统高速缓冲存储器的多个高速缓冲存储器分区;且
所述多个分配指示符包括多个通路屏蔽,每一通路屏蔽指示分配到所述多个资源客户端中的对应资源客户端的所述多个高速缓冲存储器分区中的对应高速缓冲存储器分区的一或多个高速缓存通路。
4.根据权利要求3所述的以处理器为基础的系统,其中所述资源分配代理被配置成:
通过被配置成接收包括存储器地址的高速缓存存取请求而从所述多个资源客户端中的所述资源客户端接收对所述分区资源的所述存取请求;及
通过被配置成基于所述存储器地址的散列而选择所述系统高速缓冲存储器的所述多个高速缓冲存储器分区中的一高速缓冲存储器分区而指配所述存取请求到所述分区资源的所述分区。
5.根据权利要求2所述的以处理器为基础的系统,其中:
所述分区资源包括到共享系统存储器的多个存储器存取带宽提供者;
所述资源分配代理包括存储器管理单元MMU;
所述多个分区包括被配置成存取所述共享系统存储器的多个存储器控制器;且
所述多个分配指示符包括多个存储器步幅值,每一存储器步幅值指示针对所述多个资源客户端中的对应资源客户端的每一存储器存取操作待通过所述多个存储器控制器中的对应存储器控制器应用的相对权重。
6.根据权利要求5所述的以处理器为基础的系统,其中所述资源分配代理被配置成:
通过被配置成接收包括存储器地址的存储器存取请求而从所述多个资源客户端中的所述资源客户端接收对所述分区资源的所述存取请求;及
通过被配置成基于所述存储器地址的散列而选择所述多个存储器控制器中的一存储器控制器来存取所述共享系统存储器而指配所述存取请求到所述分区资源的所述分区。
7.根据权利要求1所述的以处理器为基础的系统,其集成到集成电路IC中。
8.根据权利要求1所述的以处理器为基础的系统,其集成到从由下列各项组成的群组中选出的装置中:机顶盒;娱乐单元;导航装置;通信装置;固定位置数据单元;移动位置数据单元;全球定位系统GPS装置;移动电话;蜂窝式电话;智能电话;会话起始协议SIP电话;平板计算机;平板手机;服务器;计算机;便携式计算机;移动计算装置;可佩戴计算装置(例如,智能手表、健康或健身跟踪器、护目镜等);台式计算机;个人数字助理PDA;监视器;计算机监视器;电视;调谐器;收音机;卫星收音机;音乐播放器;数字音乐播放器;便携式音乐播放器;数字视频播放器;视频播放器;数字视频光盘DVD播放器;便携式数字视频播放器;汽车;车辆组件;航电系统;无人机;以及多旋翼飞行器。
9.一种用于提供分区资源的精细度的服务质量QoS控制的以处理器为基础的系统,其包括用于基于多个分配指示符的内插在多个资源客户端之间分配分区资源的装置,所述分区资源再分为多个分区,每一分配指示符对应于所述多个分区中的一分区及所述多个资源客户端中的一资源客户端,且表示所述分区对于所述资源客户端的分配。
10.一种用于提供分区资源的精细度的服务质量QoS控制的方法,所述方法包括通过以处理器为基础的系统的资源分配代理基于多个分配指示符的内插而在多个资源客户端之间分配分区资源,所述分区资源再分为多个分区,每一分配指示符对应于所述多个分区中的一分区及所述多个资源客户端中的一资源客户端,且表示所述分区对于所述资源客户端的分配。
11.根据权利要求10所述的方法,其中基于所述多个分配指示符的所述内插在所述多个资源客户端之间分配所述分区资源包括:
从所述多个资源客户端中的一资源客户端接收对所述分区资源的存取请求;
指配所述存取请求到所述分区资源的分区;以及
基于所述多个分配指示符中对应于所述分区及所述资源客户端的分配指示符而分配所述分区资源的所述分区的一部分到所述资源客户端。
12.根据权利要求11所述的方法,其中:
所述分区资源包括系统高速缓冲存储器;
所述资源分配代理包括高速缓存控制器;
所述多个分区包括所述系统高速缓冲存储器的多个高速缓冲存储器分区;且
所述多个分配指示符包括多个通路屏蔽,每一通路屏蔽指示分配到所述多个资源客户端中的对应资源客户端的所述多个高速缓冲存储器分区中的对应高速缓冲存储器分区的一或多个高速缓存通路。
13.根据权利要求12所述的方法,其中:
从所述多个资源客户端中的所述资源客户端接收对所述分区资源的所述存取请求包括接收高速缓存存取请求,所述高速缓存存取请求包括存储器地址;且
指配所述存取请求到所述分区资源的所述分区包括基于所述存储器地址的散列而选择所述系统高速缓冲存储器的所述多个高速缓冲存储器分区中的一高速缓冲存储器分区。
14.根据权利要求11所述的方法,其中:
所述分区资源包括到共享系统存储器的多个存储器存取带宽提供者;
所述资源分配代理包括存储器管理单元MMU;
所述多个分区包括被配置成存取所述共享系统存储器的多个存储器控制器;且
所述多个分配指示符包括多个存储器步幅值,每一存储器步幅值指示针对所述多个资源客户端中的对应资源客户端的每一存储器存取操作待通过所述多个存储器控制器中的对应存储器控制器应用的相对权重。
15.根据权利要求14所述的方法,其中:
从所述多个资源客户端中的所述资源客户端接收对所述分区资源的所述存取请求包括接收存储器存取请求,所述存储器存取请求包括存储器地址;及
指配所述存取请求到所述分区资源的所述分区包括基于所述存储器地址的散列而选择所述多个存储器控制器中的一存储器控制器。
16.一种上面存储有计算机可执行指令的非暂时性计算机可读媒体,所述计算机可执行指令在由处理器执行时促使所述处理器基于多个分配指示符的内插而在多个资源客户端之间分配分区资源,所述分区资源再分为多个分区,每一分配指示符对应于所述多个分区中的一分区及所述多个资源客户端中的一资源客户端,且表示所述分区针对所述资源客户端的分配。
17.根据权利要求16所述的上面存储有计算机可执行指令的非暂时性计算机可读媒体,所述计算机可执行指令在由处理器执行时进一步促使所述处理器通过促使所述处理器执行以下操作而基于所述多个分配指示符的所述内插在所述多个资源客户端之间分配所述分区资源:
从所述多个资源客户端中的资源客户端接收对所述分区资源的存取请求;
指配所述存取请求到所述分区资源的分区;及
基于所述多个分配指示符中对应于所述分区及所述资源客户端的分配指示符而分配所述分区资源的所述分区的一部分到所述资源客户端。
18.根据权利要求17所述的非暂时性计算机可读媒体,其中:
所述分区资源包括系统高速缓冲存储器;
所述资源分配代理包括高速缓存控制器;
所述多个分区包括所述系统高速缓冲存储器的多个高速缓冲存储器分区;且
所述多个分配指示符包括多个通路屏蔽,每一通路屏蔽指示分配到所述多个资源客户端中的对应资源客户端的所述多个高速缓冲存储器分区中的对应高速缓冲存储器分区的一或多个高速缓存通路。
19.根据权利要求18所述的上面存储有计算机可执行指令的非暂时性计算机可读媒体,所述计算机可执行指令在由处理器执行时进一步促使所述处理器执行以下操作:
通过促使所述处理器接收包括存储器地址的高速缓存存取请求而从所述多个资源客户端中的所述资源客户端接收对所述分区资源的所述存取请求;及
通过促使所述处理器基于所述存储器地址的散列而选择所述系统高速缓冲存储器的所述多个高速缓冲存储器分区中的一高速缓冲存储器分区而指配所述存取请求到所述分区资源的所述分区。
20.根据权利要求17所述的非暂时性计算机可读媒体,其中:
所述分区资源包括到共享系统存储器的多个存储器存取带宽提供者;
所述资源分配代理包括存储器管理单元MMU;
所述多个分区包括被配置成存取所述共享系统存储器的多个存储器控制器;且
所述多个分配指示符包括多个存储器步幅值,每一存储器步幅值指示针对所述多个资源客户端中的对应资源客户端的每一存储器存取操作待通过所述多个存储器控制器中的对应存储器控制器应用的相对权重。
21.根据权利要求20所述的上面存储有计算机可执行指令的非暂时性计算机可读媒体,所述计算机可执行指令在由处理器执行时进一步促使所述处理器执行以下操作:
通过促使所述处理器接收包括存储器地址的存储器存取请求而从所述多个资源客户端中的所述资源客户端接收对所述分区资源的所述存取请求;及
通过促使所述处理器基于所述存储器地址的散列而选择所述多个存储器控制器中的一存储器控制器而指配所述存取请求到所述分区资源的所述分区。
CN201880053700.3A 2017-08-29 2018-08-06 使用以处理器为基础的系统中用于分区资源的内插而提供精细度的服务质量控制 Active CN111033480B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/689,543 US10678690B2 (en) 2017-08-29 2017-08-29 Providing fine-grained quality of service (QoS) control using interpolation for partitioned resources in processor-based systems
US15/689,543 2017-08-29
PCT/US2018/045370 WO2019045954A1 (en) 2017-08-29 2018-08-06 REALIZING QUALIFIED SERVICE QUALITY CONTROL (QOS) USING SEGMENTED RESOURCE INTERPOLATION IN PROCESSOR-BASED SYSTEMS

Publications (2)

Publication Number Publication Date
CN111033480A true CN111033480A (zh) 2020-04-17
CN111033480B CN111033480B (zh) 2024-06-18

Family

ID=63442777

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880053700.3A Active CN111033480B (zh) 2017-08-29 2018-08-06 使用以处理器为基础的系统中用于分区资源的内插而提供精细度的服务质量控制

Country Status (6)

Country Link
US (1) US10678690B2 (zh)
EP (1) EP3676711A1 (zh)
CN (1) CN111033480B (zh)
SG (1) SG11202000382RA (zh)
TW (1) TWI781201B (zh)
WO (1) WO2019045954A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111294247A (zh) * 2020-05-13 2020-06-16 广东睿江云计算股份有限公司 一种存储区域的QoS分配方法及系统

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11061728B2 (en) * 2019-02-12 2021-07-13 Western Digital Technologies, Inc. Systems and methods for heterogeneous address space allocation
US10983919B2 (en) * 2019-09-25 2021-04-20 Nvidia Corp. Addressing cache slices in a last level cache
KR20210076652A (ko) * 2019-12-16 2021-06-24 현대자동차주식회사 차량용 멀티미디어 시스템 및 그를 위한 메모리 관리 방법
US11709711B2 (en) * 2020-09-27 2023-07-25 Advanced Micro Devices, Inc. Allocation of memory access bandwidth to clients in an electronic device
US11947454B2 (en) * 2021-06-09 2024-04-02 Ampere Computing Llc Apparatuses, systems, and methods for controlling cache allocations in a configurable combined private and shared cache in a processor-based system
US11880306B2 (en) 2021-06-09 2024-01-23 Ampere Computing Llc Apparatus, system, and method for configuring a configurable combined private and shared cache
US12007896B2 (en) 2021-06-09 2024-06-11 Ampere Computing Llc Apparatuses, systems, and methods for configuring combined private and shared cache levels in a processor-based system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030172234A1 (en) * 2002-03-06 2003-09-11 Soltis Donald C. System and method for dynamic processor core and cache partitioning on large-scale multithreaded, multiprocessor integrated circuits
CN102473106A (zh) * 2009-07-01 2012-05-23 国际商业机器公司 虚拟环境中的资源分配
US20160147656A1 (en) * 2014-11-25 2016-05-26 Qualcomm Incorporated Providing shared cache memory allocation control in shared cache memory systems
CN107003947A (zh) * 2014-11-25 2017-08-01 高通股份有限公司 产生用于共享高速缓冲存储器系统的近似使用测量

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6385638B1 (en) * 1997-09-04 2002-05-07 Equator Technologies, Inc. Processor resource distributor and method
US6493800B1 (en) * 1999-03-31 2002-12-10 International Business Machines Corporation Method and system for dynamically partitioning a shared cache
US20020108021A1 (en) * 2001-02-08 2002-08-08 Syed Moinul I. High performance cache and method for operating same
US7870301B2 (en) * 2005-02-25 2011-01-11 International Business Machines Corporation System and method for modification of virtual adapter resources in a logically partitioned data processing system
US8464009B2 (en) * 2008-06-04 2013-06-11 Oracle America, Inc. Method for memory interleave support with a ceiling mask
US8250332B2 (en) * 2009-06-11 2012-08-21 Qualcomm Incorporated Partitioned replacement for cache memory
US8543769B2 (en) * 2009-07-27 2013-09-24 International Business Machines Corporation Fine grained cache allocation
US8745618B2 (en) * 2009-08-25 2014-06-03 International Business Machines Corporation Cache partitioning with a partition table to effect allocation of ways and rows of the cache to virtual machine in virtualized environments
US8200902B2 (en) * 2010-06-10 2012-06-12 Arm Limited Cache device for coupling to a memory device and a method of operation of such a cache device
KR101867286B1 (ko) 2012-02-27 2018-06-15 삼성전자주식회사 작업 부하를 고려한 하드웨어 가속화 기반의 대규모 데이터의 분산 처리 장치 및 방법
US9824013B2 (en) 2012-05-08 2017-11-21 Qualcomm Incorporated Per thread cacheline allocation mechanism in shared partitioned caches in multi-threaded processors
US9098417B2 (en) * 2012-12-13 2015-08-04 Advanced Micro Devices, Inc. Partitioning caches for sub-entities in computing devices
US10049048B1 (en) * 2013-10-01 2018-08-14 Facebook, Inc. Method and system for using processor enclaves and cache partitioning to assist a software cryptoprocessor
US9563369B2 (en) 2014-04-14 2017-02-07 Microsoft Technology Licensing, Llc Fine-grained bandwidth provisioning in a memory controller
US9612970B2 (en) * 2014-07-17 2017-04-04 Qualcomm Incorporated Method and apparatus for flexible cache partitioning by sets and ways into component caches
US9824015B2 (en) * 2015-05-29 2017-11-21 Qualcomm Incorporated Providing memory management unit (MMU) partitioned translation caches, and related apparatuses, methods, and computer-readable media
US9734070B2 (en) * 2015-10-23 2017-08-15 Qualcomm Incorporated System and method for a shared cache with adaptive partitioning

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030172234A1 (en) * 2002-03-06 2003-09-11 Soltis Donald C. System and method for dynamic processor core and cache partitioning on large-scale multithreaded, multiprocessor integrated circuits
CN102473106A (zh) * 2009-07-01 2012-05-23 国际商业机器公司 虚拟环境中的资源分配
US20160147656A1 (en) * 2014-11-25 2016-05-26 Qualcomm Incorporated Providing shared cache memory allocation control in shared cache memory systems
CN107003947A (zh) * 2014-11-25 2017-08-01 高通股份有限公司 产生用于共享高速缓冲存储器系统的近似使用测量
CN107111557A (zh) * 2014-11-25 2017-08-29 高通股份有限公司 在共享高速缓存存储器系统中提供共享高速缓存存储器分配控制

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111294247A (zh) * 2020-05-13 2020-06-16 广东睿江云计算股份有限公司 一种存储区域的QoS分配方法及系统
CN111294247B (zh) * 2020-05-13 2020-09-18 广东睿江云计算股份有限公司 一种存储区域的QoS分配方法及系统

Also Published As

Publication number Publication date
US10678690B2 (en) 2020-06-09
WO2019045954A1 (en) 2019-03-07
EP3676711A1 (en) 2020-07-08
US20190065374A1 (en) 2019-02-28
SG11202000382RA (en) 2020-03-30
TW201913394A (zh) 2019-04-01
TWI781201B (zh) 2022-10-21
CN111033480B (zh) 2024-06-18

Similar Documents

Publication Publication Date Title
CN111033480B (zh) 使用以处理器为基础的系统中用于分区资源的内插而提供精细度的服务质量控制
CN109690500B (zh) 使用空间服务质量(QoS)标记提供异质存储器系统的弹性管理
EP3224728B1 (en) Providing shared cache memory allocation control in shared cache memory systems
US9697126B2 (en) Generating approximate usage measurements for shared cache memory systems
US20180232321A1 (en) Optimizing network driver performance and power consumption in multi-core processor-based systems
JP2018533787A (ja) 統合メモリ管理ユニット(mmu)を使用したメモリ管理機能の提供
US11144368B2 (en) Providing self-resetting multi-producer multi-consumer semaphores in distributed processor-based systems
CN115210697A (zh) 用于转换后备缓冲器中的多个页面大小的灵活存储和优化搜索

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40018081

Country of ref document: HK

GR01 Patent grant