[發(fā)明專利]指令翻譯方法和裝置在審
| 申請?zhí)枺?/td> | 201711099249.2 | 申請日: | 2017-11-09 |
| 公開(公告)號: | CN109766129A | 公開(公告)日: | 2019-05-17 |
| 發(fā)明(設(shè)計(jì))人: | 劉倩 | 申請(專利權(quán))人: | 北京君正集成電路股份有限公司 |
| 主分類號: | G06F9/30 | 分類號: | G06F9/30 |
| 代理公司: | 北京智為時(shí)代知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11498 | 代理人: | 王加嶺;楊靜 |
| 地址: | 100094 北京市海淀區(qū)西*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 狀態(tài)寄存器 指令翻譯 全局變量 翻譯 方法和裝置 影響狀態(tài)寄存器 指令 方案解決 技術(shù)效果 記錄指令 有效減少 運(yùn)行影響 指令運(yùn)行 記錄 保證 | ||
本發(fā)明提供了一種指令翻譯方法和裝置,其中,該方法包括:定義MIPS狀態(tài)寄存器,其中,MIPS狀態(tài)寄存器用于記錄指令運(yùn)行影響狀態(tài);定義影響所述MIPS狀態(tài)寄存器的MIPS指令;通過所述MIPS狀態(tài)寄存器進(jìn)行ARM指令翻譯。通過上述方案解決了現(xiàn)有的MIPS中不存在指令運(yùn)行影響狀態(tài)寄存器的機(jī)制,從而導(dǎo)致magicode在翻譯指令時(shí),不得不定義一個(gè)全局變量記錄下此時(shí)ARM APSR狀態(tài)寄存器的值,并在翻譯過程中不斷的修改這個(gè)全局變量,以保證ARM指令翻譯的正確性,而導(dǎo)致在翻譯過程中就會有大量的代碼來記錄和修改這個(gè)全局變量,從而延長了翻譯時(shí)間的技術(shù)問題,達(dá)到了有效減少指令翻譯時(shí)間的技術(shù)效果。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種指令翻譯方法和裝置。
背景技術(shù)
通過magicode可以實(shí)現(xiàn)在MIPS((Microprocessor without interlocked pipedstages,無內(nèi)部互鎖流水級的微處理器)平臺上的Android系統(tǒng)中解釋執(zhí)行ARM(Acorn RISCMachine)可執(zhí)行程序和動態(tài)庫的功能。
在magicode翻譯ARM指令的過程中,由于很多ARM指令不僅可以實(shí)現(xiàn)這條指令的功能,同時(shí)會在運(yùn)行時(shí)影響狀態(tài)寄存器的值,并會在后面的運(yùn)行中使用到這個(gè)狀態(tài)寄存器中的值。
例如,指令’movs rd,imm’,不僅可以將立即數(shù)imm放到寄存器rd中,還會影響到ARM狀態(tài)寄存器APSR的c位。而MIPS中不存在這種指令運(yùn)行影響狀態(tài)寄存器的機(jī)制。因此,magicode在翻譯這類指令時(shí),不得不定義一個(gè)全局變量記錄下此時(shí)ARM APSR狀態(tài)寄存器的值,并在翻譯過程中不斷的修改這個(gè)全局變量,以保證ARM指令翻譯的正確性。這樣,在翻譯過程中就會有大量的代碼來記錄和修改這個(gè)全局變量,從而延長了翻譯時(shí)間。
針對上述問題,目前尚未提出有效的解決方案
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種指令翻譯方法,以達(dá)到減少翻譯時(shí)間的目的,該方法包括:
定義MIPS狀態(tài)寄存器,其中,MIPS狀態(tài)寄存器用于記錄指令運(yùn)行影響狀態(tài);
定義影響所述MIPS狀態(tài)寄存器的MIPS指令;
通過所述MIPS狀態(tài)寄存器進(jìn)行ARM指令翻譯。
在一個(gè)實(shí)施方式中,在定義MIPS狀態(tài)寄存器之后,所述方法還包括:
定義所述MIPS狀態(tài)寄存器中每個(gè)位置的含義和修改方式。
在一個(gè)實(shí)施方式中,通過所述MIPS狀態(tài)寄存器進(jìn)行ARM指令翻譯,包括:
通過MIPS指令影響所述MIPS狀態(tài)寄存器的值,以使得所述MIPS狀態(tài)寄存器與ARM狀態(tài)寄存器的值保持一致。
在一個(gè)實(shí)施方式中,定義所述MIPS狀態(tài)寄存器中每個(gè)位置的含義,包括:
定義位置0為V,定義位置1為C,定義位置2為Z,定義位置3為N,定義位置4為UGT,定義位置5為SGE,定義位置6為SGT,定義位置8為F,定義位置9為A。
在一個(gè)實(shí)施方式中,在通過所述MIPS狀態(tài)寄存器進(jìn)行ARM指令翻譯之后,所述方法還包括:
確定指令翻譯的效率。
在一個(gè)實(shí)施方式中,所述確定指令翻譯的效率包括:
通過翻譯一條ARM指令所需的MIPS條數(shù),確定指令翻譯的效率。
本發(fā)明實(shí)施例還提供了一種指令翻譯裝置,以達(dá)到減少翻譯時(shí)間的目的,該裝置包括:
第一定義模塊,用于定義MIPS狀態(tài)寄存器其中,MIPS狀態(tài)寄存器用于記錄指令運(yùn)行影響狀態(tài);
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京君正集成電路股份有限公司,未經(jīng)北京君正集成電路股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711099249.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 對狀態(tài)寄存器進(jìn)行重命名的方法和使用該方法的處理器
- 使用影子寄存器的高效硬件實(shí)現(xiàn)的設(shè)備及其方法
- 查詢隊(duì)列狀態(tài)的方法與裝置
- 一種適用于RISC-V架構(gòu)的非屏蔽中斷處理系統(tǒng)及方法
- 一種基于RISC-V架構(gòu)的異常和中斷處理系統(tǒng)及方法
- 一種設(shè)備檢測方法及裝置
- 一種低功耗的處理器寄存器堆控制方法
- 一種有限狀態(tài)自動機(jī)的狀態(tài)鎖的檢測方法及系統(tǒng)
- 一種用于實(shí)現(xiàn)自增指令的方法及系統(tǒng)
- 數(shù)據(jù)處理系統(tǒng)中控制異步程序中斷事件的設(shè)備和方法
- 一種動態(tài)二進(jìn)制翻譯中的翻譯方法
- 中間語言的延遲跳轉(zhuǎn)指令二進(jìn)制翻譯實(shí)現(xiàn)的方法
- 禁止已翻譯指令序列執(zhí)行的方法、裝置和虛擬機(jī)
- 基于執(zhí)行樹深度的二進(jìn)制翻譯方法和裝置
- 操控翻譯機(jī)的方法和指環(huán)遙控器
- 指令翻譯電路、處理器電路及其執(zhí)行方法
- 一種支持多用戶TWS藍(lán)牙耳機(jī)的翻譯系統(tǒng)
- 一種支持TWS藍(lán)牙耳機(jī)的翻譯系統(tǒng)
- 支持源指令執(zhí)行過程仿真的擴(kuò)展浮點(diǎn)運(yùn)算
- 仿真系統(tǒng)和方法





