一种基于目录的最近距离cache监听读的方法及系统技术方案

技术编号:26170347 阅读:11 留言:0更新日期:2020-10-31 13:37
本发明专利技术公开了一种基于目录的最近距离cache监听读的方法及系统,本发明专利技术包括:结点簇的一个核心发出缓存使能的读命令,本地缓存不命中,本地缓存发出读共享报文,进入目录流水线;当目录命中时,选择最近距离的缓存所在结点簇号,作为监听请求报文的访问远程结点簇号;目录生成远程结点簇的缓存监听请求报文,报文目的方是该远程结点簇号,发送片上网络;片上网络传输至目的远程结点簇的目录,目录仲裁判断,直接传送缓存;远程结点簇的缓存生成监听响应报文,经片上网络传送本地缓存、最终返给发出请求的核心。本发明专利技术能够提高指令执行的效率、减少指令执行时间,尤其适用于多核、众核结构的处理器或者多核处理器直连构成的共享内存系统。

A method and system of monitoring and reading the nearest distance cache based on Directory

【技术实现步骤摘要】
一种基于目录的最近距离cache监听读的方法及系统
本专利技术主要涉及到多核处理器中的cache一致性目录设计领域的监听读操作的处理流程,具体涉及一种基于目录的最近距离cache监听读的方法及系统。
技术介绍
多核、众核处理器已经成为处理器体系结构的主流发展方向。多核处理器中,高速缓存(cache)结构通过将共享存储空间中的数据缓存在本地,加速了数据获取的过程,同时也带来了多核间数据一致性的问题,高效地维护cache一致性,是保证多核处理器性能与可扩展性的关键。维护cache一致性的实现方式有两种,基于总线侦听的和基于目录的缓冲一致性协议实现方式。目录协议是最广泛应用的方法,与基于侦听的cache一致性协议实现相比,它能够以点对点的方式,精确发送一致性请求,降低片上互连网络的通讯压力,而且具有较好的可扩展性和可靠性。多核处理器采用目录协议,在程序的执行过程中,同一主存块常会在多个cache中存在副本,对于本地cache未命中,而需要从异地cache中读取数据副本,多核处理器的目录会向其中一个数据副本所在的cache结点,发送共享读监听,目前常用的方法是选择数据副本的结点编号最小(或最大)者作为数据提供者,这种策略的逻辑实现比较简单,表示拥有cache数据副本的共享向量寄存器采用左移或者右移,就可以计算出监听结点编号。随着片上多核结构已向多核、众核方向发展,片上互连结构也从总线方式发展为片上网络结构,传输延迟中互连延迟开销不可忽略。例如图1所示的48个核心(core)互连结构,采用4x5的2Dmesh片上网络,4个core共享一个cache构成一个cluster,也称结点簇(也可能单核、双核或多核共享一个cache构成一个结点簇,本文举例是四核共享一个cache构成一个结点簇),采用4x5的2Dmesh片上网络,路由器选用是4通道交叉开关,结点簇之间最远距离是8个网络跳步。64core互连结构采用4x7的2Dmesh片上网络,路由器选用是4通道交叉开关,结点簇的最远距离是10个网络跳步。随着片上网络规模的扩大和网络节点个数的增多,对角距离和相邻距离的差异逐步增大,导致cache访问的延迟也非常大。这些大延迟Cache访问请求,会阻塞处理核的指令执行过程,成为系统瓶颈并严重影响系统整体性能。现有技术读监听的操作流程如下:第一步,结点簇的一个core发出cacheable的读命令,本地cache不命中,本地cache发出读共享报文,进入目录流水线;第二步,当目录命中时,目录的位向量记录了拥有数据副本的结点簇号,根据目录的位向量,选择最小或最大编号的cache所在结点簇号,作为监听请求报文的访问远程结点簇号;第三步目录生成远程结点簇的cache监听请求报文,报文目的方是该远程结点簇号,发送NOC;第四步NOC传输至目的远程结点簇的目录,目录仲裁判断,直接传送cache,第五步远程结点簇的cache生成监听响应报文,报文目的方是发出cacheable的读命令源结点簇,经过目录仲裁判断,直接传送发送NOC;第六步NOC传输至cacheable的读命令源结点簇,经过目录仲裁判断,直接传送本地cache;第七步本地cache接受监听响应报文,数据返给结点簇的请求core。第四步和第六步通过NOC传输都与结点簇的距离很有关系,选择最小或最大编号的cache所在结点簇,作为监听请求报文的访问远程结点簇号,如果两者处于是NOC的对角距离,则可能是最远距离,两次最远距离的传输,导致了传输延迟很大。
技术实现思路
本专利技术要解决的技术问题:针对现有技术的上述问题,提供一种基于目录的最近距离cache监听读的方法及系统,本专利技术能够提高指令执行的效率、减少指令执行时间,尤其适用于多核、众核结构的处理器或者多核处理器直连构成的共享内存系统。为了解决上述技术问题,本专利技术采用的技术方案为:一种基于目录的最近距离cache监听读的方法,该方法包括:第一步,结点簇的一个核心发出缓存使能的读命令,本地缓存不命中,本地缓存发出读共享报文,进入目录流水线;第二步,当目录命中时,目录的位向量记录了拥有数据副本的结点簇号,根据目录的位向量,选择最近距离的缓存所在结点簇号,作为监听请求报文的访问远程结点簇号;第三步,目录生成远程结点簇的缓存监听请求报文,报文目的方是该远程结点簇号,发送片上网络;第四步,片上网络传输至目的远程结点簇的目录,目录仲裁判断,直接传送缓存;第五步,远程结点簇的缓存生成监听响应报文,报文目的方是发出缓存使能的读命令源结点簇,经过目录仲裁判断,直接传送发送片上网络;第六步,片上网络传输至缓存使能的读命令源结点簇,经过目录仲裁判断,直接传送本地缓存;第七步,本地缓存接受监听响应报文,数据返给结点簇中发出请求的核心。可选地,所述第二步中选择最近距离的缓存所在结点簇号具体是指根据距离优先级列表选择最近距离的缓存所在结点簇号,所述距离优先级列表中记录有结点簇中访问其他结点簇的距离排序。可选地,所述根据距离优先级列表选择最近距离的缓存所在结点簇号的步骤包括:计算目录位向量命中的最短距离优先级表,得到命中优先级列表项,目录位向量与每个优先级列表项的结点簇按位与计算,再按位或计算,输出为1或者0,为1则命中;根据命中的优先级列表项,按优先级仲裁,输出对应最短距离优先级表项内容中的结点簇号。可选地,所述第二步之前还包括初始化距离优先级列表的下述步骤:在本地结点簇设计一个访问远程结点簇的距离优先级列表,在处理器上电启动程序设置距离优先级列表,使得在每一个结点簇的寄存器复位值时设置距离优先级列表;且设置距离优先级列表时,启动程序根据该结点簇的路由算法,计算访问其他结点簇的跳步长度,且按照跳步从少到多的顺序将各个结点簇从距离优先级列表的第一行开始依次填入距离优先级列表,使得跳步最少的结点簇号填入距离优先级列表的列表第一行、跳步次少的结点簇填入列表第二行,依次类推,跳步最多的结点簇填入列表末尾行。可选地,所述距离优先级列表中的结点簇号采用one-hot编码。可选地,所述采用one-hot编码具体为12位二进制编码,位宽等于结点簇数目。此外,本专利技术还提供一种基于目录的最近距离cache监听读的系统,包括目录控制器,该目录控制器被编程或配置以执行所述基于目录的最近距离cache监听读的方法的步骤。此外,本专利技术还提供一种多核处理器,包括带有目录控制器的处理器本体,该目录控制器被编程或配置以执行所述基于目录的最近距离cache监听读的方法的步骤。此外,本专利技术还提供一种众核处理器,包括带有目录控制器的处理器本体,该目录控制器被编程或配置以执行所述基于目录的最近距离cache监听读的方法的步骤。此外,本专利技术还提供一种共享内存系统,由包括相互连接的多核处理器以及目录控制器,该目录控制器被编程或配置以执行所述基于目录的最近距离cache监听读的方法的步骤。和现有技术相比,本专利技术具有下述优点:多核处理器中高速缓存(cache本文档来自技高网
...

【技术保护点】
1.一种基于目录的最近距离cache监听读的方法,其特征在于,该方法包括:/n第一步,结点簇的一个核心发出缓存使能的读命令,本地缓存不命中,本地缓存发出读共享报文,进入目录流水线;/n第二步,当目录命中时,目录的位向量记录了拥有数据副本的结点簇号,根据目录的位向量,选择最近距离的缓存所在结点簇号,作为监听请求报文的访问远程结点簇号;/n第三步,目录生成远程结点簇的缓存监听请求报文,报文目的方是该远程结点簇号,发送片上网络;/n第四步,片上网络传输至目的远程结点簇的目录,目录仲裁判断,直接传送缓存;/n第五步,远程结点簇的缓存生成监听响应报文,报文目的方是发出缓存使能的读命令源结点簇,经过目录仲裁判断,直接传送发送片上网络;/n第六步,片上网络传输至缓存使能的读命令源结点簇,经过目录仲裁判断,直接传送本地缓存;/n第七步,本地缓存接受监听响应报文,数据返给结点簇中发出请求的核心。/n

【技术特征摘要】
1.一种基于目录的最近距离cache监听读的方法,其特征在于,该方法包括:
第一步,结点簇的一个核心发出缓存使能的读命令,本地缓存不命中,本地缓存发出读共享报文,进入目录流水线;
第二步,当目录命中时,目录的位向量记录了拥有数据副本的结点簇号,根据目录的位向量,选择最近距离的缓存所在结点簇号,作为监听请求报文的访问远程结点簇号;
第三步,目录生成远程结点簇的缓存监听请求报文,报文目的方是该远程结点簇号,发送片上网络;
第四步,片上网络传输至目的远程结点簇的目录,目录仲裁判断,直接传送缓存;
第五步,远程结点簇的缓存生成监听响应报文,报文目的方是发出缓存使能的读命令源结点簇,经过目录仲裁判断,直接传送发送片上网络;
第六步,片上网络传输至缓存使能的读命令源结点簇,经过目录仲裁判断,直接传送本地缓存;
第七步,本地缓存接受监听响应报文,数据返给结点簇中发出请求的核心。


2.根据权利要求1所述的基于目录的最近距离cache监听读的方法,其特征在于,所述第二步中选择最近距离的缓存所在结点簇号具体是指根据距离优先级列表选择最近距离的缓存所在结点簇号,所述距离优先级列表中记录有结点簇中访问其他结点簇的距离排序。


3.根据权利要求2所述的基于目录的最近距离cache监听读的方法,其特征在于,所述根据距离优先级列表选择最近距离的缓存所在结点簇号的步骤包括:计算目录位向量命中的最短距离优先级表,得到命中优先级列表项,目录位向量与每个优先级列表项的结点簇按位与计算,再按位或计算,输出为1或者0,为1则命中;根据命中的优先级列表项,按优先级仲裁,输出对应最短距离优先级表项内容中的结点簇号。


4.根据权利要求2所述的基于目录的最近距离cache监听读的方法,其特征在于,所述第二步之前还包括初始化...

【专利技术属性】
技术研发人员:罗莉周理潘国腾荀长庆周海亮铁俊波欧国东王蕾龚锐石伟任巨
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1