CN115098431A - 处理器、共享高速缓存的分配方法及其装置 - Google Patents
处理器、共享高速缓存的分配方法及其装置 Download PDFInfo
- Publication number
- CN115098431A CN115098431A CN202210593472.7A CN202210593472A CN115098431A CN 115098431 A CN115098431 A CN 115098431A CN 202210593472 A CN202210593472 A CN 202210593472A CN 115098431 A CN115098431 A CN 115098431A
- Authority
- CN
- China
- Prior art keywords
- cache
- core
- cores
- shared cache
- shared
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0848—Partitioned cache, e.g. separate instruction and operand caches
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请实施例提供了一种共享高速缓存的分配方法及其装置、处理器、计算机可读存储介质。处理器包括:核和簇共享单元;核包括至少一个大核和至少一个小核,或者至少双核;簇共享单元包括共享高速缓存,共享高速缓存对应所有的大核和所有的小核,共享高速缓存为三级高速缓存;共享高速缓存包括N个缓存组,至少一个缓存组被分配给特定的核;和/或,至少一个缓存组通过加速器一致性接口与不带本地缓存的硬件设备互连,其中,N为大于等于2的正整数。本申请实施例提供的处理器可实现大小核、弹性可伸缩多核架构,且可实现簇共享单元内共享高速缓存的分区,以及分区大小动态可配。
Description
技术领域
本申请涉及计算机处理器技术领域,具体而言,本申请涉及一种处理器、共享高速缓存的分配方法及其装置、计算机可读存储介质。
背景技术
随着半导体工艺节点越来越接近物理极限,每一代半导体工艺节点提升对于芯片性能带来的收益也越来越小。当前的先进封装已经能实现原来需要半导体工艺节点前进整整一代才能实现的性能提升,而在未来,先进封装可望取代半导体工艺成为芯片性能提升的主要推动力。
人工智能物联网(AIOT)的应用场景多样且碎片化,对处理器的性能及成本要求各异,尤其在多核应用场景。通常,数据平面的负载需要占用较多的共享高速缓存,而控制平面的共享高速缓存开销一般较少。
因此,共享高速缓存的弹性可伸缩显得非常重要。
发明内容
本申请针对现有方式的缺点,提出一种处理器、共享高速缓存的分配方法及其装置、计算机可读存储介质,用以实现共享高速缓存的弹性可伸缩。
第一个方面,本申请实施例提供了一种处理器,包括:核和簇共享单元;
所述核包括至少一个大核和至少一个小核,或者至少双核;
所述簇共享单元包括共享高速缓存,所述共享高速缓存对应所有的所述大核和所有的所述小核,所述共享高速缓存为三级高速缓存;
所述共享高速缓存包括N个缓存组,至少一个所述缓存组被分配给特定的核;和/或,至少一个所述缓存组通过加速器一致性接口与不带本地缓存的硬件设备互连,其中,N为大于等于2的正整数。
可选地,所述共享高速缓存、所述大核和所述小核通过无凸点或者微凸点系统集成技术键合堆叠。
可选地,所述键合堆叠为通过亲水键合工艺键合堆叠;或者,所述键合堆叠为通过铜-铜键合工艺键合堆叠。
可选地,至少一所述大核对应一块私有缓存;
所述私有缓存为二级缓存。
可选地,一个所述缓存组被分配给一个特定的核,剩余的所述核共享剩余的缓存组;
或者,两个所述缓存组被分配给同一个特定的核,剩余的所述核共享剩余的缓存组。
第二个方面,本申请实施例提供了一种共享高速缓存的分配方法,应用于第一个方面所述的处理器,包括:
对所述共享高速缓存进行分区,使得所述共享高速缓存包括N个缓存组,每一所述缓存组中包括多路;
将至少一个所述缓存组分配给特定的核。
可选地,所述将至少一个所述缓存组分配给特定的核之后,还包括:
将剩余的所述缓存组中的一部分缓存组分配给剩余的所述核或通过加速器一致性接口与不带本地缓存的硬件设备互连。
第三个方面,本申请实施例提供了一种共享高速缓存的分配装置,包括:
分区模块,被配置为对所述共享高速缓存进行分区,使得所述共享高速缓存包括N个缓存组,每一所述缓存组中包括多路;
分配模块,被配置为将至少一个所述缓存组分配给特定的核。
可选地,所述分配模块还被配置为将剩余的所述缓存组中的一部分缓存组分配给剩余的所述核或通过加速器一致性接口与不带本地缓存的硬件设备互连。
第四个方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的屏幕显示方法。
本申请实施例提供的技术方案带来的有益技术效果包括:
本申请实施例提供的处理器包括核和簇共享单元,由于该核包括至少一个大核和至少一个小核,在实际应用中,可以根据产品需求设计例如四个大核四个小核,一个大核七个小核,一个大核两个小核等多种大小核组合,并通过键合技术,实现物理上可配置、以及软件可配的弹性可伸缩多核架构,可支持一定的产品差异化和系统可扩展性;并且,由于簇共享单元包括共享高速缓存,共享高速缓存对应所有的大核和所有的小核,共享高速缓存包括N个缓存组,至少一个缓存组被分配给特定的核;和/或,至少一个缓存组通过加速器一致性接口与不带本地缓存的硬件设备互连,因此,可以实现簇共享单元内共享高速缓存的物理上可配置、以及软件上的动态可配。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例提供的一种处理器的结构示意图;
图2为本申请实施例提供的处理器中大小核的分布结构示意图;
图3为本申请实施例提供的共享高速缓存的一种分区方式示意图;
图4为本申请实施例提供的一种共享高速缓存架构示意图;
图5为本申请实施例提供的一种共享高速缓存架构的簇的示意图;
图6为本申请实施例提供的另一种共享高速缓存架构的簇的示意图;
图7为本申请实施例提供的一种共享高速缓存的分配方法流程图;
图8为本申请实施例提供的一种共享高速缓存的分配装置框图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。
AIOT的应用场景多样且碎片化,对处理器的性能及成本要求各异,尤其在多核应用场景。本申请实施例提供了一种多核处理器,能够实现簇内共享高速缓存的动态可配,并支持物理上的“弹性、可伸缩”共享高速缓存。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例提供了一种处理器,如图1所示,包括:核11(即core)和簇共享单元12(即ClusterSharedUnit);核11包括至少一个大核111(即bigcore)和至少一个小核112(即midcore),或者核11包括至少双核,图1中示出了四个大核111和四个小核112;簇共享单元12包括共享高速缓存(即SharedL3 cache),共享高速缓存对应所有的大核111和所有的小核112,共享高速缓存为三级高速缓存;共享高速缓存包括N个缓存组,至少一个缓存组被分配给特定的核;和/或,至少一个缓存组通过加速器一致性接口与不带本地缓存(Cache)的硬件设备互连,其中,N为大于等于2的正整数。
需要说明的是,大核111为高性能核,大核111主要负责系统关键负载的性能,相比小核112不太在意功耗,而小核112为能效核,其主要作用就是省电,对于性能要求很低的场景(例如待机状态或者后台执行等),一般由小核112来负责,以达到节约用电、芯片老化放缓的作用。
需要说明的是,本申请实施例中的大核111和小核112均采用RISC(ReducedInstructionSetComputer,精简指令集计算机)体系架构,RISC体系架构的指令格式和长度通常是固定的,且指令和寻址方式少而简单,大多数指令在一个周期内可以执行完毕。
具体地,继续参考图1所示,簇共享单元12还包括硬件一致性处理单元、加速器一致性接口、外设端口、一致性访存端口和异步桥。硬件一致性处理单元用来保持多核(多个大核和多个小核)之间的数据缓存的一致性,加速器一致性接口可以连接到硬件一致性处理部件。硬件一致性处理部件的加速器一致性接口为系统中的其他主控提供运行高速缓存一致性访问的方法;外部端口即扩展接口,用于连接各种外部设备,通过这些扩展接口,可以把打印机、扫描仪、闪存盘、移动硬盘、手机等外部设备连接到芯片系统上;异步桥用来实现异步处理,即发送一个请求后,不需要等待返回,随时可以再发送下一个请求,能够提高多核系统的主频及处理效率。
如图2所示,本申请实施例中的多核处理器可以根据需要设置一个大核111和七个小核112、两个大核111和六个小核112、四个大核111和四个小核112、一个大核111和两个小核112、一个大核111和三个小核112、一个大核111和四个小核112等若干组合,对应的,如图1所示,簇共享单元12可支持一个大核111和七个小核112、两个大核111和六个小核112、四个大核111和四个小核112、一个大核111和两个小核112、一个大核111和三个小核112、一个大核111和四个小核112;本申请所提出的大小核、物理上可配置、以及软件上的动态可配的弹性可伸缩多核架构,可支持一定的产品差异化和系统可扩展性,并提供极致的能效和性能极大化。
现代处理器体系结构通常将高速缓存(cache)作为内存数据的备份,处理器进行数据读取时,通常先在读取速度更快的高速缓存中进行读取,以缩短数据获取的周期,从而加快处理器运行速度。作为内存数据的备份场所,高速缓存和内存之间的映射通常可以分为全相联映射、直接相联映射和组相联映射。相较于全相联映射和直接相联映射,组相联映射在大多数应用场合尤其多核处理器架构中可以提供更好的性能,因此一般被用作现代处理器高速缓存和内存之间的映射方式。据一个组(set)中所含有路(way)的数量M的不同,可以将高速缓存称作M路组相联映射高速缓存,通常而言,M是2的k次方(k为大于或等于1的整数)。
具体地,如图3所示,共享高速缓存可以包括三个缓存组,第一个缓存组中包括四个路(way0、way1、way2和way3),第二个缓存组中包括八个路(way4、way5、way6、way7、way8、way9、way10和way11),第三个缓存组中包括四个路(way12、way13、way14和way15),当然,实际设计时,还可以包括更多个缓存组,每个缓存组中也不限于包括四路或八路,本申请实施例中的共享高速缓存支持物理上可配置、以及软件上的分区及分区大小动态可配,可满足各类负载的性能需求,便于进一步支持细颗粒度的多域DVFS,使簇(Cluster)的能效和性能极大化。
如图1和图3所示,在一种具体的实施例中,可以将第一个缓存组(way0、way1、way2和way3)分配给其中一个大核111或其中一个小核112,将第二个缓存组(way4、way5、way6、way7、way8、way9、way10和way11)分配给剩余的任一个大核111或剩余的任一个小核112,将第三个缓存组(way12、way13、way14和way15)通过ACP连接到外部加速器;在另一种具体的实施例中,可以将第一个缓存组分配给其中一个大核111或其中一个小核112,将第二个缓存组通过ACP连接到外部加速器,将第三个缓存组通过加速器一致性接口与不带本地Cache的硬件设备互连。
在一种可选的实施例中,如图1所示,至少一大核111对应一块私有缓存(即图中对应大核的私有缓存);和/或,至少一小核112对应一块私有缓存(即图中对应小核的私有缓存);私有缓存为二级缓存。本申请实施例中,核内独占的PrivateL2 Cache(私有二级缓存)和Cluster(簇)内共享L3 Cache(三级缓存)的架构,能够一定程度上做到访存延迟最小化。
下面结合附图介绍一下如何将本申请实施例中的共享高速缓存和核集成在一起。
目前,业界正在努力使用先进的封装技术将多个先进的,成熟的“小芯片”放在一个封装中(也被称为异构集成),与3D封装一起,在系统级扩展摩尔定律,这就是Chiplet。Chiplet也称为“小芯片”或“芯粒”,Chiplet技术像搭积木一样,把一些预先生产好的实现特定功能的芯片裸片(die)通过先进的封装技术(例如3D封装)集成封装在一起形成一个系统芯片。
台积电提出了无凸点系统集成芯片(SystemonIntegratedChips,SOIC)技术,作为Chiplet解决方案,SOIC是一种3D结构,由带TSV(Through-silicon Vias,硅导孔)的有源插入器上的逻辑、存储器或两种芯片类型堆叠而成,SOIC的优势是无需bump(微凸点),只需将两块要堆叠的die的铜互联做部分裸露并对准,之后即可通过热处理工艺完成两块die的电路连接,这样一来,两块堆叠芯片之间的走线密度以及信号传输功耗都可以大大改善,SOIC实现了从管芯和基板之间的微凸点连接过度到直接管芯连接之间的无凸点键合;SOIC与使用TSV和微凸点的传统3DIC相比,由于不再受微凸点尺寸的限制,具有更高密度键合的结构,提供了更好的信号完整性、功率完整性和更低的通信延迟以及更大的带宽。
具体地,如图4所示,本申请实施例中的共享高速缓存(对应图中的共享缓存0)、大核和小核(对应图中的核0、核1、核2、核3、核4、核5、核6和核7)通过无凸点或者微凸点系统集成等技术键合堆叠,具体地,可使用台积电的3D封装等先进的封装技术,将共享高速缓存(L3Cache裸晶)以3D堆叠的形式实现物理上的硬件扩容,并与大核和小核封装在一起;本申请实施例通过无凸点系统集成等技术键合堆叠形成的共享高速缓存架构的互连能效比传统的微凸点(Micron Bump)3DIC技术高3倍以上,互连密度比微凸点3DIC技术高15倍以上,并且本申请实施例通过无凸点系统集成芯片技术键合堆叠形成的共享高速缓存架构可以降低TSV的电容和电感,可提供更好的信号,不仅增加了互连密度,同时可以保持最低的功率和面积。
在一种具体的实施例中,键合堆叠为通过亲水键合工艺键合堆叠;或者,键合堆叠为通过铜-铜键合等工艺键合堆叠;这样,本申请实施例提供了多种键合方式,能够在一定程度上降低生产成本,并提升多核性能。
具体地,亲水键合工艺虽然不断改进,并且应用到不同的领域,但亲水键合的工艺是类似的,一般分为以下三步:(1)将两片表面平整洁净的抛光硅片(氧化或未氧化)先经含OH-的溶液浸泡处理,使硅片的表面吸附足够的OH-(氢氧根)离子;(2)在室温下将硅片的抛光面贴合在一起,使两硅片在室温下依靠短程的分子间作用力(如H键)吸合在一起,由于这时硅片之间的作用力很弱,界面间有许多微小的没有键合上的区域;(3)将贴合好的硅片在O2(氧气)或N2(氮气)环境下经过数小时的高温退火处理,使界面发生物理化学反应,键合强度急剧增强,界面间没有键合上的区域消失或被填充,增加键合强度而形成整体,键合完成。
具体地,继续参考图4所示,本申请实施例中的键合堆叠可以为通过铜-铜键合等工艺键合堆叠,当采用铜-铜键合工艺键合时,需要同步采用连接硅基底的硅通孔,铜-铜键合等工艺键合堆叠的具体方法与现有技术类似,这里不再赘述。
具体地,继续参考图4所示,图中示出的处理器裸晶和共享高速缓存裸晶均是封装前的结构,共享缓存0、核0-核7通过无凸点或者微凸点系统集成技术键合堆叠,以形成处理器裸晶,其中键合堆叠采用铜-铜键合工艺键合;并且,共享高速缓存裸晶可以采用铜-铜键合工艺键合的方式与处理器裸晶键合在一起,具体键合时,共享高速缓存裸晶可以位于上方,处理器裸晶位于下方,这样,可以实现簇共享单元内共享高速缓存的物理上可配置、以及软件上的动态可配;图中处理器裸晶包括的逻辑电路由于不涉及本申请的改进点,这里不进行详细赘述。
在一种可选的实施例中,本申请实施例中的一个缓存组被分配给一个特定的核,剩余的核共享剩余的缓存组;在另一种可选的实施例中,本申请实施例中的两个缓存组被分配给同一个特定的核,剩余的核共享剩余的缓存组。
下面以本申请实施例中的处理器包括四个大核和四个小核的八核结构为例进行说明。
具体地,如图5所示,本申请实施例中的特定的核可以为其中的一个大核(对应图中的核0),一个缓存组(例如第N1个缓存组,该缓存组可以为图3中的第一个缓存组,也可以为图3中的第二个缓存组)被分配给核0,剩余的核(如图中的核1…核7)共享剩余的缓存组。核0包括一级缓存和二级缓存(私有缓存),一级缓存可以分为一级数据缓存(DCache)和一级指令缓存(ICache),二者分别用来存放数据以及对执行这些数据的指令进行即时解码,而且两者可以同时被CPU(中央处理器)访问,减少了争用Cache所造成的冲突,提高了处理器效能;同样地,二级缓存L2(容量为256KiB,包括8路)包括二级数据缓存(DCache)和二级指令缓存(ICache),三级缓存L3(容量为1MiB,包括16路,具体16路的分布情况可以参考图3所示)包括三级数据缓存(DCache)和三级指令缓存(ICache),图5中,一级数据缓存和一级指令缓存分别集成在两个不同的芯片上,二级数据缓存和二级指令缓存集成在同一个芯片上,三级数据缓存和三级指令缓存也集成在同一个芯片上。
具体地,如图6所示,本申请实施例中的特定的核可以为其中的一个大核(对应图中的核0),两个缓存组(例如第N1个缓存组和第N2个缓存组)被分配给核0,剩余的核(如图中的核1…核7)共享剩余的缓存组,例如,以图3中的包括三个缓存组为例,可以将第一个缓存组和第二个缓存组分配给核0,剩余的核共享第三个缓存组。
如图5和图6所示,本申请实施例中的处理器能够使共享高速缓存实现物理上的灵活扩展,并且用在处理器缓存层结构中的最合理位置。显然,物理上扩展了共享高速缓存,而不是作为接替三级缓存L3的共享高速缓存的“L4”四级缓存存在,尽管需要额外的2到4个周期(cycle)的开销,不过对于操作系统来说,缓存的相关层级设置仍是透明的。
基于同一发明构思,本申请实施例提供了一种共享高速缓存的分配方法,应用于本申请实施例提供的上述处理器,如图7所示,该分配方法包括:
S101、对共享高速缓存进行分区,使得共享高速缓存包括N个缓存组,每一缓存组中包括多路;
S102、将至少一个缓存组分配给特定的核。
本申请实施例提供的共享高速缓存的分配方法中,对共享高速缓存进行分区,使得共享高速缓存包括N个缓存组,将至少一个缓存组分配给特定的核,可以实现簇共享单元内共享高速缓存的物理上可配置、以及软件上的动态可配。
具体地,将至少一个缓存组分配给特定的核之后,还包括:将剩余的缓存组中的一部分缓存组分配给剩余的核或通过加速器一致性接口与不带本地Cache的硬件设备互连。
继续参考图3所示,共享高速缓存分区,允许在来自不同来源、不同类型流量之间分离缓存容量,尤其适合于异构SoC典型应用,有利于Cluster内控制平面和数据平面的灵活处理。控制平面进程的私有分区,可防止数据平面进程破坏整个缓存,进而提高系统性能。共享高速缓存可以按若干种方式分组,每个分区都可以分配为Core、加速器一致性接口专用,剩余的分区在所有的其他Core之间共享。当上下文切换发生或进程迁移到另一个Core时,操作系统或管理程序可以轻松快速地重新分配分区。
本申请实施例中的共享高速缓存支持动态分区,对于运行固定工作负载的网络或嵌入式系统或需要更多确定性数据管理的应用程序非常有用。共享高速缓存可以划分为N个组,并且可以支持不平衡拆分。以8Cores并共享4MiB(兆字节)的L3 Cache的Cluster为例,1个Core可以获得3MiB,而其他7个Core共享剩余的1MiB。每个组都可以分配给特定的Core或通过加速器一致性接口与不带本地Cache的硬件设备互连。任何未专门分配给缓存组的处理器共享剩余的L3 Cache,分区是动态的,可以在运行时由操作系统或管理程序创建或者调整。
基于同一发明构思,本申请实施例提供了一种共享高速缓存的分配装置,如图8所示,该分配装置包括:分区模块10,被配置为对共享高速缓存进行分区,使得共享高速缓存包括N个缓存组,每一缓存组中包括多路;分配模块20,被配置为将至少一个缓存组分配给特定的核。本申请实施例中的分区模块10和分配模块20可以在运行时由操作系统或管理程序创建或者调整。
具体地,本申请实施例中的分配模块20还被配置为将剩余的缓存组中的一部分缓存组分配给剩余的核或通过加速器一致性接口与不带本地Cache的硬件设备互连。
基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的共享高速缓存的分配方法。因此,本申请实施例提供的计算机可读存储介质具有与本申请实施例提供的共享高速缓存的分配方法相同的有益效果,这里不再赘述。
综上所述,应用本申请实施例,至少能够实现如下有益效果:
第一、本申请实施例提供的处理器包括核和簇共享单元,由于该核包括至少一个大核和至少一个小核,在实际应用中,可以根据产品需求设计例如四个大核四个小核,一个大核七个小核,一个大核两个小核等多种大小核组合,并通过键合技术,实现物理上可配置、以及软件可配的弹性可伸缩多核架构,可支持一定的产品差异化和系统可扩展性;并且,由于簇共享单元包括共享高速缓存,共享高速缓存对应所有的大核和所有的小核,共享高速缓存包括N个缓存组,至少一个缓存组被分配给特定的核;和/或,至少一个缓存组通过加速器一致性接口与不带本地Cache的硬件设备互连,因此,可以实现簇共享单元内共享高速缓存物理上可配置、以及软件上的动态可配。
第二、本申请实施例中,至少一大核111对应一块私有缓存;和/或,至少一小核112对应一块私有缓存;私有缓存为二级缓存。本申请实施例中,核内独占的PrivateL2 Cache(私有二级缓存)和Cluster(簇)内共享L3 Cache(三级缓存)的架构,能够一定程度上做到访存延迟最小化。
第三、本申请实施例通过无凸点系统集成等技术键合堆叠形成的共享高速缓存架构的互连能效比传统的微凸点(Micron Bump)3DIC技术高3倍以上,互连密度比微凸点3DIC技术高15倍以上,并且本申请实施例通过无凸点系统集成等技术键合堆叠形成的共享高速缓存架构可以降低TSV的电容和电感,可提供更好的信号,不仅增加了互连密度,同时可以保持最低的功率和面积。
第四、本申请实施例中的处理器支持大小核、弹性可伸缩多核架构,能够使共享高速缓存实现物理上的灵活扩展,并且用在处理器缓存层结构中的最合理位置,物理上扩展了共享高速缓存。
第五、本申请实施例共享高速缓存分区,允许在来自不同来源、不同类型流量之间分离缓存容量,尤其适合于异构SoC典型应用,有利于Cluster内控制平面和数据平面的灵活处理。控制平面进程的私有分区,可防止数据平面进程破坏整个缓存,进而提高系统性能。
本技术领域技术人员可以理解,本申请中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本申请中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本申请中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
在本申请的描述中,词语“中心”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方向或位置关系,为基于附图所示的示例性的方向或位置关系,是为了便于描述或简化描述本申请的实施例,而不是指示或暗示所指的装置或部件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
在本说明书的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程中的步骤可以按照需求以其他的顺序执行。而且,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,也可以在不同的时刻被执行在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。
Claims (10)
1.一种处理器,其特征在于,包括:核和簇共享单元;
所述核包括至少一个大核和至少一个小核,或者至少双核;
所述簇共享单元包括共享高速缓存,所述共享高速缓存对应所有的所述大核和所有的所述小核,所述共享高速缓存为三级高速缓存;
所述共享高速缓存包括N个缓存组,至少一个所述缓存组被分配给特定的核;和/或,至少一个所述缓存组通过加速器一致性接口与不带本地缓存的硬件设备互连,其中,N为大于等于2的正整数。
2.根据权利要求1所述的处理器,其特征在于,所述共享高速缓存、所述大核和所述小核通过无凸点或者微凸点系统集成技术键合堆叠。
3.根据权利要求2所述的处理器,其特征在于,所述键合堆叠为通过亲水键合工艺键合堆叠;或者,所述键合堆叠为通过铜-铜键合工艺键合堆叠。
4.根据权利要求1所述的处理器,其特征在于,至少一所述大核对应一块私有缓存;和/或,至少一所述小核对应一块私有缓存;
所述私有缓存为二级缓存。
5.根据权利要求1所述的处理器,其特征在于,一个所述缓存组被分配给一个特定的核,剩余的所述核共享剩余的缓存组;
或者,两个所述缓存组被分配给同一个特定的核,剩余的所述核共享剩余的缓存组。
6.一种共享高速缓存的分配方法,应用于权利要求1-5任一项所述的处理器,其特征在于,包括:
对所述共享高速缓存进行分区,使得所述共享高速缓存包括N个缓存组,每一所述缓存组中包括多路;
将至少一个所述缓存组分配给特定的核。
7.根据权利要求6所述的分配方法,其特征在于,所述将至少一个所述缓存组分配给特定的核之后,还包括:
将剩余的所述缓存组中的一部分缓存组分配给剩余的所述核或通过加速器一致性接口与不带本地缓存的硬件设备互连。
8.一种共享高速缓存的分配装置,其特征在于,包括:
分区模块,被配置为对所述共享高速缓存进行分区,使得所述共享高速缓存包括N个缓存组,每一所述缓存组中包括多路;
分配模块,被配置为将至少一个所述缓存组分配给特定的核。
9.根据权利要求8所述的分配装置,其特征在于,所述分配模块还被配置为将剩余的所述缓存组中的一部分缓存组分配给剩余的所述核或通过加速器一致性接口与不带本地缓存的硬件设备互连。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求6或7所述的共享高速缓存的分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210593472.7A CN115098431A (zh) | 2022-05-27 | 2022-05-27 | 处理器、共享高速缓存的分配方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210593472.7A CN115098431A (zh) | 2022-05-27 | 2022-05-27 | 处理器、共享高速缓存的分配方法及其装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115098431A true CN115098431A (zh) | 2022-09-23 |
Family
ID=83288850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210593472.7A Pending CN115098431A (zh) | 2022-05-27 | 2022-05-27 | 处理器、共享高速缓存的分配方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115098431A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024103666A1 (zh) * | 2022-11-16 | 2024-05-23 | 中山大学 | 一种多核处理器动态缓存分区隔离系统及其控制方法 |
-
2022
- 2022-05-27 CN CN202210593472.7A patent/CN115098431A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024103666A1 (zh) * | 2022-11-16 | 2024-05-23 | 中山大学 | 一种多核处理器动态缓存分区隔离系统及其控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180024957A1 (en) | Techniques to enable disaggregation of physical memory resources in a compute system | |
US8710676B2 (en) | Stacked structure and stacked method for three-dimensional chip | |
JP7478229B2 (ja) | 統合キャッシュを有するアクティブブリッジチップレット | |
CN111190553B (zh) | 使用混合存储器立方体链路的互连系统及方法 | |
KR20150099759A (ko) | 구획된 다중-홉 네트워크를 갖는 다이-스택된 디바이스 | |
WO2014025678A1 (en) | Stacked memory device with helper processor | |
EP2411981A2 (en) | Configurable bandwidth memory devices and methods | |
US9465727B2 (en) | Memory system, method for controlling the same, and information processing device | |
CN103988186A (zh) | 内存系统、内存模块、内存模块的访问方法以及计算机系统 | |
US20200409859A1 (en) | Gpu chiplets using high bandwidth crosslinks | |
TWI797314B (zh) | 記憶體系統 | |
CN115098431A (zh) | 处理器、共享高速缓存的分配方法及其装置 | |
CN104360982A (zh) | 一种基于可重构芯片技术的主机系统目录结构实现方法和系统 | |
KR20210037531A (ko) | 메모리 자원들을 포함하는 칩렛을 갖는 패키징된 디바이스 | |
CN215601334U (zh) | 3d-ic基带芯片、堆叠芯片 | |
KR102605205B1 (ko) | 메모리 장치 및 프로세싱 시스템 | |
CN111684391B (zh) | 全系统低功率管理 | |
CN114467166A (zh) | 制造有源电桥耦合的gpu小芯片 | |
CN215341078U (zh) | 存储访问电路、集成芯片及电子设备 | |
Franzon et al. | Computing in 3D | |
Daneshtalab et al. | CMIT—A novel cluster-based topology for 3D stacked architectures | |
CN114038490B (zh) | 基于三维异质集成的一致性链路存储芯片 | |
Daneshtalab et al. | Memory-efficient logic layer communication platform for 3D-stacked memory-on-processor architectures | |
CN113946567B (zh) | 一种基于众核系统的数据迁移系统及方法 | |
CN113380783B (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 |