[發(fā)明專利]一種指令融合的實(shí)現(xiàn)方法及裝置有效
| 申請(qǐng)?zhí)枺?/td> | 202010260633.1 | 申請(qǐng)日: | 2020-04-03 |
| 公開(公告)號(hào): | CN111414199B | 公開(公告)日: | 2022-11-08 |
| 發(fā)明(設(shè)計(jì))人: | 孫彩霞;鄭重;隋兵才;鄧全;郭輝;郭維;雷國慶;王俊輝;黃立波;倪曉強(qiáng);王永文 | 申請(qǐng)(專利權(quán))人: | 中國人民解放軍國防科技大學(xué) |
| 主分類號(hào): | G06F9/38 | 分類號(hào): | G06F9/38;G06F11/07;G06F1/3234 |
| 代理公司: | 湖南兆弘專利事務(wù)所(普通合伙) 43008 | 代理人: | 譚武藝 |
| 地址: | 410073 湖南*** | 國省代碼: | 湖南;43 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 指令 融合 實(shí)現(xiàn) 方法 裝置 | ||
本發(fā)明涉及微處理器設(shè)計(jì)技術(shù),具體涉及一種指令融合的實(shí)現(xiàn)方法及裝置,本發(fā)明方法在譯碼階段將前綴指令和與其能融合的下一條指令合并成一條融合指令,前綴指令的源操作數(shù)變成融合指令的一個(gè)源操作數(shù),替代隱式的源操作數(shù),在提交階段融合指令如果正常提交,提交地址前進(jìn)兩條指令,融合指令如果發(fā)生異常,在前綴指令處報(bào)告異常,前綴指令不更新體系結(jié)構(gòu)狀態(tài),異常返回地址為前綴指令的地址。本發(fā)明能夠有效實(shí)現(xiàn)指令融合,且設(shè)計(jì)簡單,能夠保證實(shí)現(xiàn)精確異常。
技術(shù)領(lǐng)域
本發(fā)明涉及微處理器設(shè)計(jì)技術(shù),具體涉及一種指令融合的實(shí)現(xiàn)方法及裝置。
背景技術(shù)
指令長度固定的處理器體系結(jié)構(gòu)在擴(kuò)充新的指令時(shí),由于指令條數(shù)增多,需要更多的編碼位作為操作碼來表示指令功能,去除操作碼后,指令編碼中剩余的位能夠表示的操作數(shù)個(gè)數(shù)有限,從而導(dǎo)致可能無法正常編碼某些指令。比如,正常情況下,一條浮點(diǎn)乘加指令需要3個(gè)源操作數(shù)和1個(gè)目的操作數(shù),我們用FPMA Rd, Rs1, Rs2, Rs3表示,該指令完成的功能是Rd=(Rs1xRs2)+Rs3。體系結(jié)構(gòu)通常都定義了32個(gè)軟件可見的浮點(diǎn)寄存器,一個(gè)浮點(diǎn)寄存器操作數(shù)需要5位表示,3個(gè)源操作數(shù)和1個(gè)目的操作數(shù)就需要20位指令編碼。無法編碼4個(gè)浮點(diǎn)寄存器類型的操作數(shù)時(shí),體系結(jié)構(gòu)使用累加乘指令,這樣的指令只顯式編碼2個(gè)源操作數(shù)和1個(gè)目的操作數(shù),我們用FPFMA Rd, RS1, Rs2表示,目的操作數(shù)Rd隱式的作為一個(gè)源操作數(shù),完成的功能為Rd=(Rs1xRs2)+Rd,累加乘指令也完成了浮點(diǎn)乘加功能,但是屬于破壞性指令,將乘加操作中的加數(shù)內(nèi)容破壞了。假設(shè)要完成正常浮點(diǎn)乘加指令的功能(Rs1xRs2)+Rs3,用乘累加指令完成的話就是FPFMA Rs3, Rs1, Rs2,即Rs3=(Rs1xRs2)+Rs3,加數(shù)Rs3被改寫了。
有些體系結(jié)構(gòu)定義了一條前綴指令,用于和緊隨其后的指令共同完成非破壞性的指令功能。為了便于描述,我們用PREFIX Rd, Rs表示前綴指令,其功能是把浮點(diǎn)寄存器Rs中的值寫到Rd中,該指令可以和緊隨其后的滿足某些條件的指令融合成一條指令執(zhí)行。比如,我們用如下所示的前綴指令和乘累加指令完成正常浮點(diǎn)乘加的功能:
PREFIX Rd, Rs3
FPFMA Rd, Rs1, Rs2
以上兩條指令完成的功能即為:Rd=(Rs1xRs2)+Rs3。
體系結(jié)構(gòu)要求微處理器設(shè)計(jì)時(shí),前綴指令和后面能夠與其融合的指令(為了便于描述,我們將其稱作被前綴指令)可以分別單獨(dú)執(zhí)行,也可以融合成一條指令執(zhí)行。無論采用哪種方式執(zhí)行,當(dāng)被前綴指令發(fā)生異常時(shí),必須保證能夠?qū)崿F(xiàn)精確異常,即如果前綴指令更新了體系結(jié)構(gòu)狀態(tài),那么異常報(bào)告在被前綴指令處,異常返回地址為被前綴指令的地址,如果前綴指令沒有更新體系結(jié)構(gòu)狀態(tài),那么異常報(bào)告在前綴指令處,異常返回地址位前綴指令的地址。
綜上可知,微處理器設(shè)計(jì)時(shí),將前綴指令和被前綴指令分別單獨(dú)執(zhí)行比較容易實(shí)現(xiàn),但是如果融合成一條指令執(zhí)行,對(duì)處理器的性能和功耗會(huì)有益處,而如何保證設(shè)計(jì)滿足架構(gòu)要求是一個(gè)挑戰(zhàn)。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題:針對(duì)現(xiàn)有技術(shù)的上述問題,提供一種指令融合的實(shí)現(xiàn)方法及裝置,本發(fā)明能夠有效實(shí)現(xiàn)指令融合,有利于提高處理器的性能、降低處理器的功耗,且設(shè)計(jì)簡單,能夠保證實(shí)現(xiàn)精確異常。
為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為:
一種指令融合的實(shí)現(xiàn)方法,實(shí)施步驟包括:
1)在取指階段,取出指令;
2)在譯碼階段,判斷是否有滿足融合條件的前綴指令和被前綴指令連續(xù)出現(xiàn)并同拍被譯碼,如果有,那么將前綴指令融合到被前綴指令上,形成一條指令,將該條指令標(biāo)記為融合指令,前綴指令的源操作數(shù)變成融合指令的一個(gè)源操作數(shù),替代隱式的源操作數(shù);如果沒有,則對(duì)指令進(jìn)行正常譯碼;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國人民解放軍國防科技大學(xué),未經(jīng)中國人民解放軍國防科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010260633.1/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 互動(dòng)業(yè)務(wù)終端、實(shí)現(xiàn)系統(tǒng)及實(shí)現(xiàn)方法
- 街景地圖的實(shí)現(xiàn)方法和實(shí)現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實(shí)現(xiàn)裝置及其圖像實(shí)現(xiàn)方法
- 增強(qiáng)現(xiàn)實(shí)的實(shí)現(xiàn)方法以及實(shí)現(xiàn)裝置
- 軟件架構(gòu)的實(shí)現(xiàn)方法和實(shí)現(xiàn)平臺(tái)
- 數(shù)值預(yù)報(bào)的實(shí)現(xiàn)方法及實(shí)現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實(shí)現(xiàn)方法和實(shí)現(xiàn)裝置以及實(shí)現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實(shí)現(xiàn)方法和實(shí)現(xiàn)裝置以及實(shí)現(xiàn)系統(tǒng)
- 輸入設(shè)備實(shí)現(xiàn)方法及其實(shí)現(xiàn)裝置
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





