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

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

技术编号:38101168 阅读:10 留言:0更新日期:2023-07-06 09:19
本发明专利技术提供了一种用于使用能力约束对存储器的访问的装置和方法。处理电路执行在其期间生成对存储器的访问请求的操作,其中使用识别约束信息的能力生成针对该访问请求的存储器地址。能力检查电路执行能力检查操作,以基于由给定能力所识别的该约束信息确定是否准许其存储器地址是使用该给定能力生成的给定访问请求。然后,存储器访问检查电路依靠与该给定访问请求相关联的信任级别进一步约束由该给定访问请求对该存储器的访问。该给定能力具有与其相关联的能力信任级别,并且与该给定访问请求相关联的该信任级别取决于与该处理电路的当前操作模式相关联的当前模式信任级别以及该给定能力的该能力信任级别两者。别以及该给定能力的该能力信任级别两者。别以及该给定能力的该能力信任级别两者。

【技术实现步骤摘要】
【国外来华专利技术】用于使用能力约束对存储器的访问的技术
[0001]本专利技术是在美国国防部高级研究计划局(DARPA)授予的合同号为HR001118C0016的政府支持下完成的。政府拥有本专利技术的特定权利。

技术介绍

[0002]本技术涉及数据处理领域,并且更具体地涉及使用能力约束对存储器的访问。
[0003]对基于能力的架构越来越感兴趣,在这些基于能力的架构中,针对给定过程定义了特定能力,并且如果尝试执行所定义的能力之外的操作,则可能触发错误。能力可以采取多种形式,但是一种类型的能力是有界指针(其也可以被称为“胖指针”)。
[0004]可以提供多个能力存储元件(例如,寄存器)以用于存储供数据处理装置的处理电路访问的能力。每个能力可以包括多个权限标记,该多个权限标记识别与该能力相关联的一个或多个权限,例如以限制当使用该能力时可以执行的操作的类型。例如,考虑到在此类能力存储元件内的有界指针,这可以提供用于识别当使用该能力时可由处理电路访问的存储器地址的不可延展的范围的信息,以及识别相关联的权限的一个或多个权限标记。虽然至少当在特定操作模式中操作时,可以允许处理电路采取步骤来减小范围和/或清除与其可用的任何特定有界指针相关联的权限标记,但是它通常不能延展范围或设置权限标记,以便寻求增加由该有界指针提供给处理电路的能力,因为这可能损害由于使用能力而获得的安全益处。
[0005]希望在如何管理能力方面提供更大的灵活性,同时寻求抑制规避使用能力实现的特定安全措施的能力。

技术实现思路

[0006]在第一示例性布置中,提供了一种装置,该装置包括:处理电路,该处理电路用于执行在其期间生成对存储器的访问请求的操作,其中该处理电路被布置成使用识别约束信息的能力生成针对访问请求的存储器地址;能力检查电路,该能力检查电路用于执行能力检查操作,以基于由给定能力所识别的约束信息来确定是否准许其存储器地址是使用给定能力生成的给定访问请求;以及存储器访问检查电路,该存储器访问检查电路用于依靠与给定访问请求相关联的信任级别进一步约束由给定访问请求对存储器的访问;其中:给定能力具有与其相关联的能力信任级别,并且与给定访问请求相关联的信任级别取决于与处理电路的当前操作模式相关联的当前模式信任级别以及给定能力的能力信任级别两者。
[0007]在另一个示例性布置中,提供了一种约束对存储器的访问的方法,该方法包括:采用处理电路,该处理电路用于执行在其期间生成对存储器的访问请求的操作,其中该处理电路使用识别约束信息的能力生成针对访问请求的存储器地址;执行能力检查操作,以基于由给定能力所识别的约束信息而确定是否准许其存储器地址是使用给定能力生成的给定访问请求;以及依靠与给定访问请求相关联的信任级别进一步约束由给定访问请求对存储器的访问,其中给定能力具有与其相关联的能力信任级别,并且与给定访问请求相关联的信任级别取决于与处理电路的当前操作模式相关联的当前模式信任级别以及给定能力
的能力信任级别两者。
[0008]在再一个示例性布置中,提供了一种用于控制主机数据处理装置以提供指令执行环境的计算机程序,该计算机程序包括:处理程序逻辑,该处理程序逻辑用于执行在其期间生成对存储器的访问请求的操作,其中该处理程序逻辑被布置成使用识别约束信息的能力生成针对访问请求的存储器地址;能力检查程序逻辑,该能力检查程序逻辑用于执行能力检查操作,以基于由给定能力所识别的约束信息而确定是否准许其存储器地址是使用给定能力生成的给定访问请求;以及存储器访问检查程序逻辑,该存储器访问检查程序逻辑用于依靠与给定访问请求相关联的信任级别进一步约束由给定访问请求对存储器的访问;其中:给定能力具有与其相关联的能力信任级别,并且与给定访问请求相关联的信任级别取决于与处理程序逻辑的当前操作模式相关联的当前模式信任级别以及给定能力的能力信任级别两者。可提供一种计算机可读介质来存储此类计算机程序,并且该计算机可读介质可处于非暂态形式或暂态形式。
[0009]在又一个示例性布置中,提供了一种装置,该装置包括:处理装置,该处理装置用于执行在其期间生成对存储器的访问请求的操作,其中该处理装置被布置成使用识别约束信息的能力生成针对访问请求的存储器地址;能力检查装置,该能力检查装置用于执行能力检查操作,以基于由给定能力所识别的约束信息来确定是否准许其存储器地址是使用给定能力生成的给定访问请求;以及存储器访问检查装置,该存储器访问检查装置用于依靠与给定访问请求相关联的信任级别进一步约束由给定访问请求对存储器的访问;其中:给定能力具有与其相关联的能力信任级别,并且与给定访问请求相关联的信任级别取决于与处理装置的当前操作模式相关联的当前模式信任级别以及给定能力的能力信任级别两者。
附图说明
[0010]将参考如附图所示的本技术的示例,仅以例示的方式进一步描述本技术,其中:
[0011]图1是根据一个示例性具体实施的装置的框图;
[0012]图2示出如果存在设置或访问该组有界指针存储元件内的指针值的尝试,则可能触发错误的指令类型的示例,其中该指针值用于指定由相关联的范围信息指示的范围之外的地址;
[0013]图3示出根据一个示例性具体实施的与有界指针相关联的标签位的使用;
[0014]图4示意性地示出根据本文所述的技术可以使用的能力的形式,其中与该能力相关联地提供信任级别指示;
[0015]图5A是示意性地示出根据一个示例性具体实施的可以如何生成针对单独访问请求的信任级别并且然后将其用于约束对存储器的访问的图;
[0016]图5B是示出根据一个示例性具体实施的图5A中示意性地示出的装置的操作的流程图;
[0017]图6A是示意性地示出根据一个示例性具体实施的可以设置在能力处理电路内的部件的框图;
[0018]图6B是示出根据一个示例性具体实施的能力生成操作的执行的流程图;
[0019]图7示出根据一个示例性具体实施的处理电路的不同的域和处理状态的示例,并且指示当处理电路在域和处理状态的一个或多个特定组合中操作时可以如何提供能力生
成能力;
[0020]图8A是示出根据一个示例性具体实施的为了从存储器加载能力而执行的步骤的流程图;
[0021]图8B是示出根据另一个示例性具体实施的为了从存储器加载能力而执行的步骤的流程图;
[0022]图9是示出根据一个示例性具体实施的可以如何使降低能力的能力信任级别的能力取决于与处理电路的当前操作模式相关联的当前模式信任级别的流程图;
[0023]图10示意性地示出根据一个示例性具体实施的可以如何将编译器用于生成一组初始能力;
[0024]图11是示出可以在一个示例性具体实施中采用以便确定是否选择性地允许对不可变能力的修改的过程的流程图;并且
[0025]图12示出可以使用的模拟器示例。
具体实施方式
[0026]根据本文所述的技术,提供了一种装置,该装置具有处理电路,该处理电路用于执行在其期间生成对存储器的访问请求的操作。处理电路被布置本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种装置,所述装置包括:处理电路,所述处理电路用于执行在其期间生成对存储器的访问请求的操作,其中所述处理电路被布置成使用识别约束信息的能力生成针对所述访问请求的存储器地址;能力检查电路,所述能力检查电路用于执行能力检查操作,以基于由给定能力所识别的所述约束信息确定是否准许其存储器地址是使用所述给定能力生成的给定访问请求;和存储器访问检查电路,所述存储器访问检查电路用于依靠与所述给定访问请求相关联的信任级别进一步约束由所述给定访问请求对所述存储器的访问;其中:所述给定能力具有与其相关联的能力信任级别,并且与所述给定访问请求相关联的所述信任级别取决于与所述处理电路的当前操作模式相关联的当前模式信任级别以及所述给定能力的所述能力信任级别两者。2.根据权利要求1所述的装置,其中与所述给定访问请求相关联的所述信任级别被约束为所述当前模式信任级别和所述能力信任级别中表示较低信任级别的任一者。3.根据权利要求1或权利要求2所述的装置,其中所述能力信任级别被编码在所述给定能力内。4.根据权利要求3所述的装置,其中:针对每个能力,所述约束信息提供至少一组权限,所述至少一组权限识别对使用所述能力生成的存储器地址所准许的存储器访问的类型;并且所述能力信任级别以附加的权限的形式被提供。5.根据权利要求1或权利要求2所述的装置,其中所述给定能力提供指示包含所述能力信任级别的位置的标识。6.根据任一前述权利要求所述的装置,其中:针对每个能力,所述约束信息进一步提供边界信息,所述边界信息用于确定针对使用所述能力而针对任何访问请求生成的所述存储器地址的存储器地址可允许范围。7.根据任一前述权利要求所述的装置,其中所述处理电路包括能力生成电路,至少当所述当前模式信任级别超过阈值信任级别时,所述能力生成电路被布置成:执行能力生成操作以生成能力,并且针对所生成的能力设置相关联的能力信任级别以指示低于所述当前模式信任级别的信任级别。8.根据权利要求1至6中任一项所述的装置,其中所述处理电路包括能力生成电路,所述能力生成电路被布置成执行能力生成操作以从源数据生成能力,前提条件是所述当前模式信任级别超过与所述源数据相关联地提供的能力信任级别指示。9.根据权利要求7所述的装置,其中:所述处理电路被布置成执行程序指令,其中所述程序指令的处理受主导能力约束;所述处理电路进一步包括控制流更改处理电路,所述控制流更改处理电路用于执行控制流更改操作,所述控制流更改操作定义指示在所述控制流更改操作之后用于执行的程序指令的地址的控制流更改目标地址;并且所述能力生成电路被布置成:依靠所述控制流更改目标地址确定在其处存储能力约束信息的地址,检索所述能力约束信息,并且至少依靠所述能力约束信息生成能力以用于下一主导能力,并且其中所生成的能力的相关联的能力信任级别被约束成指示低于所述当前
模式信任级别的信任级别。10.根据任一前述权利要求所述的装置,所述装置还包括:一组能力寄存器,所述一组能力寄存器用于存储供所述处理电路参考的能力;和存储器电路,所述存储器电路用于存储一个或多个能力;其中:所述处理电路被布置成执行加载操作,以将来自所述存储器电路的选定能力加载到来自所述一组能力寄存器的所选择的能力寄存器中;并且在所述加载操作期间,所述处理电路被布置成选择性地修改所述能力信任级别,使得如存储到所选择的能力寄存器中的所述选定能力具有以下能力信任级别:被约束成不超过所述当前模式信任级别或如存储在所述存储器电路中的所述选定能力的所述能力信任级别。11.根据权利要求10所述的装置,其中所述处理电路被布置成仅当所述选定能力具有识别所述选定能力是有效能力的控制值时,在所述加载操作期间选择性地修改所述能力信任级别。12.根据权利要求10或权利要求11所述的装置,其中当所述当前模式信任级别小于如存储在所述存储器电路中的所述选定能力的所述能力信任级别时,所述处理电路被布置成使如存储到所选择的能力寄存器中的所述选定能力的所述能力信任级别降级以与所述当前模式信任级别匹配。13.根据权利要求10至12中任一项所述的装置,其中当所述当前模式信任级别与如存储在所述存储器电路中的所述选...

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

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

1