用于管理高速缓冲存储器存取的方法和设备技术

技术编号:2827531 阅读:238 留言:0更新日期:2012-04-11 18:40
在多处理器系统中,控制对给定处理器的以内存库工作的高速缓冲存储器的存取,使得共享数据存取指向指定用于保存共享数据的一个或一个以上内存库,且/或非共享数据存取指向指定用于保存非共享数据的一个或一个以上内存库。可将非共享数据内存库指定为专门用于保存非共享数据,使得共享数据存取不会干扰对所述内存库的非共享存取。而且,可将共享数据内存库指定为专门用于保存共享数据,且可将一个或一个以上内存库指定为用于保存共享和非共享数据两者。存取控制电路基于接收到与存取相关联的共享指示信号,而将共享和非共享存取指向各自的内存库。另外,在一个或一个以上实施例中,所述存取控制电路响应于内存库配置信号而重新配置一个或一个以上内存库指定。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术大体上涉及微处理器,且具体地说,涉及管理微处理器高速缓冲存储器。
技术介绍
较高性能的微处理器常使用分层存储器结构,包含基本量的主存储器和一个或一个以上更高等级的较小、较快的高速缓冲存储器,以便使存储器的速度与处理器速度更紧密地匹配。举例来说,级1(L1)高速缓冲存储器通常驻存在芯片上,并代表可用于微处理器的最小、最快的高速缓冲存储器。级2(L2)高速缓冲存储器驻存在芯片上或芯片外,并与用于微处理器的L1高速缓冲存储器相比,提供稍慢但通常较大量的高速缓冲存储器。在微处理器与主存储器之间可能存在额外等级的逐渐更慢(且更大)的高速缓冲存储器。在操作中,高速缓冲存储器作为微处理器与(相比而言)较慢的主存储器之间的缓冲器而操作,且用于保存微处理器最可能需要的指令和/或数据的副本。如果所需指令或数据项的副本驻存在高速缓冲存储器中,那么微处理器读取/写入所述副本,而不是存取主存储器,且因此避免了与主存储器存取相关联的潜在长得多的存取延迟。在两个或两个以上微处理器共享存储器空间的多处理器环境下,高速缓存操作变得更加复杂。在此类环境下,两个或两个以上微处理器可能高速缓存来自主存储器的同一数据。即,多个微处理器每一者可能高速缓存来自主存储器的同一数据项的副本。为了确保每个微处理器存取给定数据项的最新近更新的值,必须使用某种方法来使微处理器之间的高速缓冲存储器同步。高速缓冲存储器同步通过提供某种机制防止个别微处理器使用值已经通过其它微处理器的操作而变得过时的数据项,来维持高速缓冲存储器“相干性”。高速缓冲存储器同步可由硬件强制执行的相干性或由软件通过高速缓冲存储器管理指令来管理。一种类型的硬件强制执行的高速缓冲存储器相干性是“广播”型途径。用于高速缓冲存储器同步的基于广播的途径通常依靠每个微处理器来传输与数据存储器操作有关的消息。个别微处理器或其高速缓冲存储器控制器进而监视(“监听”)那些消息,以确定另一微处理器的动作是否已经使保存在其相关联高速缓冲存储器中的任何数据项无效。-->使用这些所谓的“监听”总线因此代表维持多处理器系统中的高速缓冲存储器相干性的相对较直接且有效的方法。然而,监听总线可能减小高速缓冲存储器的有效存取带宽,因为通常在用于由微处理器进行的本地产生的高速缓冲存储器存取的同一“端口”或存取总线上支持对给定高速缓冲存储器的监听业务存取。监听业务的量随着微处理器计数增加而显著增加,且最终,监听业务的量可能显著限制整体系统性能。对大量监听业务所提出的高速缓冲存储器存取干扰问题的各种解决方法包含使用多端口高速缓冲存储器,其中监听业务和本地产生的业务在不同端口上存取高速缓冲存储器。然而,此类配置可显著增加高速缓冲存储器的尺寸、功率消耗和费用。
技术实现思路
在以内存库工作的高速缓冲存储器管理方法的至少一个实施例中,通过减少或消除以内存库工作的高速缓冲存储器的至少一个高速缓冲存储器内存库中的共享数据与非共享数据的混合,来减少共享数据高速缓冲存储器存取(例如,与监听业务相关联的高速缓冲存储器存取)与非共享数据高速缓冲存储器存取之间的干扰。减少或消除此类混合可包括指定所述以内存库工作的高速缓冲存储器的一个或一个以上内存库用于保存共享数据,且将对共享数据的高速缓冲存储器存取指向所指定的一个或一个以上高速缓冲存储器内存库。另外(或作为替代),可通过指定所述以内存库工作的高速缓冲存储器的一个或一个以上内存库用于保存非共享数据,且将对非共享数据的高速缓冲存储器存取指向所指定的一个或一个以上高速缓冲存储器内存库,来减少或消除此类混合。举例来说,给定高速缓冲存储器存取(读取或写入)根据“内存库选择函数”指向特定高速缓冲存储器内存库中的特定高速缓冲存储器位置,所述“内存库选择函数”可能至少部分地由一个或一个以上高速缓冲存储器存取地址信号来驱动。如本文所使用,术语“内存库选择函数”涵盖用于为特定高速缓冲存储器存取地址选择特定内存库的多种不同方法和算法。举例来说,所述术语可涵盖地址和/或其它信号散列函数,或代表直接的地址解码。然而,根据如本文所教示的高速缓冲存储器管理的至少一个实施例来实施内存库选择函数,存取类型指示符(例如,共享存取指示符)修改所述内存库选择函数,使得对共享数据和/或对非共享数据的高速缓冲存储器存取被指向(导向)以内存库工作的高速缓冲存储器中的一个或一个以上指定内存库。举例来说,内存库选择函数可将共享存取指向共享存取内存库或指向混合(共享与非共享)存取内存库。此动作“集中”对指定-->用于保存共享数据的内存库中的共享数据的高速缓冲存储器存取活动。类似地,可使用存取类型指示符来修改内存库选择函数,以便将非共享存取指向非共享存取内存库或指向混合存取内存库,以集中对指定用于保存非共享数据的内存库中的非共享数据的高速缓冲存储器存取活动。在这两种情况下,针对以内存库工作的高速缓冲存储器中的至少一个内存库,减少或消除了共享数据存取与非共享数据存取之间的干扰。针对以内存库工作的高速缓冲存储器中的至少一个内存库而减少共享数据高速缓冲存储器存取与非共享数据高速缓冲存储器存取之间的干扰的一般方法包括:指定所述以内存库工作的高速缓冲存储器的一个或一个以上第一内存库用于保存第一类型的数据,所述第一类型的数据是共享数据和非共享数据中的一者,以及将对第一类型的数据的高速缓冲存储器存取指向所述一个或一个以上第一内存库。所述方法可进一步包括指定所述以内存库工作的高速缓冲存储器的一个或一个以上第二内存库用于保存第二类型的数据,所述第二类型的数据是共享和非共享数据中的另一者,以及将对第二类型的数据的高速缓冲存储器存取指向所述一个或一个以上第二内存库。任何或所有此类指定都可能是专用的或非专用的(混合的)。实施上述方法或上述方法的变化形式的以内存库工作的高速缓冲存储器的一个实施例包括存取控制电路,其经配置以基于将对第一类型的数据的高速缓冲存储器存取指向以内存库工作的高速缓冲存储器的指定用于保存第一类型的数据的一个或一个以上第一高速缓冲存储器内存库,而减少共享数据高速缓冲存储器存取与非共享数据高速缓冲存储器存取之间的干扰,所述第一类型的数据是共享数据与非共享数据中的一者。所述存取控制电路进一步可将对第二类型的数据的高速缓冲存储器存取指向以内存库工作的高速缓冲存储器的一个或一个以上第二高速缓冲存储器内存库,其中所述第二类型的数据是共享和非共享数据中的另一者。在此类实施例中,存取控制电路可直接或间接响应于存取类型指示符,所述存取类型指示符可以是提供到以内存库工作的高速缓冲存储器的与高速缓冲存储器存取相关联的共享存取信号。共享存取指示符信号的逻辑状态或值或某一其它特性指示给定高速缓冲存储器存取是否针对共享(或非共享)数据,且存取控制电路的内存库选择函数相应地修改,以将高速缓冲存储器存取指向适当的高速缓冲存储器内存库。还可根据内存库配置信号来修改内存库选择函数。即,可根据需要或要求来改变以内存库工作的高速缓冲存储器的配置,使得可改变将一个或一个以上内存库指定为用于共享数据、非共享数据或混合数据。此类改变可在计算机操作系统级进行控制,和或由-->在与以内存库工作的高速缓冲存储器相关联的处理器上运行的个别程序来控制。附图说明图1是说明包含以内存库本文档来自技高网
...

【技术保护点】
一种针对以内存库工作的高速缓冲存储器中的至少一个内存库,减少共享数据高速缓冲存储器存取与非共享数据高速缓冲存储器存取之间的干扰的方法,所述方法包括:指定所述以内存库工作的高速缓冲存储器的一个或一个以上第一内存库用于保存第一类型的数据,所述第一类型的数据是共享数据和非共享数据中的一者;以及将对所述第一类型的数据的高速缓冲存储器存取指向所述一个或一个以上第一内存库。

【技术特征摘要】
【国外来华专利技术】US 2005-6-2 11/144,2071.一种针对以内存库工作的高速缓冲存储器中的至少一个内存库,减少共享数据高速缓冲存储器存取与非共享数据高速缓冲存储器存取之间的干扰的方法,所述方法包括:指定所述以内存库工作的高速缓冲存储器的一个或一个以上第一内存库用于保存第一类型的数据,所述第一类型的数据是共享数据和非共享数据中的一者;以及将对所述第一类型的数据的高速缓冲存储器存取指向所述一个或一个以上第一内存库。2.根据权利要求1所述的方法,其进一步包括指定所述以内存库工作的高速缓冲存储器的一个或一个以上第二内存库用于保存第二类型的数据,所述第二类型的数据是共享和非共享数据中的另一者,以及将对所述第二类型的数据的高速缓冲存储器存取指向所述一个或一个以上第二内存库。3.根据权利要求2所述的方法,其中指定所述以内存库工作的高速缓冲存储器的一个或一个以上第一内存库用于保存第一类型的数据包括指定所述以内存库工作的高速缓冲存储器的第一高速缓冲存储器内存库用于保存共享数据,且其中指定一个或一个以上第二高速缓冲存储器内存库用于保存第二类型的数据包括指定所述以内存库工作的高速缓冲存储器的第二高速缓冲存储器内存库用于保存非共享数据。4.根据权利要求3所述的方法,其中将对所述第一类型的数据的高速缓冲存储器存取指向所述一个或一个以上第一内存库包括将对共享数据的高速缓冲存储器存取指向所述第一高速缓冲存储器内存库,且进一步包括将对非共享数据的高速缓冲存储器存取指向所述第二高速缓冲存储器内存库。5.根据权利要求1所述的方法,其进一步包括指定所述以内存库工作的高速缓冲存储器的一个或一个以上第二内存库用于保存第二类型的数据,所述第二类型的数据是共享和非共享数据中的另一者,以及将对所述第二类型的数据的高速缓冲存储器存取指向所述一个或一个以上第二内存库。6.根据权利要求1所述的方法,其中指定所述以内存库工作的高速缓冲存储器的一个或一个以上第一内存库用于保存第一类型的数据包括指定所述以内存库工作的高速缓冲存储器的至少一个内存库专门用于保存所述第一类型的数据。7.根据权利要求1所述的方法,其中指定所述以内存库工作的高速缓冲存储器的一个或一个以上第一内存库用于保存第一类型的数据包括指定所述以内存库工作的高速缓冲存储器的至少一个内存库用于保存所述第一类型的数据与第二类型的数据的混合,所述第二类型的数据是共享和非共享数据中的另一者。8.根据权利要求1所述的方法,其中将对所述第一类型的数据的高速缓冲存储器存取指向所述一个或一个以上第一内存库包括将内存库选择函数配置成响应于指示高速缓冲存储器存取是否针对所述第一类型的数据的存取类型指示符信号。9.根据权利要求8所述的方法,其中将内存库选择函数配置成响应于指示高速缓冲存储器存取是否针对所述第一类型的数据的存取类型指示符包括:将所述内存库选择函数配置成根据一个或一个以上高速缓冲存储器存取地址信号和所述存取类型指示符信号,将给定高速缓冲存储器存取指向所述以内存库工作的高速缓冲存储器的特定内存库中的特定的一或多个位置。10.根据权利要求1所述的方法,其中指定所述以内存库工作的高速缓冲存储器的一个或一个以上第一内存库用于保存第一类型的数据包括:将用于将高速缓冲存储器存取指向所述以内存库工作的高速缓冲存储器中的特定内存库的内存库选择函数配置成响应于指示个别高速缓冲存储器存取是否涉及所述第一类型的数据的存取类型指示...

【专利技术属性】
技术研发人员:托马斯菲利普施派尔詹姆斯诺里斯迪芬德尔费尔
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:US[美国]

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

1