chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

電子發(fā)燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開(kāi)發(fā)>FORTH虛擬機(jī)實(shí)現(xiàn)原理分析

FORTH虛擬機(jī)實(shí)現(xiàn)原理分析

2017-10-17 | rar | 0.6 MB | 次下載 | 1積分

資料介紹

 1.引言
  虛擬機(jī)最初是美國(guó)計(jì)算機(jī)科學(xué)家波佩克(Popek)與戈德堡(Gerald)在虛擬化需求中給出了定義,專指有效的、孤立的真實(shí)計(jì)算機(jī)的副本,現(xiàn)在則指可像真實(shí)計(jì)算機(jī)一樣運(yùn)行程序的軟件實(shí)現(xiàn),包括跟任何真實(shí)計(jì)算機(jī)無(wú)關(guān)的虛擬機(jī)。根據(jù)運(yùn)用和與機(jī)器的相關(guān)性可分為系統(tǒng)虛擬機(jī)和程序虛擬機(jī),一個(gè)提供了完整的操作系統(tǒng),另一個(gè)則以運(yùn)行單個(gè)計(jì)算機(jī)程序?yàn)橹鳌?br />   在嵌入式應(yīng)用領(lǐng)域,嵌入式系統(tǒng)相關(guān)的CPU芯片和微計(jì)算機(jī)硬件系統(tǒng)種類繁多,并且不斷推陳出新,甚至多核處理器已被普遍采用。但是在新平臺(tái)上,難以針對(duì)每一種芯片或平臺(tái)制定一種計(jì)算機(jī)語(yǔ)言來(lái)編程。解決的方法一是可采用公共計(jì)算機(jī)語(yǔ)言,用不同的編譯器來(lái)生成機(jī)器碼,但該方法需要具有該語(yǔ)言的編譯器,在新平臺(tái)上往往難以具備。另一種方法即建立一個(gè)虛擬機(jī),然后用一個(gè)計(jì)算機(jī)語(yǔ)言,用一個(gè)解釋器來(lái)解釋執(zhí)行。采用該方法,難點(diǎn)在于嵌入式虛擬機(jī)的構(gòu)建,要能夠適應(yīng)多種環(huán)境、快速構(gòu)建、可擴(kuò)展。
  FORTH是一種與眾不同的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。它具有極強(qiáng)的擴(kuò)展性,通過(guò)字的定義,可實(shí)現(xiàn)不斷堆疊和擴(kuò)展。同時(shí),它又具有極好的交互性,指令可解釋執(zhí)行,這就為應(yīng)用的調(diào)試帶來(lái)了極大的便捷。本文基于FORTH語(yǔ)言,以自主構(gòu)建的JLPFORTH虛擬平臺(tái)為例,詳細(xì)闡述FORTH虛擬機(jī)的實(shí)現(xiàn)原理和核心實(shí)現(xiàn)方法,模擬和實(shí)現(xiàn)了通用的交互式計(jì)算機(jī)結(jié)構(gòu),實(shí)現(xiàn)了真實(shí)計(jì)算機(jī)的典型工作流程[4],并且一改過(guò)去FORTH代碼和數(shù)據(jù)混合存儲(chǔ)的方式,在內(nèi)存的存儲(chǔ)上以分段的方式將內(nèi)存分為CS、VS、DS、SS四個(gè)段,分別存儲(chǔ)指令和數(shù)據(jù),這樣,就實(shí)現(xiàn)了系統(tǒng)指令和用戶數(shù)據(jù)的分離,有效地提高了代碼和系統(tǒng)的安全性,并且調(diào)試方便、擴(kuò)展性強(qiáng),尤其適合應(yīng)用于對(duì)安全性、兼容性、移植性、擴(kuò)展性、交互性要求高的嵌入式系統(tǒng)領(lǐng)域。
  2.FORTH虛擬機(jī)實(shí)現(xiàn)原理
  真實(shí)計(jì)算機(jī)的基本工作原理是存儲(chǔ)和控制。計(jì)算機(jī)在控制器的指揮下,取出預(yù)先存儲(chǔ)的指令序列(即程序)和數(shù)據(jù),通過(guò)控制器譯碼,按指令的要求,取出數(shù)據(jù)完成運(yùn)算,再把結(jié)果重新存儲(chǔ)起來(lái),如此循環(huán),直至完成全部指令。對(duì)真實(shí)計(jì)算機(jī)來(lái)說(shuō),這個(gè)過(guò)程依托中央處理器CPU來(lái)實(shí)現(xiàn),CPU包括運(yùn)算器、控制器和寄存器。如果描述CPU核心工作過(guò)程,主要包括以下步驟:
  (1)提取程序計(jì)數(shù)器值,該值指向的地址即指令地址;
 ?。?)從該地址取出指令;
 ?。?)程序計(jì)數(shù)器增加指令長(zhǎng)度,即指向下一條指令地址;
  (4)解碼執(zhí)行指令;
  (5)返回結(jié)果。
  由于FORTH虛擬機(jī)是工作在真實(shí)計(jì)算機(jī)上的,因此要實(shí)現(xiàn)FORTH虛擬機(jī)必須用對(duì)應(yīng)關(guān)系依托真實(shí)計(jì)算機(jī)的代碼來(lái)實(shí)現(xiàn)這個(gè)核心過(guò)程。
  在FORTH虛擬機(jī)中,用核心算法--NEXT模擬了這個(gè)過(guò)程,將虛擬機(jī)指令和真實(shí)計(jì)算機(jī)指令實(shí)現(xiàn)對(duì)應(yīng),通過(guò)建立字典表,設(shè)置地址跳轉(zhuǎn),以串線碼的方式將虛擬機(jī)命令字和直接機(jī)器指令實(shí)現(xiàn)對(duì)應(yīng),依托真實(shí)計(jì)算機(jī)指令完成了CPU的處理過(guò)程。如圖1所示。
  FORTH虛擬機(jī)實(shí)現(xiàn)原理分析
  具體過(guò)程是:在FORTH定義字時(shí)創(chuàng)建鏈結(jié)構(gòu)的字典表,在其中存儲(chǔ)各個(gè)字的名稱、長(zhǎng)度、狀態(tài)、指令碼以及鏈接指針。例如定義FORTH字S:S DUP *;在字典表存放了各個(gè)FORTH高級(jí)字的名稱和代碼執(zhí)行地址,其中也有S字的定義,在S字的代碼場(chǎng)中存有S字的代碼執(zhí)行地址,該代碼執(zhí)行地址與code所描述的直接機(jī)器執(zhí)行代碼相對(duì)應(yīng),構(gòu)成間接串線編碼。當(dāng)執(zhí)行該指令時(shí),首先查找字典表,找到S定義后,取出其WPF指令碼中存放的地址,然后跳轉(zhuǎn)到代碼場(chǎng)該地址中,由于是FORTH高級(jí)字定義,所以首先執(zhí)行“:”機(jī)器碼將程序計(jì)數(shù)器所記錄的下一條指令返回地址壓入棧,然后跳轉(zhuǎn)到參數(shù)場(chǎng)地址依序執(zhí)行,直到最后的“;”返回指令執(zhí)行后,再將原先存入棧的返回地址彈出,這樣即完成一條指令的執(zhí)行。其中,代碼場(chǎng)和參數(shù)場(chǎng)分別存儲(chǔ)指令和參數(shù)。以下以JLP FORTH虛擬機(jī)為例,詳細(xì)描述其字典表、代碼場(chǎng)、參數(shù)場(chǎng)的定義、虛擬機(jī)存儲(chǔ)和指針的分配,以及核心算法。
  3.指令的定義和存儲(chǔ)
  FORTH虛擬計(jì)算機(jī)采用該虛擬指令的存儲(chǔ)地址來(lái)表示該指令,稱為“地址碼”。虛擬計(jì)算機(jī)的每個(gè)指令用名稱(例如+、-、*)來(lái)表示,稱為“字(Word)”。FORTH虛擬計(jì)算機(jī)的指令包括“復(fù)合字”和“基本字”?;咀忠卜Q為“低級(jí)字”,由真實(shí)計(jì)算機(jī)機(jī)器碼和數(shù)據(jù)組成的,低級(jí)字組合可構(gòu)成“復(fù)合字”,所以,“復(fù)合字”也稱為“高級(jí)字”。
  高級(jí)字和低級(jí)字都可通過(guò)定義擴(kuò)展。擴(kuò)展高級(jí)字用“:”冒號(hào)定義,通過(guò)高級(jí)字定義用已有的指令形成新的指令。格式如下:
 ?。好?… leave … ;其中執(zhí)行l(wèi)eave指令可以跳出該FORTH字的執(zhí)行,忽略掉其后的指令。擴(kuò)展低級(jí)字則用機(jī)器碼定義,格式如下:
  CODE名字 … … NEXT, END-CODE其中NEXT,指令可以讓計(jì)算機(jī)執(zhí)行下一條虛擬機(jī)指令。
  對(duì)于真實(shí)計(jì)算機(jī),用編譯器生成的指令碼序列中不需要保留指令名稱。FORTH虛擬計(jì)算機(jī)不同,由于需要虛擬機(jī)執(zhí)行和構(gòu)造新的虛擬機(jī)指令,因此在虛擬計(jì)算機(jī)中要保留FORTH字的名稱,用于存儲(chǔ)FORTH字的存儲(chǔ)空間就是“字典表”。在JLP FORTH虛擬平臺(tái)中,字典表結(jié)構(gòu)如表1,在圖1中也有標(biāo)注。
  FORTH虛擬機(jī)實(shí)現(xiàn)原理分析
  WPF里存儲(chǔ)的指令碼即FORTH字在存儲(chǔ)空間的地址。由于允許FORTH字的名稱長(zhǎng)度不一樣,因此采用鏈表結(jié)構(gòu)可有效地存儲(chǔ)它們,在LPF中即存放了下一個(gè)字的定義地址。
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1MDD品牌三極管BC807數(shù)據(jù)手冊(cè)
  2. 3.00 MB   |  次下載  |  免費(fèi)
  3. 2MDD品牌三極管BC817數(shù)據(jù)手冊(cè)
  4. 2.51 MB   |  次下載  |  免費(fèi)
  5. 3MDD品牌三極管D882數(shù)據(jù)手冊(cè)
  6. 3.49 MB  |  次下載  |  免費(fèi)
  7. 4MDD品牌三極管MMBT2222A數(shù)據(jù)手冊(cè)
  8. 3.26 MB  |  次下載  |  免費(fèi)
  9. 5MDD品牌三極管MMBTA56數(shù)據(jù)手冊(cè)
  10. 3.09 MB  |  次下載  |  免費(fèi)
  11. 6MDD品牌三極管MMBTA92數(shù)據(jù)手冊(cè)
  12. 2.32 MB  |  次下載  |  免費(fèi)
  13. 7STM32G474 HRTIME PWM 丟波問(wèn)題分析與解決
  14. 1.00 MB   |  次下載  |  3 積分
  15. 8新能源電動(dòng)汽車高壓線束的銅鋁連接解決方案
  16. 2.71 MB   |  次下載  |  2 積分

本月

  1. 1愛(ài)華AIWA HS-J202維修手冊(cè)
  2. 3.34 MB   |  37次下載  |  免費(fèi)
  3. 2NB-IoT芯片廠商的資料說(shuō)明
  4. 0.31 MB   |  22次下載  |  1 積分
  5. 3PC5502負(fù)載均流控制電路數(shù)據(jù)手冊(cè)
  6. 1.63 MB   |  22次下載  |  免費(fèi)
  7. 4H110主板CPU PWM芯片ISL95858HRZ-T核心供電電路圖資料
  8. 0.63 MB   |  6次下載  |  1 積分
  9. 5UWB653Pro USB口測(cè)距通信定位模塊規(guī)格書(shū)
  10. 838.47 KB  |  5次下載  |  免費(fèi)
  11. 6技嘉H110主板IT8628E_BX IO電路圖資料
  12. 2.61 MB   |  4次下載  |  1 積分
  13. 7蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
  14. 0.04 MB   |  4次下載  |  1 積分
  15. 8蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
  16. 0.08 MB   |  2次下載  |  1 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935137次下載  |  10 積分
  3. 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191439次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  10. 158M  |  183353次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81602次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73822次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65991次下載  |  10 積分