[發明專利]一種面向ARMv7的基于推測的指令動態調度方法無效
| 申請號: | 201410007400.5 | 申請日: | 2014-01-08 |
| 公開(公告)號: | CN103761073A | 公開(公告)日: | 2014-04-30 |
| 發明(設計)人: | 李冰;徐曉偉;陸清茹;董乾;劉勇;趙霞;陳德斌;許立峰 | 申請(專利權)人: | 東南大學 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 南京經緯專利商標代理有限公司 32200 | 代理人: | 許方 |
| 地址: | 214135 江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 面向 armv7 基于 推測 指令 動態 調度 方法 | ||
技術領域
本發明涉及微處理器體系結構領域,尤其涉及一種面向ARMv7的基于推測的指令動態調度方法。
背景技術
微處理器體系結構中,由于當前指令需要前面的指令產生的結果作為源操作數,該結果還未產生時,當前指令會等待結果產生,此時,會發生堵塞后面可以執行的指令繼續執行的情況,指令動態調度技術的核心是就是避免出現這種情況。
在動態調度的流水線結構中,指令的取指階段和譯碼階段都是按照程序順序執行的,但是執行階段是可以亂序執行的,只要保證指令間沒有各種相關關系就可以執行,在有足夠資源的流水線結構中多條指令也可以同時執行。指令執行結束后,可以有序提交結果也可以亂序提交。但是為了簡化操作系統對于例外的處理,現代的處理器都是按照程序表述的指令的順序有序的結束。
亂序執行處理器的指令動態調度是指令在流水線中執行過程中,由硬件自動的調度指令的執行順序,不必一定要按照取指令的順序執行,從而避免由于各種數據相關導致的流水線堵塞。為了保證程序最終運行提交的結果與原始的程序結果一致也即是保證程序執行結果的一致,硬件在動態調度時候要有確保有能力自動夠判并且確保遵循指令之間的相關關系。
ARM的32位架構是移動設備中最廣泛使用的架構,也是32位嵌入式系統中最廣泛使用的架構。根據ARM?Holdings的數據:在2005年,98%的手機至少使用了一個ARM處理器;在2010年,ARM架構的處理器出貨量達到了61億片,這占據了智能手機95%的份額,占據了數字電視和機頂盒市場的35%;在2013年,生成了大約100億顆ARM芯片。本發明提出的動態調度的優化方法,正是面向采用32位ARMv7指令集架構的亂序執行處理器的。
相對于其它RISC指令集架構,ARMv7指令集一個不尋常的特性是每條指令的編碼中都有條件碼,每條指令的執行與否都要由其條件碼決定,這個特性雖然在某種程度上可以減少編譯后代碼的數量,但是若是使用通常的指令調度方法,由于指令間的控制相關嚴重,所以這個特性將會顯著的降低了處理器執行該指令集時,處理器并行處理的能力,從而直接降低處理器性能。
發明內容
本發明所要解決的技術問題是針對背景技術中的缺陷,提供一種指令集控制相關不大、并行能力較強的面向ARMv7的基于推測的指令動態調度方法。
本發明為解決上述技術問題采用以下技術方案:
一種面向ARMv7的基于推測的指令動態調度方法,具體調度方法如下:
步驟1),根據上一條指令執行產生的實際系統狀態值推測得到當前指令的系統狀態推測值,并判斷當前指令是有條件執行還是無條件執行,如果是無條件執行,則送到發射隊列,正常發射執行后提交,然后執行步驟6);如果是有條件執行,則執行步驟2);
步驟2),判斷當前指令的系統狀態推測值是否等于當前指令的實際系統狀態值,如果等于,執行步驟3);如果不等于,則判斷當前指令的實際系統狀態值是否滿足當前指令的執行條件,若滿足執行步驟4),若不滿足則執行步驟5);
步驟3),判斷當前指令的執行條件是否滿足,如果不滿足,將當前指令執行的結果正常提交,然后執行步驟6);如果滿足,將當前指令在發射隊列中的發射狀態更改為已被發射,同時取消執行當前指令;
步驟4),判斷當前指令的執行條件是否滿足,如果滿足,則將該指令正常發射執行后提交,然后執行步驟6);如果不滿足,將當前指令的執行條件狀態更改為滿足,然后將該指令正常發射執行后提交,并且執行步驟6);
步驟5),判斷當前指令的執行條件是否滿足,如果滿足,則判斷當前指令是否已經執行完在等待提交,如果是,則置該指令為無效,取消該指令的提交;如果不滿足,將當前指令在發射隊列中的發射狀態更改為已被發射,同時取消該指令的發射;
步驟6),判斷等待被提交的指令是否可以修改cpu的系統狀態字段,如果不可以修改,則提交后執行結束;如果可以修改,則依序找到下一個可以修改cpu的系統狀態值的指令,將該指令與前一個可以修改cpu的系統狀態值的指令之間的所有指令、以及該指令的實際系統狀態值修改為當前指令執行產生的實際系統狀態值。
本發明采用以上技術方案與現有技術相比,具有以下技術效果:
1.?通過對指令條件碼所使用的系統狀態值進行預測,使得指令不會因為等待前面能夠更改系統狀態的指令的結果而堵塞流水線,提高了流水線的并行處理能力;
2.?通過給發射隊列中的項添加額外的字段,使得指令本身的信息和外部添加到該指令的信息更加清晰;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于東南大學,未經東南大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410007400.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種轎廂護腳板
- 下一篇:一種反射相位延遲鏡及其制備方法





