WO2020259082A1 - 缓存的分配方法及装置、存储介质、电子装置 - Google Patents

缓存的分配方法及装置、存储介质、电子装置 Download PDF

Info

Publication number
WO2020259082A1
WO2020259082A1 PCT/CN2020/088364 CN2020088364W WO2020259082A1 WO 2020259082 A1 WO2020259082 A1 WO 2020259082A1 CN 2020088364 W CN2020088364 W CN 2020088364W WO 2020259082 A1 WO2020259082 A1 WO 2020259082A1
Authority
WO
WIPO (PCT)
Prior art keywords
cache
core
network slice
level cache
network
Prior art date
Application number
PCT/CN2020/088364
Other languages
English (en)
French (fr)
Inventor
牛新伟
Original Assignee
深圳市中兴微电子技术有限公司
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 深圳市中兴微电子技术有限公司 filed Critical 深圳市中兴微电子技术有限公司
Priority to US17/606,449 priority Critical patent/US11940915B2/en
Priority to EP20832000.2A priority patent/EP3944091B1/en
Priority to KR1020217034546A priority patent/KR20210141690A/ko
Priority to JP2021562299A priority patent/JP7205033B2/ja
Publication of WO2020259082A1 publication Critical patent/WO2020259082A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/781On-chip cache; Off-chip memory
    • 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
    • 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/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • 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/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
    • G06F15/7846On-chip cache and off-chip main memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F2015/761Indexing scheme relating to architectures of general purpose stored programme computers
    • G06F2015/765Cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements

Definitions

  • This application relates to the field of multi-core network processors, for example, to a cache allocation method and device, storage medium, and electronic device.
  • the embodiments of the present application provide a cache allocation method and device, storage medium, and electronic device to at least solve the increase in memory access delay and maximum access delay caused by the increase in the number of cores and the parallelism of network slicing in the related art Low problem.
  • the length of the fetching PC is determined according to the maximum space of instructions and data in each network slice, and network slice information is added when accessing the MEM.
  • Fig. 6 is a structural block diagram of a device for allocating a cache according to an embodiment of the present application.
  • the device includes: an access module 62, located in the core, configured to detect the access by sending a fetch instruction When both the responses of the first level cache and the second level cache are missing responses, access the third level cache; wherein the instruction fetching instruction is used for requesting access to the cache to return instructions and data;
  • the first level cache is the core's Private cache;
  • the second-level cache is a public cache corresponding to the core set where the core is located;
  • the third-level cache is a common cache shared between multiple core sets;
  • the loss response of the second-level cache carries the network Slice information;
  • allocation module 64 located in the planning unit set in the three-level cache, set to allocate the multiple core sets to multiple network slices and configure the multiple network slices according to the network slice information
  • the response module 66 located in the planning unit, is configured to send a hit response to the core, where the hit response is

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一种缓存的分配方法及装置、存储介质、电子装置。该方法包括:核在检测到通过发送取指指令所访问的一级缓存与二级缓存的响应均为丢失响应的情况下,访问三级缓存;其中,所述取指指令用于请求访问的缓存返回指令和数据;所述一级缓存为所述核的私有缓存;所述二级缓存为所述核所在的核集合对应的公共缓存;所述三级缓存为多个核集合之间共有的公共缓存;所述二级缓存的丢失响应中携带有网络切片信息(S102);设置于所述三级缓存中的规划单元根据所述网络切片信息将所述多个核集合分配至多个网络切片以及为所述多个网络切片配置相应的缓存(S104);所述规划单元向所述核发送命中响应,其中,所述命中响应用于返回所述核所在的核集合对应的网络切片的缓存中的数据(S106)。

Description

缓存的分配方法及装置、存储介质、电子装置
本申请要求在2019年06月28日提交中国专利局、申请号为201910580430.8的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。
技术领域
本申请涉及多核网络处理器领域,例如,涉及一种缓存的分配方法及装置、存储介质、电子装置。
背景技术
为了使得多个网络处理系统满足媒体处理、数据挖掘、金融分析等领域频繁的数据交换与数据共享需求,必须优化多核网络处理器的指令和数据的共享结构及其可扩展性。
随着处理器从传统的单核时代迈入多核时代,处理器的数量增加为系统级芯片的片上存储架构的设计带来巨大挑战。一方面,核数量的增加使得芯片规模迅速上升,使得每个核的平均访存延时与最大访问延时上升;另一方面,不同于单核系统,多核系统为了充分利用多核架构的处理资源,对于网络应用进行网络切片并行的研究也被受重视。因此,相关技术中,由于核的数量增加所导致的访存延时与最大访问延时上升以及网络切片并行度低的问题,还没有一种比较好的解决方案。
发明内容
本申请实施例提供了一种缓存的分配方法及装置、存储介质、电子装置,以至少解决相关技术中由于核的数量增加所导致的访存延时与最大访问延时上升以及网络切片并行度低的问题。
根据本申请的一个实施例,提供了一种缓存的分配方法,包括:核在检测到通过发送取指指令所访问的一级缓存与二级缓存的响应均为丢失响应的情况下,访问三级缓存;其中,所述取指指令用于请求访问的缓存返回指令和数据;所述一级缓存为所述核的私有缓存;所述二级缓存为所述核所在的核集合对应的公共缓存;所述三级缓存为多个核集合之间共有的公共缓存;所述二级缓存 的丢失响应中携带有网络切片信息;设置于所述三级缓存中的规划单元根据所述网络切片信息将所述多个核集合分配至多个网络切片以及为所述多个网络切片配置相应的缓存;所述规划单元向所述核发送命中响应,其中,所述命中响应用于返回所述核所在的核集合对应的网络切片的缓存中的数据。
根据本申请的另一个实施例,提供了一种缓存的分配装置,包括:访问模块,位于核中,设置为在检测到通过发送取指指令所访问的一级缓存与二级缓存的响应均为丢失响应的情况下,访问三级缓存;其中,所述取指指令用于请求访问的缓存返回指令和数据;所述一级缓存为所述核的私有缓存;所述二级缓存为所述核所在的核集合对应的公共缓存;所述三级缓存为多个核集合之间共有的公共缓存;所述二级缓存的丢失响应中携带有网络切片信息;分配模块,位于设置于所述三级缓存中的规划单元中,设置为根据所述网络切片信息将所述多个核集合分配至多个网络切片以及为所述多个网络切片配置相应的缓存;响应模块,位于所述规划单元中,设置为向所述核发送命中响应,其中,所述命中响应用于返回所述核所在的核集合对应的网络切片的缓存中的数据。
根据本申请的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被设置为运行时执行上述任一方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一方法实施例中的步骤。
附图说明
此处所说明的附图用来提供对本申请的理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种缓存的分配方法的流程图;
图2是根据本申请实施例的一种多级缓存模型的示意图;
图3是根据本申请实施例的一种三级缓存访问流程的示意图;
图4是根据本申请实施例的一种三级缓存的模块示意图;
图5是根据本申请实施例的一种三级缓存的数据结构示意图;
图6是根据本申请实施例的一种缓存的分配装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来说明本申请。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
在本实施例中提供了一种缓存的分配方法,图1是根据本申请实施例的一种缓存的分配方法的流程图,如图1所示,该流程包括如下步骤:
步骤S102,核在检测到通过发送取指指令所访问的一级缓存与二级缓存的响应均为丢失响应的情况下,访问三级缓存;其中,所述取指指令用于请求访问的缓存返回指令和数据;所述一级缓存为所述核的私有缓存;所述二级缓存为所述核所在的核集合对应的公共缓存;所述三级缓存为多个核集合之间共有的公共缓存;所述二级缓存的丢失响应中携带有网络切片信息。
步骤S104,设置于所述三级缓存中的规划单元根据所述网络切片信息将所述多个核集合分配至多个网络切片以及为所述多个网络切片配置相应的缓存。
步骤S106,所述规划单元向所述核发送命中响应,其中,所述命中响应用于返回所述核所在的核集合对应的网络切片的缓存中的数据。
本申请提出的一种缓存的分配方法,通过三级缓存当中规划单元通过根据网络切片信息将多个核集合分配至多个网络切片以及为多个网络切片配置相应的缓存,因此,可以解决相关技术中,由于核的数量增加所导致的访存延时与最大访问延时上升以及网络切片并行度低的问题,从而达到了优化大规模多核网络处理器的片上存储架构、核的访存延时,提升片上存储资源的利用率。
图2是根据本申请实施例的一种多级缓存模型的示意图。如图2所示,图2当中每一个核都会对应一个一级缓存(L1_cache)。而一个核集合(set)会对应一个二级缓存(L2_cache)。最后,对于整个处理器而言,可以对应一个三级缓存(L3_cache)。当然在本模型中,还可以得到外存存储器(Memory,MEM)的支持。
在本实施例中,如果一个核发送取指指令后,首先访问一级缓存(L1_cache),命中(hit)则返回指令和在一级缓存中的数据。而后等待下次取值。而如果丢失(miss)则会将取指(PC)、线程信息(thread_info)和核信息(core_info)写入队列L1_cache_miss_q。进而轮询访问二级缓存(L2_cache)。
而后在访问二级缓存(L2_cache)时,同理,命中(hit)则返回指令和在二级缓存中的数据。而后等待下次取值。而如果丢失(miss)则会将取指(PC)、线程信息(thread_info)、集合信息(set_info)和网络切片信息(slice_info)写入队列L2_cache_miss_q。
在一实施例中,规划单元根据所述网络切片信息将所述多个核集合分配至多个网络切片以及为所述多个网络切片配置相应的缓存,包括:所述规划单元按照预设的划分规则将所述多个网络切片划分为多个网络切片组,其中,所述网络切片组中包括一个或者多个所述网络切片;所述规划单元在每个所述网络切片组中设置标记信息;所述规划单元按照所述标记信息为具有多个所述网络切片的所述网络切片组中的每个网络切片划分缓存资源块。
在一实施例中,所述规划单元按照所述标记信息为具有多个所述网络切片的所述网络切片组中的每个网络切片划分缓存资源块,包括:所述规划单元根据第一标记信息以及第二标记信息为所述每个网络切片划分缓存资源块,其中,所述第一标记信息用于指示所述网络切片组中所述网络切片的数量,所述第二标记信息用于标记所述网络切片对应的地址信息。
在一实施例中,所述方法还包括:所述规划单元根据所述网络切片组中的网络切片的优先级对每个所述网络切片的地址信息和数据信息进行调整。
在一实施例中,图3是根据本申请实施例的一种三级缓存访问流程的示意图。如图3所示,访问L3_cache时,依据网络切片信息对32个集合(set)的取指请求进行汇聚分类,先访问标记寄存器(flag_unit)和标签随机存取存储(tag_ram),从而访问L3_cache中的具体地址,命中(hit)则返回指令和数据,丢失(Miss)则向最外层的MEM取指。
图4是根据本申请实施例的一种三级缓存的模块示意图。如图4所示,3级cache存在一个规划单元flag_unit,可配置规划为不同网络切片的集合set提供大小可配置的cache,从而提升对不同网络切片存储管理性能。网络切片按组进 行管理,通过规划单元flag_unit配置网络切片的缓存资源,可支持多个网络切片的配置。默认状态下flag标记在网络切片组cache的中间位置,多个网络切片缓存大小无差异。每组网络切片独享L3_cache中的一个存储体(bank)共X个块(block),若一组网络切片中只出现了1个切片,则该组的flag无效,该bank X个block资源供该切片独享;若一组网络切片中存在2个切片,则依据flag进行划分,如可分给slice0 4个block,分给slice1 X-4个block,其中X为偶数,每次调整的block数量也为偶数。图5是根据本申请实施例的一种三级缓存的数据结构示意图。如图5所示,flag_unit中主要存有vld和tag_ram划分地址,vld标记一组的网络切片组的数量是否为2。L3_cache中的tag和data深度相同,一一对应,在切片组中切片优先级不同的情况下,会调整每个切片的tag地址和数据宽度。
在一实施例中,所述核在检测到通过发送所述取指指令所访问的所述三级缓存响应为丢失响应的情况下,向外存发送取指指令,并接收所述外存反馈的取指结果;所述规划单元根据所述取指结果对所述地址信息和所述数据信息进行更新。
本实施例中,外存接收到取指指令后,向规划单元发送取指指令。
本实施例中,最外层的MEM中存有不同网络切片的数据,当取到指令和数据返回时,会同时依据flag信息更新L3_cache。外部存储MEM可以扩得很大并且成本低,会将不同网络切片的指令和数据依次排布,以及将不同网络切片常用的数据更新进3级cache中。
在本实施例中,取指PC的长度依据每个网络切片中指令和数据的最大空间决定,对MEM访问的时候会加上网络切片信息。
同时,最外层的MEM可以很容易地扩展多个网络切片,需将多个网络切片数据依次排布,并同比例扩大flag_unit和L3_cache。另外可以增加flag_unit单元的数量,并修改对比逻辑,使得网络切片粒度管理更细致,如以2个切片组4个切片为粒度管理,使得切片组0中的一个切片占用切片组1的cache资源。依据于对多核网络系统核规划,同一网络切片的不同集合的核执行的切片业务完全相同,分配了一定量的共享L2_cache和L3_cache,提高资源的复用率。
在一实施例中,在访问缓存时,所述核发送的取指指令的数量为N,其中N 为不小于1的正整数。
在本实施例中,为了掩盖核的取指延迟,每个核1次会取多条指令,从而掩盖核与核之间的竞争延迟。
在本实施例中还提供了如下的场景进行理解。
每个核core具有1k的私有cache,作为一级cache;每16个核作为一个集合set,拥有32k的共享cache,2级cache对16个核是完全共享的;16个set拥有一块128k的cache,作为3级cache,3级cache与片外存储MEM关联。core0发生取指时,会先访问1级cache,若命中则将指令和数据返回给core0,若未命中,则访问2级cache。若在2级cache中命中,指令和数据返回给core0,并会更新1级cache,若在2级cache中未命中,则访问3级cache,同上。网络切片取指PC为10bits,切片组中切片优先级相同时取高6bits作为tag_addr,低4bits作为tag_data。对于整个切片组,切片0和切片1的总tag_addr最大为12bits。若依据切片权重调整为切片0资源为8个block,切片1资源为4个block,则切片0的地址调整为PC[7:0],tag_data为PC[12:8];相应的切片1的地址调整为PC[3:0],tag_data为PC[12:4]。访问时,先将取指地址与flag比较,然后去获取tag_ram中的数据,依据vld和tag_data确定命中还是miss,命中则取走L3_cache data中的指令,丢失则去外层MEM取指。在MEM取指回来的情况下,一方面会返回给核,一方面会与flag_unit对比,然后更新tag_ram和data_ram。
通过以上的实施方式的描述,本领域的技术人员可以了解到根据上述实施例的方法可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read-Only Memory,ROM)/随机存取存储器(Random Access Memory,随机存取存储器(Random Access Memory,RAM)、磁碟、光盘)中,包括多个指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请多个实施例所述的方法。
实施例2
在本实施例中还提供了一种缓存的分配装置,该装置用于实现上述实施例及实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可 以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置可以以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本申请实施例的一种缓存的分配装置的结构框图,如图6所示,该装置包括:访问模块62,位于核中,设置为在检测到通过发送取指指令所访问的一级缓存与二级缓存的响应均为丢失响应的情况下,访问三级缓存;其中,所述取指指令用于请求访问的缓存返回指令和数据;所述一级缓存为所述核的私有缓存;所述二级缓存为所述核所在的核集合对应的公共缓存;所述三级缓存为多个核集合之间共有的公共缓存;所述二级缓存的丢失响应中携带有网络切片信息;分配模块64,位于设置于所述三级缓存中的规划单元中,设置为根据所述网络切片信息将所述多个核集合分配至多个网络切片以及为所述多个网络切片配置相应的缓存;响应模块66,位于所述规划单元中,设置为向所述核发送命中响应,其中,所述命中响应用于返回所述核所在的核集合对应的网络切片的缓存中的数据。
在一实施例中,所述分配模块包括:第一划分单元,设置为按照预设的划分规则将所述多个网络切片划分为多个网络切片组,其中,所述网络切片组中包括至少一个所述网络切片;设置单元,设置为在每个所述网络切片组中设置标记信息;第二划分单元,设置为按照所述标记信息为具有多个所述网络切片的所述网络切片组中的每个网络切片划分缓存资源块。
上述多个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述多个模块以任意组合的形式分别位于不同的处理器中。此外,上述多模块都是位于同一网络处理系统中。
实施例3
本申请的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,核在检测到通过发送取指指令所访问的一级缓存与二级缓存的响应均为丢失响应的情况下,访问三级缓存;其中,所述取指指令用于请求访问的缓 存返回指令和数据;所述一级缓存为所述核的私有缓存;所述二级缓存为所述核所在的核集合对应的公共缓存;所述三级缓存为多个核集合之间共有的公共缓存;所述二级缓存的丢失响应中携带有网络切片信息。
S2,设置于所述三级缓存中的规划单元根据所述网络切片信息将所述多个核集合分配至多个网络切片以及为所述多个网络切片配置相应的缓存。
S3,所述规划单元向所述核发送命中响应,其中,所述命中响应用于返回所述核所在的核集合对应的网络切片的缓存中的数据。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、ROM、RAM、移动硬盘、磁碟或者光盘等多种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,核在检测到通过发送取指指令所访问的一级缓存与二级缓存的响应均为丢失响应的情况下,访问三级缓存;其中,所述取指指令用于请求访问的缓存返回指令和数据;所述一级缓存为所述核的私有缓存;所述二级缓存为所述核所在的核集合对应的公共缓存;所述三级缓存为多个核集合之间共有的公共缓存;所述二级缓存的丢失响应中携带有网络切片信息。
S2,设置于所述三级缓存中的规划单元根据所述网络切片信息将所述多个核集合分配至多个网络切片以及为所述多个网络切片配置相应的缓存。
S3,所述规划单元向所述核发送命中响应,其中,所述命中响应用于返回所述核所在的核集合对应的网络切片的缓存中的数据。
在一实施例中,本实施例中的具体示例可以参考上述实施例及实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的多个模块或多个步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,在一实施例中,上述多个模块或多个步骤可以用计算装置可执行的程序代码来实现,从而,可以将上述多个模块或多个步骤存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将上述多个模块或多个步骤分别制作成多个集成电路模块,或者将上述多个模块或多个步骤中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。

Claims (10)

  1. 一种缓存的分配方法,包括:
    核在检测到通过发送取指指令所访问的一级缓存与二级缓存的响应均为丢失响应的情况下,访问三级缓存;其中,所述取指指令用于请求访问的缓存返回指令和数据;所述一级缓存为所述核的私有缓存;所述二级缓存为所述核所在的核集合对应的公共缓存;所述三级缓存为多个核集合之间共有的公共缓存;所述二级缓存的丢失响应中携带有网络切片信息;
    设置于所述三级缓存中的规划单元根据所述网络切片信息将所述多个核集合分配至多个网络切片以及为所述多个网络切片配置相应的缓存;
    所述规划单元向所述核发送命中响应,其中,所述命中响应用于返回所述核所在的核集合对应的网络切片的缓存中的数据。
  2. 根据权利要求1所述的方法,其中,规划单元为所述多个网络切片配置相应的缓存,包括:
    所述规划单元按照预设的划分规则将所述多个网络切片划分为多个网络切片组,其中,所述网络切片组中包括至少一个所述网络切片;
    所述规划单元在每个所述网络切片组中设置标记信息;
    所述规划单元按照所述标记信息为具有多个所述网络切片的所述网络切片组中的每个网络切片划分缓存资源块。
  3. 根据权利要求2所述的方法,其中,所述标记信息包括第一标记信息和第二标记信息;所述规划单元按照所述标记信息为具有多个所述网络切片的所述网络切片组中的每个网络切片划分缓存资源块,包括:
    所述规划单元根据第一标记信息以及第二标记信息为所述每个网络切片划分缓存资源块,其中,所述第一标记信息用于指示所述网络切片组中所述网络切片的数量,所述第二标记信息用于标记所述网络切片对应的地址信息。
  4. 根据权利要求3所述的方法,还包括:
    所述规划单元根据所述网络切片组中的所述网络切片的优先级对每个所述网络切片的地址信息和数据信息进行调整。
  5. 根据权利要求4所述的方法,还包括:
    所述核在检测到通过发送所述取指指令所访问的所述三级缓存响应为丢失 响应情况下,向外存发送取指指令,并接收所述外存反馈的取指结果;
    所述规划单元根据所述取指结果对所述地址信息和所述数据信息进行更新。
  6. 根据权利要求1-5任一项所述的方法,其中,
    在访问缓存的情况下,所述核发送的取指指令的数量为N,其中,N为不小于1的正整数。
  7. 一种缓存的分配装置,包括:
    访问模块,位于核中,设置为在检测到通过发送取指指令所访问的一级缓存与二级缓存的响应均为丢失响应的情况下,访问三级缓存;其中,所述取指指令用于请求访问的缓存返回指令和数据;所述一级缓存为所述核的私有缓存;所述二级缓存为所述核所在的核集合对应的公共缓存;所述三级缓存为多个核集合之间共有的公共缓存;所述二级缓存的丢失响应中携带有网络切片信息;
    分配模块,位于设置于所述三级缓存中的规划单元中,设置为根据所述网络切片信息将所述多个核集合分配至多个网络切片以及为所述多个网络切片配置相应的缓存;
    响应模块,位于所述规划单元中,设置为向所述核发送命中响应,其中,所述命中响应用于返回所述核所在的核集合对应的网络切片的缓存中的数据。
  8. 根据权利要求7所述的装置,其中,所述分配模块包括:
    第一划分单元,设置为按照预设的划分规则将所述多个网络切片划分为多个网络切片组,其中,所述网络切片组中包括至少一个所述网络切片;
    设置单元,设置为在每个所述网络切片组中设置标记信息;
    第二划分单元,设置为按照所述标记信息为具有多个所述网络切片的所述网络切片组中的每个网络切片划分缓存资源块。
  9. 一种存储介质,存储有计算机程序,所述计算机程序被设置为运行时执行所述权利要求1至6中任一项所述的方法。
  10. 一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至6中任一项所述的方法。
PCT/CN2020/088364 2019-06-28 2020-04-30 缓存的分配方法及装置、存储介质、电子装置 WO2020259082A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US17/606,449 US11940915B2 (en) 2019-06-28 2020-04-30 Cache allocation method and device, storage medium, and electronic device
EP20832000.2A EP3944091B1 (en) 2019-06-28 2020-04-30 Cache allocation method and device, storage medium, and electronic device
KR1020217034546A KR20210141690A (ko) 2019-06-28 2020-04-30 캐시 할당 방법 및 장치, 저장 매체, 전자 장치
JP2021562299A JP7205033B2 (ja) 2019-06-28 2020-04-30 キャッシュの割当方法と装置、記憶媒体、電子装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910580430.8A CN112148665B (zh) 2019-06-28 2019-06-28 缓存的分配方法及装置
CN201910580430.8 2019-06-28

Publications (1)

Publication Number Publication Date
WO2020259082A1 true WO2020259082A1 (zh) 2020-12-30

Family

ID=73892052

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/088364 WO2020259082A1 (zh) 2019-06-28 2020-04-30 缓存的分配方法及装置、存储介质、电子装置

Country Status (6)

Country Link
US (1) US11940915B2 (zh)
EP (1) EP3944091B1 (zh)
JP (1) JP7205033B2 (zh)
KR (1) KR20210141690A (zh)
CN (1) CN112148665B (zh)
WO (1) WO2020259082A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117075966A (zh) * 2023-08-31 2023-11-17 中科驭数(北京)科技有限公司 指令处理方法、装置、设备及可读存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112699154B (zh) * 2021-03-25 2021-06-18 上海洋漪信息技术有限公司 应对大流量数据的多级缓存方法
CN115576872B (zh) * 2022-11-18 2023-03-24 北京红山微电子技术有限公司 多级缓存的访问检测方法及装置
CN117093371B (zh) * 2023-02-23 2024-05-17 摩尔线程智能科技(北京)有限责任公司 缓存资源分配方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346294A (zh) * 2013-07-31 2015-02-11 华为技术有限公司 基于多级缓存的数据读/写方法、装置和计算机系统
CN106560798A (zh) * 2015-09-30 2017-04-12 杭州华为数字技术有限公司 一种内存访问方法、装置及计算机系统
WO2017172294A1 (en) * 2016-04-01 2017-10-05 Intel Corporation Apparatus and method for non-serializing split locks
US20180189232A1 (en) * 2016-12-31 2018-07-05 Intel Corporation Method and apparatus to build a monolithic mesh interconnect with structurally heterogenous tiles
CN108292220A (zh) * 2015-12-22 2018-07-17 英特尔公司 用于加速图形分析的装置和方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009211649A (ja) * 2008-03-06 2009-09-17 Nec Corp キャッシュシステム、その制御方法、及び、プログラム
US8244982B2 (en) * 2009-08-21 2012-08-14 Empire Technology Development Llc Allocating processor cores with cache memory associativity
CN102270180B (zh) * 2011-08-09 2014-04-02 清华大学 一种多核处理器系统的管理方法
US9824013B2 (en) * 2012-05-08 2017-11-21 Qualcomm Incorporated Per thread cacheline allocation mechanism in shared partitioned caches in multi-threaded processors
CN102830953B (zh) 2012-08-02 2017-08-25 中兴通讯股份有限公司 指令处理方法及网络处理器指令处理装置
US10073779B2 (en) * 2012-12-28 2018-09-11 Intel Corporation Processors having virtually clustered cores and cache slices
US9135180B2 (en) * 2013-03-05 2015-09-15 International Business Machines Corporation Prefetching for multiple parent cores in a multi-core chip
CN104407989B (zh) * 2014-11-25 2019-02-12 上海兆芯集成电路有限公司 具有统一标签和片化数据的高速缓冲存储器
CN105740164B (zh) * 2014-12-10 2020-03-17 阿里巴巴集团控股有限公司 支持缓存一致性的多核处理器、读写方法、装置及设备
US9977678B2 (en) * 2015-01-12 2018-05-22 International Business Machines Corporation Reconfigurable parallel execution and load-store slice processor
CN104699631B (zh) * 2015-03-26 2018-02-02 中国人民解放军国防科学技术大学 Gpdsp中多层次协同与共享的存储装置和访存方法
US10255190B2 (en) * 2015-12-17 2019-04-09 Advanced Micro Devices, Inc. Hybrid cache
CN107291629B (zh) * 2016-04-12 2020-12-25 华为技术有限公司 一种用于访问内存的方法和装置
CN107479860B (zh) * 2016-06-07 2020-10-09 华为技术有限公司 一种处理器芯片以及指令缓存的预取方法
US10503654B2 (en) * 2016-09-01 2019-12-10 Intel Corporation Selective caching of erasure coded fragments in a distributed storage system
US10789175B2 (en) * 2017-06-01 2020-09-29 Mellanox Technologies Ltd. Caching policy in a multicore system on a chip (SOC)
US20210191777A1 (en) * 2018-06-21 2021-06-24 Telefonaktiebolaget Lm Ericsson (Publ) Memory Allocation in a Hierarchical Memory System
US11010067B2 (en) * 2018-12-28 2021-05-18 Intel Corporation Defense against speculative side-channel analysis of a computer system
US20190243780A1 (en) * 2019-04-10 2019-08-08 Vinodh Gopal Scalable application-customized memory compression

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346294A (zh) * 2013-07-31 2015-02-11 华为技术有限公司 基于多级缓存的数据读/写方法、装置和计算机系统
CN106560798A (zh) * 2015-09-30 2017-04-12 杭州华为数字技术有限公司 一种内存访问方法、装置及计算机系统
CN108292220A (zh) * 2015-12-22 2018-07-17 英特尔公司 用于加速图形分析的装置和方法
WO2017172294A1 (en) * 2016-04-01 2017-10-05 Intel Corporation Apparatus and method for non-serializing split locks
US20180189232A1 (en) * 2016-12-31 2018-07-05 Intel Corporation Method and apparatus to build a monolithic mesh interconnect with structurally heterogenous tiles

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3944091A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117075966A (zh) * 2023-08-31 2023-11-17 中科驭数(北京)科技有限公司 指令处理方法、装置、设备及可读存储介质
CN117075966B (zh) * 2023-08-31 2024-04-19 中科驭数(北京)科技有限公司 指令处理方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN112148665A (zh) 2020-12-29
EP3944091A1 (en) 2022-01-26
CN112148665B (zh) 2024-01-09
US11940915B2 (en) 2024-03-26
KR20210141690A (ko) 2021-11-23
EP3944091A4 (en) 2022-06-08
EP3944091B1 (en) 2024-01-10
JP2022539285A (ja) 2022-09-08
US20220206944A1 (en) 2022-06-30
JP7205033B2 (ja) 2023-01-17

Similar Documents

Publication Publication Date Title
WO2020259082A1 (zh) 缓存的分配方法及装置、存储介质、电子装置
KR101850318B1 (ko) 가상 메모리 관리 장치 및 방법
US9384072B2 (en) Distributed queue pair state on a host channel adapter
US9229878B2 (en) Memory page offloading in multi-node computer systems
US20130346693A1 (en) Data Cache Method, Device, and System in a Multi-Node System
US20140331235A1 (en) Resource allocation apparatus and method
CN109582600B (zh) 一种数据处理方法及装置
US10331499B2 (en) Method, apparatus, and chip for implementing mutually-exclusive operation of multiple threads
CN113641596B (zh) 缓存管理方法、缓存管理装置、处理器
WO2016019566A1 (zh) 内存管理方法、装置和系统、以及片上网络
EP4184324A1 (en) Efficient accelerator offload in multi-accelerator framework
JP6042170B2 (ja) キャッシュ制御装置及びキャッシュ制御方法
JP6343722B2 (ja) マルチコアシステムにおいてデータ訪問者ディレクトリにアクセスするための方法及びデバイス
WO2024045817A1 (zh) 用于调度simt架构处理器的返回数据的方法及相应处理器
CN113010452A (zh) 一种高效且支持QoS的虚拟内存架构
CN111183414A (zh) 基于服务级别协议的高速缓存方法和系统
CN115586943A (zh) 一种智能网卡虚拟机脏页的硬件标记实现方法
WO2016044980A1 (zh) 线程迁移方法、装置和系统
US8484420B2 (en) Global and local counts for efficient memory page pinning in a multiprocessor system
US20240028379A1 (en) Cache management in a hyperconverged infrastructure
WO2019142153A1 (en) Cache allocation to a virtual machine
US11836525B2 (en) Dynamic last level cache allocation for cloud real-time workloads
CN101950274A (zh) 一种管态维护且目态共享的数据访问装置及方法
US9286238B1 (en) System, apparatus, and method of cache management
CN117667776A (zh) 存储器带宽分配方法及设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20832000

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021562299

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 20217034546

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2020832000

Country of ref document: EP

Effective date: 20211020

NENP Non-entry into the national phase

Ref country code: DE