[发明专利]无需额外寄存器执行寄存器重命名的数据处理设备和方法有效
| 申请号: | 201280058902.X | 申请日: | 2012-10-05 |
| 公开(公告)号: | CN103988174B | 公开(公告)日: | 2017-07-21 |
| 发明(设计)人: | 吉恩-博迪斯特·布雷罗特;塞德里克·丹尼斯·罗伯特·艾拉德 | 申请(专利权)人: | ARM有限公司 |
| 主分类号: | G06F9/38 | 分类号: | G06F9/38 |
| 代理公司: | 北京东方亿思知识产权代理有限责任公司11258 | 代理人: | 李晓冬 |
| 地址: | 英国*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 无需 额外 寄存器 执行 重命名 数据处理 设备 方法 | ||
技术领域
本发明涉及无需额外寄存器执行寄存器重命名的数据处理设备和方法,该设备和方法可应用于多种情况(例如,与安全敏感应用有关的情况)。
背景技术
已知提供了一种数据处理设备,该数据处理设备响应于参考逻辑寄存器(又称程序模型寄存器)的数据处理指令来执行数据处理操作,同时该数据处理设备本身在一组物理寄存器内存储经受这些数据处理操作的数据值。与保持逻辑寄存器和物理寄存器之间的固定映射不同,已知执行一种被称为寄存器重命名的技术,在该技术中逻辑寄存器和物理寄存器之间的映射是变化和更新的。
寄存器重命名可以主要基于性能方面的原因被执行,例如,当一个序列中的数据处理指令被并行或至少乱序执行时,用以允许数据处理指令的并行执行;寄存器重命名技术随后被用来维持给定的逻辑寄存器的不同版本,从而使得这些数据处理指令能够被并行或乱序执行而不会出现数据冲突。虽然寄存器重命名在性能方面有一定的优势,但必须在数据处理设备中提供以允许这种寄存器重命名操作发生的额外硬件由于其引入的成本和复杂性而成为缺点。该缺点使得寄存器重命名技术在相对小型、低成本、低功耗的设备中使用的机会非常有限。
寄存器重命名也是安全敏感设备背景下的一种有价值的技术,因为该技术使得攻击者例如,通过细粒度观测设备的功率消耗或者通过侵入性技术来设法将值引入特定的寄存器以观察对该设备操作的影响从外部获取有关数据处理设备的内部操作的信息变得更加困难。在期望将寄存器重命名的优势应用于安全敏感设备时,这些设备通常被构造成小型、低成本、低功耗的设备,因此与典型的寄存器重命名技术相关联的额外的构造要求在传统上限制了寄存器重命名技术在这种背景中的应用机会。例如,为了使寄存器重命名技术得以操作,很多已知的寄存器重命名技术要求物理寄存器的数量超过逻辑寄存器的数量。因此,对于任何特殊设计的装置,支持寄存器重命名操作所需的物理寄存器比不使用寄存器重命名所需的物理寄存器多。在小型设备(如,小型安全微处理器)中,包含物理寄存器的寄存器文件的大小非常大,所以所需的寄存器文件的大小的增加通常会阻碍很多寄存器重命名技术在这些设备中的应用。
论文“Instruction Stream Mutation for Non-Deterministic Processors”,Irwin,Page and Smart,Proceedings of the IEEE International Conference on Application-Specific Systems,Architectures,and Processors(ASAP′02),2002,描述了可以被用于防止差分功耗分析(DPA)安全攻击的多种技术,其中该多种技术之一涉及使用“活性表(1iveness table)”来控制寄存器重命名的寄存器重命名技术(在文章中被称为寄存器重映射)。根据该技术,物理寄存器的数量不需要超过逻辑寄存器的数量,但是额外的指令必须被添加到指令流中以产生维持活性表所需的信息。因此这种方法需要修改在该设备上运行的代码,并且由于需要执行额外指令而会对性能产生显著的影响。
期望提出一种允许寄存器重命名的优势被应用于数据处理设备(特别是在小型、低成本、低功耗设备的情况下)的改进技术,该技术减少了与很多寄存器重命名技术相关的硬件需求,同时也避免了在指令流中添加额外指令的需要。
发明内容
从第一方面看,本发明提供了一种数据处理设备,包括:处理电路,被配置为响应于数据处理指令而执行数据处理操作,所述数据处理指令参考逻辑寄存器;一组物理寄存器,被配置为存储供所述处理电路执行所述数据处理操作时访问的数据值;寄存器重命名存储装置,被配置为存储所述逻辑寄存器与所述物理寄存器之间的一对一映射,所述处理电路在执行所述数据处理操作时访问所述寄存器重命名存储装置,以将所参考的逻辑寄存器映射到相应的物理寄存器;更新电路,响应于由所述处理电路执行的要求数据被写入所述逻辑寄存器中的多个逻辑寄存器的当前数据处理操作,标识与所述寄存器重命名存储装置中的所述多个逻辑寄存器相对应的物理寄存器,并改变所述寄存器重命名存储装置中的所述多个逻辑寄存器与所标识的物理寄存器之间的一对一映射,从而使得改变后的一对一映射在执行所述当前数据处理操作时被采用;并且如果所述当前数据处理操作不要求数据被写入所述多个逻辑寄存器,那么在所述当前数据处理操作的执行期间在所述处理电路参考所述寄存器重命名存储装置之前,所述寄存器重命名存储装置中的一对一映射不会被改变。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于ARM有限公司,未经ARM有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201280058902.X/2.html,转载请声明来源钻瓜专利网。





