【技术实现步骤摘要】
【国外来华专利技术】在具有安全域和次安全域的数据处理设备中的异常处理
本
涉及数据处理的领域,并且特别地涉及敏感数据和代码的处理。
技术介绍
许多数据处理系统和架构提供了隔离并且保护敏感数据和代码段以免于由未授权的人或进程访问的方式。尽管重要的是能够提供安全性,但是在与这种保护相关联的性能和电路面积中存在开销。在诸如微控制器之类的小型系统中,使这些开销保持在低值是非常重要的,并且因此可能需要做出在安全性的级别与性能之间的某种权衡。使数据和代码保持安全的一个方式由英国剑桥的用其Trustzone架构提供,其中存在安全状态和非安全状态(也被称为安全域和非安全域),并且异常指令被用来在状态之间转变,异常处理程序保护安全侧的安全性。尽管这种方式提供高度的安全性,但是需要软件异常处理程序形式的大量的软件干预来改变安全性状态,这既降低了系统的性能又增加了为安全软件开发外部应用程序接口API所需要的努力量,因为所有调用都必须通过异常处理程序来代理。类似地,需要在非安全域中处理的在安全域中发生的异常同样需要通过安全异常处理程序来代理,这允许安全状态在控制传递给非安全异常处理程序之前得以保护。US7966466和US2008/0250216公开了可替代的安全系统,其中数据存储装置具有安全侧和非安全侧,并且当前正被执行的代码在数据存储装置内的位置确定处理器正在操作的域,以及因此确定被允许访问的数据。
技术实现思路
从第一方面看,本专利技术提供了一种数据处理设备,其包括:被配置成响应于程序代码而执行数据处理操作的处理电路,处理电路包括用于控制异常处理的异常控制电路;被配置成存储数据的数据存储装置 ...
【技术保护点】
一种数据处理设备,其包括:被配置成响应于程序代码而执行数据处理操作的处理电路,所述处理电路包括用于控制异常处理的异常控制电路;被配置成存储数据的多个寄存器,所述寄存器包括寄存器的第一子集和寄存器的第二子集;以及被配置成存储数据的数据存储装置,所述数据存储装置包括包括安全区和次安全区在内的多个区,其中,安全区用于存储可由处理电路当在安全域中操作时访问并且不可由处理电路当在次安全域中操作时访问的数据;其中:响应于来自由处理电路所执行的后台处理的初始异常,异常控制电路被配置成在触发处理电路执行与异常相对应的异常处理例程之前执行对来自寄存器的第一子集的数据的状态保存,其中,异常处理例程负责执行对来自寄存器的第二子集的数据的状态保存;并且响应于引起从安全域到次安全域的转变的第一异常,在后台处理由处理电路在安全域中执行的情况下,异常控制电路被配置成在触发处理电路在次安全域中执行异常处理例程之前执行额外的对来自寄存器的第二子集的数据的状态保存。
【技术特征摘要】
【国外来华专利技术】2012.10.01 GB 1217531.1;2012.11.19 GB 1220771.8;201.一种数据处理设备,其包括:被配置成响应于程序代码而执行数据处理操作的处理电路,所述处理电路包括用于控制异常处理的异常控制电路;被配置成存储数据的数据存储装置,所述数据存储装置包括包括安全区和次安全区在内的多个区,其中,安全区用于存储可由处理电路当在安全域中操作时访问并且不可由处理电路当在次安全域中操作时访问的数据;以及被配置成存储数据的多个寄存器,所述寄存器包括寄存器的第一子集和寄存器的第二子集,所述寄存器能够被在所述处理电路上执行的程序代码访问,并且,响应于异常,需要将来自所述寄存器的数据的状态保存至所述数据存储装置,以允许之后在该异常已经被处理的情况下将数据恢复至所述寄存器;其中:响应于来自由处理电路所执行的后台处理的初始异常,异常控制电路被配置成在触发处理电路执行与异常相对应的异常处理例程之前执行将来自寄存器的第一子集的数据的状态保存至所述数据存储装置,其中,异常处理例程负责执行将来自寄存器的第二子集的数据的状态保存至所述数据存储装置;并且响应于引起从安全域到次安全域的转变的第一异常,在后台处理由处理电路在安全域中执行的情况下,异常控制电路被配置成在触发处理电路在次安全域中执行异常处理例程之前执行额外的将来自寄存器的第二子集的数据的状态保存至所述数据存储装置。2.根据权利要求1所述的数据处理设备,其中,响应于所述第一异常,异常控制电路被配置成在触发处理电路执行异常处理例程之前清除寄存器的第二子集。3.根据权利要求2所述的数据处理设备,其中,响应于所述第一异常,数据处理设备被配置成在异常控制电路触发处理电路执行异常处理例程之前确保寄存器的第一子集不包含安全数据。4.根据任何前述权利要求所述的数据处理设备,其中,如果异常控制电路已在触发处理电路执行异常处理例程之前执行了额外的状态保存,则异常处理例程不执行寄存器的第二子集的状态保存。5.根据权利要求1至3中任一项所述的数据处理设备,其中,如果异常控制电路已在触发处理电路执行异常处理例程之前执行了额外的状态保存,则异常处理例程同样执行寄存器的第二子集的状态保存。6.根据权利要求1所述的数据处理设备,其中,所述第一异常包括在后台处理期间发生的初始异常。7.根据权利要求1所述的数据处理设备,其中,所述第一异常包括在初始异常已被处理之后并且在返回到在初始异常之前正被执行的后台处理之前所处理的尾链化异常。8.根据权利要求1所述的数据处理设备,其中,响应于在所述初始异常已被处理并且在处理电路已返回到在初始异常之前正被执行的所述后台处理之前为待决的另外的异常,异常控制电路被配置成在使处理电路返回到后台处理之前将另外的异常的处理作为尾链化异常控制。9.根据权利要求1所述的数据处理设备,其中:所述异常控制电路被配置成,响应于比正在被执行的异常处理例程所对应的当前异常更低的优先级的新的异常,在使处理电路返回到后台处理之前将新的异常的处理作为尾链化异常控制;异常控制电路被配置成在控制新的异常的处理时不再执行状态保存操作,除非所述当前异常在所述安全域中被执行,所述新的异常指示切换到所述次安全域,并且所述后台处理在所述安全域中被执行,在这种情况下,所述异常控制电路被配置成,在完成针对所述当前异常的异常处理例程之后,执行所述额外的对来自寄存器的所述第二子集的数据的状态保存,并且确保寄存器的所述第二子集在触发处理电路执行与新的异常相对应的异常处理例程之前被清除。10.根据权利要求1所述的数据处理设备,其中:所述异常控制电路被配置成,响应于比正在被执行的异常处理例程所对应的当前异常具有更低的优先级的新的异常,在使处理电路返回到后台处理之前将新的异常的处理作为尾链化异常控制;异常控制电路被配置成在控制新的异常的处理时不执行状态恢复操作,除...
【专利技术属性】
技术研发人员:托马斯·克里斯托弗·乔洛卡特,理查德·罗伊·格里森思怀特,
申请(专利权)人:ARM有限公司,
类型:发明
国别省市:英国;GB
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。