CN103370696A - 多核系统以及核数据读取方法 - Google Patents

多核系统以及核数据读取方法 Download PDF

Info

Publication number
CN103370696A
CN103370696A CN2011800646259A CN201180064625A CN103370696A CN 103370696 A CN103370696 A CN 103370696A CN 2011800646259 A CN2011800646259 A CN 2011800646259A CN 201180064625 A CN201180064625 A CN 201180064625A CN 103370696 A CN103370696 A CN 103370696A
Authority
CN
China
Prior art keywords
nuclear
data
cache
ring bus
main memory
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
CN2011800646259A
Other languages
English (en)
Other versions
CN103370696B (zh
Inventor
南彩
三轮洋一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN103370696A publication Critical patent/CN103370696A/zh
Application granted granted Critical
Publication of CN103370696B publication Critical patent/CN103370696B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • 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/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods

Abstract

提供一种具有通过核对新的存储器数据进行的环形总线型多核系统的发明,其一个核(请求者核)做出针对存储器中的数据的读取请求。系统包括一个存储器、用于将存储器连接至环形总线的主存储器控制器、以及连接至环形总线的多个核。每个核还包括高速缓存接口和用于控制接口的高速缓存控制器。主存储器控制器还包括所有核的高速缓存历史。连接至环形总线的每个核的高速缓存控制器执行通过高速缓存接口探测请求的内容,并且当通过的核的高速缓存保持数据时,控制核接收请求并且将数据返回给请求者核。当不存在连接至在与预定路径方向相反的路径方向中的环形总线的核保持相应的数据时,从存储器向请求者核读取数据的步骤。

Description

多核系统以及核数据读取方法
技术领域
本发明涉及在环形总线型多核系统中读取核数据,在该系统中,一个存储器接口在多个CPU核(也简称为CPU、处理器或者核)间共享。
背景技术
在多核之间共享一个存储器接口的环形总线型多核CPU中,对主存储器的访问被集中起来。在常规操作中,每个CPU核分别具有高速缓存,用以实际地从共享的主存储器读取数据。提出一种从保持在每个CPU核中的高速缓存数据来读取数据而不是从一个主存储器读取数据的方法。
例如,读取请求从某个CPU核(称为“请求者核”)发出。在常规的多核结构中,主存储器控制器向其他CPU核做出关于高速缓存数据存在或者缺失的查询,而不是从主存储器读取数据。接收查询的CPU核在它们的高速缓存中搜索数据。
在多核操作环境中,常见的情况是任何CPU核都在它的高速缓存中保持与主存储器相同的地址的数据(称为地址数据)。在这种情况下,存在一种传统的方法,其中主存储器控制器向请求者核发出指令,让请求者核转移高速缓存内容,使得数据将被发送。然而,该方法所用的时间与封装的核的数目成比例,因为必须顺序地进行对各个核的查询。此外,对各个CPU核的查询还受制于主存储器控制器上的高负荷。
下面将描述用于一致性的探测,以确保保持在多个CPU核的结构中每个高速缓存中的数据的一致性。在配备有缓冲存储器的多处理器中,需要维持多个处理器之间的处理中所使用的数据的一致性。总线探测经常被用于维持传统处理器中的数据一致性。总线探测是这样的功能,它用于查看在各处理器之间共享的存储器接口总线上的事务,并且检测与被分配给每个处理器的高速缓存存储器中的数据相关的事务是否发生。
当与被分配给特定处理器的高速缓存存储器中的数据相关的事务发生时,处理器更新缓冲存储器中的相应条目。其他处理器中的每一个通过探测而被通知该更新,以便对保持在其高速缓存中的数据设置脏标志,使得数据将不会被使用,由此管理整个多处理器系统中的数据。
专利文件1提供了一种配备有高速缓存存储器的处理器,能够在多处理器系统中在具有良好操作效率的情况下保持处理器之间的数据一致性。然而,专利文件1描述了多个处理器具有单个高速缓存的模型,这不同于各个处理器核具有各自高速缓存的模型。
专利文件2公开了一种技术,其使用具有各自高速缓存的多个处理器核,以对保持在各处理器核内的高速缓存数据进行有效使用。该技术示出了当处理器核从主存储器获取数据并且不同的处理器核取回相同存储数据时使用的处理方法。
[现有技术参考]
[专利文件]
[专利文件1]日本专利申请公开号2006-244460
[专利文件2]日本专利申请公开号2009-176179
发明内容
[本发明要解决的问题]
专利文件等公开了使用探测来执行对地址数据一致性的更新。然而,在读取以环形总线形状连接的多个CPU核时,每个核未被用于总线事务参考。换言之,没有传统的技术提及:在以环形总线形状连接的多个CPU核上读取地址数据时,每个核探测总线事务。
因此,本发明的目的是提供一种环形总线型多核系统,用于在多个核之间共享一个存储器接口,以及每个核的数据读取方法。
[解决问题的手段]
为了实现上述目的,本发明提供一种环形总线型多核系统,其中存储器接口在多个核之间共享,并且一个核(请求者核)做出针对存在于存储器中的数据的读取请求。该环形总线型多核系统包括一个存储器、用于将存储器连接至环形总线的主存储器控制器;以及以环形总线的形状连接的多个核,其中每个核还包括高速缓存接口和用于控制或管理接口的高速缓存控制器,并且以环形总线形状连接的每个核的高速缓存控制器执行:
(1)通过高速缓存接口探测请求的有关数据的步骤;
(2)当核的高速缓存保持数据时,控制核接收请求并且将数据返回给请求者核的步骤,或者
(3)当核的高速缓存未保持数据时,主存储器控制器执行从存储器读取数据并且将数据发送至请求者核的步骤。
为实现上述目的,本发明提供一种环形总线型多核系统,其中一个存储器接口在多个核之间共享,并且一个核(请求者核)做出针对存在于存储器中的数据的读取请求。该环形总线型多核系统包括一个存储器、用于将存储器连接至环形总线的主存储器控制器和以环形总线的形状连接的多个核,其中每个核还包括高速缓存接口和用于控制接口的高速缓存控制器,并且主存储器控制器还包括保持在所有核的高速缓存中的数据的历史,并且响应于在预定路径方向中从请求者核流向主存储器控制器的请求,以环形总线形状连接的每个核的高速缓存控制器执行:
(1)通过高速缓存接口探测有关请求的数据的步骤;以及
(2)当连接在预定路径方向中的核的高速缓存保持数据时,控制核接收请求并将数据返回给请求者核的步骤,或者
(3)当连接在预定路径方向中的核的高速缓存未保持数据时,主存储器控制器
(a)参考每个核的历史,并且
(b)当在预定路径方向的相反路径方向中以环形总线的形状连接的任意核保持相应的数据时,执行:向核发送请求并且使核的高速缓存控制器向请求者核发送保持在高速缓存中的数据的步骤;或者
(c)当在预定路径方向的相反路径方向中连接至环形总线的核均未保持相应的数据时,从存储器读取数据并且将数据发送至读取者核的步骤。
该环形总线型多核系统的一个特征在于,对于每个核,历史包括指示保持有关存储器地址的数据(地址数据)的标志和对另一核的写入标志。
该环形总线型多核系统的另一特征在于,高速缓存控制器选择具有在从请求者核到主存储器控制器的两个路径方向中连接的较大数目的核的路径方向作为预定路径方向。
该环形总线系统的又一特征在于,高速缓存控制器参考历史以从数据保持标志计算环形总线的业务量,并且选择具有较少业务量的路径方向作为预定路径方向。
该环形总线系统的另一特征在于,主存储器控制器参考历史以检查连接至预定路径方向的相反路径的核中的数据的存在。
此外,为实现上述目的,本发明提供一种方法,使一个核(请求者核)读取存在于用于在多个核之间共享一个存储器接口的环形总线型多核CPU中的存储器中的数据。在该方法中,多核CPU包括一个存储器、用于将存储器连接至环形总线的主存储器控制器、以及以环形总线的形状连接的多个核,并且每个核还包括高速缓存接口和用于控制或管理接口的高速缓存控制器,并且主存储器控制器还包括保持在所有核中的数据的历史,并且
响应于在预定路径方向中从请求者核流向控制器的请求,以环形总线形状连接的每个核的高速缓存的控制器包括:
(1)通过高速缓存接口探测与请求相关的数据的步骤;以及
(2)当连接在路径方向中的核的高速缓存保持数据时,控制核接收请求并将数据返回给请求者核的步骤,或者
(3)当连接在路径方向中的核的高速缓存未保持数据时,主存控制器:
(a)参考每个核的历史,并且
(b)当该路径方向的相反路径方向中以环形总线形状连接的任意核保持相应的数据时,执行:将请求发送至该核并且使核的高速缓存控制器将保持在高速缓存中的数据发送至请求者核的步骤;或者
(c)当在该路径方向的相反路径方向中以环形总线的形状连接的核均未保持相应数据时,从存储器读取数据并且将数据发送至请求者核的步骤。
[本发明的益处]
如上所述,根据本发明,在共享一个主存储器的环形总线型多核系统中,可以降低主存储器控制器上的负荷以及所有存储器访问所需的总时间。
附图说明
图1示出了用于在多个核之间共享一个存储器接口的环形总线型多核系统的总体结构;
图2示出了每个CPU核中的高速缓存接口2和至主存储器的读取/写入请求接口3;
图3通过步骤(1)到步骤(5)的箭头指示在环形总线型多核系统的总体结构中的数据读取事务的流程;
图4是示出了本发明的数据读取步骤(1)到步骤(5)的流程图;以及
图5示出了保持在主存储器控制器中的每个核的访问历史的内容。
具体实施方式
下面将描述根据本发明优选实施例(在下文中仅称为“实施例”)的在用于多个CPU核之间共享存储器接口的环形总线型多核系统中的数据读取。注意,以下实施例是说明性示例,并非旨在限制本发明的内容。
一种芯片,具有封装于其上的环形总线型多核系统,包括:
1.每个CPU核配备有高速缓存接口。该接口使得主存储器侧的控制器和每个核能够直接读取另一核中的高速缓存的内容。高速缓存的内容是由主存储器的地址指定的固定长度的数据(称为地址数据)。
2.主存储器控制器保持所有CPU核的高速缓存的内容,以作为历史(称为地址历史)。如图5中所示出的,地址历史存储了每个核中的高速缓存地址数据的存在或不存在。
图1示出了用于多个核之间共享一个存储器接口的环形总线型多核系统的总体结构。
1.主存储器控制器7在访问历史中管理来自每个核6的存储器访问状态日志。存储历史涉及哪个CPU核在其高速缓存中具有哪些地址数据。
2.每个CPU核6配备有高速缓存控制器,以使主存储器7能够读取高速缓存11的内容。
某个CPU核向主存储器控制器发出读取特定地址数据的请求。该CPU核称为请求者核。在去往主存储器控制器7环形总线上连接的每个核的高速缓存控制器11探测到来的读取请求的内容。当其高速缓存11中具有相应的数据时,每个核拾取请求并且将数据返回给请求者核。
首先假设,在去往主存储器10的途中(第一路径)的CPU核6均不具有相应的数据。在这种情况下,主存储器控制器7接收到请求,并且参考每个核的访问历史8。接下来,假设在与请求来自的方向相反的环(第二路径)一侧上所连接的CPU核6具有相应的数据。在这种情况下,去往高速缓存11的读取请求被发给具有地址数据的CPU核6而不是主存储器10。
在第一路径中,高速缓存控制器通过高速缓存接口2发送来自CPU核的高速缓存11的地址数据。该控制器的探测使得请求者核6看上去像是已经将读取请求发送给了具有该地址数据的核。在这种情况下,读取地址数据可以在不通过主存储器控制器7的情况下被发送给请求者核。
在第二路径中,主存储器控制器扮作请求者核直接向每个核的高速缓存发出读取请求。在这种情况下,没有向每个CPU核(请求者核和具有将被读取的高速缓存的核)施加额外的负担。本发明的方法是有效的,其降低了主存储器控制器上的负荷(降低第一路径中的主存储器上的负荷的效果),并且降低了所有核中的存储器访问所需的时间(降低第二路径中的每个核上的负荷的效果)。
图2示出了每个CPU核中的高速缓存接口2和对主存储器的读取/写入请求接口3。该想法基于如下结构,其中多个CPU核被封装在芯片中,并且存储器通过主存储器控制器而连接。每个CPU核和主存储器由具有一致性的环形总线连接。每个CPU核配备有高速缓存接口2和CPU核通过其访问主存储器的接口3。注意,两个接口2和接口3并非必须是分别提供的。例如,接口3可以充当两个接口。针对每个核而隔离接口从而探测环形总线的轨迹以及请求主存储器读取/写入数据,可以避免每个过程中的延时。
图3通过步骤(1)至步骤(5)的箭头指示在环形总线类型多核系统的总体结构中的数据读取事务的流程的顺序。图4是示出了作为本发明的典型示例的数据读取步骤(1)至步骤(5)的流程图。
(1)CPU核X向主存储器控制器发出读取命令。假设近路径被选为第一路径。在这种情况下,例如,请求者核的高速缓存控制器考虑包括业务量等的因素,选择近路径或者远路径作为与主存储器控制器的距离:
-近距离导致通过较少的CPU核来路由去往主存储器控制器的路径。
-远距离导致通过较多的CPU核来路由去往主存储器控制器的路径以及探测路径,由此增加命中的可能性。
(2)CPU核Y和CPU核Z在探测访问。当CPU核中的任意一个具有相应的数据时,该CPU核接收请求并且将数据返回给CPU核X,并且在此之后,向主存储器控制器发送具有标志的请求的内容,该标志被附加以指示CPU核自身期望执行处理的。接收之后,主存储器控制器更新高速缓存的访问历史。例如,当CPU核Z具有相应的数据时,CPU核Z将数据返回给CPUX。
(3)当CPU核Y和CPU核Z不具有请求的相应的数据时,主存储器控制器接收请求。主存储器控制器参考访问历史,即,其参考每个CPU核的存储器访问的日志,来检查在相反的总线侧(第二路径)上的CPU核A至W在其高速缓存中是否具有相应的地址数据。
(4)例如,假设访问历史指示CPU核B在其高速缓存中具有相应的数据。在这种情况下,主存储器控制器向CPU核B的高速缓存控制器发送读取命令,而不是来自CPU核X的读取命令。在CPU核B的高速缓存接口看来,看似是CPU核B已经直接从CPU核X接收了读取请求。
(5)CPU核B的高速缓存控制器向CPU核X发送地址数据。CPU核X从CPU核B接收信息作为响应由主存储器控制器发出的读取命令的数据。
图5示出了保持在主存储器控制器中的每个核的访问历史的内容。该历史由主存储器控制器保持,以记录核A至Z中的每一个是否在其高速缓存中保持了有关主存储器的地址的数据(地址数据)。地址数据通常具有固定的长度。当写标志是Y时,意味着请求数据已被写入请求者核X。此时,核B的高速缓存接口探测环形总线上的事务,以确认核B自身保持了核X的地址数据。由于核B直接响应来自核X的读取请求,主存储器控制器的干预可以省去,从而提高了读取性能。在核B完成了向请求者核X发送数据的处理之后,主存储器控制器更新访问历史。
在图4的步骤3中,主存储器控制器在访问历史表中检查在相反总线侧的核A至W的高速缓存中的任意一个是否保持请求的数据。通过参考访问历史表,主存储器控制器可以在第二路径中较早地确认核B的高速缓存保持地址数据01。控制器向核B发送读取请求和核指令,让核B将数据发送至核X。
本发明的特征如下:首先,由于提供了对每个高速缓存本身而不是对每个CPU核的直接读取,所以没有向每个CPU施加负荷。由于至主存储器的总线上的每个核探测并直接返回数据,通过环形总线流动的数据事务可以省去,避免了业务量拥塞。另外,当主存储器控制器执行对另一核的高速缓存的读取时,由于响应被直接传递给了请求者核,所以甚至通过主存储器控制器的事务的数量也可以减少。换言之,事务的数目小于主存储器控制器侧一次性地执行读取每个CPU核的高速缓存、在接收数据之后将读取的数据返回至CPU的方法。
在本发明的多核CPU系统中,可以避免对主存储器控制器的、访问数量预期较高的业务量的拥塞。可以想到,CPU核的数目越多,本发明的效果越大。例如,提出了具有128个核的多核CPU等的CPU设计方案作为Power PC架构。根据本发明,效果在核的数目特别多的多核架构中得到充分发挥。
[参考标号的描述]
1…高速缓存接口
2…对主存储器的读取/写入接口
5…环形总线
6…CPU核
7…主存储器控制器
8…访问历史
9…逻辑
10…主存储器(真实存储器)
11…高速缓存或高速缓存控制器
权利要求书(按照条约第19条的修改)
1.一种多核系统,其中一个核(请求者核)做出针对存在于存储器中的数据的读取请求,包括:
一个存储器;
用于将所述存储器连接至环形总线的主存储器控制器;以及
连接至所述环形总线的多个核,其中
每个所述核还包括高速缓存接口和用于控制所述接口的高速缓存控制器,
所述主存储器控制器还包括所有所述核的高速缓存历史,并且
响应于沿预定路径方向从所述请求者核流向所述主存储器控制器的所述请求,连接至所述环形总线的每个核的所述高速缓存控制器执行:
通过所述高速缓存接口探测与所述请求有关的数据的步骤;以及
当连接在所述预定路径方向中的所述核的所述高速缓存保持所述数据时,控制所述核接收所述请求并且将所述数据返回给所述请求者核的步骤,或者
当连接在所述预定路径方向中的所述核的所述高速缓存未保持所述数据时,所述主存储器控制器参考每个核的所述历史,并且当在所述预定路径方向的相反路径方向中连接至所述环形总线的任意核保持相应的数据时,所述主存储器控制器执行:
将所述请求发送至所述核的所述高速缓存并且使所述核的所述高速缓存控制器将保持在所述高速缓存中的所述数据发送至所述请求者核的步骤;或者
当在所述预定路径方向的相反路径方向中连接至所述环形总线的核均未保持相应的数据时,从所述存储器读取所述数据并且将所述数据发送至所述请求者核的步骤。
2.根据权利要求1所述的多核系统,其中对于每个所述核,所述历史包括指示在所述存储器的地址上保持数据的标志以及对另一核的写入标志。
3.根据权利要求2所述的多核系统,其中所述高速缓存控制器选择具有连接在从所述请求者核到所述主存储器控制器的两个路径方向中的较大数目的核的路径作为所述预定路径方向。
4.根据权利要求3所述的多核系统,其中所述高速缓存控制器参考所述历史以从所述数据保持标志计算所述环形总线的业务量,并且选择具有较少业务量的路径方向作为所述预定路径方向。
5.根据权利要求4所述的多核系统,其中所述主存储器控制器参考所述历史以检查连接至与所述预定路径方向中的路径相反的路径的核中的所述数据的存在。
6.一种使环形总线型多核CPU中的一个核(请求者核)读取存在于存储器中的数据的方法,其中
所述多核CPU包括一个存储器、用于将所述存储器连接至环形总线的主存储器控制器以及连接至所述环形总线的多个核,并且
每个所述核还包括高速缓存接口和用于控制所述接口的高速缓存控制器,并且所述主存储器控制器还包括保持在所有所述核中的数据的历史,并且
响应于从所述请求者核沿预定路径方向流向所述控制器的所述请求,连接至所述环形总线的每个核的所述高速缓存控制器包括:
通过所述高速缓存接口探测与所述读取请求有关的数据的步骤;以及
当连接在所述路径方向中的所述核的所述高速缓存保持所述数据时,控制所述核接收所述请求并且将所述数据返回给所述请求者核的步骤,或者
当连接在所述路径方向中的所述核的所述高速缓存未保持所述数据时,所述主存储器控制器参考每个核的所述历史,并且当在所述路径方向的相反路径方向中连接至所述环形总线的任意核保持相应的数据时,所述主存储器控制器包括:
将所述请求发送至所述核并且使所述核的所述高速缓存控制器将保持在所述高速缓存中的所述数据发送至所述请求者核的步骤;或者
当在所述路径方向的相反路径方向中连接至所述环形总线的核均未保持相应的数据时,从所述存储器读取所述数据并且将所述数据发送至所述请求者核的步骤。

Claims (7)

1.一种多核系统,其中一个核(请求者核)做出针对存在于存储器中的数据的读取请求,包括:
一个存储器;
用于将所述存储器连接至环形总线的主存储器控制器;以及
连接至所述环形总线的多个核,其中
每个所述核还包括高速缓存接口和用于控制所述接口的高速缓存控制器,并且
连接至所述环形总线的每个核的所述高速缓存控制器执行:
通过所述高速缓存接口探测与所述请求有关的数据的步骤;以及
当所述核的所述高速缓存保持所述数据时,控制所述核接收所述请求并且将所述数据返回给所述请求者核的步骤;或者
当所述核的所述高速缓存未保持所述数据时,所述主存储器控制器执行从所述存储器读取所述数据并且将所述数据发送至所述请求者核的步骤。
2.一种多核系统,其中一个核(请求者核)做出针对存在于存储器中的数据的读取请求,包括:
一个存储器;
用于将所述存储器连接至环形总线的主存储器控制器;以及
连接至所述环形总线的多个核,其中
每个所述核还包括高速缓存接口和用于控制所述接口的高速缓存控制器,
所述主存储器控制器还包括所有所述核的高速缓存历史,并且
响应于沿预定路径方向从所述请求者核流向所述主存储器控制器的所述请求,连接至所述环形总线的每个核的所述高速缓存控制器执行:
通过所述高速缓存接口探测与所述请求有关的数据的步骤;以及
当连接在所述预定路径方向中的所述核的所述高速缓存保持所述数据时,控制所述核接收所述请求并且将所述数据返回给所述请求者核的步骤,或者
当连接在所述预定路径方向中的所述核的所述高速缓存未保持所述数据时,所述主存储器控制器参考每个核的所述历史,并且当在所述预定路径方向的相反路径方向中连接至所述环形总线的任意核保持相应的数据时,所述主存储器控制器执行:
将所述请求发送至所述核的所述高速缓存并且使所述核的所述高速缓存控制器将保持在所述高速缓存中的所述数据发送至所述请求者核的步骤;或者
当在所述预定路径方向的相反路径方向中连接至所述环形总线的核均未保持相应的数据时,从所述存储器读取所述数据并且将所述数据发送至所述请求者核的步骤。
3.根据权利要求2所述的多核系统,其中对于每个所述核,所述历史包括指示在所述存储器的地址上保持数据的标志以及对另一核的写入标志。
4.根据权利要求3所述的多核系统,其中所述高速缓存控制器选择具有连接在从所述请求者核到所述主存储器控制器的两个路径方向中的较大数目的核的路径作为所述预定路径方向。
5.根据权利要求4所述的多核系统,其中所述高速缓存控制器参考所述历史以从所述数据保持标志计算所述环形总线的业务量,并且选择具有较少业务量的路径方向作为所述预定路径方向。
6.根据权利要求5所述的多核系统,其中所述主存储器控制器参考所述历史以检查连接至与所述预定路径方向中的路径相反的路径的核中的所述数据的存在。
7.一种使环形总线型多核CPU中的一个核(请求者核)读取存在于存储器中的数据的方法,其中
所述多核CPU包括一个存储器、用于将所述存储器连接至环形总线的主存储器控制器以及连接至所述环形总线的多个核,并且
每个所述核还包括高速缓存接口和用于控制所述接口的高速缓存控制器,并且所述主存储器控制器还包括保持在所有所述核中的数据的历史,并且
响应于从所述请求者核沿预定路径方向流向所述控制器的所述请求,连接至所述环形总线的每个核的所述高速缓存控制器包括:
通过所述高速缓存接口探测与所述读取请求有关的数据的步骤;以及
当连接在所述路径方向中的所述核的所述高速缓存保持所述数据时,控制所述核接收所述请求并且将所述数据返回给所述请求者核的步骤,或者
当连接在所述路径方向中的所述核的所述高速缓存未保持所述数据时,所述主存储器控制器参考每个核的所述历史,并且当在所述路径方向的相反路径方向中连接至所述环形总线的任意核保持相应的数据时,所述主存储器控制器包括:
将所述请求发送至所述核并且使所述核的所述高速缓存控制器将保持在所述高速缓存中的所述数据发送至所述请求者核的步骤;或者
当在所述路径方向的相反路径方向中连接至所述环形总线的核均未保持相应的数据时,从所述存储器读取所述数据并且将所述数据发送至所述请求者核的步骤。
CN201180064625.9A 2010-12-09 2011-09-28 多核系统以及核数据读取方法 Expired - Fee Related CN103370696B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010274556 2010-12-09
JP2010-274556 2010-12-09
PCT/JP2011/072206 WO2012077400A1 (ja) 2010-12-09 2011-09-28 マルチコアシステム、及びそのコアのデータ読み出し方法

Publications (2)

Publication Number Publication Date
CN103370696A true CN103370696A (zh) 2013-10-23
CN103370696B CN103370696B (zh) 2016-01-20

Family

ID=46200595

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180064625.9A Expired - Fee Related CN103370696B (zh) 2010-12-09 2011-09-28 多核系统以及核数据读取方法

Country Status (5)

Country Link
US (1) US8918590B2 (zh)
CN (1) CN103370696B (zh)
DE (1) DE112011104329T5 (zh)
GB (1) GB2499765B (zh)
WO (1) WO2012077400A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902502A (zh) * 2014-04-09 2014-07-02 上海理工大学 一种可扩展的分离式异构千核系统
WO2015062006A1 (en) * 2013-10-31 2015-05-07 Intel Corporation A method, apparatus and system for dynamically controlling an addressing mode for a cache memory
CN109886395A (zh) * 2019-03-06 2019-06-14 上海熠知电子科技有限公司 一种面向多核图像处理卷积神经网络的数据读取方法
CN112559434A (zh) * 2019-09-25 2021-03-26 阿里巴巴集团控股有限公司 一种多核处理器及核间数据转发方法
CN113392604A (zh) * 2021-06-04 2021-09-14 中国科学院计算技术研究所 基于先进封装技术的多cpu共封架构下高速缓存的动态扩容方法及系统

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2499765B (en) 2010-12-09 2014-02-19 Ibm Multicore system and method of reading the core data
WO2013084315A1 (ja) * 2011-12-07 2013-06-13 富士通株式会社 演算処理装置、及び、演算処理装置の制御方法
WO2013084314A1 (ja) * 2011-12-07 2013-06-13 富士通株式会社 演算処理装置及び演算処理装置の制御方法
US20140201326A1 (en) * 2013-01-16 2014-07-17 Marvell World Trade Ltd. Interconnected ring network in a multi-processor system
KR101830685B1 (ko) * 2013-06-29 2018-02-21 인텔 코포레이션 온칩 메시 상호접속부
US10229043B2 (en) 2013-07-23 2019-03-12 Intel Business Machines Corporation Requesting memory spaces and resources using a memory controller
US9710381B2 (en) * 2014-06-18 2017-07-18 International Business Machines Corporation Method and apparatus for cache memory data processing
US9696789B2 (en) * 2014-08-18 2017-07-04 Xilinx, Inc. Sub-system power management control
CN104268121B (zh) * 2014-09-23 2017-08-11 浪潮(北京)电子信息产业有限公司 超大规模芯片中访问寄存器的方法及系统
US9760397B2 (en) 2015-10-29 2017-09-12 International Business Machines Corporation Interprocessor memory status communication
US10261827B2 (en) 2015-10-29 2019-04-16 International Business Machines Corporation Interprocessor memory status communication
US9563467B1 (en) 2015-10-29 2017-02-07 International Business Machines Corporation Interprocessor memory status communication
US9916179B2 (en) * 2015-10-29 2018-03-13 International Business Machines Corporation Interprocessor memory status communication
US10691595B2 (en) * 2018-08-21 2020-06-23 Micron Technology, Inc. Cache in a non-volatile memory subsystem

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6253292B1 (en) * 1997-08-22 2001-06-26 Seong Tae Jhang Distributed shared memory multiprocessor system based on a unidirectional ring bus using a snooping scheme
US20020042860A1 (en) * 2000-10-05 2002-04-11 Yoshiki Murakami Cache system
CN1534486A (zh) * 2002-12-24 2004-10-06 Lg������ʽ���� 高速缓存刷新系统及其方法
US20040230726A1 (en) * 2003-05-12 2004-11-18 International Business Machines Corporation Topology for shared memory computer system
CN1609823A (zh) * 2003-10-23 2005-04-27 英特尔公司 用于维持共享高速缓存一致性的方法和设备
CN101008921A (zh) * 2007-01-26 2007-08-01 浙江大学 基于总线侦听的嵌入式异构多核缓存一致性方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1271561A (en) * 1986-07-02 1990-07-10 Jeffry M. Bram Instruction decoding microengines
JPH06314239A (ja) * 1993-04-28 1994-11-08 Hitachi Ltd プロセッサシステム
KR100319708B1 (ko) * 2000-02-11 2002-01-09 전주식 방향 분리 이중 링 구조의 분산된 공유 메모리 다중프로세서 시스템
US6988173B2 (en) * 2003-05-12 2006-01-17 International Business Machines Corporation Bus protocol for a switchless distributed shared memory computer system
US7676637B2 (en) * 2004-04-27 2010-03-09 International Business Machines Corporation Location-aware cache-to-cache transfers
JP4904802B2 (ja) 2005-02-01 2012-03-28 セイコーエプソン株式会社 キャッシュメモリ及びプロセッサ
US7769956B2 (en) * 2005-09-07 2010-08-03 Intel Corporation Pre-coherence channel
US7827391B2 (en) * 2007-06-26 2010-11-02 International Business Machines Corporation Method and apparatus for single-stepping coherence events in a multiprocessor system under software control
CN101452400B (zh) * 2007-11-29 2011-12-28 国际商业机器公司 处理多处理器系统中事务缓冲器溢出的方法和系统
JP4474570B2 (ja) * 2008-01-28 2010-06-09 エヌイーシーコンピュータテクノ株式会社 キャッシュコヒーレンシ制御方法
US8554851B2 (en) * 2010-09-24 2013-10-08 Intel Corporation Apparatus, system, and methods for facilitating one-way ordering of messages
GB2499765B (en) 2010-12-09 2014-02-19 Ibm Multicore system and method of reading the core data
JP5655696B2 (ja) * 2011-05-11 2015-01-21 富士通株式会社 ネットワーク及びその障害救済方法
US20130144626A1 (en) * 2011-12-04 2013-06-06 David Shau Rap music generation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6253292B1 (en) * 1997-08-22 2001-06-26 Seong Tae Jhang Distributed shared memory multiprocessor system based on a unidirectional ring bus using a snooping scheme
US20020042860A1 (en) * 2000-10-05 2002-04-11 Yoshiki Murakami Cache system
CN1534486A (zh) * 2002-12-24 2004-10-06 Lg������ʽ���� 高速缓存刷新系统及其方法
US20040230726A1 (en) * 2003-05-12 2004-11-18 International Business Machines Corporation Topology for shared memory computer system
CN1609823A (zh) * 2003-10-23 2005-04-27 英特尔公司 用于维持共享高速缓存一致性的方法和设备
CN101008921A (zh) * 2007-01-26 2007-08-01 浙江大学 基于总线侦听的嵌入式异构多核缓存一致性方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015062006A1 (en) * 2013-10-31 2015-05-07 Intel Corporation A method, apparatus and system for dynamically controlling an addressing mode for a cache memory
US9836400B2 (en) 2013-10-31 2017-12-05 Intel Corporation Method, apparatus and system for dynamically controlling an addressing mode for a cache memory
CN103902502A (zh) * 2014-04-09 2014-07-02 上海理工大学 一种可扩展的分离式异构千核系统
CN103902502B (zh) * 2014-04-09 2017-01-04 上海理工大学 一种可扩展的分离式异构千核系统
CN109886395A (zh) * 2019-03-06 2019-06-14 上海熠知电子科技有限公司 一种面向多核图像处理卷积神经网络的数据读取方法
CN109886395B (zh) * 2019-03-06 2020-11-24 上海熠知电子科技有限公司 一种面向多核图像处理卷积神经网络的数据读取方法
CN112559434A (zh) * 2019-09-25 2021-03-26 阿里巴巴集团控股有限公司 一种多核处理器及核间数据转发方法
CN112559434B (zh) * 2019-09-25 2023-12-08 阿里巴巴集团控股有限公司 一种多核处理器及核间数据转发方法
CN113392604A (zh) * 2021-06-04 2021-09-14 中国科学院计算技术研究所 基于先进封装技术的多cpu共封架构下高速缓存的动态扩容方法及系统
CN113392604B (zh) * 2021-06-04 2023-08-01 中国科学院计算技术研究所 基于先进封装技术的多cpu共封架构下高速缓存的动态扩容方法及系统

Also Published As

Publication number Publication date
GB2499765A (en) 2013-08-28
GB2499765B (en) 2014-02-19
US20120151152A1 (en) 2012-06-14
GB201311211D0 (en) 2013-08-14
CN103370696B (zh) 2016-01-20
WO2012077400A1 (ja) 2012-06-14
US8918590B2 (en) 2014-12-23
DE112011104329T5 (de) 2013-09-26

Similar Documents

Publication Publication Date Title
CN103370696A (zh) 多核系统以及核数据读取方法
CN103927277A (zh) Cpu和gpu共享片上高速缓存的方法及装置
CN100375067C (zh) 异构多核微处理器局部空间共享存储方法
KR100318104B1 (ko) 공유 인터벤션을 지원하는 비균등 메모리접근 데이터처리시스템
CN1575455B (zh) 优化输入/输出应用的分布式读写高速缓存实现方案
US7814279B2 (en) Low-cost cache coherency for accelerators
US7093078B2 (en) Data access method in the network system and the network system
US20120215988A1 (en) Administering Non-Cacheable Memory Load Instructions
CN101853227B (zh) 改进存储器映射输入/输出请求处理的方法和处理器
IL142265A (en) Data processing system with uneven access to memory (NUMA) that precedes a call request for a remote processing industry on an approximate basis
CN1952877A (zh) 用于软件可配置预取器的方法、装置和系统
US20020169935A1 (en) System of and method for memory arbitration using multiple queues
US9183150B2 (en) Memory sharing by processors
KR20140098096A (ko) 캐시-코히어런시를 갖춘 집적 회로들
CN101401071A (zh) 利用存储和预留指令执行高速缓存线轮询操作的方法、系统、设备和产品
US7454576B2 (en) System and method for cache coherency in a cache with different cache location lengths
US7024520B2 (en) System and method enabling efficient cache line reuse in a computer system
US9606923B2 (en) Information processing device with shared memory, memory order guarantee method using counters fence instructions in relation to cache-oriented requests, and recording medium storing program
US11483260B2 (en) Data processing network with flow compaction for streaming data transfer
US20190042428A1 (en) Techniques for requesting data associated with a cache line in symmetric multiprocessor systems
US20120185672A1 (en) Local-only synchronizing operations
CN117377943A (zh) 存算一体化并行处理系统和方法
US7000080B2 (en) Channel-based late race resolution mechanism for a computer system
US6990516B2 (en) Distributed shared memory system and data-maintenance method of same
JPH0415494B2 (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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160120

Termination date: 20200928