[發(fā)明專利]一種帶異常返回的向量存儲指令的執(zhí)行方法有效
| 申請?zhí)枺?/td> | 201911113844.6 | 申請日: | 2019-11-14 |
| 公開(公告)號: | CN110928577B | 公開(公告)日: | 2021-11-05 |
| 發(fā)明(設(shè)計)人: | 鄭重;孫彩霞;王俊輝;王永文;黃立波;隋兵才;郭輝;雷國慶;郭維;倪曉強 | 申請(專利權(quán))人: | 中國人民解放軍國防科技大學(xué) |
| 主分類號: | G06F9/30 | 分類號: | G06F9/30 |
| 代理公司: | 湖南兆弘專利事務(wù)所(普通合伙) 43008 | 代理人: | 譚武藝 |
| 地址: | 410073 湖南*** | 國省代碼: | 湖南;43 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 異常 返回 向量 存儲 指令 執(zhí)行 方法 | ||
本發(fā)明公開了一種帶異常返回的向量存儲指令的執(zhí)行方法,步驟包括從指令緩沖取出指令;將帶異常返回的向量存儲指令拆分成兩個微操作:第一個微操作為存儲操作,第二個微操作為異常信息計算操作;以微操作為單位進行譯碼、寄存器重命名、分派和執(zhí)行。第一個微操作在存儲部件執(zhí)行,從存儲中取回相應(yīng)數(shù)據(jù),并輸出訪存異常信息。第二個微操作在計算部件執(zhí)行,接收第一個微操作的異常信息并計算新的異常寄存器值。本發(fā)明可用于亂序超標量微處理器設(shè)計中帶異常返回的向量存儲指令的執(zhí)行,能提高帶異常返回的向量存儲指令之間的并行性、提高處理器性能、減少指令執(zhí)行通路的源寄存器個數(shù)、降低實現(xiàn)代價。
技術(shù)領(lǐng)域
本發(fā)明涉及微處理器設(shè)計技術(shù)領(lǐng)域,具體涉及一種帶異常返回的向量存儲指令的執(zhí)行方法,用于亂序超標量微處理器設(shè)計中帶異常返回的向量存儲指令的執(zhí)行。
背景技術(shù)
在可擴展向量指令中,為了增強數(shù)據(jù)訪問的并行度,在指令集中增加了帶異常返回的向量存儲指令,記為FLoad。該類指令的特征是對數(shù)據(jù)進行前瞻訪問,如果前瞻訪問引發(fā)了異常,那么將發(fā)生異常的元素記錄下來。對于普通的指令來說,發(fā)生異常之后需要向系統(tǒng)報異常,由系統(tǒng)進行異常處理。該類指令不會報異常,而是將異常的信息記錄在相應(yīng)的異常寄存器中(Fault Register)中,記為FReg。
該指令的執(zhí)行如圖1所示,該指令除了正常的數(shù)據(jù)獲取操作之外,還需要將元素異常的信息和當前的FReg做運算,然后將結(jié)果寫入到FReg中。相比于普通向量存儲指令,該類指令實現(xiàn)的難點如下:1)多個FLoad之間由于FReg依賴必須順序執(zhí)行,如圖2所示,必須按照FLoad0、FLoad1、FLoad2的順序執(zhí)行,這樣就導(dǎo)致無法充分利用存儲系統(tǒng)的訪存并行性,造成整個處理器性能下降。2)和普通向量存儲指令相比,多一個源操作數(shù)FReg,這將導(dǎo)致整個向量存儲指令執(zhí)行的路徑上,源操作數(shù)都要增加一個通道,增加了實現(xiàn)的復(fù)雜性和硬件資源的浪費。當前對于這類帶異常返回的向量存儲指令的實現(xiàn)尚未有公開資料。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題:針對現(xiàn)有技術(shù)的上述問題,提供一種帶異常返回的向量存儲指令的執(zhí)行方法,可用于亂序超標量微處理器設(shè)計中帶異常返回的向量存儲指令的執(zhí)行,本發(fā)明能夠使多個FLoad存儲操作能夠并行執(zhí)行、減少操作數(shù)通道數(shù)目,能提高帶異常返回的向量存儲指令之間的并行性、提高處理器性能、減少指令執(zhí)行通路的源寄存器個數(shù)、降低實現(xiàn)代價。
為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為:
一種帶異常返回的向量存儲指令的執(zhí)行方法,實施步驟包括:
1)從指令緩沖取出帶異常返回的向量存儲指令FLoad;
2)將帶異常返回的向量存儲指令FLoad拆分為兩個微操作,第一個微操作為存儲操作FLoad_t,第二個微操作為異常信息計算操作FALU;
3)以微操作為單位解析操作數(shù)信息;
4)以微操作為單位進行寄存器重命名;
5)按順序?qū)蓚€微操作分派到不同執(zhí)行部件,其中存儲操作FLoad_t被分派到存儲部件執(zhí)行,從存儲中取回相應(yīng)數(shù)據(jù)并輸出訪存異常信息FReg_tmp;異常信息計算操作FALU被分派到計算部件執(zhí)行,接收存儲操作FLoad_t的異常信息FReg_tmp并計算新的異常寄存器值FReg并輸出。
可選地,步驟2)中的存儲操作FLoad_t的指令格式為:
FLoad_t Rd, FReg_tmp, SrcA, SrcB
其中,Rd為存儲操作FLoad_t來自向量存儲指令FLoad中的目的操作數(shù),F(xiàn)Reg_tmp為存儲操作FLoad_t的另一個目的操作數(shù),SrcA, SrcB來自向量存儲指令FLoad中兩個源操作數(shù),存儲操作FLoad_t的目的操作數(shù)FReg_tmp用于存儲操作FLoad_t不用對產(chǎn)生的異常信息作特別計算而是直接輸出到目的操作數(shù)FReg_tmp對應(yīng)的寄存器中。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國人民解放軍國防科技大學(xué),未經(jīng)中國人民解放軍國防科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911113844.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





