使用能力来约束对存储器的访问的技术的制作方法

文档序号:36393793发布日期:2023-12-15 14:24阅读:63来源:国知局
使用能力来约束对存储器的访问的技术的制作方法


背景技术:

1、本技术涉及数据处理领域,并且更具体地涉及使用能力约束对存储器的访问。

2、对基于能力的架构越来越感兴趣,在这些基于能力的架构中,针对给定过程定义了特定能力,并且如果尝试执行所定义的能力之外的操作,则可能触发错误。能力可以采取多种形式,但是一种类型的能力是有界指针(其也可以被称为“胖指针”)。

3、重要的是,创建能力的能力被严格控制,因为能力被用作系统内的安全控制措施,例如通过强制参考能力执行的对存储器的访问只能关于根据能力确定的定义区域内的存储器位置来执行,并且只有当也由能力定义的特定权限检查被满足时才能执行。

4、一种可以用于生成能力的机制包括允许编译器在编译相关联程序代码时生成能力,然后将生成的能力存储在文字池内部,文字池与编译的程序代码相结合,然后在非易失性存储器中形成静态图像。当程序代码运行时,可以使用编译代码内的指令将存储在文字池中的编译器生成的能力加载到寄存器中。在一些系统中,一旦能力已经被加载到此类寄存器中,就有可能修改该能力,但是在通常的系统中,任何修改将只被允许减少与该能力相关联的边界或减少权限,因此导致相对于原始编译器生成的能力减少的能力。

5、虽然使用编译器来生成能力允许对能力生成的稳健控制,但是它可能对静态图像的代码尺寸有显著的不利影响。特别地,由于相对于常规指针而言,能力的固有尺寸更大,并且还由于与此类能力相关联的对齐要求,将能力存储在文字池中可能显著地增加总体代码尺寸。在许多低成本系统中,设备通常是存储器受限的并且非易失性存储装置价格高昂,因此在这种情况下,由于使用编译器生成的能力而导致的代码尺寸的增加是不值得考虑的。因此,期望提供一种改进的机制,用于提供此类能力,同时保持对可以生成这些能力的方式的严格控制。


技术实现思路

1、在一个示例性布置中,提供了一种装置,该装置包括:处理电路,该处理电路用于执行在其期间生成对存储器的访问请求的操作,其中该处理电路被布置成使用提供指针值和相关联的约束信息的能力生成针对访问请求的存储器地址;以及能力生成电路,该能力生成电路响应于处理电路执行标识存储器的文字池中的位置的能力生成指令,从文字池中的位置检索文字值,并且产生生成的能力,其中从文字值确定生成的能力的指针值,并且根据由能力生成指令指定的信息从选项的有限集合中选择生成的能力的约束信息。

2、在另一示例性布置中,提供了一种约束对存储器的访问的方法,该方法包括:采用处理电路,该处理电路用于执行在其期间生成对存储器的访问请求的操作,其中该处理电路使用提供指针值和相关联的约束信息的能力生成针对访问请求的存储器地址;以及响应于处理电路执行标识存储器的文字池中的位置的能力生成指令,执行能力生成操作,该能力生成操作包括从文字池中的位置检索文字值,并且产生生成的能力,其中从文字值确定生成的能力的指针值,并且根据由能力生成指令指定的信息从选项的有限集合中选择生成的能力的约束信息。

3、在再一个示例性布置中,提供了一种用于控制主机数据处理装置以提供指令执行环境的计算机程序,该计算机程序包括:处理程序逻辑,该处理程序逻辑用于执行在其期间生成对存储器的访问请求的操作,其中该处理程序逻辑被布置成使用提供指针值和相关联的约束信息的能力生成针对访问请求的存储器地址;以及能力生成程序逻辑,该能力生成程序逻辑响应于处理程序逻辑执行标识存储器的文字池中的位置的能力生成指令,从文字池中的位置检索文字值,并且产生生成的能力,其中从文字值确定生成的能力的指针值,并且根据由能力生成指令指定的信息从选项的有限集合中选择生成的能力的约束信息。可提供一种计算机可读介质来存储此类计算机程序,并且该计算机可读介质可处于非暂态形式或暂态形式。



技术特征:

1.一种装置,所述装置包括:

2.根据权利要求1所述的装置,其中,所述能力生成指令指定立即值,所述立即值由所述能力生成电路使用并与当前程序计数器值相结合,以标识包含用于确定所述生成的能力的所述指针值的所述文字值的所述文字池中的所述位置。

3.根据权利要求1或权利要求2所述的装置,其中,所述约束信息包括标识使用从所述生成的能力的所述指针值导出的存储器地址能够访问的存储器区域的边界信息,并且所述选项的有限集合包括由所述边界信息标识的所述区域的可允许尺寸的有限集合。

4.根据权利要求3所述的装置,其中,所述能力生成指令指定尺寸指示值,所述尺寸指示值由所述能力生成电路使用,以从所述可允许尺寸的有限集合中确定所述区域的所述尺寸。

5.根据权利要求3所述的装置,其中,所述文字值包括不用于确定所述指针值的多个冗余位,并且所述能力生成电路被布置成从所述文字值的所述冗余位内提供的信息来确定所述区域的所述尺寸。

6.根据权利要求5所述的装置,其中,所述能力生成电路被布置成根据用于形成所述文字值的编码方案来确定所述文字值内指定用于确定所述指针值的位的第一部分与包含所述冗余位的第二部分之间的边界。

7.根据权利要求3至6中任一项所述的装置,其中,所述边界信息标识从所述指针值确定的第一边界,以及从所述第一边界和从所述可允许尺寸的有限集合确定的所述区域的所述尺寸确定的第二边界。

8.根据任一前述权利要求所述的装置,其中,所述约束信息包括元数据项,并且所述选项的有限集合包括所述元数据项的可能值的有限集合。

9.根据权利要求8所述的装置,其中,所述能力生成指令指定由所述能力生成电路用来确定所述元数据项中的一个或多个元数据项的值的元数据信息。

10.根据权利要求8或权利要求9所述的装置,所述装置还包括控制寄存器,所述控制寄存器由所述能力生成电路参考,以确定所述元数据项中的一个或多个元数据项的值。

11.根据权利要求8至10中任一项所述的装置,其中,所述文字值包括不用于确定所述指针值的多个冗余位,并且所述处理电路被布置成从所述文字值的所述冗余位内提供的信息来确定所述元数据项中的一个或多个元数据项的值。

12.根据权利要求9至11中任一项所述的装置,其中,所述元数据项中的所述一个或多个元数据项的确定值取决于所述处理电路的当前操作模式。

13.根据权利要求8至12中任一项所述的装置,其中,所述元数据项包括标识所述生成的能力的允许使用的多个权限指示,并且所述选项的有限集合包括能够由所述多个权限指示来指示的允许的权限组合的有限集合。

14.根据权利要求13所述的装置,其中,所述能力生成电路被布置成根据所述生成的能力的类型来确定由所述多个权限指示来指示的权限组合。

15.根据权利要求14所述的装置,其中,所述能力生成指令指定目标能力存储元件,并且所述能力生成电路被布置成从指定的目标能力存储元件推断所述生成的能力的所述类型。

16.根据任一前述权利要求所述的装置,其中:

17.根据权利要求1至15中任一项所述的装置,其中:

18.根据任一前述权利要求所述的装置,其中:

19.根据权利要求18所述的装置,其中,所述能力生成电路被布置成产生所述生成的能力和具有同一约束信息的每个另外生成的能力。

20.根据权利要求18或权利要求19所述的装置,其中,所述能力生成指令指定用于所述生成的能力的目标能力存储元件,并且所述能力生成电路被布置成从指定的目标能力存储元件中导出针对每个另外生成的能力的相关联的目标能力存储元件。

21.根据任一前述权利要求所述的装置,其中,所述处理电路能够在多种不同的操作模式下操作,并且所述能力生成电路的操作取决于所述处理电路的当前操作模式。

22.根据任一前述权利要求所述的装置,所述装置还包括:

23.一种约束对存储器的访问的方法,所述方法包括:

24.一种用于控制主机数据处理装置来提供指令执行环境的计算机程序,所述计算机程序包括:


技术总结
提供了一种使用能力来约束对存储器的访问的技术。提供了一种装置,该装置具有处理电路,该处理电路用于执行在其期间生成对存储器的访问请求的操作,其中该处理电路被布置成使用提供指针值和相关联的约束信息的能力来生成针对访问请求的存储器地址。该装置还提供能力生成电路,该能力生成电路响应于处理电路执行标识存储器的文字池中的位置的能力生成指令,以从文字池中的位置检索文字值,并且产生生成的能力,其中从文字值确定生成的能力的指针值。根据由能力生成指令指定的信息,从选项的有限集合中选择生成的能力的约束信息。已经发现,此类方法提供了用于生成能力的稳健机制,同时减小了代码尺寸。

技术研发人员:弗朗索瓦·克里斯托弗·雅克·波特曼,托马斯·克里斯托弗·格鲁卡特,布兰得利·约翰·史密斯
受保护的技术使用者:ARM有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1