[发明专利]用于具有不同高速缓存位置长度的高速缓存中高速缓存一致性的系统和方法有效
申请号: | 200580044885.4 | 申请日: | 2005-12-27 |
公开(公告)号: | CN101088074A | 公开(公告)日: | 2007-12-12 |
发明(设计)人: | Y·陈;C·休斯;J·塔克三世 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F12/04 | 分类号: | G06F12/04;G06F12/08 |
代理公司: | 永新专利商标代理有限公司 | 代理人: | 王英 |
地址: | 美国加*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 具有 不同 高速缓存 位置 长度 一致性 系统 方法 | ||
技术领域
本发明一般涉及具有数据高速缓存的微处理器,尤其涉及可以包括具有多组不同长度的高速缓存位置的数据高速缓存的微处理器。
背景技术
现代微处理器可以在单个半导体器件上包括两个或多个处理器内核。可以将这种处理器称为多核处理器。使用这些多核处理器能够将性能提高到超出使用单核处理器所允许的程度。每个内核都可以有它自己的一级数据和指令高速缓存,在这个器件上还可以有二级高速缓存。
为了提高性能,一级数据高速缓存中的高速缓存位置可以具有根据预期数据类型选择的长度。有限的器件尺寸可以允许长度较短的、数量较多的高速缓存位置,或者长度较长的、数量较少的高速缓存位置。当预期数据具有大的空间局部性时(例如数据倾向于位于存储器中的连续区域),通过采用长度较长的、数量较少的高速缓存位置能够提高性能。在另一个极端情况下,当预期数据具有较小的空间局部性时(例如数据随机或伪随机地分布在整个存储器内),通过采用长度较短的、数量较多的高速缓存位置能够提高性能。
可以设计具有多组高速缓存位置的一级数据高速缓存,其中每一组都包含不同长度的高速缓存位置。这样做能够在各种类型的预期数据的情况下提高性能。另外,某条数据可能同时存在于多组高速缓存位置中,此时仍然能够提高性能。但是,大多数高速缓存一致性引擎都是根据高速缓存位置/高速缓存行尺寸的粒度来进行工作的。为了简单起见,它们被设计成支持一种公共的高速缓存位置/高速缓存行尺寸。因此,用于和具有变化的高速缓存位置长度的高速缓存一起使用的高速缓存一致性引擎存在设计问题,特别是当在不进行基础性重新设计的情况下优选地使用现有的高速缓存一致性协议时。
附图说明
本说明书利用附图以实例方式而不是以限制方式说明高速缓存位置,在这些附图中,相似的标号指的是相似的单元。在这些附图中:
图1是根据本公开的一个实施例的,具有多个处理器内核的处理器的示图,这些处理器内核具有包括不同长度的高速缓存位置的高速缓存;
图2是根据本公开一个实施例的处理器模块的示图;
图3是根据本公开一个实施例的,具有目录结构的二级高速缓存的示图;
图4是根据本公开的一个实施例的,图3所示的二级高速缓存的目录条目的示图;
图5是根据本公开的一个实施的,对应于图4所示的目录条目的状态树的示图;
图6是根据本公开的另一个实施例的,集合状态保存寄存器的示图;
图7A是根据本公开的一个实施例的,多内核处理器系统的示意图;以及
图7B是根据本公开的另一个实施例的,多内核处理器系统的示意图。
具体实施方式
以下描述包括用于多内核处理器中数据高速缓存的设计和一致操作的技术,所述数据高速缓存具有不同长度的高速缓存位置。在以下描述中,说明了大量的具体细节,例如逻辑实现、软件模块分配、总线和其它接口信令技术以及操作的细节,以便帮助更加彻底地理解本发明。但是,本领域技术人员明白,可以实现本发明而无需这些具体细节。在其它例子中,没有详细说明控制结构、门级别的电路和完整的软件指令序列,以免使发明不清楚。利用这些描述,本领域技术人员将能够实现适当的功能而无需大量的实验。在特定的实施例中,本发明在安腾处理器系列的兼容处理器(例如英特尔公司生产的处理器)以及有关系统和处理器固件的环境中公开。但是,本发明还可以用其他种类的处理器系统来实现,例如利用奔腾兼容处理器系统(例如英特尔公司生产的)、X-Scale系列兼容处理器,或者根据其它销售商或设计者的任何处理器体系结构的任何不同的通用处理器。另外,一些实施例可以包括或者可以是专用处理器,例如,图形、网络、图像、通信处理器,或者任何其它已知的或可用类型的结合其固件的处理器。
下面参考图1,其中显示了根据本公开的一个实施例的,具有高速缓存的多核处理器,所述高速缓存包括不同长度的高速缓存位置。在一个实施例中,显示了处理器模块1130和处理器模块2140,但是在其它实施例中,在特定的整体处理器实现中可以有更多的处理器模块。
处理器模块1130和处理器模块2140可以各自包括用于执行程序的内核134、144,一级(L1)数据高速缓存控制器132、142,以及高速缓存阵列136、146。在这里,“一级”指的是在层次结构上最接近处理器内核的高速缓存。高速缓存阵列132、142可以包括能够保存从存储器取入的数据的各种高速缓存位置作为高速缓存行。这些高速缓存位置的长度可以不同,并且可能包含高速缓存行的一些部分,而不是整个高速缓存行,以便提高性能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200580044885.4/2.html,转载请声明来源钻瓜专利网。