当前位置: 首页 > 专利查询>ARM有限公司专利>正文

用于处理经发布至数据处理设备内本地高速缓存结构的访问操作的设备与方法技术

技术编号:8416306 阅读:136 留言:0更新日期:2013-03-15 05:10
提供了一种用于处理经发布至数据处理设备内本地高速缓存结构的访问操作的设备与方法。该数据处理设备包括多个处理单元,每个处理单元具有与该处理单元相关联的本地高速缓存结构。还提供了共享访问协调电路系统以协调经发布至任一本地高速缓存结构的共享访问操作的处理。对共享访问操作而言,与本地高速缓存结构相关联的访问控制电路系统将对该本地高速缓存结构执行本地访问操作,该共享高速缓存操作是发布至该本地高速缓存结构,并且,访问控制电路将向共享访问协调电路是统发布共享访问信息。对本地访问操作而言,访问控制电路系统通常将在相关联的本地高速缓存结构上执行本地访问操作,并且,不通知共享访问协调电路系统。然而,如果已设置访问操作扩展值,则访问控制电路系统将这种本地访问操作视为共享访问操作。即使在操作系统和/或应用程序自一个处理单元迁移至另一处理单元之后,这种方法仍确保正确操作。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种用于处理发布至数据处理设备内本地高速缓存结构的访问操作的设备与方法,具体地,其中该数据处理设备提供多个处理单元,该多个处理单元的每一个各自具有这种本地高速缓存结构。
技术介绍
已知两个或两个以上处理单元(例如,处理器核心)共享对共享存储器的访问的多重处理系统。通常,这种系统用于通过将不同处理器核心配置成并行执行各别数据处理操作,而获得较高性能。为进一步改善访问多重处理系统内的数据的速度,已知为处理单元中的每一个提供至少一个本地高速缓存结构,该本地高速缓存结构用于储存保存于共享存储器中的数据的子集。这种本地高速缓存结构可采用各样形式,例如,用以储存由处理单元处理的数据的数据高速缓存、用以储存由处理单元执行的指令的指令高速缓存、在将由处理单元发布的虚拟地址转换为物理地址时,用以储存所使用的页表信息的转换旁视缓冲器(TLB)等。在多重处理系统内,应用程序可自一个处理单元迁移至另一处理单元。因此,存在以下可能性在一个处理单元上执行时,由应用程序使用的数据在应用程序已迁移至另一处理单元的后,可继续在该处理单元的本地高速缓存结构中被高速缓存。虽然,已知提供一致性机制,来追踪保留在各样本地高速缓存结构中的数据,以确保处理单元将始终访问最新版本的数据,以下情况仍可发生在本地高速缓存结构的一个或多个条目上执行的操作,可能不会对保存于另一处理单元的本地高速缓存结构中的数据执行相应的操作,而此时这种操作的执行将较合适。这种情况的一个示例为高速缓存维护操作的执行。通常,高速缓存维护操作是由操作系统发布的,以更新本地高速缓存结构中的一个或多个条目的状态。如果操作系统未完全感知由数据处理设备提供的多个处理单元,例如可为以下状况如果该操作系统为由超管理器软件层自硬件平台屏蔽的单处理器操作系统,则该操作系统可发布高速缓存维护操作,该高速缓存维护操作仅将对本地高速缓存结 构执行,该本地高速缓存结构与正执行的操作系统所在的处理单元相关联,即使该高速缓存维护操作将应用的资料可储存于另一处理单元的本地高速缓存结构中。仅仅举例而言,考虑以下情形高速缓存维护操作识别出特定地址范围或特定程序识别符(程序ID)的任何高速缓存条目应为无效。当对于当前正执行的操作系统所在的处理单元的本地高速缓存结构执行该操作时,则这种高速缓存维护操作将恰当地使该本地高速缓存结构中的任何条目无效,该本地高速缓存结构未于特定地址范围内,或与特定程序ID相关联。然而,对于保存于任何其他处理单元的相应本地高速缓存结构中的数据,将不采取动作。如的前所述,实际上,该举措仍可保留数据,该数据意欲成为这种高速缓存维护操作的操作对象,但由于操作系统未感知硬件架构,所以条目将不为高速缓存维护操作的操作对象。虽然此问题不仅将在使用超管理器软件时出现,但通常该问题可能在使用超管理器软件层时出现。具体地,多重处理系统可执行超管理器软件,以支持至少一个虚拟机在处理电路系统上的执行,每一虚拟机包括执行一个或多个应用程序的操作是统。在这种环境中,操作系统与一个或多个应用程序都无需了解下层硬件平台,且尤其将不需感知正在使用多重处理系统。因此,应用程序及/或操作系统可发布以单处理器环境为前提的高速缓存维护操作,且因此可能生成上述的问题。对超管理器而言,解决这种问题的一个方法为,当操作系统及/或应用程序自一个处理单元迁移(在本文中还称为“切换”)至另一处理单元时,执行各样高速缓存维护操作。例如,在允许被切换的操作系统及/或应用程序在新处理器核心上开始操作的前,超管理器可广泛地执行数据高速缓存清除及无效操作、指令高速缓存无效操作、TLB无效操作等。然而,虽然这种方法将解决该问题,但这种方法显著地影响了性能,且尤其让使用多重处理平台的潜在益处不得实现。 对超管理器软件而言,替代方法可为当将操作系统及/或应用程序自来源处理单元迁移至目标处理单元时,将来源处理单元标识为用于随后将在目标处理器上执行的某些操作的可能目标。随后,超管理器将必须进一步将目标处理器程序化,以在遭遇任何此类操作时截获任何此类操作,以便随后在发布此类操作时,超管理器将得到通知。此时,超管理器软件将随后决定是否还需要在来源处理器以及目标处理器上执行这种操作。然而,这种方法的显著缺陷为需要截获在目标处理器上所执行的操作。此举引起显著的性能损失,因为超管理器软件比所需更为频繁地被调用。具体而言,如果并非基于微粒(fine grain)而设计该截获功能性,则超管理器软件可能被调用于许多操作,在操作中,不需要与来源处理器有关的动作。还存在显著的复杂性问题,因为超管理器软件需要了解操作,以决定是否需要在来源处理器以及目标处理器上执行操作。因此,需要提供一种改进技术,该技术用于处理发布至具有多个处理单元的数据处理系统内本地高速缓存结构的访问操作,该处理单元中的每一个具有这种本地高速缓存结构。
技术实现思路
从第一方面来看,本专利技术提供一种数据处理设备,该数据处理设备包括处理电路,该处理电路包括用于执行数据处理操作的多个处理单元,该数据处理操作需要访问共享存储器中的数据;每一处理单元具有与该处理单元相关联的本地高速缓存结构,该本地高速缓存结构用于储存供该处理单元访问的该数据的子集;以及具有访问控制电路,该访问控制电路用于处理经发布至该本地高速缓存结构的访问操作,将该本地高速缓存结构的至少一个类型的访问操作发布为本地访问操作或共享访问操作;配置储存器,该配置储存器用于储存访问操作扩展值;共享访问协调电路,该共享访问协调电路用于协调该多个处理单元对该共享访问操作的处理;在接收到该共享访问操作的后,该访问控制电路除对该相关联的本地高速缓存结构执行该本地访问操作的外,还向该共享访问协调电路发布共享访问信息;在接收到该本地访问操作的后,如果未设置该访问操作扩展值,则该访问控制电路被布置,以对该相关联的本地高速缓存结构执行该本地访问操作,而不向该共享访问协调电路发布该共享访问信息;以及如果已设置该访问操作扩展值,则该访问控制电路被布置,以将该本地访问操作视为该共享访问操作。 根据本专利技术,可将特定类型的访问操作发布为本地访问操作或共享访问操作。随后,提供配置储存器,该配置储存器由以下方式用于储存访问操作扩展值处理本地访问操作的方式取决于是否已设置该访问操作扩展值。当与本地高速缓存结构相关联的访问控制电路接收共享访问操作时,则该访问操作扩展 值的值并不相关,且该访问控制电路仅将对相关联的本地高速缓存结构执行本地访问操作,且另外向共享访问协调电路发送共享访问信息。随后,该共享访问协调电路将向其他处理单元广播信号,以使该本地访问操作还根据与处理单元相关联的本地高速缓存结构而执行,或者,替代地,在考虑到该共享访问协调电路所保留的某种状态的情况下,该共享访问协调电路将决定处理单元的子集,将这种信号发送至处理单元。当该访问控制电路接收到本地访问操作时,则在未设置该访问操作扩展值的情况下,该访问控制电路仅对该相关联的本地高速缓存结构执行该本地访问操作。然而,如果已设置该访问操作扩展值,则根据本专利技术,即使仅接收到本地访问操作,该访问控制电路还将该本地访问操作视为共享访问操作。通过这种方法,应理解,上述问题得以缓解。具体地,一旦已设置该访问操作扩展值,则本地访问操作本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2010.06.16 GB 1010114.51.一种数据处理设备,该数据处理设备包括 处理电路,该处理电路包括用于执行数据处理操作的多个处理单元,该数据处理操作需要访问共享存储器中的数据; 每个处理单元具有与该处理单元相关联的本地高速缓存结构,该本地高速缓存结构用于储存供该处理单元访问的该数据的子集,以及具有访问控制电路,该访问控制电路用于处理经发布至所述本地高速缓存结构的访问操作,将本地高速缓存结构的至少一个类型的访问操作发布为本地访问操作或共享访问操作; 配置储存器,该配置储存器用于储存访问操作扩展值; 共享访问协调电路,该共享访问协调电路用于协调所述多个处理单元对所述共享访问操作的处理; 在接收到所述共享访问操作之后,该访问控制电路除对该相关联的本地高速缓存结构执行该本地访问操作之外,还向该共享访问协调电路发布共享访问信号; 在接收到所述本地访问操作的后,如果未设置该访问操作扩展值,则该访问控制电路被布置,以对该相关联的本地高速缓存结构执行该本地访问操作,而不向该共享访问协调电路发布该共享访问信号,以及如果已设置该访问操作扩展值,则该访问控制电路是被布置的,则将该本地访问操作视为所述共享访问操作。2.如权利要求I所述的数据处理设备,其中 在该处理电路系统上执行的软件由多个软件层级组成; 该存取操作扩充值由在预定层级上执行的软件设定和复位;以及 当处理处理由处于低于所述预定层级的层级的软件所发布的本地访问操作时,该访问控制电路仅响应于该存取操作扩展值。3.如权利要求I或2所述的数据处理设备,其中该至少一个类型的访问操作包括维护访问操作,该维护访问操作被发布以更新储存于该本地高速缓存结构的至少一个条目中的数据的状态。4.如权利要求3所述的数据处理设备,其中所述维护访问操作对于该本地高速缓存结构的该至少一个条目,执行清除操作和无效操作中的至少一者。5.如前述权利要求中的任一项所述的数据处理设备,其中该处理电路执行超管理器软件,以支持至少一个虚拟机在该处理电路上的执行,该虚拟机被布置为发布所述至少一个类型的访问操作。6.如权利要求5所述的数据处理设备,其中所述至少一个虚拟机中的每一个包括运行一个或多个应用程序的操作系统。7.如权利要求6所述的数据处理设备,其中当该超管理器软件将所述操作自所述多个处理单元中的第一处理单元移动至所述多个处理单元中的第二处理单元时,该超管理器软件使所述访问操作扩展值得以被设置。8.如权利要求7所述的数据处理设备,其中在设置该访问操作扩展值的后,该访问控制电路将所述至少一个虚拟机发布的任何本地访问操作视为所述共享访问操作,但该访问控制电路继续将该超管理器软件发布的本地访问操作处理作为本地访问操作处理。9.如前述权利要求中的任一项所述的数据处理设备,其中所述本地高速缓存结构是用于高速缓存高速缓存用作所述数据处理操作的操作数数据的数据高速缓存。10.如权利要求I至8中的任一项所述的数据处理设备,其中所述本地高速缓存结构包括转换旁视缓冲器,该转换旁视缓冲器用于高速缓存页表数据,该页表数据是从所述共享存储器中的页表获得的,并且,在执行该相关联的处理单元内的虚拟地址到物理地址的转换时,使用该转换旁视缓冲器。11.如权利要求I至8中的任一项所述的数据处理设备,其中所述本地高速缓存结构是指令高速缓存,该指令高速缓存用于高速缓存指令,该指令用于所述数据处理操作。12.如前述权利要求中的任一项所述的数据处理设备,其中所述共享访问协调电路响应于所述共享访问信号,以向处理单元中的每一个广播本地访问操作请求,而非向访问控制电路已发布了所述共享访问信号的处理单元广播本地访问操作请求,从而在处理...

【专利技术属性】
技术研发人员:弗雷德里克·克劳德·玛丽·皮里路易斯玛丽·文森特·穆顿卢卡·斯卡拉布里诺
申请(专利权)人:ARM有限公司
类型:
国别省市:

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

1