[發(fā)明專利]指令處理方法、指令處理系統及處理器、芯片有效
| 申請?zhí)枺?/td> | 202110717773.1 | 申請日: | 2021-06-28 |
| 公開(公告)號: | CN113254083B | 公開(公告)日: | 2021-11-02 |
| 發(fā)明(設計)人: | 李偉立;趙東艷;劉亮;劉云;張海峰;原義棟;李雷;周佳慧 | 申請(專利權)人: | 北京智芯微電子科技有限公司;國網信息通信產業(yè)集團有限公司;國網寧夏電力有限公司營銷服務中心(國網寧夏電力有限公司計量中心);國家電網有限公司 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 北京潤平知識產權代理有限公司 11283 | 代理人: | 肖冰濱;王曉曉 |
| 地址: | 100192 北京市海淀區(qū)*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 指令 處理 方法 系統 處理器 芯片 | ||
本發(fā)明涉及處理器領域,提供一種指令處理方法、指令處理系統及處理器、芯片。所述指令處理方法包括:取指級取回指令并緩存;譯碼級讀取取指級緩存的指令并對讀取的指令進行譯碼處理,判斷譯碼后的指令中是否存在IT指令,在確定存在IT指令時對所述IT指令的后續(xù)相關聯的IT區(qū)塊指令進行處理;執(zhí)行級執(zhí)行譯碼后的指令,將當前執(zhí)行結果狀態(tài)信息反饋到所述譯碼級。本發(fā)明在一時鐘周期可以讀取多條指令,至少節(jié)約一個時鐘周期,提高流水線執(zhí)行效率,從而提高處理器的效率。
技術領域
本發(fā)明涉及處理器領域,具體地涉及一種指令處理方法、一種指令處理系統、一種處理器、一種芯片以及一種存儲介質。
背景技術
程序流控制類指令是處理器指令集中較為重要的指令。在ARM架構中,程序流控制類指令包括分支指令、程序調用指令、條件分支指令、比較合并條件分支指令、條件指令(即IF-THEN指令,以下簡稱IT指令)、分支表指令。IT指令執(zhí)行后,可以有1至4條后續(xù)指令根據IT指令和處理器當前狀態(tài)來進行條件執(zhí)行。一個條件區(qū)塊(即IT區(qū)塊)由IT指令和執(zhí)行的具體條件以及后面跟隨的1至4條條件執(zhí)行指令或IT區(qū)塊指令組成。所述條件執(zhí)行指令可以是數據處理指令或訪存指令。最后一條條件執(zhí)行指令還可以是條件分支指令。
ARM架構中,條件執(zhí)行指令只有在應用程序狀態(tài)寄存器(APSR)滿足當前指令的條件時才可以正常執(zhí)行,否則被當作NOP(No Operation,無操作)指令來執(zhí)行,處理器執(zhí)行該指令不產生任何效果。但是,處理器在執(zhí)行NOP指令時,依然需要正常的流水線操作(取指,譯碼,執(zhí)行等),會占用處理器的執(zhí)行時間,影響了處理器的效率。
發(fā)明內容
本發(fā)明實施方式的目的是提供一種指令處理方法、指令處理系統、處理器、芯片以及存儲介質,以提高處理器的效率。
為了實現上述目的,本發(fā)明一方面提供一種指令處理方法,應用于處理器內部的流水線,所述指令處理方法包括:
取指級取回指令并緩存;譯碼級讀取所述取指級緩存的指令并對讀取的指令進行譯碼處理,判斷譯碼后的指令中是否存在IT指令,在確定存在IT指令時對所述IT指令的后續(xù)相關聯的IT區(qū)塊指令進行處理;執(zhí)行級執(zhí)行譯碼后的指令,將當前執(zhí)行結果狀態(tài)信息反饋到所述譯碼級。
進一步地,所述在確定存在IT指令時對所述IT指令的后續(xù)相關聯的IT區(qū)塊指令進行處理,包括:所述譯碼級在確定存在IT指令時,根據所述執(zhí)行級反饋的當前執(zhí)行結果狀態(tài)信息判斷與所述IT指令相關聯的下一條或多條IT區(qū)塊指令是否需要正常執(zhí)行;在確定與所述IT指令相關聯的下一條或多條IT區(qū)塊指令不需要正常執(zhí)行時,根據當前的譯碼處理狀態(tài)確定下一時鐘周期從所述取指級讀取指令的條數,對讀取的指令中需要正常執(zhí)行的指令進行譯碼處理。
進一步地,在確定與所述IT指令相關聯的下一條或多條IT區(qū)塊指令不需要正常執(zhí)行時:所述譯碼級根據當前的譯碼處理狀態(tài)確定下一時鐘周期從所述取指級讀取多條指令,所述多條指令中至多有一條需要正常執(zhí)行的指令;所述譯碼級僅對該條需要正常執(zhí)行的指令進行譯碼處理。
進一步地,在以下條件下,所述譯碼級根據當前的譯碼處理狀態(tài)確定下一時鐘周期從所述取指級讀取兩條指令:所述譯碼級當前正在處理IT指令或IT區(qū)塊指令,且所述取指級緩存有一條IT區(qū)塊指令和一條非IT區(qū)塊指令時,若判斷所述一條IT區(qū)塊指令不需要正常執(zhí)行,則確定下一時鐘周期從所述取指級同時讀取所述一條IT區(qū)塊指令和一條非IT區(qū)塊指令,所述譯碼級僅對所述一條非IT區(qū)塊指令進行譯碼處理。
進一步地,在以下條件下,所述譯碼級根據當前的譯碼處理狀態(tài)確定下一時鐘周期從所述取指級讀取兩條指令:所述譯碼級當前正在處理IT指令或IT區(qū)塊指令,且所述取指級緩存有兩條IT區(qū)塊指令時,若判斷所述兩條IT區(qū)塊指令中任意一條IT區(qū)塊指令不需要正常執(zhí)行,則確定下一時鐘周期從所述取指級同時讀取所述兩條IT區(qū)塊指令,所述譯碼級僅對所述兩條IT區(qū)塊指令中需要正常執(zhí)行的一條IT區(qū)塊指令進行譯碼處理。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京智芯微電子科技有限公司;國網信息通信產業(yè)集團有限公司;國網寧夏電力有限公司營銷服務中心(國網寧夏電力有限公司計量中心);國家電網有限公司,未經北京智芯微電子科技有限公司;國網信息通信產業(yè)集團有限公司;國網寧夏電力有限公司營銷服務中心(國網寧夏電力有限公司計量中心);國家電網有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110717773.1/2.html,轉載請聲明來源鉆瓜專利網。





