[發(fā)明專利]一種DSP C2812處理器指令集虛擬化仿真方法有效
| 申請(qǐng)?zhí)枺?/td> | 202211114551.1 | 申請(qǐng)日: | 2022-09-14 |
| 公開(公告)號(hào): | CN115480872B | 公開(公告)日: | 2023-04-28 |
| 發(fā)明(設(shè)計(jì))人: | 付修鋒;賈張濤;邵颯;安恒;張建偉;孔祥炳;金玉川;李雅斯;安順;劉美佳 | 申請(qǐng)(專利權(quán))人: | 北京計(jì)算機(jī)技術(shù)及應(yīng)用研究所 |
| 主分類號(hào): | G06F9/455 | 分類號(hào): | G06F9/455 |
| 代理公司: | 中國(guó)兵器工業(yè)集團(tuán)公司專利中心 11011 | 代理人: | 劉瑞東 |
| 地址: | 100854*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 dsp c2812 處理器 指令 虛擬 仿真 方法 | ||
1.一種DSP?C2812處理器指令集虛擬化仿真方法,其特征在于,該方法包括如下步驟:
S1、DSP?C2812目標(biāo)文件解析
打開DSP?C2812編譯后的可執(zhí)行文件*.out,獲取Program?Header對(duì)應(yīng)的代碼段;
S2、DSP?C2812內(nèi)存仿真及代碼加載
采用鏈表結(jié)構(gòu)對(duì)DSP?C2812處理器內(nèi)存進(jìn)行仿真,記為DSP-C2812-Vmemory,并加載Program?Header對(duì)應(yīng)的代碼段,模擬DSP?C2812的內(nèi)存讀寫操作;
S3、DSP?C2812寄存器仿真
通過數(shù)組模擬寄存器,通過數(shù)組操作模擬寄存器讀寫操作,實(shí)現(xiàn)寄存器的模擬;
S4、DSP?C2812指令描述
每條指令有一個(gè)唯一的表示,每條指令分為不同的段;將指令分段的方式進(jìn)行描述,獲取指令I(lǐng)nstruction的操作碼opcode信息;構(gòu)建指令操作碼信息數(shù)組C2812InstructionDesp[123],并將DSP?C2812所有指令I(lǐng)nstruction進(jìn)行描述,并存儲(chǔ)到指令操作碼信息數(shù)組C2812InstructionDesp[123]中;
S5、DSP?C2812讀取指令
根據(jù)程序計(jì)數(shù)器PC(Program?Count)的值,從DSP?C2812仿真內(nèi)存DSP-C2812-Vmemory中讀取指令,獲取當(dāng)前PC對(duì)應(yīng)的指令PC-Instruction;
S6、DSP?C2812指令譯碼
根據(jù)DSP?C2812指令描述,逐個(gè)計(jì)算指令PC-Instruction的操作碼與C2812InstructionDesp[123]的對(duì)應(yīng)bit位是否相同,若PC-Instruction與C2812InstructionDesp[123]中第k個(gè)指令描述對(duì)應(yīng)的位置相同,則完成指令譯碼;
S7、DSP?C2812指令翻譯
對(duì)DSP?C2812指令集進(jìn)行功能翻譯,并對(duì)每條指令的進(jìn)行操作模擬,保證運(yùn)行的內(nèi)存、寄存器保持一致;并將每個(gè)指令對(duì)應(yīng)的函數(shù)名稱存儲(chǔ)到指令翻譯譯碼數(shù)組中,存儲(chǔ)順序與指令譯碼數(shù)組順序保持一致;
S8、DSP?C2812指令執(zhí)行
根據(jù)指令數(shù)量,進(jìn)行循環(huán)取指、譯碼、指令翻譯,并根據(jù)函數(shù)指針,執(zhí)行指令操作;連續(xù)仿真,直到完成所有指令執(zhí)行,實(shí)現(xiàn)針對(duì)DSP?C2812的處理器指令集仿真。
2.如權(quán)利要求1所述的DSP?C2812處理器指令集虛擬化仿真方法,其特征在于,所述步驟S1具體包括:
S11、打開DSP?C2812編譯后的可執(zhí)行文件*.out,讀取文件信息;
S12、按照DSP?C2812編譯后的可執(zhí)行文件的格式,讀取文件信息中的File?Header、Section?Header、Program?Header信息,獲取Program?Header對(duì)應(yīng)的代碼段。
3.如權(quán)利要求2所述的DSP?C2812處理器指令集虛擬化仿真方法,其特征在于,所述步驟S2具體包括:
S21、采用鏈表結(jié)構(gòu)對(duì)DSP?C2812處理器內(nèi)存進(jìn)行仿真,其中鏈表結(jié)構(gòu)體C2812MemoryPage大小為256個(gè)字,鏈表結(jié)構(gòu)體C2812MemoryPage包括:起始虛擬地址MemoryPageBeginAddress、結(jié)束虛擬地址MemoryPageEndAddress、內(nèi)存塊MemoryPage、下一個(gè)內(nèi)存節(jié)點(diǎn)指針NEXT和前一個(gè)內(nèi)存節(jié)點(diǎn)指針PRE;
S22、將DSP?C2812芯片仿真內(nèi)存記為DSP-C2812-Vmemory;將S1獲取的Program?Header對(duì)應(yīng)的代碼段,寫入到DSP?C2812芯片仿真內(nèi)存中,并根據(jù)代碼段的大小,維護(hù)整個(gè)仿真內(nèi)存結(jié)構(gòu)。
4.如權(quán)利要求3所述的DSP?C2812處理器指令集虛擬化仿真方法,其特征在于,如果代碼段不大于256,創(chuàng)建一個(gè)C2812MemoryPage,并將代碼段寫到C2812MemoryPage中去;如果代碼段大于256,創(chuàng)建多個(gè)C2812MemoryPage組成鏈表結(jié)構(gòu),并將代碼段按順序?qū)懙綄?duì)應(yīng)的C2812MemoryPage中去,并維護(hù)各個(gè)C2812MemoryPage的MemoryPageBeginAddress、MemoryPageEndAddress信息,保證鏈表結(jié)構(gòu)信息的正確性。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京計(jì)算機(jī)技術(shù)及應(yīng)用研究所,未經(jīng)北京計(jì)算機(jī)技術(shù)及應(yīng)用研究所許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211114551.1/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 基于TMS320F2812的永磁同步電機(jī)驅(qū)動(dòng)器
- 一種變流器監(jiān)控系統(tǒng)
- 基于數(shù)字信號(hào)處理器的自動(dòng)檢測(cè)系統(tǒng)及其控制方法
- 一種風(fēng)力發(fā)電機(jī)故障信息診斷裝置
- 基于DSP2812的CAN通信通道間通訊設(shè)計(jì)方法
- 一種基于DSP和FPGA的靜止無功補(bǔ)償控制器
- 一種基于GSP和F2812的運(yùn)動(dòng)控制系統(tǒng)
- 一種基于TMS320F2812的直流電機(jī)調(diào)速系統(tǒng)
- 充氣泵(C2812)
- 充氣泵(C2812)





