当前位置: 首页 > 专利查询>ARM专利>正文

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

技术编号:39734182 阅读:6 留言:0更新日期:2023-12-17 23:36
提供了一种使用能力来约束对存储器的访问的技术

【技术实现步骤摘要】
【国外来华专利技术】使用能力来约束对存储器的访问的技术

技术介绍

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

[0002]对基于能力的架构越来越感兴趣,在这些基于能力的架构中,针对给定过程定义了特定能力,并且如果尝试执行所定义的能力之外的操作,则可能触发错误

能力可以采取多种形式,但是一种类型的能力是有界指针
(
其也可以被称为“胖指针”)。
[0003]重要的是,创建能力的能力被严格控制,因为能力被用作系统内的安全控制措施,例如通过强制参考能力执行的对存储器的访问只能关于根据能力确定的定义区域内的存储器位置来执行,并且只有当也由能力定义的特定权限检查被满足时才能执行

[0004]一种可以用于生成能力的机制包括允许编译器在编译相关联程序代码时生成能力,然后将生成的能力存储在文字池内部,文字池与编译的程序代码相结合,然后在非易失性存储器中形成静态图像

当程序代码运行时,可以使用编译代码内的指令将存储在文字池中的编译器生成的能力加载到寄存器中

在一些系统中,一旦能力已经被加载到此类寄存器中,就有可能修改该能力,但是在通常的系统中,任何修改将只被允许减少与该能力相关联的边界或减少权限,因此导致相对于原始编译器生成的能力减少的能力

[0005]虽然使用编译器来生成能力允许对能力生成的稳健控制,但是它可能对静态图像的代码尺寸有显著的不利影响

特别地,由于相对于常规指针而言,能力的固有尺寸更大,并且还由于与此类能力相关联的对齐要求,将能力存储在文字池中可能显著地增加总体代码尺寸

在许多低成本系统中,设备通常是存储器受限的并且非易失性存储装置价格高昂,因此在这种情况下,由于使用编译器生成的能力而导致的代码尺寸的增加是不值得考虑的

因此,期望提供一种改进的机制,用于提供此类能力,同时保持对可以生成这些能力的方式的严格控制


技术实现思路

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

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

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

可提供一种计算机可读介质来存储此类计算机程序,并且该计算机可读介质可处于非暂态形式或暂态形式

附图说明
[0009]将参考如附图所示的本技术的示例,仅以例示的方式进一步描述本技术,其中:
[0010]图1是根据一个示例性具体实施的装置的框图;
[0011]图2示出如果存在设置或访问该组有界指针存储元件内的指针值的尝试,则可能触发错误的指令类型的示例,其中该指针值用于指定由相关联的范围信息指示的范围之外的地址;
[0012]图3示出根据一个示例性具体实施的与有界指针相关联的标签位的使用;
[0013]图4示意性地示出根据一个示例性具体实施的根据本文所述的技术可以使用的能力的形式;
[0014]图5示意性地示出根据一个示例性具体实施的可以如何将编译器用来生成用于存储在文字池内的文字值;
[0015]图6是示出根据一个示例性具体实施的可以设置在装置内的部件的框图;
[0016]图7是示出根据一个示例性具体实施的响应于能力生成指令而执行的步骤的流程图;
[0017]图8是根据一个示例性具体实施的流程图,该流程图更详细地示出了为了实现图7的步骤
275
可以执行的步骤;
[0018]图9是示出根据一个示例性具体实施如何确定所生成的能力的权限的流程图;
[0019]图
10
示出根据一个示例性具体实施的处理电路的不同域和处理状态的示例;
[0020]图
11
是示出根据一个示例性具体实施的在生成能力时执行的处理如何取决于正在生成的能力的类型的流程图;
[0021]图
12
是示出根据一个示例性具体实施的如何从单个能力生成指令生成多个能力的流程图;并且
[0022]图
13
示出了可以使用的模拟器示例

具体实施方式
[0023]根据本文所述的技术,提供了一种装置,该装置具有处理电路,该处理电路用于执行在其期间生成对存储器的访问请求的操作

处理电路被布置成使用提供指针值和相关联的约束信息的能力生成针对访问请求的存储器地址

由处理电路生成的存储器地址可以是在其中执行地址翻译的系统中的虚拟地址,或者另选地可以是不支持地址翻译的系统中的
物理地址

[0024]根据本文所述的技术,该装置还可以提供能力生成电路,该能力生成电路响应于处理电路执行标识存储器的文字池中的位置的能力生成指令,从文字池中的位置检索文字值,并且产生生成的能力,其中从文字值确定生成的能力的指针值

应当指出的是,虽然文字值可以用于确定指针值,但是文字值本身不是能力,而是能力生成电路用于生成其指针值由文字值确定的能力

为了生成能力,能力生成电路还被布置成根据由能力生成指令指定的信息从选项的有限集合中选择生成的能力的约束信息

[0025]已经发现,此类方法实现了要生成的能力,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】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.<...

【专利技术属性】
技术研发人员:弗朗索瓦
申请(专利权)人:ARM
类型:发明
国别省市:

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

1