[发明专利]用于基于能力的处理的装置和方法在审
申请号: | 202080095958.7 | 申请日: | 2020-12-02 |
公开(公告)号: | CN115104095A | 公开(公告)日: | 2022-09-23 |
发明(设计)人: | B·J·史密斯;T·C·格罗卡特;F·C·J·博特曼 | 申请(专利权)人: | Arm有限公司 |
主分类号: | G06F21/52 | 分类号: | G06F21/52;G06F9/30;G06F12/14 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 杨丽;臧建明 |
地址: | 英国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 基于 能力 处理 装置 方法 | ||
1.一种装置,包括:
处理器,所述处理器用于执行存储在相应存储器地址处的程序指令,所述程序指令的处理受至少定义对一组一个或多个存储器地址的访问权限的主要能力的约束;所述处理器包括:
控制流更改处理电路,所述控制流更改处理电路用于实施控制流更改操作,所述控制流更改操作定义指示在所述控制流更改操作之后执行的程序指令的地址的控制流更改目标地址;和
能力生成电路,所述能力生成电路用于根据所述控制流更改目标地址确定存储能力访问权限数据的地址;
所述能力生成电路被配置为检索所述能力访问权限数据,并且至少根据所述能力访问权限数据生成用作下一个主要能力的能力。
2.根据权利要求1所述的装置,其中用作下一个主要能力的所述能力被配置为约束在所述控制流更改操作之后执行的一个或多个指令的处理。
3.根据权利要求1或权利要求2所述的装置,其中:
每个能力至少包括指针和定义对所述一组存储器地址的访问权限的数据;并且
所述能力生成电路被配置为根据所述控制流更改目标地址生成所述指针并且根据所述能力访问权限数据生成定义对所述一组存储器地址的访问权限的所述数据。
4.根据权利要求1至3中任一项所述的装置,其中所述能力访问权限数据定义以下中的一个或多个:(i)包括准许访问的所述一个或多个存储器地址的地址区域的下限存储器地址;(ii)所述地址区域的上限存储器地址;以及(iii)适用于所述地址区域的一组权限属性。
5.根据权利要求1至3中任一项所述的装置,其中所述能力访问权限数据定义存储定义对所述一组存储器地址的访问权限的信息的位置。
6.根据前述权利要求中任一项所述的装置,其中响应于所述控制流更改操作,所述处理器被配置为设置状态指示器,以指示需要所述能力生成电路生成用作所述下一个主要能力的所述能力。
7.根据权利要求6所述的装置,其中响应于所述状态指示器被设置,所述处理器被配置为在所述控制流更改目标地址处提取和/或执行至少第一指令,而不受主要能力的约束。
8.根据权利要求6或权利要求7所述的装置,其中所述处理器被配置为响应于用作所述下一个主要能力的所述能力的生成而将所述状态指示器清除为指示程序指令的处理受主要能力约束的状态。
9.根据权利要求6至8中任一项所述的装置,其中所述处理器被配置为响应于处理异常事件而存储所述状态指示器,以便在处理异常返回事件时检索。
10.根据权利要求2所述或根据权利要求3至5中任一项当附属于权利要求2时所述的装置,其中在所述控制流更改操作之后执行的所述一个或多个指令至少包括在所述控制流更改目标地址处的指令。
11.根据前述权利要求中任一项所述的装置,其中所述控制流更改处理电路被配置为将存储能力访问权限数据的所述地址确定为所述控制流更改目标地址之前的存储器地址。
12.根据前述权利要求中任一项所述的装置,其中所述控制流更改操作是以下中的一个:
分支操作,所述分支操作响应于分支指令的执行;和
分支和链路操作,所述分支和链路操作响应于分支和链路指令的执行,所述分支和链路操作存储返回地址能力,所述返回地址能力根据所述分支和链路指令的指令地址以及当执行所述分支和链路指令时使用的所述主要能力而生成。
13.根据权利要求12所述的装置,其中所述分支指令包括操作代码,所述操作代码通过指示与所述分支指令的指令地址的差异的值来至少定义所述控制流更改目标地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于Arm有限公司,未经Arm有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202080095958.7/1.html,转载请声明来源钻瓜专利网。