本发明专利技术公开了一种实现高速缓存一致性协议的分层系统及其方法,其方案是:分层系统的第一层采用总线监听协议以适应其共享总线架构,第二层则采用基于目录的高速缓存一致性协议以适应其NoC片上互联网络架构,两种架构通过每个节点的节点控制器来转发两种协议发出的一致性维护信号,使得两种协议之间可以相互通信,进而使得混合一致性协议可以维护整个系统的高速缓存一致性。本方法具有性能高、实时性好、可扩展性强、设计复杂度小,既解决了共享总线架构的总线带宽问题,又解决了基于目录的一致性协议中目录所占存储空间过大的问题,使其能够更好的适应更大规模的多内核处理器。
【技术实现步骤摘要】
一种实现高速缓存一致性协议的分层系统及其方法
本专利技术涉及集成电路
,具体涉及分层架构的多内核处理器高速缓存混合一致性架构,用于解决多内核处理器访问共享数据时引起的数据冲突问题。
技术介绍
随着集成电路技术的不断发展,传统的单核微处理器越来越难以满足应用需求,由于多内核处理器相对于单核处理器在功耗、速度等方面的优势,近年来得到了极大地发展。多内核处理器就是将多个计算内核集成在一个处理器中,采用并行处理技术,将任务分配到多个计算内核,充分利用处理器资源,提高处理器性能。但随着多内核处理器结构复杂度的增加,高速缓存的设计难度也相应增加。如何保证多内核处理器设计的正确性,尤其是多内核处理器高速缓存一致性的正确性成为多内核处理器发展的难点之一。高速缓存是存在于主存与CPU之间的一级存储器,主要为了缓和CPU与存储器之间的速度差距,由静态随机存储器SRAM实现。在多内核处理器中,由于多个内核可能对同一数据块进行读写操作,当某个内核对共享的数据块进行写操作时,在其它内核的高速缓存中该数据块的副本将成为过时的数据,这时系统中高速缓存的数据块就会出现不一致,也就是常说的高速缓存不一致问题。对于这一问题,目前的解决方法有两种:总线监听协议和基于目录的高速缓存一致性协议。其中:1、总线监听协议,是通过总线监听的方式来维护高速缓存的一致性。它允许系统中各个处理器能够监测对存储器进行的所有操作,如果这些操作破坏了本地高速缓存中数据的一致性状态,本地内核就会向总线发送控制信号,其它内核监听到控制信号后会做出相应的一致性动作。每个高速缓存都有自己的状态标识来表明当前高速缓存行数据是否有效。当本地内核要进行读写操作时,先查找对应高速缓存行数据是否有效,如果有效则进行读写操作,同时在总线上广播一个无效信号,当其它内核监听到该无效信号时,将相应的高速缓存行数据无效掉。反之当本地内核要进行读写操作时,对应的高速缓存行数据无效,则要向总线广播一个数据请求信号,当其它内核监听到该信号,并且对应地址的高速缓存行有效,则发送相应的数据到请求数据的本地内核。总线监听协议实现简单、目录存储空间小,但是总线监听协议存在一定的局限性,它一般只用于共享总线型多内核处理器。随着多内核处理器内核数量的增加,总线带宽将会快速增加。由于总线监听协议效率比较低,所以共享总线架构以及其对应的总线监听协议所支持的内核数量不能太多,一般在10个左右。此外,由于总线监听协议需要不断地向总线发送信号,对总线的带宽和仲裁有很高的要求。2、基于目录的高速缓存一致性协议,是将高速缓存一致性维护命令只发给存放相同数据块复本的那些高速缓存。在基于目录的高速缓存一致性协议中的目录用来存放系统中所有内核对该高速缓存块的占有情况,并且通过目录保证所有内核对同一数据访问的请求串行执行。当本地内核向本地高速缓存读写数据时,如果在本地高速缓存中没有对应的数据副本,则发送请求信号到目录,目录控制器将会通过查找目录,确定系统中的哪个高速缓存拥有该数据副本,并将请求信号转发到该高速缓存。当拥有该数据副本的高速缓存接收到此数据请求信号时,它将通过数据传输网络将最新数据传送到请求数据的本地高速缓存。基于目录的高速缓存一致性协议适用于采用片上互联网络NoC架构的多内核处理器。在片上互联网络架构及其对应的基于目录的高速缓存一致性协议中各个节点之间采用分组路由的方式进行互联通信,为系统提供了良好的可扩展性和并行通信的能力,从而使得带宽增加了几个数量级,很好地解决了总线架构带宽限制的问题。而且片上互联网络将总线架构中的长互联线换成了交换开关之间的短互联线,使得功耗降低。但是当内核数量再次增加时目录存储将会占据很大的存储空间,而且实现较为复杂。通过以上对比可以看出在处理器内核较少的情况下一般采用共享总线架构并且采用总线监听协议来维护高速缓存一致性。随着内核数量的增长则采用片上互联网络架构并且采用基于目录的高速缓存一致性协议。但是当内核数量再次增加的时候两种高速缓存一致性协议都受到了限制。
技术实现思路
本专利技术的目的是针对上述已有协议的不足,结合共享总线架构、片上互联网络架构及其高速缓存一致性协议各自的优缺点,提出一种多内核处理器高速缓存一致性方法,以解决总线监听协议支持的内核数量少、对总线的带宽要求高、维护效率低的问题。本专利技术的技术方案是这样实现的:所有内核分为若干组,每组称为一个节点,节点内部的内核之间采用共享总线架构,为系统的第一层,节点之间采用片上互连网络架构,为系统的第二层。通过分层的结构实现了将一致性协议进行有效的结合,既实现简单、实时性好,而且更好的适应更大规模的多内核处理器。为了实现上述目的,本专利技术采用的技术方案如下:一种实现高速缓存一致性协议的分层系统,所述系统中具有多个内核,将所述多个内核划分为若干组,每个组作为一个节点,为系统的第一层;所述节点与节点之间为系统的第二层;所述节点中设有节点控制器,所述节点控制器一端与所述home节点控制器连接,所述home节点控制器的另一端分别与节点目录存储器和二级高速缓存连接。需要进一步说明的是,所述home节点控制器是基于目录的一致性协议控制电路的核心,用于接收各个节点发送过来的请求信号,通过查找目录确定目的节点,将请求信号定向地发送到目的节点。需要说明的是,所述节点中的每个内核还连接有高速缓存控制器;高速缓存存储模块,一端与所述内核连接,另一端与所述高速缓存控制器连接;高速缓存目录存储器,与所述高速缓存控制器连接;总线,与所述节点中的各个高速缓存控制器连接;所述节点控制器的另一端与所述总线连接。需要说明的是,所述节点控制器包括请求信号处理模块,数据写回模块,片上网络数据接口以及home节点数据接口。需要说明的是,所述home节点控制器设有请求信号处理模块,数据写回模块以及二级高速缓存读取模块。需要进一步说明的是,所述第一层采用共享总线架构,所述第二层采用片上互联网络架构;所述两种架构通过每个节点的节点控制器转发两种协议发出的一致性维护信号,使得两种协议之间可以相互通信,进而维护整个系统的高速缓存一致性。一种使用分层系统实现高速缓存一致的方法,所述每个内核通过其高速缓存控制器连接到总线上,而高速缓存之间的数据交换以及维护高速缓存一致性所需要的命令都是通过总线实现传递,每个节点中都设有与所述总线连接的节点控制器,其与片上互联网络以及home节点控制器相连,用于进行节点内部与片上互联网络之间的通信,所述方法包括以下步骤:(1)当内核向高速缓存中发出读数据请求时,高速缓存内没有内核所需要读取的数据时,就会出现读缺失的情况。此时高速缓存控制器会向总线广播读缺失信号,用来请求数据,总线上其它内核监听到此信号后,查找本地私有高速缓存确定是否拥有最新数据,如果拥有最新数据则将数据发送给请求该数据的高速缓存,所述内核再从高速缓存中读取数据。(2)当所述内核对本地高速缓存进行读操作,本地高速缓存内没有内核所需要读取的数据,而所请求的数据副本只存在于二级的高速缓存中时,此时本地节点控制器会将请求信号转发给home节点控制器,由home节点控制器通过目录查找的方式寻找具有有效数据块的二级高速缓存,然后从该二级高速缓存中读取相应的数据,将数据打包,并根据数据请求信号的不本文档来自技高网...
【技术保护点】
一种实现高速缓存一致性协议的分层系统,所述系统中具有多个内核,其特征在于,将所述多个内核划分为若干组,每个组作为一个节点,为系统的第一层;所述节点与节点之间为系统的第二层;所述节点中设有节点控制器,所述节点控制器一端与所述home节点控制器连接,所述home节点控制器的另一端分别与节点目录存储器和二级高速缓存连接。
【技术特征摘要】
1.一种实现高速缓存一致性协议的分层系统,所述系统中具有多个内核,其特征在于,将所述多个内核划分为若干组,每个组作为一个节点,为系统的第一层;所述节点与节点之间为系统的第二层;所述节点中设有节点控制器,所述节点控制器一端与home节点控制器的一端连接,所述home节点控制器的另一端分别与节点目录存储器和二级高级缓存连接;所述节点中的每个内核都会有各自的高速缓存控制器、高速缓存存储模块以及高速缓存目录存储器,并且每个内核会与各自的高速缓存控制器相连接;高速缓存存储模块,一端与其匹配的内核连接,另一端与所述的高速缓存控制器连接;高速缓存目录存储器,与其匹配的高速缓存控制器连接;总线,与所述节点中的各个高速缓存控制器连接;所述节点控制器的另一端与所述总线连接。2.根据权利要求1所述的分层系统,其特征在于,所述节点控制器包括请求信号处理模块,数据写回模块,片上网络数据接口以及home节点数据接口。3.根据权利要求1所述的分层系统,其特征在于,所述home节点控制器设有请求信号处理模块,数据写回模块以及二级高速缓存读取模块。4.根据权利要求1所述的分层系统,其特征在于,所述第一层采用共享总线架构,所述第二层采用片上互联网络架构;所述两种架构通过每个节点的节点控制器转发两种协议发出的一致性维护信号,使得两种协议之间可以相互通信,进而维护整个系统的高速缓存一致性。5.一种使用权利要求1所述的分层系统实现高速缓存一致性的方法,其特征在于,所述每个内核通过其高速缓存控制器连接到总线上,而高速缓存之间的数据交换以及维护高速缓存一致性所需要的命令都是通过总线实现传递,每个节点中都设有与所述总线连接的节点控制器,其与片上互联网络以及home节点控制器相连,用于进行节点内部与片上互联网络之间的通信,所述方法包括以下步骤:(1)当内核向高速缓存中发出读数据请求时,高速缓存内没有内核所需要读取的数据时,就会出现读缺失的情况;此时高速缓存控制器会向总线广播读缺失信号,用来请求数据,总线上其它内核监听到此信号后,查找本地私有高速缓存确定是否拥有最新数据,如果拥有最新数据则将数据发送给请求该数据的高速缓存控制器,...
【专利技术属性】
技术研发人员:蔡觉平,凌鹏,齐艺兰,张泽,滕国文,李琰,余军,毕文婷,李赟伟,
申请(专利权)人:西安电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。