[發明專利]使用執行單一步驟來診斷編碼有效
| 申請號: | 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.szxzyx.cn/pat/books/201710550482.1/1.html,轉載請聲明來源鉆瓜專利網。





