[发明专利]一种CC-NUMA系统中结点控制芯片目录Cache的方法有效
申请号: | 201210149227.3 | 申请日: | 2012-05-15 |
公开(公告)号: | CN102708190A | 公开(公告)日: | 2012-10-03 |
发明(设计)人: | 李拓;李仁刚;王恩东;胡雷钧;秦济龙 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F12/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250014 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种CC-NUMA系统中结点控制芯片目录Cache的方法,设计实现一个目录Cache模块,完成并优化对存储器的访问控制。在计算机体系结构的研究与设计中,经常会考虑到应用程序访存的局部性。其中,最近访问的数据会在不久后再次被访问这被称为时间局部性,基于这个特性,在基于目录的CC-NUMA系统中引入Cache来缓存目录项,并采用最近最少使用(LeastRecentlyUsed,LRU)替换算法,可以很好地降低目录访问的压力,缓解存储器访问的瓶颈效应。 | ||
搜索关键词: | 一种 cc numa 系统 结点 控制 芯片 目录 cache 方法 | ||
【主权项】:
一种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体、1个数据旁路模块以及1个控制与状态寄存器模块构成,其中: 1) 4个目录Cache体是相互独立,对应4块存储地址,其中每个目录Cache体的设计都是完全相同的,容量为128KB,映射方式为8路组相联,每个Cache行大小为64B,即512b,这是由与存储控制器接口的宽度所决定的,共计256行,目录Cache体采用最近最少使用替换算法,提高芯片性能,并采用非阻塞工作方式,即前一个未完成的访问操作不会阻塞后续访问的执行;为了增加系统的容错性,整个模块中还包含一个目录数据旁路模块,处于调试状态时,通过目录数据旁路模块的数据通路来传送数据,为了简化实现,减少逻辑资源的占用,采用阻塞工作方式,即所有的访问操作顺序执行,在前一个操作未完成之前,后面的操作不会流入,等待前面的操作完成;为了增加可控性与可观察性,模块中包含一个控制与状态寄存器模块CSR,保存用户设置的控制信息与每个目录Cache体的错误状态信息;在此基础上,目录Cache的操作包括两种:一种是读目录,二种是存目录,下面分别介绍这两种操作的详细过程:对于一个读目录操作,根据是否命中,分为下面两种情况来处理:1)若命中,则直接从返回对应的4字节(32b)的数据;2)若没有命中,则发出一个访存的读请求,载入一个Cache行的数据,创建一个Cache行的目录项,而后根据请求报文的地址的最低位,确定相应的32位目录项,返回数据;对于一个写目录操作,根据是否命中,以及是否需要替换的因素,分为下面三种情况来处理:1)若命中,则直接将请求报文中的32位目录数据写入,等待以后替换时才真正写入外部存储器;2)若未命中,但Cache行中有空余项,则向存控发出一个读命令,载入一个Cache行的数据,创建一个Cache的目录项,而后根据请求报文的地址的最低位,将报文中的32位目录项写入Cache行的相应位置,等待以后替换时才能够真正写入外部存储器;3)若未命中,且Cache行已满,则根据最近最少使用算法,选择一路替换出阵列,并将替换出的Cache行的数据写入对应的外部存储器;而后向存控发出一个读命令,载入一个Cache line的数据,创建一个Cache的目录项;而后根据请求报文的地址的最低位,将报文中的32位目录项写入Cache行的相应位置;需要指出的是,对于目录Cache体和数据旁路模块,上述操作的不同之处在于:首先,在数据旁路模块中,采用先来先服务FCFS的策略,严格地按照顺序执行,不允许乱序,后面的操作要等待前面的操作完成后,才能被处理;其次,数据旁路模块中不存在多个目录Cache行,每次读写都必须从存储器中读取相对应的一个Cache行。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210149227.3/,转载请声明来源钻瓜专利网。
- 上一篇:一种改性沥青防水卷材及其生产工艺
- 下一篇:过滤式下水管道组件