CN102270180A - 一种多核处理器高速缓存及其管理方法 - Google Patents
一种多核处理器高速缓存及其管理方法 Download PDFInfo
- Publication number
- CN102270180A CN102270180A CN2011102275880A CN201110227588A CN102270180A CN 102270180 A CN102270180 A CN 102270180A CN 2011102275880 A CN2011102275880 A CN 2011102275880A CN 201110227588 A CN201110227588 A CN 201110227588A CN 102270180 A CN102270180 A CN 102270180A
- Authority
- CN
- China
- Prior art keywords
- data
- processor
- state
- nuclear
- grouping
- 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
Links
Images
Abstract
本发明涉及计算机系统结构技术领域,提出了一种多核处理器高速缓存及其管理方法。本发明中通过对多核处理器的处理器核进行分组,在每个分组中增加组标签部件,实现了组内一级高速缓存的共享,可以从组内直接获得数据,减少了对二级高速缓存的访问次数,降低了多核处理器访问存储系统的平均延迟,同时也减少了多核处理器片上网络的流量,提高了多核处理器的整体性能;此外,本发明中的二级高速缓存的目录中只需要维护每个组的访问情况,节省了目录存储空间,降低了对目录的访问和维护操作所需的延迟,更利于多核处理器规模的扩展。
Description
技术领域
本发明涉及计算机系统结构技术领域,特别涉及一种多核处理器高速缓存及其管理方法。
背景技术
传统的单核处理器通过提高运行频率来提高计算性能,然而,单纯增加晶体管数目不仅耗用大量晶体管资源,而且随着时钟频率不断攀升,微处理器的功耗也迅速增加。提高芯片性能和减少能耗成为矛盾,单核处理器的性能提升已遇到瓶颈。为解决这一问题,多核处理器的设计思想应运而生。通过在单个芯片上集成多个高效内核,就可以在保持工作频率的条件下实现性能的提升,以获得更高的能效。
在多核处理器中,分片式片上多核处理器是一种较为通用的结构,在多核处理器的体系结构研究中被广泛采用。其中,每个节点(分片)由处理器核(包含一级高速缓存)、二级高速缓存和片上网络路由器等模块构成,各节点间通过片上2D mesh网络连接,构成一个分片式多核处理器(Tiled Multicore Processors)。分片式多核处理器可以使设计人员集中在单片(Tile)的设计上,随后将单片的设计复制到整个芯片,简化了设计和制造过程。这样的结构具有很好的扩展性,可以应用在大规模的多核处理器中。
根据摩尔定律,计算机处理器的性能每18至24个月增加一倍,然而,内存的访问速度仅以每年7%-10%的速度增长,远远落后于处理器的增长速度。相对于处理器来说,内存访问延迟以每十年5倍的速度增长,处理器与存储器的差距不断增加,造成了系统结构的失衡,形成了阻碍性能提升的“存储墙”,多核处理器中数据处理速度和存储器访问速度之间的不匹配会导致多核处理器资源利用的不平衡,阻碍多核处理器系统吞吐率的提高,从而使得对存储系统的访问成为整个计算机系统的性能瓶颈。
为解决“存储墙”问题,进一步提高多核处理器的性能,片上高速缓存的管理成为多核处理器研究中的一个重要问题。高速缓存管理技术的目的是降低访问延迟和减少片外访问次数。在高速缓存管理技术中,有两种主要的方法:一种是改变高速缓存的组织方式,采用私有高速缓存和共享高速缓存混合的组织结构,这种方法扩展性差,无法应用在大规模多核处理器中;另一种是通过复制和迁移技术,在共享二级高速缓存结构的基础上,减少远程高速缓存访问,降低访问延迟,或者在私有二级高速缓存结构的基础上,增加片上高速缓存的有效容量,降低片外存储器访问延迟。这些方法的共同点是对二级高速缓存的复制和迁移,由此造成了在二级高速缓存中查找时的高延迟,结构复杂,扩展性差,减少了二级高速缓存的有效容量,增加了面积和功耗,有的方法还需要修改操作系统。
发明内容
(一)要解决的技术问题
针对现有技术的缺点,本发明为了解决现有技术中片上高速缓存管理时在二级高速缓存中查找效率低的问题,提出了一种多核处理器高速缓存及其管理方法,通过对多核处理器的核进行分组,在每个分组中增加组标签部件,实现了组内一级高速缓存的共享,减少了对二级高速缓存的访问次数,提高了多核处理器的整体性能。
(二)技术方案
为实现上述目的,本发明采用如下技术方案:
一种多核处理器高速缓存,所述多核处理器包括至少四个节点,所述多核处理器高速缓存中:
一级高速缓存为每个处理器核私有,二级高速缓存为所有处理器核分布式共享,每个节点由包含一级高速缓存的处理器核、二级高速缓存和片上网络路由器构成,各节点间通过所述片上网络路由器连接形成2D mesh网络;
其中,每相邻的四个节点构成一个分组,每个分组设置有一个组标签单元,所述组标签单元中复制了相应分组中四个处理器核的一级高速缓存的标签和状态,用于在组内实现一级高速缓存数据的共享。
优选地,所述组标签单元的每一行由组内四个一级高速缓存中相应行的标签和状态部分依次组成。
优选地,在所述二级高速缓存中以行为单位维护高速缓存的一致性,每一行包括地址标签、数据、状态和共享目录,其中,共享目录是一个宽度为所述多核处理器中分组数目的位向量,用来标识分组对此高速缓存行的访问情况。
更进一步地,本发明还同时提供一种多核处理器高速缓存的管理方法,应用于如上所述的多核处理器高速缓存中,所述方法包括步骤:
S1,第一处理器核请求访问数据x;
S2,首先在所述第一处理器核的一级高速缓存中查找,当所述数据x在一级高速缓存中命中时,转到步骤S10进行本地读或写;当所述数据x在一级高速缓存中未命中时,所述第一处理器核访问其所在分组的组标签单元,执行步骤S3;
S3,当所述数据x在组标签中命中时,继续执行步骤S4;当所述数据x在组标签中未命中时,转到步骤S6;
S4,由组标签单元向分组内拥有所述数据x的第二处理器核请求所述数据x进行组内读或写;
S5,所述第二处理器核收到组标签单元的组内读或写请求后,处理该请求并向所述第一处理器核的一级高速缓存传送数据x,继续执行步骤S10;
S6,所述第一处理器核向二级高速缓存请求所述数据x,当二级高速缓存中包含所述数据x时,转到步骤S9;当二级高速缓存中未包含所述数据x时,向其它分组或内存请求所述数据x,继续执行步骤S7;
S7,当所述数据x在某个分组中的一级高速缓存中时,二级高速缓存向包含所述数据x的分组转发请求进行组外读或写,继续执行步骤S8;当所述数据x未在任何分组的一级高速缓存中时,二级高速缓存从内存中取得所述数据x,转到步骤S9;
S8,包含所述数据x的分组收到组外读或写请求后,处理该请求并向请求所述数据x的所述第一处理器核的一级高速缓存传送数据,转到步骤S10;
S9,二级高速缓存向所述第一处理器核的一级高速缓存传送数据x;
S10,所述第一处理器核的一级高速缓存将数据x传送给所述第一处理器核进行本地读或写。
优选地,步骤S4-S5中,当进行组内读或写时执行以下一种或多种处理:
若所述第二处理器核拥有独占状态的数据x,当同分组中的所述第一处理器核请求读数据x时,所述第二处理器核收到请求后向所述第一处理器核发送数据x并将所述第二处理器核中数据x的状态转换为组独占状态,所述第一处理器核收到数据x后,将数据x的状态设定为组独占状态;
若所述第二处理器核拥有修改状态的数据x,当同分组中所述第一处理器核请求读数据x时,所述第二处理器核收到请求后向所述第一处理器核发送数据x并将所述第二处理器核中数据x的状态转换为组修改状态,所述第一处理器核收到数据x后,将数据x的状态设定为组修改状态;
若所述第二处理器核拥有独占或修改状态的数据x,当同分组中的所述第一处理器核请求写数据x时,所述第二处理器核收到请求后向所述第一处理器核发送数据x并将所述第二处理器核中数据x的状态转换为无效状态,所述第一处理器核收到数据x后,将数据x的状态设定为修改状态;
若一个分组内一个或多个处理器核拥有组独占状态的数据x,当同分组中的所述第一处理器核请求读数据x时,向拥有数据x的某个第二处理器核发送读请求,所述第二处理器核收到请求后向所述第一处理器核发送数据x,所述第一处理器核收到数据x后,将数据x的状态设定为组独占状态;
若一个分组内一个或多个处理器核拥有组修改状态的数据x,当同分组中的所述第一处理器核请求读数据x时,向拥有数据x的某个第二处理器核发送读请求,所述第二处理器核收到请求后向所述第一处理器核发送数据x,所述第一处理器核收到数据x后,将数据x的状态设定为组修改状态;
若一个分组内一个或多个处理器核拥有组独占或组修改状态的数据x,当同分组中的所述第一处理器核请求写数据x时,所述第一处理器核向拥有数据x的某个第二处理器核发送写请求,同时向其它拥有数据x的核发送无效消息,所述第二处理器核收到请求后向所述第一处理器核发送数据x并将所述第二处理器核中数据x的状态转换为无效状态,组内其它拥有数据x的核收到无效消息后将数据x的状态转换为无效状态,所述第一处理器核收到数据x和无效消息应答后,将数据x的状态设定为修改状态;
若一个分组内一个或多个核拥有共享状态的数据x,当同分组中的所述第一处理器核读数据x时,所述第一处理器核向拥有数据x的某个所述第二处理器核发送读请求,所述第二处理器核收到请求后向所述第一处理器核发送数据x,所述第一处理器核收到数据x后,将数据x的状态设定为共享状态;
若一个分组内一个或多个核拥有共享状态的数据x,当同分组中的所述第一处理器核写数据x时,所述第一处理器核向拥有数据x的某个所述第二处理器核发送写请求,同时向组内其它拥有数据x的核发送无效消息,向宿主节点发送数据更新消息,所述第二处理器核收到请求后向所述第一处理器核发送数据x并将数据x的状态转换为无效状态,其它拥有数据x的核收到无效消息后将数据x的状态转换为无效状态,宿主节点收到数据更新消息后会给其它共享数据x的组发送无效消息,所述第一处理器核收到数据x、更新消息和无效消息的应答后,将数据x的状态设定为修改状态。
优选地,步骤S7-S8中,当进行组外读或写时执行以下一种或多种处理:
若一个分组内拥有独占、组独占、修改或组修改状态的数据x,当分组外的所述第一处理器核读数据x时,所述第一处理器核向宿主节点发送读请求,宿主节点将所述第一处理器核的请求转发给拥有数据x的分组,分组收到请求后将数据x发送给所述第一处理器核并且组内的所有拥有数据x的核将数据x的状态转换为共享状态,所述第一处理器核收到数据x后,将数据x的状态设定为共享状态;
若一个分组内拥有独占、组独占、修改或组修改状态的数据x,当分组外的所述第一处理器核写数据x时,所述第一处理器核向宿主节点发送写请求,宿主节点将所述第一处理器核的请求转发给拥有数据x的分组,该分组收到请求后将数据x发送给所述第一处理器核并且组内的所有拥有数据x的核将数据x的状态转换为无效状态,所述第一处理器核收到数据x后,将数据x的状态设定为修改状态。
优选地,步骤S10中,当进行本地读或写时执行以下一种或多种处理:
若一个分组内一个或多个核拥有独占、组独占、修改、组修改或共享状态的数据x,当分组中某个拥有数据x的所述第一处理器核读数据时可以直接从其一级高速缓存中得到数据,数据x的状态不变;
若一个分组内拥有独占状态的数据x,当分组中拥有数据x的所述第一处理器核写数据时可以直接写其一级高速缓存中的数据x,并将数据x的状态修改为修改状态;
若一个分组内拥有修改状态的数据x,当分组中拥有数据x的所述第一处理器核写数据时可以直接写其一级高速缓存中的数据x,数据x的状态不变;
若一个分组内拥有组独占或组修改状态的数据x,当分组中某个拥有数据x的所述第一处理器核写数据时,向组内其它拥有数据x的核发送无效消息,组内其它拥有数据x的核收到无效消息后将数据x的状态转换为无效状态,所述第一处理器核收到无效消息应答后,将数据x的状态设定为修改状态;
若一个分组内一个或多个核拥有共享状态的数据x,当分组中某个拥有数据x的所述第一处理器核写数据时,所述第一处理器核向宿主节点发送数据更新消息,同时向组内其它拥有数据x的核发送无效消息,其它拥有数据x的核收到无效消息后将数据x的状态转换为无效状态,宿主节点收到数据更新消息后会给其它共享数据x的组发送无效消息,所述第一处理器核收到更新消息和无效消息的应答后,将数据x的状态转换为修改状态。
其中,上述各处理中的宿主节点指存储数据x的二级高速缓存节点。
优选地,当收到涉及数据x的无效消息时,执行以下处理:
一个核或一个分组收到涉及数据x的无效消息时,将数据x无效后,给无效消息请求者发无效消息的应答。
(三)有益效果
本发明提供的多核处理器高速缓存及其管理方法通过对多核处理器的核进行分组,在每个分组中增加组标签部件,实现了组内一级高速缓存的共享,可以从组内直接获得数据,减少了对二级高速缓存的访问次数,降低了多核处理器访问存储系统的平均延迟,同时也减少了多核处理器片上网络的流量,提高了多核处理器的整体性能;此外,本发明中的二级高速缓存的目录中只需要维护每个组的访问情况,节省了目录存储空间,降低了对目录的访问和维护操作所需的延迟,更利于多核处理器规模的扩展。
附图说明
图1是本发明的多核处理器高速缓存的结构示意图;
图2是本发明中组标签的组织结构示意图;
图3是本发明中二级高速缓存行目录与现有技术中二级高速缓存的结构对比示意图;
图4是本发明中某处理器核对多核处理器高速缓存进行数据访问时的高速缓存管理方法流程图;
图5是本发明中基于分组管理的多核处理器高速缓存一致性协议状态转换的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明首先提出了一种具有特定高速缓存组织结构的多核处理器高速缓存,以多核处理器为基础架构,其片上高速缓存由两级构成,一级高速缓存为每个核私有,二级高速缓存为分布式共享,使用基于目录管理的高速缓存一致性协议。其中,如图1所示,各附图标记表示的含义为:R,路由器;CPU,处理器核;L1$,一级高速缓存;L2$,二级高速缓存;Group Tag,组标签;在图1中,虚线框表示了一个分组。
可以看出,在本发明的多核处理器高速缓存中,将相邻的四个节点定义为一个分组,每个分组中增加一个称为组标签的单元,组标签中复制了分组中四个核的一级高速缓存的标签和状态部分。处理器核访问数据时,在其一级高速缓存未命中的情况下,若该数据的地址标签在组标签中存在且为有效状态,即所访问的数据在分组内的其它核的一级高速缓存中存在,称为组标签命中,反之,若该数据的地址标签在组标签中不存在,即所访问的数据在分组内的其它核的一级高速缓存中不存在,称为组标签未命中。
具体地,如图2所示,其给出了本发明中一级高速缓存中每行的构成以及组标签中每行的构成,各附图标记表示的含义为:R,路由器;CPU,处理器核;L1$,一级高速缓存;L2$,二级高速缓存;Group Tag,组标签;L1 Tag,一级高速缓存中一行的标签;L1 State,一级高速缓存中一行的状态;L1 Data,一级高速缓存中一行的数据。可以看出,在每个分组所述组标签单元中,组标签的每一行由组内四个一级高速缓存中相应行的标签(Tag)和状态(State)部分组成,通过对组标签的访问实现组内一级高速缓存的共享,减少了对二级高速缓存的访问次数,降低了多核处理器访问存储系统的平均延迟,减少了多核处理器片上网络的流量。
此外,如图3所示,本发明还对二级高速缓存的每行构成进行了优化,图3中各附图标记表示的含义为:Tag,二级高速缓存中一行的标签;S,二级高速缓存中一行的状态;Data,二级高速缓存中一行的数据;Dir,二级高速缓存中一行的目录。可以看出,本发明更进一步地优化了目录向量:在二级高速缓存中以行为单位维护一致性,每一行包括地址标签、数据、状态和共享目录,其中共享目录是一个宽度为系统中分组数目的位向量,用来标识分组对此高速缓存行的访问情况。设多核处理器中有p个处理器核,每个二级高速缓存块有n个行,则一块二级高速缓存中维护共享信息的目录向量需要(n×p)/4位,整个片上二级高速缓存中共需要(n×p2)/4位。相对于现有技术的二级高速缓存,本发明中的二级高速缓存可以节省3/4的目录存储空间;且二级高速缓存向一级高速缓存发送无效消息时以组为单位,而不是以核为单位,这种方式进一步降低了对目录的访问和维护操作所需的延迟,更利于多核处理器规模的扩展。
在本发明中,某处理器核对多核处理器高速缓存进行数据访问时的高速缓存管理方法如图4所示,具体包括步骤:
S1,第一处理器核请求访问数据x;
S2,首先在所述第一处理器核的一级高速缓存中查找,当所述数据x在一级高速缓存中命中时,转到步骤S10进行本地读或写;当所述数据x在一级高速缓存中未命中时,所述第一处理器核访问其所在分组的组标签单元,执行步骤S3;
S3,当所述数据x在组标签中命中时,继续执行步骤S4;当所述数据x在组标签中未命中时,转到步骤S6;
S4,由组标签单元向分组内拥有所述数据x的第二处理器核请求所述数据x进行组内读或写;
S5,所述第二处理器核收到组标签单元的组内读或写请求后,处理该请求并向所述第一处理器核的一级高速缓存传送数据x,继续执行步骤S10;
S6,所述第一处理器核向二级高速缓存请求所述数据x,当二级高速缓存中包含所述数据x时,转到步骤S9;当二级高速缓存中未包含所述数据x时,向其它分组或内存请求所述数据x,继续执行步骤S7;
S7,当所述数据x在某个分组中的一级高速缓存中时,二级高速缓存向包含所述数据x的分组转发请求进行组外读或写,继续执行步骤S8;当所述数据x未在任何分组的一级高速缓存中时,二级高速缓存从内存中取得所述数据x,转到步骤S9;
S8,包含所述数据x的分组收到组外读或写请求后,处理该请求并向请求所述数据x的所述第一处理器核的一级高速缓存传送数据,转到步骤S10;
S9,二级高速缓存向所述第一处理器核的一级高速缓存传送数据x;
S10,所述第一处理器核的一级高速缓存将数据x传送给所述第一处理器核进行本地读或写。
多核处理器中多个核之间数据的一致性由高速缓存一致性协议保证,MESI协议是目前常用的高速缓存一致性协议,一级高速缓存中有修改(Modified),独占(Exclusive),共享(Shared),无效(Invalid)四个稳定状态。在本发明中,对MESI一致性协议进行了优化,形成基于分组管理的MESI协议(GMESI协议)。与MESI相比,GMESI协议中,在一级高速缓存中增加组独占(Group Exclusive)和组修改(Group Modified)两个稳定状态。组独占指一个数据仅在一个分组中拥有,可能在组内的一个或多个核中存在,分组中的数据与二级高速缓存中的数据是一致的,组内核对该数据的读写访问均不需要到二级高速缓存取数据;组修改是指该组拥有被修改过数据,该数据可能在组内的一个或多个核中存在,分组中的数据是唯一正确的数据,二级高速缓存中的数据是不正确的数据,组内核对该数据的读写访问均不需要到二级高速缓存中取数据。
在本发明中新的多核处理器高速缓存结构下,对一级高速缓存中数据的访问分为六种情况,包括本地读、本地写、组内读、组内写、组外读、组外写:本地读、本地写分别指一个核对自己的一级高速缓存中数据的读写访问;组内读、组内写分别指一个分组内的其它核对本核数据的读写访问;组外读、组外写分别指分组外的核对本组数据的读写访问。
具体地,如图5所示,其表示了在本发明的方法中进一步提出的GMESI协议的状态转换拓扑图,其中各节点表示数据所处状态,各有向边表示从一种状态向另一种状态转换时可能进行的操作。各附图标记表示的具体含义为:I,无效状态;S,共享状态;M,修改状态;E,独占状态;GE,组独占状态;GM,组修改状态;Rl,本地核的读访问;Wl,本地核的写访问;Rg,组内其它核的读访问;Wg,组内其它核的写访问;Rr,组外其它核的读访问;Wr,组外其它核的写访问;Rl(S′),从二级高速缓存或组内其它核的一级高速缓存中得到数据,且该数据是共享状态;Rl(~S′),从二级高速缓存中得到数据,且该数据在二级高速缓存中不是共享状态;Rl(E′),从组内其它核的一级高速缓存中得到数据,且该数据在分组内的其它核中为E状态或GE状态;Rl(M′),从组内其它核的一级高速缓存中得到数据,且该数据在分组内的其它核中为M状态或GM状态;Inv,无效消息。
可以看出,在本发明中,根据对共享数据的具体操作,可能进行的状态转换过程有以下几种情况(在下述处理中,将存储数据x的二级高速缓存节点称为宿主节点):
(2-1)若核A拥有独占、组独占、修改、组修改或共享状态的数据x,当核A读数据时可以直接从其一级高速缓存中得到数据,数据x的状态不变;
(2-2)若核A拥有独占状态的数据x,当核A写数据时可以直接写其一级高速缓存中的数据x,并将数据x的状态修改为修改状态;
(2-3)若核A拥有修改状态的数据x,当核A写数据时可以直接写其一级高速缓存中的数据x,数据x的状态不变;
(2-4)若核A拥有组独占或组修改状态的数据x,当若核A写数据时,向组内其它拥有数据x的核发送无效消息,组内其它拥有数据x的核收到无效消息后将数据x的状态转换为无效状态,核A收到无效消息应答后,将数据x的状态设定为修改状态;
(2-5)若核A拥有共享状态的数据x,当核A写数据时,向宿主节点发送数据更新消息,同时向其它拥有数据x的核发送无效消息,其它拥有数据x的核收到无效消息后将数据x的状态转换为无效状态,宿主节点收到数据更新消息后给其它共享数据x的组发送无效消息,核A收到更新消息和无效消息的应答后,将数据x的状态转换为修改状态;
(2-6)若核A拥有独占状态的数据x,当同组中的核B读数据x时,核B向核A发送读请求。核A收到请求后向核B发送数据x并将核A中数据x的状态转换为组独占状态。核B收到数据x后,将数据x的状态设定为组独占状态;
(2-7)若核A拥有修改状态的数据x,当同组中核B读数据x时,核B向核A发送读请求。核A收到请求后向核B发送数据x并将核A中数据x的状态转换为组修改状态。核B收到数据x后,将数据x的状态设定为组修改状态;
(2-8)若核A拥有独占或修改状态的数据x,当同组中核B写数据x时,核B向核A发送写请求。核A收到请求后向核B发送数据x并将核A中数据x的状态转换为无效状态。核B收到数据x后,将数据x的状态设定为修改状态;
(2-9)若一个分组内一个或多个核拥有组独占状态的数据x,当同组中的核B读数据x时,核B向拥有数据x的某个核A发送读请求。核A收到请求后向核B发送数据x。核B收到数据x后,将数据x的状态设定为组独占状态;
(2-10)若一个分组内一个或多个核拥有组修改状态的数据x,当同分组中的核B读数据,核B向某个拥有数据x的核A发送读请求。核A收到请求后向核B发送数据x。核B收到数据x后,将数据x的状态设定为组修改状态;
(2-11)若一个分组内一个或多个核拥有组独占或组修改状态的数据x,当同组中的核B写数据x时,核B向拥有该数据的某个核A发送写请求,同时向其它拥有数据x的核发送无效消息。核A收到请求后向核B发送数据x并将核A中数据x的状态转换为无效状态,组内其它拥有数据x的核收到无效消息后将数据x的状态转换为无效状态。核B收到数据x和无效消息应答后,将数据x的状态设定为修改状态;
(2-12)若一个分组内一个或多个核拥有共享状态的数据x,当同组中的核B读数据x时,核B向拥有数据x的某个核A发送读请求。核A收到请求后向核B发送数据x。核B收到数据x后,将数据x的状态设定为共享状态;
(2-13)若一个分组内一个或多个核拥有共享状态的数据x,当同组中的核B写数据x时,核B向拥有数据x的某个核A发送写请求,同时向组内其它拥有数据x的核发送无效消息,向宿主节点发送数据更新消息。核A收到请求后向核B发送数据x并将数据x的状态转换为无效状态,其它拥有数据x的核收到无效消息后将数据x的状态转换为无效状态,宿主节点收到数据更新消息后会给其它共享数据x的组发送无效消息。核B收到数据x、更新消息和无效消息的应答后,将数据x的状态设定为修改状态。
(2-14)若一个分组内拥有独占、组独占、修改或组修改状态的数据x,当分组外的核C读数据x时,核C向宿主节点发送读请求,宿主节点将核C的请求转发给拥有数据的分组。该分组收到请求后将数据x发送给C并且组内的所有拥有数据x的核将数据x的状态转换为共享状态。核C收到数据x后,将数据x的状态设定为共享状态;
(2-15)若一个分组内拥有独占、组独占、修改或组修改状态的数据x,当分组外的核C写数据x时,核C向宿主节点发送写请求,宿主节点将核C的请求转发给拥有数据的分组。该分组收到请求后将数据发送给核C并且组内的所有拥有数据x的核将数据x的状态转换为无效状态。核C收到数据x后,将数据x的状态设定为修改状态;
(2-16)一个分组收到来自分组外的无效数据x的请求消息时,将组内所有拥有数据x的核中的数据x无效后,给无效消息请求者发无效消息的应答;
(2-17)一个核收到来自分组内的无效数据x的请求消息时,将数据x无效后,给无效消息请求者发无效消息的应答。
综上所述,本发明提供的多核处理器高速缓存及其管理方法中实现了多核处理器上一个分组内的处理器核共享一级高速缓存内的数据,在处理器核对数据的访问中,一部分数据可以直接从组内的一级高速缓存中获得,减少了对二级高速缓存的访问次数,降低了数据在高速缓存中的查找时间和在网络中的传输时间,减少了多核处理器片上网络的流量。
此外,本发明还进一步改进了二级高速缓存的行结构,减少了二级高速缓存的目录存储空间,降低了对目录的访问和维护的延迟,降低了多核处理器访问存储系统的平均延迟,提高了多核处理器访问存储系统的整体性能,更利于多核处理器规模的扩展。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (8)
1.一种多核处理器高速缓存,所述多核处理器包括至少四个节点,其特征在于,所述多核处理器高速缓存中:
一级高速缓存为每个处理器核私有,二级高速缓存为所有处理器核分布式共享,每个节点由包含一级高速缓存的处理器核、二级高速缓存和片上网络路由器构成,各节点间通过所述片上网络路由器连接形成2D mesh网络;
其中,每相邻的四个节点构成一个分组,每个分组设置有一个组标签单元,所述组标签单元中复制了相应分组中四个处理器核的一级高速缓存的标签和状态,用于在组内实现一级高速缓存数据的共享。
2.根据权利要求1所述的多核处理器高速缓存,其特征在于,所述组标签单元的每一行由组内四个一级高速缓存中相应行的标签和状态部分依次组成。
3.根据权利要求1所述的多核处理器高速缓存,其特征在于,在所述二级高速缓存中以行为单位维护高速缓存的一致性,每一行包括地址标签、数据、状态和共享目录,其中,共享目录是一个宽度为所述多核处理器中分组数目的位向量,用来标识分组对此高速缓存行的访问情况。
4.一种多核处理器高速缓存的管理方法,应用于如权利要求1-3任一项所述的多核处理器高速缓存中,其特征在于,所述方法包括步骤:
S1,第一处理器核请求访问数据x;
S2,首先在所述第一处理器核的一级高速缓存中查找,当所述数据x在一级高速缓存中命中时,转到步骤S10进行本地读或写;当所述数据x在一级高速缓存中未命中时,所述第一处理器核访问其所在分组的组标签单元,执行步骤S3;
S3,当所述数据x在组标签中命中时,继续执行步骤S4;当所述数据x在组标签中未命中时,转到步骤S6;
S4,由组标签单元向分组内拥有所述数据x的第二处理器核请求所述数据x进行组内读或写;
S5,所述第二处理器核收到组标签单元的组内读或写请求后,处理该请求并向所述第一处理器核的一级高速缓存传送数据x,继续执行步骤S10;
S6,所述第一处理器核向二级高速缓存请求所述数据x,当二级高速缓存中包含所述数据x时,转到步骤S9;当二级高速缓存中未包含所述数据x时,向其它分组或内存请求所述数据x,继续执行步骤S7;
S7,当所述数据x在某个分组中的一级高速缓存中时,二级高速缓存向包含所述数据x的分组转发请求进行组外读或写,继续执行步骤S8;当所述数据x未在任何分组的一级高速缓存中时,二级高速缓存从内存中取得所述数据x,转到步骤S9;
S8,包含所述数据x的分组收到组外读或写请求后,处理该请求并向请求所述数据x的所述第一处理器核的一级高速缓存传送数据,转到步骤S10;
S9,二级高速缓存向所述第一处理器核的一级高速缓存传送数据x;
S10,所述第一处理器核的一级高速缓存将数据x传送给所述第一处理器核进行本地读或写。
5.根据权利要求4所述的方法,其特征在于,步骤S4-S5中,当进行组内读或写时执行以下一种或多种处理:
若所述第二处理器核拥有独占状态的数据x,当同分组中的所述第一处理器核请求读数据x时,所述第二处理器核收到请求后向所述第一处理器核发送数据x并将所述第二处理器核中数据x的状态转换为组独占状态,所述第一处理器核收到数据x后,将数据x的状态设定为组独占状态;
若所述第二处理器核拥有修改状态的数据x,当同分组中所述第一处理器核请求读数据x时,所述第二处理器核收到请求后向所述第一处理器核发送数据x并将所述第二处理器核中数据x的状态转换为组修改状态,所述第一处理器核收到数据x后,将数据x的状态设定为组修改状态;
若所述第二处理器核拥有独占或修改状态的数据x,当同分组中的所述第一处理器核请求写数据x时,所述第二处理器核收到请求后向所述第一处理器核发送数据x并将所述第二处理器核中数据x的状态转换为无效状态,所述第一处理器核收到数据x后,将数据x的状态设定为修改状态;
若一个分组内一个或多个处理器核拥有组独占状态的数据x,当同分组中的所述第一处理器核请求读数据x时,向拥有数据x的某个第二处理器核发送读请求,所述第二处理器核收到请求后向所述第一处理器核发送数据x,所述第一处理器核收到数据x后,将数据x的状态设定为组独占状态;
若一个分组内一个或多个处理器核拥有组修改状态的数据x,当同分组中的所述第一处理器核请求读数据x时,向拥有数据x的某个第二处理器核发送读请求,所述第二处理器核收到请求后向所述第一处理器核发送数据x,所述第一处理器核收到数据x后,将数据x的状态设定为组修改状态;
若一个分组内一个或多个处理器核拥有组独占或组修改状态的数据x,当同分组中的所述第一处理器核请求写数据x时,所述第一处理器核向拥有数据x的某个第二处理器核发送写请求,同时向其它拥有数据x的核发送无效消息,所述第二处理器核收到请求后向所述第一处理器核发送数据x并将所述第二处理器核中数据x的状态转换为无效状态,组内其它拥有数据x的核收到无效消息后将数据x的状态转换为无效状态,所述第一处理器核收到数据x和无效消息应答后,将数据x的状态设定为修改状态;
若一个分组内一个或多个核拥有共享状态的数据x,当同分组中的所述第一处理器核读数据x时,所述第一处理器核向拥有数据x的某个所述第二处理器核发送读请求,所述第二处理器核收到请求后向所述第一处理器核发送数据x,所述第一处理器核收到数据x后,将数据x的状态设定为共享状态;
若一个分组内一个或多个核拥有共享状态的数据x,当同分组中的所述第一处理器核写数据x时,所述第一处理器核向拥有数据x的某个所述第二处理器核发送写请求,同时向组内其它拥有数据x的核发送无效消息,向宿主节点发送数据更新消息,所述第二处理器核收到请求后向所述第一处理器核发送数据x并将数据x的状态转换为无效状态,其它拥有数据x的核收到无效消息后将数据x的状态转换为无效状态,宿主节点收到数据更新消息后会给其它共享数据x的组发送无效消息,所述第一处理器核收到数据x、更新消息和无效消息的应答后,将数据x的状态设定为修改状态;
其中,上述各处理中的宿主节点指存储数据x的二级高速缓存节点。
6.根据权利要求4所述的方法,其特征在于,步骤S7-S8中,当进行组外读或写时执行以下一种或多种处理:
若一个分组内拥有独占、组独占、修改或组修改状态的数据x,当分组外的所述第一处理器核读数据x时,所述第一处理器核向宿主节点发送读请求,宿主节点将所述第一处理器核的请求转发给拥有数据x的分组,分组收到请求后将数据x发送给所述第一处理器核并且组内的所有拥有数据x的核将数据x的状态转换为共享状态,所述第一处理器核收到数据x后,将数据x的状态设定为共享状态;
若一个分组内拥有独占、组独占、修改或组修改状态的数据x,当分组外的所述第一处理器核写数据x时,所述第一处理器核向宿主节点发送写请求,宿主节点将所述第一处理器核的请求转发给拥有数据x的分组,该分组收到请求后将数据x发送给所述第一处理器核并且组内的所有拥有数据x的核将数据x的状态转换为无效状态,所述第一处理器核收到数据x后,将数据x的状态设定为修改状态;
其中,上述各处理中的宿主节点指存储数据x的二级高速缓存节点。
7.根据权利要求4所述的方法,其特征在于,步骤S10中,当进行本地读或写时执行以下一种或多种处理:
若一个分组内一个或多个核拥有独占、组独占、修改、组修改或共享状态的数据x,当分组中某个拥有数据x的所述第一处理器核读数据时可以直接从其一级高速缓存中得到数据,数据x的状态不变;
若一个分组内拥有独占状态的数据x,当分组中拥有数据x的所述第一处理器核写数据时可以直接写其一级高速缓存中的数据x,并将数据x的状态修改为修改状态;
若一个分组内拥有修改状态的数据x,当分组中拥有数据x的所述第一处理器核写数据时可以直接写其一级高速缓存中的数据x,数据x的状态不变;
若一个分组内拥有组独占或组修改状态的数据x,当分组中某个拥有数据x的所述第一处理器核写数据时,向组内其它拥有数据x的核发送无效消息,组内其它拥有数据x的核收到无效消息后将数据x的状态转换为无效状态,所述第一处理器核收到无效消息应答后,将数据x的状态设定为修改状态;
若一个分组内一个或多个核拥有共享状态的数据x,当分组中某个拥有数据x的所述第一处理器核写数据时,所述第一处理器核向宿主节点发送数据更新消息,同时向组内其它拥有数据x的核发送无效消息,其它拥有数据x的核收到无效消息后将数据x的状态转换为无效状态,宿主节点收到数据更新消息后会给其它共享数据x的组发送无效消息,所述第一处理器核收到更新消息和无效消息的应答后,将数据x的状态转换为修改状态;
其中,上述各处理中的宿主节点指存储数据x的二级高速缓存节点。
8.根据权利要求5-7任一项所述的方法,其特征在于,当收到涉及数据x的无效消息时,执行以下处理:
一个核或一个分组收到涉及数据x的无效消息时,将数据x无效后,给无效消息请求者发无效消息的应答。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110227588.0A CN102270180B (zh) | 2011-08-09 | 2011-08-09 | 一种多核处理器系统的管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110227588.0A CN102270180B (zh) | 2011-08-09 | 2011-08-09 | 一种多核处理器系统的管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102270180A true CN102270180A (zh) | 2011-12-07 |
CN102270180B CN102270180B (zh) | 2014-04-02 |
Family
ID=45052488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110227588.0A Active CN102270180B (zh) | 2011-08-09 | 2011-08-09 | 一种多核处理器系统的管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102270180B (zh) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103377090A (zh) * | 2012-04-17 | 2013-10-30 | 国际商业机器公司 | 多处理器系统中共享不同数据集的多个编目的方法和系统 |
CN103440223A (zh) * | 2013-08-29 | 2013-12-11 | 西安电子科技大学 | 一种实现高速缓存一致性协议的分层系统及其方法 |
WO2013185660A1 (zh) * | 2012-07-06 | 2013-12-19 | 中兴通讯股份有限公司 | 一种网络处理器的指令存储装置及该装置的指令存储方法 |
WO2014094374A1 (zh) * | 2012-12-17 | 2014-06-26 | 浪潮电子信息产业股份有限公司 | 一种节点具有多个cache一致性域的多处理器系统构建方法 |
CN104077171A (zh) * | 2013-03-28 | 2014-10-01 | 华为技术有限公司 | 调度虚拟机时的处理方法和设备 |
WO2014187259A1 (zh) * | 2013-09-22 | 2014-11-27 | 中兴通讯股份有限公司 | 实现多核间缓存一致性的方法及装置 |
CN104252392A (zh) * | 2013-06-28 | 2014-12-31 | 华为技术有限公司 | 一种访问数据缓存的方法和处理器 |
CN104407989A (zh) * | 2014-11-25 | 2015-03-11 | 上海兆芯集成电路有限公司 | 具有统一标签和片化数据的高速缓冲存储器 |
CN104866457A (zh) * | 2015-06-04 | 2015-08-26 | 电子科技大学 | 一种基于共享缓存的片上多核处理器静态架构 |
CN105094953A (zh) * | 2014-05-09 | 2015-11-25 | 华为技术有限公司 | 数据访问方法及装置 |
WO2016045039A1 (en) * | 2014-09-25 | 2016-03-31 | Intel Corporation | Reducing interconnect traffics of multi-processor system with extended mesi protocol |
CN103927277B (zh) * | 2014-04-14 | 2017-01-04 | 中国人民解放军国防科学技术大学 | Cpu和gpu共享片上高速缓存的方法及装置 |
CN106385378A (zh) * | 2016-08-31 | 2017-02-08 | 北京神州绿盟信息安全科技股份有限公司 | 一种带内管理控制下控制报文的处理方法及装置 |
CN106502920A (zh) * | 2016-11-08 | 2017-03-15 | 郑州云海信息技术有限公司 | 一种基于mesi的缓存方法、装置和处理器 |
CN106815174A (zh) * | 2015-11-30 | 2017-06-09 | 大唐移动通信设备有限公司 | 数据访问控制方法及节点控制器 |
CN107257957A (zh) * | 2015-02-25 | 2017-10-17 | 微软技术许可有限责任公司 | 至次级应用的应用高速缓存复制 |
WO2018059497A1 (zh) * | 2016-09-30 | 2018-04-05 | 华为技术有限公司 | 缓存一致性处理方法和装置 |
CN108804347A (zh) * | 2017-05-05 | 2018-11-13 | 华中科技大学 | 一种用于工业大数据汇聚的缓存层、汇聚系统及方法 |
CN110083547A (zh) * | 2018-01-25 | 2019-08-02 | 三星电子株式会社 | 异构计算系统及其操作方法 |
WO2020095018A1 (en) * | 2018-11-07 | 2020-05-14 | Arm Limited | Apparatus and method of modification of stored data |
CN111581133A (zh) * | 2020-05-06 | 2020-08-25 | 苏州浪潮智能科技有限公司 | 一种多核存储器一致性的方法、系统、设备及可读介质 |
CN112148665A (zh) * | 2019-06-28 | 2020-12-29 | 深圳市中兴微电子技术有限公司 | 缓存的分配方法及装置 |
CN112437032A (zh) * | 2019-08-24 | 2021-03-02 | 北京希姆计算科技有限公司 | 数据收发装置及方法、存储介质和电子设备 |
CN114238171A (zh) * | 2021-12-21 | 2022-03-25 | 海光信息技术股份有限公司 | 电子设备、数据处理方法和装置、计算机系统 |
CN117093371A (zh) * | 2023-02-23 | 2023-11-21 | 摩尔线程智能科技(北京)有限责任公司 | 缓存资源分配方法、装置、电子设备和存储介质 |
CN117093371B (zh) * | 2023-02-23 | 2024-05-17 | 摩尔线程智能科技(北京)有限责任公司 | 缓存资源分配方法、装置、电子设备和存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239270A (zh) * | 2014-07-25 | 2014-12-24 | 浪潮(北京)电子信息产业有限公司 | 一种高速缓存同步的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1758229A (zh) * | 2005-10-28 | 2006-04-12 | 中国人民解放军国防科学技术大学 | 异构多核微处理器局部空间共享存储方法 |
CN101088074A (zh) * | 2004-12-27 | 2007-12-12 | 英特尔公司 | 用于具有不同高速缓存位置长度的高速缓存中高速缓存一致性的系统和方法 |
CN101510191A (zh) * | 2009-03-26 | 2009-08-19 | 浙江大学 | 具备缓存窗口的多核体系架构及其实现方法 |
CN101706755A (zh) * | 2009-11-24 | 2010-05-12 | 中国科学技术大学苏州研究院 | 片上多核处理器的高速缓存协作系统及其协作处理方法 |
-
2011
- 2011-08-09 CN CN201110227588.0A patent/CN102270180B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101088074A (zh) * | 2004-12-27 | 2007-12-12 | 英特尔公司 | 用于具有不同高速缓存位置长度的高速缓存中高速缓存一致性的系统和方法 |
CN1758229A (zh) * | 2005-10-28 | 2006-04-12 | 中国人民解放军国防科学技术大学 | 异构多核微处理器局部空间共享存储方法 |
CN101510191A (zh) * | 2009-03-26 | 2009-08-19 | 浙江大学 | 具备缓存窗口的多核体系架构及其实现方法 |
CN101706755A (zh) * | 2009-11-24 | 2010-05-12 | 中国科学技术大学苏州研究院 | 片上多核处理器的高速缓存协作系统及其协作处理方法 |
Non-Patent Citations (1)
Title |
---|
CHONGMIN LI,ETC: "Fast Hierarchical Cache Directory: A Scalable Cache Organization for Large-scale CMP", 《2010 FIFTH IEEE INTERNATIONAL CONFERENCE ON NETWORKING, ARCHITECTURE, AND STORAGE》 * |
Cited By (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103377090A (zh) * | 2012-04-17 | 2013-10-30 | 国际商业机器公司 | 多处理器系统中共享不同数据集的多个编目的方法和系统 |
CN103377090B (zh) * | 2012-04-17 | 2016-08-17 | 国际商业机器公司 | 多处理器系统中共享不同数据集的多个编目的方法和系统 |
WO2013185660A1 (zh) * | 2012-07-06 | 2013-12-19 | 中兴通讯股份有限公司 | 一种网络处理器的指令存储装置及该装置的指令存储方法 |
US9274961B2 (en) | 2012-12-17 | 2016-03-01 | Inspur Electronic Information Industry Co., Ltd | Method for building multi-processor system with nodes having multiple cache coherency domains |
WO2014094374A1 (zh) * | 2012-12-17 | 2014-06-26 | 浪潮电子信息产业股份有限公司 | 一种节点具有多个cache一致性域的多处理器系统构建方法 |
CN104077171A (zh) * | 2013-03-28 | 2014-10-01 | 华为技术有限公司 | 调度虚拟机时的处理方法和设备 |
CN104077171B (zh) * | 2013-03-28 | 2017-12-15 | 华为技术有限公司 | 调度虚拟机时的处理方法和设备 |
WO2014206218A1 (zh) * | 2013-06-28 | 2014-12-31 | 华为技术有限公司 | 一种访问数据缓存的方法和处理器 |
CN104252392B (zh) * | 2013-06-28 | 2019-06-18 | 华为技术有限公司 | 一种访问数据缓存的方法和处理器 |
CN104252392A (zh) * | 2013-06-28 | 2014-12-31 | 华为技术有限公司 | 一种访问数据缓存的方法和处理器 |
CN103440223B (zh) * | 2013-08-29 | 2017-04-05 | 西安电子科技大学 | 一种实现高速缓存一致性协议的分层系统及其方法 |
CN103440223A (zh) * | 2013-08-29 | 2013-12-11 | 西安电子科技大学 | 一种实现高速缓存一致性协议的分层系统及其方法 |
CN104462007A (zh) * | 2013-09-22 | 2015-03-25 | 中兴通讯股份有限公司 | 实现多核间缓存一致性的方法及装置 |
CN104462007B (zh) * | 2013-09-22 | 2018-10-02 | 南京中兴新软件有限责任公司 | 实现多核间缓存一致性的方法及装置 |
WO2014187259A1 (zh) * | 2013-09-22 | 2014-11-27 | 中兴通讯股份有限公司 | 实现多核间缓存一致性的方法及装置 |
CN103927277B (zh) * | 2014-04-14 | 2017-01-04 | 中国人民解放军国防科学技术大学 | Cpu和gpu共享片上高速缓存的方法及装置 |
CN105094953A (zh) * | 2014-05-09 | 2015-11-25 | 华为技术有限公司 | 数据访问方法及装置 |
CN105094953B (zh) * | 2014-05-09 | 2018-09-07 | 华为技术有限公司 | 数据访问方法及装置 |
WO2016045039A1 (en) * | 2014-09-25 | 2016-03-31 | Intel Corporation | Reducing interconnect traffics of multi-processor system with extended mesi protocol |
CN106716949A (zh) * | 2014-09-25 | 2017-05-24 | 英特尔公司 | 减少具有扩展mesi协议的多处理器系统的互连流量 |
CN106716949B (zh) * | 2014-09-25 | 2020-04-14 | 英特尔公司 | 用于管理高速缓存的方法和装置 |
CN104407989A (zh) * | 2014-11-25 | 2015-03-11 | 上海兆芯集成电路有限公司 | 具有统一标签和片化数据的高速缓冲存储器 |
CN104407989B (zh) * | 2014-11-25 | 2019-02-12 | 上海兆芯集成电路有限公司 | 具有统一标签和片化数据的高速缓冲存储器 |
CN107257957A (zh) * | 2015-02-25 | 2017-10-17 | 微软技术许可有限责任公司 | 至次级应用的应用高速缓存复制 |
CN107257957B (zh) * | 2015-02-25 | 2020-05-08 | 微软技术许可有限责任公司 | 至次级应用的应用高速缓存复制 |
US10613978B2 (en) | 2015-02-25 | 2020-04-07 | Microsoft Technology Licensing, Llc | Application cache replication to secondary application(s) |
CN104866457A (zh) * | 2015-06-04 | 2015-08-26 | 电子科技大学 | 一种基于共享缓存的片上多核处理器静态架构 |
CN106815174A (zh) * | 2015-11-30 | 2017-06-09 | 大唐移动通信设备有限公司 | 数据访问控制方法及节点控制器 |
CN106815174B (zh) * | 2015-11-30 | 2019-07-30 | 大唐移动通信设备有限公司 | 数据访问控制方法及节点控制器 |
CN106385378A (zh) * | 2016-08-31 | 2017-02-08 | 北京神州绿盟信息安全科技股份有限公司 | 一种带内管理控制下控制报文的处理方法及装置 |
CN107894914A (zh) * | 2016-09-30 | 2018-04-10 | 华为技术有限公司 | 缓存一致性处理方法和装置 |
WO2018059497A1 (zh) * | 2016-09-30 | 2018-04-05 | 华为技术有限公司 | 缓存一致性处理方法和装置 |
CN106502920B (zh) * | 2016-11-08 | 2019-09-24 | 郑州云海信息技术有限公司 | 一种基于mesi的缓存方法、装置和处理器 |
CN106502920A (zh) * | 2016-11-08 | 2017-03-15 | 郑州云海信息技术有限公司 | 一种基于mesi的缓存方法、装置和处理器 |
CN108804347A (zh) * | 2017-05-05 | 2018-11-13 | 华中科技大学 | 一种用于工业大数据汇聚的缓存层、汇聚系统及方法 |
CN110083547A (zh) * | 2018-01-25 | 2019-08-02 | 三星电子株式会社 | 异构计算系统及其操作方法 |
GB2591049B (en) * | 2018-11-07 | 2022-11-09 | Advanced Risc Mach Ltd | Apparatus and method of modification of stored data |
US10776266B2 (en) | 2018-11-07 | 2020-09-15 | Arm Limited | Apparatus and method of modification of stored data |
GB2591049A (en) * | 2018-11-07 | 2021-07-14 | Advanced Risc Mach Ltd | Apparatus and method of modification of stored data |
WO2020095018A1 (en) * | 2018-11-07 | 2020-05-14 | Arm Limited | Apparatus and method of modification of stored data |
CN112148665A (zh) * | 2019-06-28 | 2020-12-29 | 深圳市中兴微电子技术有限公司 | 缓存的分配方法及装置 |
CN112148665B (zh) * | 2019-06-28 | 2024-01-09 | 深圳市中兴微电子技术有限公司 | 缓存的分配方法及装置 |
US11940915B2 (en) | 2019-06-28 | 2024-03-26 | Sanechips Technology Co., Ltd. | Cache allocation method and device, storage medium, and electronic device |
CN112437032A (zh) * | 2019-08-24 | 2021-03-02 | 北京希姆计算科技有限公司 | 数据收发装置及方法、存储介质和电子设备 |
CN111581133A (zh) * | 2020-05-06 | 2020-08-25 | 苏州浪潮智能科技有限公司 | 一种多核存储器一致性的方法、系统、设备及可读介质 |
CN114238171A (zh) * | 2021-12-21 | 2022-03-25 | 海光信息技术股份有限公司 | 电子设备、数据处理方法和装置、计算机系统 |
CN117093371A (zh) * | 2023-02-23 | 2023-11-21 | 摩尔线程智能科技(北京)有限责任公司 | 缓存资源分配方法、装置、电子设备和存储介质 |
CN117093371B (zh) * | 2023-02-23 | 2024-05-17 | 摩尔线程智能科技(北京)有限责任公司 | 缓存资源分配方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102270180B (zh) | 2014-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102270180B (zh) | 一种多核处理器系统的管理方法 | |
CN101958834B (zh) | 支持高速缓存一致的片上网络系统及数据请求方法 | |
CN103049422B (zh) | 一种具有多cache一致性域的多处理器节点系统构建方法 | |
CN102012791B (zh) | 基于Flash的数据存储PCIE板卡 | |
WO2016082793A1 (zh) | 高速缓存cache存储器系统及访问缓存行cache line的方法 | |
CN103959255A (zh) | 跨多个内存口使用选择性复制降低内存访问延迟的系统及方法 | |
CN103955435B (zh) | 一种融合多级缓存目录建立访问方法 | |
US20080270653A1 (en) | Intelligent resource management in multiprocessor computer systems | |
CN106843772A (zh) | 一种基于一致性总线扩展非易失内存的系统及方法 | |
CN103080918A (zh) | 功率优化的中断传递 | |
CN101840390B (zh) | 适用于多处理器系统的硬件同步电路结构及其实现方法 | |
CN101446931B (zh) | 一种实现输入输出数据一致性的系统及方法 | |
CN104536724A (zh) | 一种多核环境下哈希表并发访问性能优化方法 | |
TW201432457A (zh) | 用於在本地代理者之記憶體鏡像及遷移之裝置、系統及方法 | |
US10691601B2 (en) | Cache coherence management method and node controller | |
CN103440223A (zh) | 一种实现高速缓存一致性协议的分层系统及其方法 | |
US6950913B2 (en) | Methods and apparatus for multiple cluster locking | |
US20150012714A1 (en) | Method and System for Multiple Processors to Share Memory | |
CN105095254A (zh) | 一种实现数据一致性的方法及装置 | |
WO2016078307A1 (zh) | 可配置片上互联系统及其实现方法、装置和存储介质 | |
CN103970678B (zh) | 目录设计方法及装置 | |
CN110991626A (zh) | 一种多cpu类脑模拟系统 | |
CN107003932A (zh) | 多核处理器系统的缓存目录处理方法和目录控制器 | |
CN103995796A (zh) | 交响乐团式多核cpu多内存计算机系统 | |
CN202563494U (zh) | 用于多核处理器的一致性维护装置 |
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 |