[发明专利]数据处理装置的除错有效
| 申请号: | 201180045568.X | 申请日: | 2011-07-25 |
| 公开(公告)号: | CN103119566A | 公开(公告)日: | 2013-05-22 |
| 发明(设计)人: | 理查德·罗伊·格里森思怀特;迈克尔·约翰·威廉斯 | 申请(专利权)人: | ARM有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 李晓冬 |
| 地址: | 英国*** | 国省代码: | 英国;GB |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据处理 装置 除错 | ||
技术领域
本发明涉及数据处理。更具体而言,本发明涉及数据处理装置的除错。
背景技术
已知的是,为了确定数据处理硬件和/或软件的操作上的缺陷,而执行数据处理装置的除错(debugging)。随着单个数据处理集成电路上的数据处理组件越来愈多(甚至可能包括被配置为运行多个操作系统的多个处理器)以及处理器变得越来越复杂,除错的处理变得更为复杂和具有挑战性。然而,在软件和系统设计中,除错(debug)是识别和消除缺陷的重要阶段。
还已知的是,提供能够操作于多个处理器操作状态的数据处理装置,其中处理电路在不同的特权层级向程序指令施加对于存储器和一组寄存器中的至少一者的不同的存取许可。例如,可以提供这样一种用户模式,其中程序指令具有对于控制寄存器的子集的存取许可;并且可以提供这样一种系统模式,其中程序指令具有对于控制寄存器的较大子集的存取许可。重要的是,数据处理装置在所有可能的模式中的操作应该被完全除错。
已知的是,在ARM v7处理器架构中提供了一种特别的除错模式,其中处理器进入该除错模式以处理除错事件(例如,断点或观察点匹配(watchpoint match))。当处于这种除错模式时,处理器从指令传输寄存器读取指令,该指令传输寄存器由经由除错端口连接至数据处理装置的除错器(debugger)来控制。根据指令的选择,除错器能查看并修正处理器寄存器的内容,且能查看并修正连接至处理器的存储器的内容。因此,除错器能有效地对软件程序除错,并且能诊断其他缺陷(例如,数据处理装置本身的设计中的缺陷)。
因此,需要提供一种促使数据处理装置在不同的操作状态之间转变的更为有效的方式。
发明内容
根据第一方面,本发明提供了一种数据处理装置,该数据处理装置包括:处理电路,该处理电路用于处理数据,该处理电路被配置为操作于多个特权层级,其中在不同的特权层级中,该处理电路向程序指令施加对于存储器和一组寄存器中的至少一者的不同的存取许可;指令译码电路,该指令译码电路响应于程序指令而生成控制信号,该控制信号用于控制处理电路执行数据处理;其中,所述程序指令包括除错特权层级切换指令,所述指令译码电路响应于所述除错特权层级切换指令而执行以下处理:(i)如果所述处理电路处于除错模式,则将所述处理电路从当前特权层级切换到目标特权层级;及(ii)如果所述处理电路处于非除错模式,则无论所述当前特权层级如何都避免所述除错特权层级切换指令的执行。
本发明认识到,提供了一种专用的特权层级切换指令,该指令在除错模式中执行时,将处理电路从当前特权层级切换至目标特权层级,并且在处理电路处于非除错模式时无论当前特权层级如何都避免特权层级切换指令的执行。这提供了一种当处理器处于除错模式时促使处理器被置于不同的操作状态的有用方式,而无需借助于非除错模式指令的复杂的超载。当处理器处于除错模式时变换处理器操作于不同的特权层级的能力是有用的,因为当处理器操作于不同的特权层级时,具有对于(例如)系统寄存器和存储器的不同视野,因而不同的特权层级对应于不同的处理器操作状态(这些操作状态是处理器在除错模式中希望进行存取的操作状态)。
例如,在实施虚拟化并且因而具有监控器模式(hypervisor mode)的数据处理装置中,监控器(hypervisor)将操作于与数据处理装置上运行的客操作系统不同的特权层级。另外,提供仅定义在除错模式中的专用的除错特权层级切换指令允许指令以理想地适合于除错模式的特性的方式在不同的特权层级之间执行切换。例如,可实施专用的除错特权层级切换指令,以使得为了在不同特权层级之间切换而不执行任何分支,因为分支在除错模式中是不合需要的(尽管分支通常被作为特权层级切换指令的部分在非除错模式中实施,以维持特权层级之间的正确分离)。这是因为:尽管在非除错模式中程序指令是从系统存储器中提取的,但是在除错模式中除错指令通常是从由除错电路控制的专用的指令传输寄存器中提取的。分支(尤其是与特权层级的变换相关联的分支)通常藉由以下处理进行操作:(a)生成分支目标地址,(b)将此地址写入程序计数器寄存器,(c)清除指令管线,及(d)从写入程序计数器寄存器的存储器地址提取指令。例如,在非除错模式中的特权层级增加(privilege-level incrementing)指令的情况中分支目标地址是固定的,并且在非除错模式中的特权层级减少(privilege-level decrementing)指令的情况中分支目标地址是从地址链路寄存器读取的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于ARM有限公司,未经ARM有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180045568.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:双头手电筒
- 下一篇:天然气输送管线冰堵形成的预测装置





