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

记录组指示符制造技术

技术编号:18792183 阅读:18 留言:0更新日期:2018-08-29 10:29
一种装置包括2处理电路4,用于访问物理索引的缓存20、22中的数据。提供组指示符记录电路100以记录与目标物理地址相对应的组指示符,其中组指示符取决于缓存20的哪一组一个或多个存储位置50与目标物理地址相对应。组指示符不足以标识目标物理地址本身。这使得能够识别出由物理索引的组关联或直接映射缓存中各个组的数据项的争用引起的性能问题,而无需将物理地址本身暴露给可能不安全的进程或设备。

Record group indicator

An apparatus includes a 2 processing circuit 4 for accessing data in cache 20 and 22 of physical indexes. A group indicator recording circuit 100 is provided to record a group indicator corresponding to the target physical address, where the group indicator depends on which set of one or more storage locations 50 of cache 20 corresponds to the target physical address. The group indicator is not enough to identify the physical address of the target itself. This makes it possible to identify performance problems caused by group associations of physical indexes or contention for data items of groups in a direct mapping cache without exposing the physical address itself to potentially unsafe processes or devices.

【技术实现步骤摘要】
【国外来华专利技术】记录组指示符
本技术涉及数据处理领域。
技术介绍
数据处理装置可以在访问存储器中的数据时使用地址转换,其中,所标识的虚拟地址响应于程序指令正在被执行而被转换成标识了存储器中的数据的物理地址。这允许不同的软件进程共存,即使它们指定了重叠范围的虚拟地址,因为不同的软件进程可以将它们的地址映射到物理地址空间的不同部分。可以提供缓存以加速对最近使用的数据的访问。在支持虚拟到物理地址转换的系统中,缓存可能被虚拟索引或物理索引。虚拟索引的缓存使用虚拟地址来标识缓存的哪些存储位置可以存储所需的数据,而物理索引的缓存使用从对应的虚拟地址转换的物理地址。
技术实现思路
至少一些示例提供了一种装置,其包括:处理电路,被配置为访问由从虚拟地址转换的物理地址索引的缓存中的数据;以及组指示符记录电路,被配置为记录与目标物理地址相对应的组指示符,其中,组指示符取决于缓存的多组一个或多个存储位置中的哪一组与目标物理地址相对应,并且组指示符不足以标识目标物理地址。至少一些示例提供了一种设备,其包括:用于处理指令并访问由从虚拟地址转换的物理地址索引的缓存中的数据的装置;以及用于记录与目标物理地址相对应的组指示符的装置,其中,组指示符取决于缓存的多组一个或多个存储位置中的哪一组与目标物理地址相对应,并且组指示符不足以标识目标物理地址。至少一些示例提供了一种数据处理方法,其包括:将由经处理的指令标识的虚拟地址转换为物理地址以访问物理索引的缓存中的数据;以及记录与目标物理地址相对应的组指示符,其中,组指示符取决于缓存的多组一个或多个存储位置中的哪一组与目标物理地址相对应,并且组指示符不足以标识目标物理地址。至少一些示例提供了一种方法,其包括:读取在处理电路执行处理期间捕获的监测数据,该处理电路被配置为访问由从虚拟地址转换的物理地址索引的缓存中的数据,监测数据包括与相应物理地址相对应的多个组指示符,其中每个组指示符取决于缓存的多组一个或多个存储位置中的哪一组与对应的物理地址相对应,并且每个组指示符不足以标识对应的物理地址;以及对相应的组指示符进行比较以识别对应的物理地址是否映射到缓存的同一组。至少一些示例提供了一种计算机程序,包括用于控制数据处理装置执行以上描述的方法的指令。存储介质可以存储该计算机程序。附图说明根据以下结合附图阅读的对实施例的描述,本技术的其他方面、特征、和优点将变得显而易见,其中:图1示出了具有缓存和用于捕获性能监测数据的性能监测电路的装置的示例;图2示出了一个组关联(set-associative)缓存的示例;图3示出了组指示符记录电路的第一示例;图4示出了组指示符记录电路的第二示例;图5示出了记录组指示符的示例,该组指示符提供用于标识与多个缓存级别中的物理地址相对应的组的信息;图6示出了具有跟踪模块的数据处理装置的示例,该跟踪模块用于捕获关于处理电路的实时操作的跟踪数据;图7示出了组指示符生成指令的示例;图8示出了记录组指示符的方法;以及图9示出了对组指示符进行比较以识别混叠(aliase)到缓存的同一组的数据访问的方法。具体实施方式下面将描述一些具体示例。应理解的是,本专利技术不限于这些确切的示例。在数据处理装置上执行的程序的性能可能非常受其存储器访问与存储器层次结构(包括提供的任何缓存)如何交互的影响。某些缓存限制了可以存储具有给定地址的数据的可能存储位置。缓存的存储位置可以被分成多个组,每个组包括一个或多个存储位置。每个数据项都映射到对应的组,并且不能被存储在对应组以外的位置。当对应组中的所有位置都被占用时,对映射到该组的地址的其他数据访问可能导致从缓存中被驱逐,并且如果需要再次访问被驱逐的数据项,则可能会降低性能。因此,影响性能的一个因素可能是针对各个组的各个数据项的争用。在物理索引的缓存中,对应的组由数据项的物理地址标识,而非其虚拟地址。因此,当使用物理索引的缓存时,数据项的虚拟地址本身可能不足以解释应用开发人员可见的真实性能效果。一种方法可以是记录不同数据访问的物理地址,并将这些地址提供给调查给定系统性能的一方,以便他们可以确定访问是否映射到同一组。然而,通常可能不希望将物理地址本身暴露给某些软件进程或外部设备。例如,操作系统设计人员可能不愿意将物理地址暴露给应用层,或者管理程序可能不希望将物理地址暴露给在其下运行的操作系统。Rowhammer型攻击增加了对存储器物理布局暴露的担忧。具有用于访问物理索引的缓存中的数据的处理电路的装置可以设置有组指示符记录电路以记录与目标物理地址相对应的组指示符,其中组指示符取决于缓存的多组一个或多个存储位置中的哪一组对应于目标物理地址但不足以标识目标物理地址本身。通过提供用于在访问物理索引的缓存时识别组混叠效应的信息而不暴露整个物理地址使系统暴露于安全漏洞,这样的组指示符可用于对装置所执行的软件的性能进行分析。通过生成与多个不同物理地址相对应的组指示符,可以对组指示符进行比较以识别对应的物理地址是否映射到缓存的同一组。在一些实施例中,该装置可以包括地址转换电路,用于将由处理电路处理的指令所标识的虚拟地址转换为用于访问缓存中的数据的物理地址。例如,地址转换电路可以是存储器管理单元(MMU),其可以包括用于缓存定义如何将虚拟地址映射到物理地址的页表条目的转换后备缓冲器(TLB)。然而,在其他示例中,地址转换可以以软件的形式由处理电路本身执行的指令来实现,并且在这种情况下,以硬件形式提供的地址转换电路可能不是必需的。组指示符记录电路可以使组指示符能够被不可访问目标物理地址的外部设备或软件进程访问。例如,组指示符可以被提供给通常只能看到虚拟地址的应用层软件而没有暴露对应的物理地址的风险,或者组指示符可以通过接口输出到可以将它们用于分析性能的外部设备。尽管如此,组指示符也可以用于可访问物理地址本身的软件进程或设备。由于组指示符可能具有比对应物理地址更少的位,所以即使物理地址是可访问的,就存储容量而言记录组指示符的效率可能会更高。组指示符可以以各种方式生成,但是通常它可以取决于目标物理地址的至少一个索引位,该索引位被用于选择多个组中的哪个组对应于该地址。在某些情况下,组指示符可以完全标识缓存的哪个组对应于目标物理地址。在这种情况下,将用于两次数据访问的组指示符进行比较可能足以确定这些数据访问是否映射到同一组。然而,在其他示例中,组指示符可以仅提供表示哪个组对应于目标物理地址的部分标识。例如,可以以被称为页面的地址单元来管理地址转换,并且目标物理地址可以包括页面部分和偏移部分,其中页面部分从目标虚拟地址的对应部分转换而来,偏移部分直接从目标虚拟地址的对应部分映射。在这种情况下,页面部分标识地址空间的哪个页面已被访问并且该部分可以在转换期间在虚拟地址和物理地址之间改变,但是偏移部分简单地标识页面内的哪个地址正被选择并且它可能在地址转换期间保持不变。用于选择缓存中的哪一组对应于给定物理地址的索引位可跨越页面部分和偏移部分两者。因为虚拟地址可能已经可用于分析性能,因此已经能够从虚拟地址确定出的偏移部分内的一些索引位可能不需要被记录在组指示符中。因此,可以基于在目标物理地址的页面部分内的一个或多个索引位来确定组指示符。通过仅提供用于标识尚不可从虚拟地址获得的组的信息,可以使组指示符变得更小本文档来自技高网...

【技术保护点】
1.一种装置,包括:处理电路,被配置为访问由从虚拟地址转换的物理地址索引的缓存中的数据;以及组指示符记录电路,被配置为记录与目标物理地址相对应的组指示符,其中,所述组指示符取决于所述缓存的多组一个或多个存储位置中的哪一组与所述目标物理地址相对应,并且所述组指示符不足以标识所述目标物理地址。

【技术特征摘要】
【国外来华专利技术】2016.01.20 GB 1601037.31.一种装置,包括:处理电路,被配置为访问由从虚拟地址转换的物理地址索引的缓存中的数据;以及组指示符记录电路,被配置为记录与目标物理地址相对应的组指示符,其中,所述组指示符取决于所述缓存的多组一个或多个存储位置中的哪一组与所述目标物理地址相对应,并且所述组指示符不足以标识所述目标物理地址。2.根据权利要求1所述的装置,其中,所述组指示符取决于所述目标物理地址的至少一个索引位,该至少一个索引位用于选择所述多个组中的哪一组与所述目标物理地址相对应。3.根据权利要求2所述的装置,其中,所述目标物理地址包括从目标虚拟地址的对应部分转换的页面部分以及直接从所述目标虚拟地址的对应部分映射的偏移部分;以及所述至少一个索引位在所述目标物理地址的所述页面部分内。4.根据权利要求3所述的装置,其中,所述组指示符记录电路被配置为与所述目标虚拟地址相关联地记录所述组指示符。5.根据任一前述权利要求所述的装置,包括地址转换电路,用于将由所述处理电路处理的指令标识的虚拟地址转换为物理地址以用于访问所述缓存中的数据。6.根据任一前述权利要求所述的装置,其中,所述组指示符记录电路被配置为使得所述组指示符可被不可访问所述目标物理地址的外部设备或软件进程访问。7.根据任一前述权利要求所述的装置,其中,所述组指示符包括将模糊函数应用于所述目标物理地址的位的子集的结果。8.根据权利要求7所述的装置,其中,所述模糊函数取决于所述组指示符记录电路可访问但外部设备或软件进程不可访问的密钥,其中所述外部设备或软件进程不可访问所述目标物理地址。9.根据任一前述权利要求所述的装置,其中,所述处理电路被配置为访问第一级缓存和第二级缓存中的数据,其中,所述第一级缓存和所述第二级缓存都是物理索引的;以及所述组指示符的第一部分取决于所述目标物理地址的至少一个索引位,该至少一个索引位用于选择所述第一级缓存的哪一组一个或多个存储位置对应于所述目标物理地址,并且所述组指示符的第二部分取决于所述目标物理地址的至少一个索引位,该至少一个索引位用于选择所述第二级缓存的哪一组一个或多个存储位置对应于所述目标物理地址。10.根据任一前述权利要求所述的装置,其中,所述组指示符记录电路被配置为响应于所述处理电路触发与所述目标物理地址相对应的缓存访问而记录所述组指示符。11.根据权利要求10所述的装置,其中,响应于所述缓存访问,所述组指示符记录电路被配置为对提供给所述缓存的所述目标物理地址的位的子集进行采样,并且基于所采样的位的子集来生成所述组指示符。12.根据权利要求10所述的装置,其中,响应于所述缓存访问,所述组指示符记录电路被配置为从所述缓存接收指示所述多个组中的哪一组与所述目标物理地址相对应的索引指示符,并且将取决于所述索引指示符的值记录为所述组指示符。13.根据任一前述权利要求所述的装置,其中,所述组指示符记录电路包括性能监测电路,...

【专利技术属性】
技术研发人员:阿拉斯代尔·格兰特
申请(专利权)人:ARM有限公司
类型:发明
国别省市:英国,GB

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

1