[發明專利]對預處理微指令發生異常多層嵌套進行處理的設備及方法有效
| 申請號: | 200610011927.0 | 申請日: | 2006-05-18 |
| 公開(公告)號: | CN101075184A | 公開(公告)日: | 2007-11-21 |
| 發明(設計)人: | 段振中;范東睿 | 申請(專利權)人: | 中國科學院計算技術研究所 |
| 主分類號: | G06F9/318 | 分類號: | G06F9/318;G06F9/38 |
| 代理公司: | 中科專利商標代理有限責任公司 | 代理人: | 周國城 |
| 地址: | 100080北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 預處理 指令 發生 異常 多層 嵌套 進行 處理 設備 方法 | ||
技術領域
本發明涉及復雜指令集計算機內部異常處理技術,尤其涉及一種對預處理微指令發生異常多層嵌套進行處理的設備及方法。
背景技術
基于復雜指令集的計算機(Complex?Instruction?Set?Computer,CISC)是指以微程序為基礎、具有復雜指令系統的計算機。在CISC系統中,一條復雜指令一般需要被翻譯為多條微指令,被翻譯的多條微指令被保存在CPU的只讀存儲器(ROM)中,處理器中的指令流水線處理的是這些微指令,而不是翻譯前的操作系統可見的復雜指令。
微指令通常可以比復雜指令操作更多的寄存器資源。例如,復雜指令集一般可以操作8個可見通用寄存器,而微指令集可以操作32或64個以上的可見通用寄存器。以32個可見的通用寄存器為例,其中的8個可以作為復雜指令集的通用寄存器,而剩下的24個則保留給微指令集的譯碼器作為臨時寄存器或用作其它用途。
處理器中的指令流水線在處理由一條復雜指令翻譯成的多條微指令時經常發生異常。在發生異常后,現有技術中存在的處理機制首先轉入一段預處理微指令,執行這段預處理微指令能夠保存寄存器現場,并從內存中獲取跳轉的目標地址或通過執行微指令動態生成跳轉的目標地址,然后根據目標地址跳轉到操作系統可見的異常處理程序,執行異常處理程序可以實現對異常的修復。上述跳轉的目標地址通常存放在系統內存的某一固定區域中。
上述處理機制存在一個問題,即在異常發生后執行預處理微指令時又可能發生異常,進而形成預處理微指令的異常多層嵌套。此時,處理器應當及時對預處理微指令發生的異常多層嵌套進行處理,在保證這些異常得以正確修復的同時,又不至于導致指令流程的混亂甚至進入異常的死循環。
但是,目前還不存在對預處理微指令發生異常多層嵌套進行處理的技術,如何對預處理微指令發生異常多層嵌套進行處理是目前急需解決的重要問題。
發明內容
(一)要解決的技術問題
針對上述現有技術存在的不足,本發明的一個主要目的在于提供一種對預處理微指令發生異常多層嵌套進行處理的設備,使發生的異常得以有序和正確的修復。
本發明的另一個主要目的在于提供一種對預處理微指令發生異常多層嵌套進行處理的方法,使發生的異常得以有序和正確的修復。
(二)技術方案
為達到上述目的,本發明的技術方案是這樣實現的:
一種對預處理微指令發生異常多層嵌套進行處理的設備,該設備包括:
取指部件,用于從指令高速緩沖內存中取出指令,并將取出的指令發送給譯碼部件;
譯碼部件,用于對緩存的異常信息進行譯碼,按譯碼產生的微指令地址索引微指令存儲器獲取異常預處理微指令,并將獲取的異常預處理微指令發送給發射部件和指令重排序緩沖器;
發射部件,用于將接收的異常預處理微指令中數據已準備好的指令發送給執行部件;
執行部件,用于執行接收自發射部件的指令,并將執行的結果寫回到指令重排序緩沖器;
指令重排序緩沖器,用于保存計算機指令流水線中每條指令的狀態信息,并保證指令的精確異常,在指令發生異常時將異常信息輸出給取指部件、譯碼部件、發射部件和執行部件;
所述指令重排序緩沖器在指令發生異常時將異常信息輸出給取指部件、譯碼部件、發射部件和執行部件,取指部件在接收到這個異常信息后將其指令地址寄存器和指令輸出總線置為無效,譯碼部件將其指令寄存器置為無效,并把這個異常信息緩沖在異常緩沖器中,并對緩沖的異常信息進行譯碼產生微指令地址,譯碼部件按產生的微指令地址索引微指令存儲器獲取異常預處理微指令,并將獲取的異常預處理微指令送給后端部件,該后端部件包括發射部件、執行部件和指令重排序緩沖器,后端部件在執行接收的異常預處理微指令時如果再次發生異常,則后端部件刷空計算機的指令流水線,譯碼部件緩存再次發生的異常信息,并執行上述異常處理過程,直至無異常發生;后端部件跳轉并執行異常處理程序,按異常發生的時間順序由后到先逐一對異常進行修復。
所述譯碼部件包括:
異常緩沖器,用于緩存接收自指令重排序緩沖器的異常信息,并根據接收自微碼地址生成器的選擇信號將緩存的異常信息發送給微碼地址生成器;
指令寄存器,用于存放當前正在執行指令的操作碼字節;
微碼地址生成器,用于從異常緩沖器和指令寄存器中選擇信息,并對選擇獲取的信息進行譯碼產生微指令地址,按產生的微指令地址索引微指令存儲器獲取微指令;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院計算技術研究所,未經中國科學院計算技術研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200610011927.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:防流體拉鏈
- 下一篇:劑量器中或與劑量器相關的改進





