[發明專利]用于實現加載存儲重新排序和優化的指令定義有效
| 申請號: | 201380042998.5 | 申請日: | 2013-06-13 |
| 公開(公告)號: | CN104583956B | 公開(公告)日: | 2019-01-04 |
| 發明(設計)人: | M·阿布達拉;G·A·伍茲 | 申請(專利權)人: | 英特爾公司 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46;G06F9/38 |
| 代理公司: | 上海專利商標事務所有限公司 31100 | 代理人: | 黃嵩泉 |
| 地址: | 美國加利*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 實現 加載 存儲 重新 排序 優化 指令 定義 | ||
1.一種用于在亂序處理器中從存儲指令向對應的加載指令轉發數據的方法,包括:
訪問傳入的指令的序列;
在指令的所述序列之中,將每個存儲指令分離成存儲地址指令和存儲數據指令,其中所述存儲地址指令執行地址計算和取讀,并且其中所述存儲數據指令執行寄存器內容到存儲器地址的加載;
在指令的所述序列之中,將每個加載指令分離成加載地址指令和加載數據指令,其中所述加載地址指令執行地址計算和取讀,并且其中所述加載數據指令執行存儲器地址內容到寄存器中的加載;以及
將所述存儲地址指令和所述加載地址指令重新排序得比對應的加載指令或存儲數據指令更早并且距所述對應的加載指令或存儲數據指令更遠,以實現所述加載指令和所述存儲指令的較早的分派和執行。
2.根據權利要求1所述的方法,其中所述存儲地址指令、所述存儲數據指令、所述加載地址指令和所述加載數據指令是宏指令并且在宏指令情境中被重新排序。
3.根據權利要求1所述的方法,其中所述存儲地址指令、所述存儲數據指令、所述加載地址指令和所述加載數據指令是微指令并且在微指令情境中被重新排序。
4.根據權利要求1所述的方法,其中將所述加載指令分離成兩個指令允許運行時間優化器在指令的序列內較早地調度地址計算和取讀。
5.根據權利要求1所述的方法,其中將所述存儲指令的每一個分離成兩個指令允許運行時間優化器在指令的序列內較早地調度地址計算和取讀。
6.根據權利要求1所述的方法,其中如果存在與處于在加載地址指令與對應的加載數據指令之間的窗口中的在先存儲指令的別名使用,則能夠重新發出加載數據指令。
7.根據權利要求1所述的方法,其中加載地址指令和取讀指令能夠在不等待對應的加載數據指令返回的情況下從所述處理器的機器退出窗口退出。
8.根據權利要求1所述的方法,其中所述存儲地址指令、所述存儲數據指令、所述加載地址指令以及所述加載數據指令用指令前綴和伴隨后綴指令的組合來實現。
9.一種微處理器,包括:
核,被耦合到加載存儲緩沖器的核心,其中所述加載存儲緩沖器實現用于通過以下方式在亂序處理器中從存儲指令向對應的加載指令轉發數據的方法:
訪問傳入的指令的序列;
在指令的所述序列之中,將每個存儲指令分離成存儲地址指令和存儲數據指令,其中所述存儲地址指令執行地址計算和取讀,并且其中所述存儲數據指令執行寄存器內容到存儲器地址的加載;
在指令的所述序列之中,將每個加載指令分離成加載地址指令和加載數據指令,其中所述加載地址指令執行地址計算和取讀,并且其中所述加載數據指令執行存儲器地址內容到寄存器中的加載;以及
根據處理器資源將所述存儲地址指令、所述存儲數據指令、所述加載地址指令和所述加載數據指令重新排序以用于分派和執行。
10.根據權利要求9所述的微處理器,其中所述存儲地址指令、所述存儲數據指令、所述加載地址指令和所述加載數據指令是宏指令并且在宏指令情境中被重新排序。
11.根據權利要求9所述的微處理器,其中所述存儲地址指令、所述存儲數據指令、所述加載地址指令和所述加載數據指令是微指令并且在微指令情境中被重新排序。
12.根據權利要求9所述的微處理器,其中將所述加載指令的每一個分離成兩個指令允許運行時間優化器在指令的序列內較早地調度地址計算和取讀。
13.根據權利要求9所述的微處理器,其中將所述存儲指令的每一個分離成兩個指令允許運行時間優化器在指令的序列內較早地調度地址計算和取讀。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于英特爾公司,未經英特爾公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201380042998.5/1.html,轉載請聲明來源鉆瓜專利網。





