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

存储器存取控制制造技术

技术编号:8629571 阅读:167 留言:0更新日期:2013-04-26 18:27
本发明专利技术涉及存储器存取控制。数据处理系统(2)包括处理电路(4),该处理电路操作于第一模式或第二模式。页面表数据(30)包括存取控制位(40、42),该数据可以用来控制对存储器页面的存储器存取之许可。在该第一模式中,该存取控制位包括冗余编码的至少一个实例。在该第二模式中,移除该冗余编码以提供对于存取控制位编码空间的更为有效的使用。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及数据处理系统的领域。尤其是,本专利技术涉及对在数据处理系统的存储器地址空间内的存储器页面的存取许可(access permission)进行控制的领域。
技术介绍
已知提供具有存储器管理单元的数据处理系统,以响应于页面表数据(pagetable data)来控制对存储器的页面(连续区域)的存取许可。例如,特定的存储器页面可以被标记为可存取的,以在特权例外层级(privileged exception level)中读取和写入,但被标记为在用户例外层级(user exception level)中只可以读取存取。可以指定除了读取和写入存取之外的进一步存取许可,这些进一步许可是执行从存储器页面中读取的程序指令的能力。已知从PowerPC处理器架构提供了包括存取控制位的页面表数据,这些存取控制位针对特权层级和用户层级的每一者独立地、正交地指定了 对于给定的存储器页面是否允许读取存取、写入存取和执行存取。这在每个存储器页面耗用六个存取控制位。随着用于数据处理系统内的存储器量增大,及随着技术的前进(例如虚拟化,它需要多组页面表数据),页面表数据的大小已变为更重要的因素。通过减少所使用的存取控制位的数目来减少需要储存页面表数据的存储器空间量是有利的。这方面的另一个因素是期望使用不同的指令集支持不同的操作模式。为了减少由页面表数据耗用的存储器空间量,希望由新引入的模式(例如使用新引入的指令集的模式)所使用的页面表数据应与先前的页面表数据和先前的指令集向后兼容。
技术实现思路
从一个方面来看,本专利技术提供了用于处理数据的设备,该设备包括处理电路,该处理电路响应于程序指令以执行数据处理操作,并被配置成在多个模式中操作;以及存储器管理电路,该存储器管理电路耦合至该处理电路并耦合至存储器,存储器管理电路被配置成根据页面表数据,控制对储存在该存储器内的的数据值的存取许可;其中,该存储器具有存储器地址空间,该存储器地址空间被分为多个存储器页面,该页面表数据包括多个存取控制位(用于所述多个存储器页面中的每个页面)以限定对于相应的存储器页面的存取许可;当该处理电路处于所述多个模式中的第一模式(该模式使用预定数目的存取控制位对存取许可进行编码)时,该存储器管理电路响应于冗余编码的至少一个实例,在该实例中这些存取控制位的多个不同的组合提供了相同的存取许可组;当该处理电路处于所述多个模式中的第二模式(该模式使用该预定数目的存取控制位对存取许可进行编码)时,该存储器管理单元响应于存取控制位的所述多个不同的组合,以在非冗余编码中提供多个不同的存取许可组。本专利技术意识到使用于第一操作模式中的存取控制位包括冗余编码的一个或更多个实例。在第二操作模式中,对应于该冗余编码的存取控制位的不同组合可以被用来提供多个不同组的存取许可,从而更为有效地使用存取控制位编码空间。该第一和第二模式使用相同数目的存取控制位来对存取许可进行编码。本专利技术意识到实际上,在用户例外层级和特权例外层级两者中都提供(例如)读取存取、写入存取和执行存取的完全的正交和独立控制产生了实际上并不需要的存取许可的多种可能性,例如存储器页面在用户例外层级中可写入但在特权例外层级不可被写入。本专利技术进一步意识到第一操作模式内的冗余编码可以在第二操作模式中使用,以提供不同的存取许可和更有效地使用存取控制位。作为一种提供有利的向后兼容性的方式,在第二操作模式中提供的多个不同的存取许可组可以包括与在第一模式中的冗余编码相对应的相同的存取许可组,从而允许在第一操作模式和第二操作模式中使用相同的页面表数据。在第一操作模式中,存取许可的传统观点会导致提供一种控制,使得这些存取许可必须指明储存在存储器页面内的数据值是可读取的,以使那些数据值是可执行的。然而,随虚拟化技术的更为广泛的使用,在第二操作模式中,下述情况可能是有用的存储器页面可以是可执行的但不能作为数据而被读取。例如,当在虚拟化的系统内转译程序指令时,这种配置可能是有用的,使得把非转译的指令作为数据而读取的任何企图可被捕捉(trap),并采取适当的动作以遮蔽(mask)这种虚拟化。在这些不同操作模式的每一者中,也可以提供多个例外层级,包括用户层级和特权等级,该特权层级对设备的资源提供更高的存取(例如特权层级可以允许特定的控制或配置被改变)。尽管可以理解存取控制位可被用来提供多个不同的含义(meaning)和以不同的方式对这些含义进行编码,但在一些实施例中,这些存取控制位中的第一存取控制位对存储器管理电路进行控制,使得如果处理电路处于所述多个模式中的第一模式,在处理电路处于用户层级和特权等级时,选择性地避免对来自相对应的存储器页面的指令的执行。从而,当操作于第一模式时,这个第一存取控制位实际上作为“从不执行(execute never)”标O同一个第一存取控制位可以在第二操作模式内以不同含义来使用,即对存储器管理电路进行控制,使得当处理电路处于用户层级时选择性地避免执行来自相对应的存储器页面的指令,但不控制当处于特权层级时处理电路是否能执行来自该存储器页面的指令。从而,在此情况中,同一个第一存取控制位当在第二模式中操作时作为“用户从不执行(user execute never),,位。这些存取控制位中的第二存取控制位可以用来控制存储器管理电路,以在处理电路处于特权层级、并且处理电路处于第一操作模式或第二操作模式时,选择性地避免执行来自相对应的存储器页面的指令。这样,这个第二存取控制位作为“特权从不执行(privilege execute never),,位。在一些实施例中,下述情形出乎意料地有用当处理电路操作于用户层级时,对于存储器页面的存取控制位的至少一些组合,存储器管理电路允许执行来自该存储器页面的指令,但不允许对该存储器页面 的读取存取或写入存取。为了以不易在编程中发生错误的可靠方式增进安全性,存储器管理电路可以响应于执行控制超越(override)参数,当存储器页面的存取控制位给该存储器页面提供写入存取时,无论由该存储器页面的存取控制位所指定的执行许可如何,该参数都避免执行从该存储器页面读取的指令。同时既提供写入存取又提供执行存取是一个潜在的安全性弱点,因此,避免执行可能被改变的存储器页面是一种安全性的增强。执行控制超越参数允许以简单的方式并独立于页面表数据本身(该数据可能是大型的、复杂的、变化的)而提供这样的控制。不同模式的操作可采取不同的形式,但在至少一些实施例中,第一操作模式对应的处理电路响应于来自第一指令集的程序指令,第二操作模式对应的处理电路响应于来自第二指令集的程序指令。从另一个方面来看,本专利技术提供了用以处理数据的设备,包括处理装置,该处理装置用于执行数据处理操作以响应于程序指令,该处理装置被配置成在多个模式中操作;以及存储器管理装置,该存储器管理装置耦合至该处理装置并耦合至存储器,以根据页面表数据来控制对储存在该存储器内的数据值的存取许可;其中,该存储器具有存储器地址空间,该存储器地址空间被分成多个存储器页面,该页面表数据包括用于所述多个存储器页面中的每个页面的多个存取控制位以限定对于相应的存储器页面的存取许可;当该处理装置处于所述多个模式中的、使用预定数目的存取控制位对存取许可进行编码的第一模式时,该存储器管理装本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2010.08.11 GB 1013466.61.一种用于处理数据的设备,包括 处理电路,该处理电路响应于程序指令以执行数据处理操作,且该处理电路被配置成在多个模式中操作;以及 存储器管理电路,该存储器管理电路耦合至该处理电路并耦合至存储器,该存储器管理电路被配置成根据页面表数据,控制对储存在该存储器内的数据值的存取许可;其中, 该存储器具有存储器地址空间,该存储器地址空间被分成多个存储器页面,该页面表数据包括用于所述多个存储器页面中的每个页面的多个存取控制位以限定对于相应的存储器页面的存取许可; 当该处理电路处于所述多个模式中的、使用预定数目的存取控制位对存取许可进行编码的第一模式时,该存储器管理电路响应于冗余编码的至少一个实例,在该实例中这些存取控制位的多个不同的组合提供了相同的存取许可组; 当该处理电路处于所述多个模式中的、使用该预定数目的存取控制位对存取许可进行编码的第二模式时,该存储器管理单元响应于存取控制位的所述多个不同的组合,以在非冗余编码中提供多个不同的存取许可组。2.如权利要求1所述的设备,其中,所述多个不同的存取许可组包括提供下述存取控制位值组的所述相同的存取许可组该存取控制位值组在所述多个模式中的所述第一模式与所述多个模式中的所述第二模式的操作之间是兼容的。3.如权利要求1和2中任一项所述的设备,其中,在这些模式中的所述第一模式中,这些存取许可必须指明储存在存储器页面内的数据值是可读取的,以使该存储器页面内的这些数据值是可执行的。4.如权利要求3所述的设备,其中,在这些模式中的所述第二模式中,这些存取许可不需指明储存在存储器页面内的数据值是可读取的,以使该存储器页面内的这些数据值是可执行的,从而,这些数据值不能作为数据来读取,但这些数据值可作为指令来执行。5.如前述权利要求中任一项所述的设备,其中,该处理电路被配置成在所述多个模式中的每个模式内在多个例外层级操作,所述多个例外层级包括用户层级和特权层级,该特权层级对该设备的资源提供更高的存取。6.如权利要求5所述的设备,其中,当该处理电路处于所述多个模式中的所述第一模式时,当该处理电路处于该用户层级和该特权层级两者时,这些存取控制位中的第一存取控制位控制该存储器管理电路选择性地避免执行来自相对应的存储器页面的指令。7.如权利要求6所述的设备,其中,当该处理电路处于所述多个模式中的所述第二模式时,当该处理电路处于该用户层级而不处于该特权层级时,这些存取控制位中的所述第一存取控制位控制该存储器管理电路选择性地避免执行来自相对应的存储器页面的指令。8.如权利要求6和7中任一项所述的设备,其中,当该处理电路处于所述多个模式中的所述第一模式和所述多个模式中的所述第二模式时,当该处理电路处于该特权层级时,这些存取控制位中的第二存取控制位控制该存储器管理电路选择性地避免执行来自相对应的存储器页面的指令。9.如权利要求4和权利要求5所述的设备,其中,当该处理电路操作于该用户层级时,对于存储器页面的这些存取控制位的至少一些组合,该存储器管理电路允许执行来自该存储器页面的指令,但不允许对该存储器页面的读取存取和写入存取。10.如前述权利要求中任一项所述的设备,其中,当这些存取控制位提供对存储器页面的写入存取时,该存储器管理单元响应于执行控制超越参数,无论由这些存取控制位指定的执行许可如何,都避免执行从该存储器页面读取的指令。11.如前述权利要求中任一项所述的设备,其中,当操作于所述多个模式中的所述第一模式时,该处理电路响应于来自第一指令集的程序指令;当操作于所述多个模式中的所述第二模式时,该处理电路响应于来自第二指令集的程序指令。12.一种用于处理数据的设备,该设备包括 处理装置,该处理装置用于执行数据处理操作以响应于程序指令,该处理装置被配置成在多个模式中操作;以及 存储器管理装置,该存储器管理装置耦合至该处理装置并耦合至存储器,以根据页面表数据来控制对储存在该存储器内的数据值的存取许可;其中, 该存储器具有存储器地址空间,该存储器地址空间被分成多个存储器页面,该页面表数据包括用于...

【专利技术属性】
技术研发人员:理查德·罗伊·格里森思怀特
申请(专利权)人:ARM有限公司
类型:
国别省市:

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

1