新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 80C51虛擬指令執(zhí)行系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

80C51虛擬指令執(zhí)行系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2011-07-04 來(lái)源:網(wǎng)絡(luò) 收藏

摘要:文中以的體系結(jié)構(gòu)和為基礎(chǔ),,包括器和存儲(chǔ)器。這種方法適用于存儲(chǔ)空間和指令規(guī)模與相似的單片機(jī)指令,也可根據(jù)需要,增加對(duì)80C51單片機(jī)的虛擬范圍。
關(guān)鍵字:80C51;虛擬;指令系統(tǒng)

0 引言
在進(jìn)行嵌入式系統(tǒng)開發(fā)時(shí),通常是在宿主機(jī)上通過(guò)交叉編譯方式生成目標(biāo)機(jī)平臺(tái)的二進(jìn)制代碼,然后將其寫入目標(biāo)機(jī)中運(yùn)行,這種開發(fā)方法的一個(gè)缺點(diǎn)是不易調(diào)試生成的目標(biāo)代碼邏輯,因此,目前許多交叉編譯工具都具有在宿主機(jī)上調(diào)試源代碼的功能。要讓目標(biāo)機(jī)平臺(tái)的二進(jìn)制代碼能夠在宿主機(jī)上運(yùn)行,必須提供一個(gè)虛擬的能夠目標(biāo)機(jī)指令的系統(tǒng)。本文以80C51單片機(jī)為目標(biāo)機(jī),基于X86平臺(tái)的PC機(jī)為宿主機(jī),給出了一種在宿主機(jī)上構(gòu)造虛擬目標(biāo)機(jī)指令執(zhí)行系統(tǒng)的方法。

1 虛擬指令執(zhí)行系統(tǒng)簡(jiǎn)介
本文所述的80C51虛擬指令執(zhí)行系統(tǒng)是指用軟件來(lái)模擬80C51指令的執(zhí)行過(guò)程和執(zhí)行效果,它主要由虛擬指令執(zhí)行器和虛擬存儲(chǔ)器組成。虛擬指令執(zhí)行器是虛擬指令執(zhí)行系統(tǒng)的核心模塊,它將指令的執(zhí)行過(guò)程分為取指令、分析指令和執(zhí)行指令三個(gè)階段,模擬這三個(gè)階段的操作并虛擬出指令的執(zhí)行效果。虛擬存儲(chǔ)系統(tǒng)是虛擬指令執(zhí)行系統(tǒng)必不可少的模塊,它反映著虛擬指令執(zhí)行器執(zhí)行指令的效果,本文以80C51體系中存儲(chǔ)器的結(jié)構(gòu)為依據(jù),虛擬出存儲(chǔ)器空間和寄存器,并提供了虛擬指令執(zhí)行器訪問(wèn)虛擬存儲(chǔ)器的接口。
圖1是虛擬80C51指令執(zhí)行系統(tǒng)的總體結(jié)構(gòu)圖,同時(shí)圖1也顯示了系統(tǒng)運(yùn)行的三個(gè)基本過(guò)程:

本文引用地址:http://2s4d.com/article/172643.htm

a.JPG


(1)加載二進(jìn)制文件到虛擬存儲(chǔ)器的ROM中
(2)虛擬指令執(zhí)行器周期性地從虛擬存儲(chǔ)器的ROM中取指令、分析指令并且執(zhí)行指令
(3)指令在執(zhí)行過(guò)程中通過(guò)讀寫虛擬存儲(chǔ)器中的內(nèi)存和寄存器來(lái)反映指令執(zhí)行效果
顯然,上述過(guò)程是圍繞著虛擬指令執(zhí)行器和虛擬存儲(chǔ)器進(jìn)行的。

2 虛擬存儲(chǔ)器的
加載過(guò)程和虛擬指令執(zhí)行器都依賴于虛擬存儲(chǔ)器,因此先介紹虛擬存儲(chǔ)器的是必要的。從訪問(wèn)的角度分析,寄存器和存儲(chǔ)器具有同樣的屬性,可以使用類似的實(shí)現(xiàn)方法虛擬它們。本文虛擬存儲(chǔ)器的范圍包括虛擬的存儲(chǔ)空間和寄存器。
2.1 虛擬80C51存儲(chǔ)空間
80C51的存儲(chǔ)空間除了有ROM和RAM之分,還有片內(nèi)和片外之分。80C51指令在執(zhí)行的時(shí)候訪問(wèn)的數(shù)據(jù)可以存在于以下四種類型的存儲(chǔ)單元中:片內(nèi)ROM,片外ROM,片內(nèi)RAM,片外RAM,它們的地址空間見(jiàn)表1。

b.JPG


上一頁(yè) 1 2 3 4 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉