[发明专利]使用执行单一步骤来诊断编码有效
申请号: | 201710550482.1 | 申请日: | 2012-02-03 |
公开(公告)号: | CN107577593B | 公开(公告)日: | 2021-07-06 |
发明(设计)人: | 迈克尔·约翰·威廉姆斯;理查德·罗伊·格里森思怀特 | 申请(专利权)人: | ARM有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 宗晓斌 |
地址: | 英国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 执行 单一 步骤 诊断 编码 | ||
1.一种用于诊断处理指令流的处理器的方法,包括:
(i)控制所述处理器以单步骤模式执行,以使得来自所述指令流的单个指令被执行,所述处理器判定所述单个指令是否为至少一种预定类型的指令中的一种并且在数据储存位置处储存类型指示符,并且在所述处理器已处理所述单个指令之后发生诊断异常;
(ii)在所述诊断异常之后执行诊断操作,包括:
访问储存于所述数据储存位置中的所述类型指示符;以及
(iiia)响应于所述类型指示符指示所述单个指令并非所述预定类型中的一种,控制所述处理器继续以所述单步骤模式执行指令,以使得在从所述诊断异常返回之后执行下一单个指令;
(iiib)响应于所述类型指示符指示所述单个指令为所述至少一种预定类型中的一种,控制所述处理器退出所述单步骤模式并且不执行作为后面跟随着诊断异常的单个指令的所述指令流内的下一指令。
2.如权利要求1所述的方法,其中所述步骤(iiib)包括:控制所述处理器在从所述诊断异常返回之后执行所述指令流内的多个指令。
3.如权利要求2所述的方法,其中所述多个指令包括所述指令流中继所述被执行的单个指令之后的多个指令。
4.如权利要求2所述的方法,其中所述多个指令包括所述指令流中继所述被执行的单个指令之后的多个指令并且包括所述被执行的单个指令。
5.如权利要求2所述的方法,还包括如下步骤:响应于所述类型指示符指示所述单个指令为所述至少一种预定类型中的一种,在所述指令流内设定至少一个断点,以使得所述多个指令被执行直至到达所述至少一个断点,如果在执行所述多个指令期间未接收其他异常,并且响应于到达所述至少一个断点,则发生诊断断点异常。
6.如权利要求1所述的方法,其中所述步骤(iiib)包括:仿真所述被执行的单个指令以及所述指令流中的至少一个后续指令,并且随后控制所述处理器从所述指令流中的一指令开始所述单步骤模式,该指令紧跟着经仿真的所述至少一个后续指令的后面。
7.如权利要求1所述的方法,其中储存于所述数据储存位置中的所述类型指示符指示所述指令为所述预定类型中的一种或所述指令并非为所述预定类型中的一种,或者指示所述指令为未知类型,其中如果在访问所述类型指示符的所述步骤中,判定所述类型指示符指示所述指令为未知类型,则执行检验所述单个指令并且判定所述单个指令是否为所述预定类型的额外步骤。
8.如权利要求7所述的方法,其中所述类型指示符包括两个指示符值:第一值以及第二有效值,所述第一值指示所述指令为所述预定类型或并非为所述预定类型,所述第二有效值指示所述第一值是否有效,其中当所述第二有效值为无效时则指示所述指令为所述未知类型。
9.如权利要求7所述的方法,其中所述类型指示符进一步包括所发生的诊断异常的类型的指示。
10.如权利要求1-9中的任一项所述的方法,其中所述方法包括以下初始步骤:设定单个指令步骤控制值并且设定步骤指示符值,所述单个指令步骤控制值指示将要执行所述单个指令步骤诊断方法,所述步骤指示符值指示将要在将发生下一诊断异常之前执行所述指令流中的单个指令。
11.如引用权利要求7-9中的任一项时的权利要求10所述的方法,其中响应于所述步骤指示符值指示在发生下一诊断异常之前零个指令将被执行,在发生所述诊断异常之后所述类型指示符被设定成未知类型。
12.如引用权利要求7-9中的任一项时的权利要求10所述的方法,其中响应于在发生所述下一诊断异常之前所述处理器的清除状态,所述类型指示符被设定为指示所述被执行的指令为所述未知类型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于ARM有限公司,未经ARM有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710550482.1/1.html,转载请声明来源钻瓜专利网。