[發(fā)明專利]一種兼容多指令系統(tǒng)的處理器及其運(yùn)行方法有效
| 申請(qǐng)?zhí)枺?/td> | 201911157061.8 | 申請(qǐng)日: | 2019-11-22 |
| 公開(公告)號(hào): | CN111124499B | 公開(公告)日: | 2022-11-01 |
| 發(fā)明(設(shè)計(jì))人: | 王劍 | 申請(qǐng)(專利權(quán))人: | 中國(guó)科學(xué)院計(jì)算技術(shù)研究所 |
| 主分類號(hào): | G06F9/38 | 分類號(hào): | G06F9/38 |
| 代理公司: | 北京律誠(chéng)同業(yè)知識(shí)產(chǎn)權(quán)代理有限公司 11006 | 代理人: | 祁建國(guó);張燕華 |
| 地址: | 100080 北*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 兼容 指令系統(tǒng) 處理器 及其 運(yùn)行 方法 | ||
本發(fā)明提出一種兼容多指令系統(tǒng)的處理器及其運(yùn)行方法,包括:可編程的譯碼部件,用于將待執(zhí)行的指令根據(jù)預(yù)編程的指令系統(tǒng),譯碼為微操作碼;執(zhí)行部件,用于通過(guò)讀寫數(shù)據(jù)緩存,執(zhí)行該微操作碼,得到執(zhí)行結(jié)果;寫回和提交部件,用于將該執(zhí)行結(jié)果寫回提交后,結(jié)束該指令的執(zhí)行。本發(fā)明可以用較小的硬件代價(jià)高效地實(shí)現(xiàn)同一款處理器兼容多種不同指令系統(tǒng)。
技術(shù)領(lǐng)域
本發(fā)明涉及處理器(CPU)設(shè)計(jì)領(lǐng)域,并特別涉及一種一種兼容多指令系統(tǒng)的處理器及其運(yùn)行方法。
背景技術(shù)
現(xiàn)有的處理器都是全硬件實(shí)現(xiàn),通常采用流水線的結(jié)構(gòu),如圖1所示,包括取指、譯碼、寄存器重命名、派發(fā)、發(fā)射、執(zhí)行、寫回、提交等主要部件。其中,取指部件從指令緩存中讀取指令,經(jīng)過(guò)譯碼和寄存器重命名后形成后續(xù)部件可執(zhí)行的微操作碼,執(zhí)行部件執(zhí)行微操作碼,同時(shí)可能會(huì)讀寫數(shù)據(jù)緩存,派發(fā)是將譯碼和寄存器重命名后的指令微操作存入發(fā)射隊(duì)列等待發(fā)射;發(fā)射是從發(fā)射隊(duì)列中選擇滿足執(zhí)行條件的指令微操作到執(zhí)行部件執(zhí)行。派發(fā)部件和發(fā)射部件共享一個(gè)指令微操作發(fā)射隊(duì)列。寫回和提交部件完成數(shù)據(jù)的寫回并結(jié)束指令的執(zhí)行,其中寫回具體是將指令微操作執(zhí)行產(chǎn)生的結(jié)果寫回寄存器。提交是確認(rèn)指令寫回寄存器的結(jié)果已經(jīng)生效,不會(huì)被取消。在亂序執(zhí)行的處理器流水線中,指令微操作在提交階段之前(包括寫回階段)所做的操作都有可能是猜測(cè)執(zhí)行,都有可能因?yàn)椴聹y(cè)錯(cuò)誤被取消。提交階段是從亂序回到順序的一個(gè)確認(rèn)階段。只有真正執(zhí)行的指令才會(huì)到達(dá)提交階段。
現(xiàn)有的處理器都是硬件實(shí)現(xiàn)一個(gè)指定的指令系統(tǒng),如X86指令系統(tǒng)、ARM指令系統(tǒng)、MIPS指令系統(tǒng)等。為了保持之前軟件的兼容性,同一款處理器通常會(huì)兼容同一指令系統(tǒng)的不同時(shí)期版本的子系統(tǒng),如實(shí)現(xiàn)X86-64指令系統(tǒng)同時(shí)兼容IA32指令系統(tǒng)(32位的X86指令),實(shí)現(xiàn)ARM64指令系統(tǒng)同時(shí)兼容ARM32指令系統(tǒng)。
目前的處理器都是只能實(shí)現(xiàn)一種指定的指令系統(tǒng),如X86處理器實(shí)現(xiàn)X86指令系統(tǒng),ARM處理器實(shí)現(xiàn)ARM指令系統(tǒng),MIPS處理器實(shí)現(xiàn)MIPS指令系統(tǒng),RISCV處理器實(shí)現(xiàn)RISCV指令系統(tǒng)等;或者兼容同一指令系統(tǒng)的不同時(shí)期版本的子系統(tǒng),如實(shí)現(xiàn)X86-64指令系統(tǒng)同時(shí)兼容IA32指令系統(tǒng)(32位的X86指令),實(shí)現(xiàn)ARM64指令系統(tǒng)兼容ARM32指令系統(tǒng)。但是,同一款處理器是無(wú)法硬件兼容不同的指令系統(tǒng),如X86處理器不能硬件執(zhí)行MIPS指令系統(tǒng)或者ARM指令系統(tǒng),反之亦然。兼容不同的指令系統(tǒng)只能采用軟件二進(jìn)制翻譯的形式,通過(guò)在原生處理器上運(yùn)行模擬其他指令系統(tǒng)的虛擬機(jī)軟件來(lái)實(shí)現(xiàn),效率十分低下。
發(fā)明內(nèi)容
本發(fā)明的目的是解決同一款處理器可高效兼容多種不同指令系統(tǒng)的不足,提出了一種基于軟件可編程的譯碼部件的兼容多指令系統(tǒng)的處理器設(shè)計(jì)方法和系統(tǒng)。
具體來(lái)說(shuō),本發(fā)明提供了一種兼容多指令系統(tǒng)的處理器,其中包括:
可編程的譯碼部件,用于將待執(zhí)行的指令根據(jù)預(yù)編程的指令系統(tǒng),譯碼為微操作碼;
執(zhí)行部件,用于通過(guò)讀寫數(shù)據(jù)緩存,執(zhí)行該微操作碼,得到執(zhí)行結(jié)果;
寫回和提交部件,用于將該執(zhí)行結(jié)果寫回提交后,結(jié)束該指令的執(zhí)行。
所述的兼容多指令系統(tǒng)的處理器,其中還包括:
微操作碼緩存,用于存儲(chǔ)可編程的譯碼部件譯碼產(chǎn)生的微操作碼,供后續(xù)該執(zhí)行部件讀取并執(zhí)行。
所述的兼容多指令系統(tǒng)的處理器,其中該指令系統(tǒng)為:X86指令系統(tǒng)或ARM指令系統(tǒng)或MIPS指令系統(tǒng)或其他指令系統(tǒng)。
所述的兼容多指令系統(tǒng)的處理器,其中該可編程的譯碼部件包括:指令緩存接口、執(zhí)行部件、譯碼程序緩存、譯碼數(shù)據(jù)緩存、微操作碼緩存接口和后續(xù)流水線同步接口;
其中該指令緩存接口,用于連接并訪問(wèn)處理器的指令緩存;
該譯碼程序緩存,用于保存當(dāng)前指令系統(tǒng)的譯碼程序;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國(guó)科學(xué)院計(jì)算技術(shù)研究所,未經(jīng)中國(guó)科學(xué)院計(jì)算技術(shù)研究所許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911157061.8/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 可重構(gòu)密碼協(xié)處理器的指令系統(tǒng)
- 運(yùn)算標(biāo)志寄存器的延遲重新分配
- 一種自動(dòng)指令系統(tǒng)的仿真方法及裝置
- 指令無(wú)線接口
- 一種兼容多指令系統(tǒng)的處理器及其運(yùn)行方法
- 可編程邏輯控制指令系統(tǒng)、方法、控制系統(tǒng)及存儲(chǔ)介質(zhì)
- 多模驅(qū)動(dòng)的快響衛(wèi)星開關(guān)指令系統(tǒng)及其設(shè)計(jì)與應(yīng)用方法
- Z-80微處理機(jī)指令系統(tǒng)手工匯編速查尺
- 一種宏指令集的指令體系
- 運(yùn)算標(biāo)志寄存器的延遲重新分配





