一种CC-NUMA系统中结点控制芯片目录Cache的方法技术方案

技术编号:7843442 阅读:287 留言:0更新日期:2012-10-13 01:48
本发明专利技术提供一种CC-NUMA系统中结点控制芯片目录Cache的方法,设计实现一个目录Cache模块,完成并优化对存储器的访问控制。在计算机体系结构的研究与设计中,经常会考虑到应用程序访存的局部性。其中,最近访问的数据会在不久后再次被访问这被称为时间局部性,基于这个特性,在基于目录的CC-NUMA系统中引入Cache来缓存目录项,并采用最近最少使用(LeastRecentlyUsed,LRU)替换算法,可以很好地降低目录访问的压力,缓解存储器访问的瓶颈效应。

【技术实现步骤摘要】

本专利技术涉及计算机
,具体地说是一种CC-NUMA (Cache CoherentNon-Uniform Memory Access)系统中结点控制芯片目录Cache的方法。
技术介绍
随着对高性能计算的应用越来越广泛和深入,高性能计算机的架构和实现面临着越来越高的要求,CC-NUMA结构是其中一种重要的体系结构。构造大规模CC-NUMA系统受到诸多因素制约,其中Cache —致性协议是制约系统可扩展性的关键因素。为了解决这个问题,除了设计有效的协议之外,研究系统中可扩展的目录结构和高效的目录存储访问机制,能保证基于目录的Cache —致性协议的高效实现。 目录结构是影响CC-NUMA系统可扩展性的另一个重要因素。比如一些系统采用全映射的目录结构,这样的系统即便使用的是可扩展的一致性协议,但在目录结构的实现上却是不可扩展的。
技术实现思路
本专利技术的目的是提供。本专利技术的目的是按以下方式实现的,在CC-NUMA系统中的结点控制芯片中引入Cache模块来实现和优化Cache —致性协议,不仅降低了存储器的访问压力,而且提高了结点控制器的处理效率,降低Cache —致性协议处理的开销,具体内容如下 设计一个目录Cache模块,完成并优化对存储器的访问控制在计算机体系结构的研究与设计中,经常会考虑到应用程序访存的局部性,其中,最近访问的数据会在不久后再次被访问,这种情况被称为时间局部性,基于这个特性,在基于目录的CC-NUMA系统中弓丨入Cache来缓存目录项,并采用最近最少使用替换算法,来降低目录访问的压力,缓解存储器访问的瓶颈效应,目录Cache用于缓存最近经常使用的目录条目,目的是减小目录的访问延迟,减少CC报文的协议处理时间,提高结点控制器对报文处理的吞吐量,所有进入结点控制器的CC 一致性报文,都必须访问目录Cache,以获得数据对应的目录,以便进行后续的协议处理,由于目录Cache的容量有限,不可能保存所有的目录条目,因此,当CC报文需要的目录条目在目录Cache中没有命中时,则需要访问外部存储器以获得目录,同时,为了提高并行访问的效率,采用非阻塞工作方式,即前一个未完成的访问操作不会阻塞后续访问的执行;而在目录Cache与存储体的映射方面,采用8路组相联的方式,从实际应用的角度来看,8路组相联在降低失效率方面的作用已经和全相联一样有效,能更好地减少系统的开销,实施步骤如下 目录Cache模块由4个目录Cache体、I个数据旁路模块以及I个控制与状态寄存器模块构成,其中 I) 4个目录Cache体是相互独立,对应4块存储地址,其中每个目录Cache体的设计都是完全相同的,容量为128KB,映射方式为8路组相联,每个Cache行大小为64B,即512b,这是由与存储控制器接口的宽度所决定的,共计256行,目录Cache体采用最近最少使用替换算法,提高芯片性能,并采用非阻塞工作方式,即前一个未完成的访问操作不会阻塞后续访问的执行; 2)为了增加系统的容错性,整个模块中还包含一个目录数据旁路模块,处于调试状态时,通过目录数据旁路模块的数据通路来传送数据,为了简化实现,减少逻辑资源的占用,采用阻塞工作方式,即所有的访问操作顺序执行,在前一个操作未完成之前,后面的操作不会流入,等待前面的操作完成; 3)为了增加可控性与可观察性,模块中包含一个控制与状态寄存器模块CSR,保存用户设置的控制信息与每个目录Cache体的错误状态信息; 在此基础上,目录Cache的操作包括两种一种是读目录,二种是存目录,下面分别介绍这两种操作的详细过程 对于一个读目录操作,根据是否命中,分为下面两种情况来处理 1)若命中,则直接从返回对应的4字节(32b)的数据; 2)若没有命中,则发出一个访存的读请求,载入一个Cache行的数据(512位),创建一个Cache行的目录项,而后根据请求报文的地址的最低位,确定相应的32位目录项,返回数据; 对于一个写目录操作,根据是否命中,以及是否需要替换的因素,分为下面三种情况来处理 1)若命中,则直接将请求报文中的32位目录数据写入,等待以后替换时才真正写入外部存储器; 2)若未命中,但Cache行中有空余项,则向存控发出一个读命令,载入一个Cache行的512位数据,创建一个Cache的目录项,而后根据请求报文的地址的最低位,将报文中的32位目录项写入Cache行的相应位置,等待以后替换时才能够真正写入外部存储器; 3)若未命中,且Cache行已满,则根据最近最少使用算法,选择一路替换出阵列,并将替换出的Cache行的数据写入对应的外部存储器;而后向存控发出一个读命令,载入一个Cache line的512位数据,仓ll建一个Cache的目录项;而后根据请求报文的地址的最低位,将报文中的32位目录项写入Cache行的相应位置; 需要指出的是,对于目录Cache体和数据旁路模块,上述操作的不同之处在于首先,在数据旁路模块中,采用先来先服务FCFS的策略,严格地按照顺序执行,不允许乱序,后面的操作要等待前面的操作完成后,才能被处理;其次,数据旁路模块中不存在多个目录Cache行,每次读写都必须从存储器中读取相对应的一个Cache行。引入了 Cache模块,允许远程数据进入处理器Cache,通过硬件维护各个Cache中数据的一致性。结点控制芯片与结点中的本地处理器相连,并通过路由器与其他结点控制芯片相连以构成大规模的系统,主要功能是处理器接口控制、Cache —致性控制以及互连网络接口控制。所引入的Cache模块的特征是采用8路组相联的映射方式,并采用最近最少使用(Least Recently Used,LRU)替换算法,以及非阻塞的流水工作方式,提高芯片性能。本专利技术的有益效果是对大规模CC-NUMA系统中的访存瓶颈提出了一种有效的解决方法,在明显地提高了系统的效率和可扩展性的同时,尽可能地降低了实现的复杂程度,这也决定本专利技术具有很高的实际应用价值和进一步的技术研究价值。具体实施例方式设计实现一个目录Cache模块,完成并优化对存储器的访问控制。在计算机体系结构的研究与设计中,经常会考虑到应用程序访存的局部性。其中,最近访问的数据会在不久后再次被访问这被称为时间局部性,基于这个特性,在基于目录的CC-NUMA系统中引入Cache来缓存目录项,并采用最近最少使用(Least Recently Used, LRU)替换算法,可以很好地降低目录访问的压力,缓解存储器访问的瓶颈效应。目录Cache用于缓存最近经常使用的目录条目,目的是减小目录的访问延迟,减少CC报文的协议处理时 间,提高结点控制器对报文处理的吞吐量。所有进入结点控制器的CC 一致性报文都必须访问目录Cache,以获得数据对应的目录,以便进行后续的协议处理。由于目录Cache的容量有限,不可能保存所有的目录条目,因此,当CC报文需要的目录条目在目录Cache中没有命中时,则需要访问外部存储器以获得目录。同时,为了提高并行访问的效率,我们采用非阻塞(Non-Blocking)工作方式,即前一个未完成的访问操作不会阻塞后续访问的执行。而在目录Cache与存储体的映射方面,我们采用了 8路组相联(4组)的方本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.ー种CC-NUMA系统中结点控制芯片目录Cache的方法,其特征在于在CC-NUMA系统中的结点控制芯片中引入Cache模块来实现和优化Cache —致性协议,不仅降低了存储器的访问压力,而且提高了结点控制器的处理效率,降低Cache —致性协议处理的开销,具体内容如下 设计ー个目录Cache模块,完成并优化对存储器的访问控制在计算机体系结构的研究与设计中,经常会考虑到应用程序访存的局部性,其中,最近访问的数据会在不久后再次被访问,这种情况被称为时间局部性,基于这个特性,在基于目录的CC-NUMA系统中引入Cache来缓存目录项,并采用最近最少使用替换算法,来降低目录访问的压カ,缓解存储器访问的瓶颈效应,目录Cache用于缓存最近经常使用的目录条目,目的是减小目录的访问延迟,減少CC报文的协议处理时间,提高结点控制器对报文处理的呑吐量,所有进入结点控制器的CC 一致性报文,都必须访问目录Cache,以获得数据对应的目录,以便进行后续的协议处理,由于目录Cache的容量有限,不可能保存所有的目录条目,因此,当CC报文需要的目录条目在目录Cache中没有命中吋,则需要访问外部存储器以获得目录,同吋,为了提高并行访问的效率,采用非阻塞工作方式,即前ー个未完成的访问操作不会阻塞后续访问的执行;而在目录Cache与存储体的映射方面,采用8路组相联的方式,从实际应用的角度来看,8路组相联在降低失效率方面的作用已经和全相联ー样有效,能更好地減少系统的开销,实施步骤如下 目录Cache模块由4个目录Cache体、I个数据旁路模块以及I个控制与状态寄存器模块构成,其中 I)4个目录Cache体是相互独立,对应4块存储地址,其中每个目录Cache体的设计都是完全相同的,容量为128KB,映射方式为8路组相联,每个Cache行大小为64B,即512b,这是由与存储控制器接ロ的宽度所決定的,共计256行,目录Cache体采用最近最少使用替换算法,提高芯片性能,并采用非阻塞工作方式,即前ー个未完成的访问操作不会阻塞后续访问的执行; 为了增加系统的容错性,整个模块中还包含一个目录数据旁路模块,处于调试状态时,通过目录数据旁路模块的数据通路来传送数据,为了简化实现,減少逻辑资源的占用,采用阻塞工作方式,即所有的访问操作顺序执行,在前ー个操作未完成之前,后面的操作不会流入,等待前面的操作完成; 为了增加可控性与可观察性,...

【专利技术属性】
技术研发人员:李拓李仁刚王恩东胡雷钧秦济龙
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:

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

1