專(zhuān)利名稱(chēng):底層消息接口模擬方法及模擬裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)模擬與仿真技術(shù)領(lǐng)域,特別涉及一種底層消息接口模擬方法及模擬裝置。
背景技術(shù):
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)建模是以模擬的方法實(shí)現(xiàn)計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)。通過(guò)對(duì)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)建模,研究者能夠用可配置的結(jié)構(gòu)形式來(lái)考察目標(biāo)機(jī)軟件在被模擬的系統(tǒng)結(jié)構(gòu)上執(zhí)行時(shí)的行為與特征,使得在真實(shí)計(jì)算機(jī)系統(tǒng)平臺(tái)能夠使用以前,盡早發(fā)現(xiàn)該計(jì)算機(jī)結(jié)構(gòu)的設(shè)計(jì)問(wèn)題,實(shí)施該平臺(tái)的軟件開(kāi)發(fā)與調(diào)試。其中,全結(jié)構(gòu)狀態(tài)模擬和消息模擬是計(jì)算機(jī)結(jié)構(gòu)建模的兩個(gè)重要方面。全結(jié)構(gòu)包括用戶(hù)態(tài)結(jié)構(gòu)和系統(tǒng)態(tài)結(jié)構(gòu)。系統(tǒng)態(tài)結(jié)構(gòu)包括計(jì)算機(jī)的特權(quán)結(jié)構(gòu)、主存管理單元(MMU,Memory Management Unit)、異常與中斷處理和外部設(shè)備。全結(jié)構(gòu)狀態(tài)模擬支持操作系統(tǒng)(OS,Operating System)的引導(dǎo),能夠模擬考察OS的結(jié)構(gòu)行為,支持OS的模擬調(diào)試,但當(dāng)模擬運(yùn)行用戶(hù)程序時(shí),用戶(hù)虛地址空間是由被模擬的運(yùn)行時(shí)OS代碼動(dòng)態(tài)代換為物理地址空間的,不能夠被模擬軟件直接訪問(wèn);消息模擬實(shí)現(xiàn)用戶(hù)程序節(jié)點(diǎn)間消息通信功能的模擬,能夠模擬多節(jié)點(diǎn)并行計(jì)算機(jī)結(jié)構(gòu)的行為,支持并行軟件的模擬調(diào)試。傳統(tǒng)的模擬技術(shù)包括節(jié)點(diǎn)級(jí)模擬、用戶(hù)態(tài)模擬和全指令模擬等技術(shù)。節(jié)點(diǎn)級(jí)模擬不模型化多節(jié)點(diǎn)并行結(jié)構(gòu),不支持含有消息通信的并行程序模擬;而用戶(hù)態(tài)模擬不模型化系統(tǒng)態(tài)結(jié)構(gòu)的行為, 不支持OS結(jié)構(gòu)的模擬。全指令模擬是指模擬應(yīng)用程序代碼中能夠見(jiàn)到的所有指令,特別是既模擬底層消息接口調(diào)用指令,也模擬底層消息子過(guò)程實(shí)現(xiàn)的所有指令,消息空間的訪問(wèn)由被模擬的OS和消息子過(guò)程指令來(lái)完成。全指令模擬方法需要模擬與消息內(nèi)部實(shí)現(xiàn)有關(guān)的所有結(jié)構(gòu),模擬軟件復(fù)雜,模擬速度慢,這降低了底層消息接口以上各層軟件模擬開(kāi)發(fā)與調(diào)試的有效性,難以區(qū)分上層軟件和底層消息軟件的模擬行為。由此可見(jiàn),這些方法都有模擬功能上的不足或者存在模擬軟件復(fù)雜、模擬速度慢的缺陷,不能解決全結(jié)構(gòu)并行計(jì)算機(jī)消息的快速模擬問(wèn)題。相關(guān)技術(shù)還可參考申請(qǐng)?zhí)枮?8808090. 7的中國(guó)專(zhuān)利申請(qǐng),該專(zhuān)利申請(qǐng)公開(kāi)了一種指令仿真系統(tǒng)以及一種用宿主處理器來(lái)模擬目標(biāo)處理器的方法。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是提供一種全結(jié)構(gòu)并行計(jì)算機(jī)狀態(tài)下底層消息接口的模擬方法及模擬裝置,通過(guò)全結(jié)構(gòu)虛擬目標(biāo)機(jī)模式下消息接口的識(shí)別和消息參數(shù)虛地址的直接代換,直接模擬消息接口的功能,簡(jiǎn)化了模擬方式,并提高了消息模擬的效率。為解決上述問(wèn)題,本發(fā)明提供了一種底層消息接口模擬方法,包括模擬執(zhí)行目標(biāo)機(jī)的操作系統(tǒng);監(jiān)測(cè)所述目標(biāo)機(jī)的操作系統(tǒng)代碼中的進(jìn)程切換,并于監(jiān)測(cè)到所述進(jìn)程切換后觸發(fā)注釋機(jī)制,生成底層消息子過(guò)程索引表;
對(duì)目標(biāo)機(jī)指令流中的每一條指令進(jìn)行識(shí)別處理,并于識(shí)別出底層消息子過(guò)程調(diào)用指令時(shí)執(zhí)行該消息接口的模擬處理,獲取消息參數(shù)虛地址;將所述消息參數(shù)虛地址轉(zhuǎn)換為消息參數(shù)物理地址;調(diào)用所述底層消息子過(guò)程索引表執(zhí)行消息功能模擬,根據(jù)所述消息參數(shù)物理地址實(shí)現(xiàn)消息的傳遞。可選的,所述注釋機(jī)制包括從所述目標(biāo)機(jī)的操作系統(tǒng)的核心內(nèi)存中讀取將要切換進(jìn)程的進(jìn)程號(hào)和進(jìn)程名稱(chēng),并于識(shí)別出將要切換的進(jìn)程為應(yīng)用進(jìn)程后從其代碼中讀取符號(hào)表信息,從中抽取出底層消息子過(guò)程名稱(chēng)和地址,生成底層消息子過(guò)程索引表??蛇x的,所述底層消息子過(guò)程索引表包括底層消息子過(guò)程的名稱(chēng)、地址以及消息功能模擬調(diào)用入口??蛇x的,所述調(diào)用所述底層消息子過(guò)程索引表執(zhí)行消息功能模擬包括調(diào)用所述底層消息子過(guò)程索引表中的所述消息功能模擬調(diào)用入口,啟動(dòng)消息功能模擬??蛇x的,所述對(duì)目標(biāo)機(jī)指令流中的每一條指令進(jìn)行識(shí)別處理,并于識(shí)別出底層消息子過(guò)程調(diào)用指令時(shí)執(zhí)行該消息接口的模擬處理,獲取消息參數(shù)虛地址包括對(duì)目標(biāo)機(jī)指令流中的每一條指令進(jìn)行識(shí)別處理,并于識(shí)別為所述指令為轉(zhuǎn)移跳轉(zhuǎn)指令時(shí)取出其轉(zhuǎn)移目標(biāo)地址,將所述轉(zhuǎn)移目標(biāo)地址與所述底層消息子過(guò)程索引表中的底層消息子過(guò)程的地址進(jìn)行匹配,若匹配成功則識(shí)別出所述指令為底層消息子過(guò)程調(diào)用指令,執(zhí)行該消息接口的模擬處理,獲取消息參數(shù)虛地址??蛇x的,所述識(shí)別出將要切換的進(jìn)程為應(yīng)用進(jìn)程包括調(diào)用進(jìn)程名稱(chēng)切換處理函數(shù),由其對(duì)將要切換的進(jìn)程的進(jìn)程名稱(chēng)進(jìn)行識(shí)別,若將要切換的進(jìn)程不屬于系統(tǒng)進(jìn)程,則將要切換的進(jìn)程為應(yīng)用進(jìn)程??蛇x的,所述將所述消息參數(shù)虛地址轉(zhuǎn)換為消息參數(shù)物理地址是通過(guò)訪問(wèn)所述目標(biāo)機(jī)的操作系統(tǒng)的多級(jí)頁(yè)表完成的??蛇x的,所述消息參數(shù)虛地址包括消息參數(shù)中源方和目的方的虛地址??蛇x的,所述底層消息接口模擬方法基于全結(jié)構(gòu)并行計(jì)算機(jī)狀態(tài)。為解決上述問(wèn)題,本發(fā)明還提供了一種底層消息接口模擬裝置,包括指令流模擬控制模塊、應(yīng)用代碼底層消息識(shí)別模塊、消息接口模擬處理模塊、消息參數(shù)物理地址代換模塊,所述指令流模擬控制模塊用于控制模擬執(zhí)行目標(biāo)機(jī)代碼中的每一條指令,包括調(diào)用所述應(yīng)用代碼底層消息識(shí)別模塊并獲取其反饋結(jié)果;所述應(yīng)用代碼底層消息識(shí)別模塊用于接受所述指令流模擬控制模塊的調(diào)用,監(jiān)測(cè)所述目標(biāo)機(jī)的操作系統(tǒng)代碼中的進(jìn)程切換,并于監(jiān)測(cè)到所述進(jìn)程切換后觸發(fā)注釋機(jī)制,生成底層消息子過(guò)程索引表;還用于接受所述指令流模擬控制模塊的調(diào)用,對(duì)目標(biāo)機(jī)指令流中的每一條指令進(jìn)行識(shí)別處理,并于識(shí)別出底層消息子過(guò)程調(diào)用指令時(shí)調(diào)用所述消息接口模擬處理模塊使其執(zhí)行該消息接口的模擬處理;所述消息接口模擬處理模塊用于接受所述應(yīng)用代碼底層消息識(shí)別模塊的調(diào)用,獲取消息參數(shù)虛地址,調(diào)用所述消息參數(shù)物理地址代換模塊,同時(shí)將所述消息參數(shù)虛地址傳送給所述消息參數(shù)物理地址代換模塊進(jìn)行消息參數(shù)虛地址到消息參數(shù)物理地址的轉(zhuǎn)換;還用于調(diào)用所述底層消息子過(guò)程索引表執(zhí)行消息功能模擬,根據(jù)所述消息參數(shù)物理地址代換模塊返回的所述消息參數(shù)物理地址實(shí)現(xiàn)消息的傳遞。所述消息參數(shù)物理地址代換模塊用于接受所述消息接口模擬處理模塊的調(diào)用,將所述消息參數(shù)虛地址轉(zhuǎn)換為消息參數(shù)物理地址,并將所述消息參數(shù)物理地址返回給所述消息接口模擬處理模塊??蛇x的,所述應(yīng)用代碼底層消息識(shí)別模塊包括應(yīng)用代碼載入識(shí)別單元和底層消息子過(guò)程調(diào)用識(shí)別單元,所述應(yīng)用代碼載入識(shí)別單元用于監(jiān)測(cè)目標(biāo)機(jī)的操作系統(tǒng)代碼中的進(jìn)程切換,并于監(jiān)測(cè)到所述進(jìn)程切換后觸發(fā)注釋機(jī)制,生成底層消息子過(guò)程索引表;所述底層消息子過(guò)程調(diào)用識(shí)別單元用于對(duì)目標(biāo)機(jī)指令流中的每一條指令進(jìn)行識(shí)別處理,并于識(shí)別出底層消息子過(guò)程調(diào)用時(shí)調(diào)用所述消息接口模擬處理模塊使其執(zhí)行該消息接口的模擬處理。可選的,所述注釋機(jī)制包括所述應(yīng)用代碼載入識(shí)別單元從所述目標(biāo)機(jī)的操作系統(tǒng)的核心內(nèi)存中讀取將要切換進(jìn)程的進(jìn)程號(hào)和進(jìn)程名稱(chēng),并于識(shí)別出將要切換的進(jìn)程為應(yīng)用進(jìn)程后從其代碼中讀取符號(hào)表信息,從中抽取出底層消息子過(guò)程名稱(chēng)和地址,生成底層消息子過(guò)程索引表??蛇x的,所述底層消息子過(guò)程索引表包括底層消息子過(guò)程的名稱(chēng)、地址以及消息功能模擬調(diào)用入口??蛇x的,所述消息接口模擬處理模塊調(diào)用所述底層消息子過(guò)程索引表執(zhí)行消息功能模擬包括調(diào)用所述底層消息子過(guò)程索引表中的所述消息功能模擬調(diào)用入口,啟動(dòng)消息功能模擬??蛇x的,所述底層消息子過(guò)程調(diào)用識(shí)別單元對(duì)目標(biāo)機(jī)指令流中的每一條指令進(jìn)行識(shí)別處理,并于識(shí)別出底層消息子過(guò)程調(diào)用指令時(shí)調(diào)用所述消息接口模擬處理模塊使其執(zhí)行該消息接口的模擬處理,包括對(duì)目標(biāo)機(jī)指令流中的每一條指令進(jìn)行識(shí)別處理,并于識(shí)別出所述指令為轉(zhuǎn)移跳轉(zhuǎn)指令時(shí)取出其轉(zhuǎn)移目標(biāo)地址,將所述轉(zhuǎn)移目標(biāo)地址與所述底層消息子過(guò)程索引表中的底層消息子過(guò)程的地址進(jìn)行匹配,若匹配成功則識(shí)別出所述指令為底層消息子過(guò)程調(diào)用指令,調(diào)用所述消息接口模擬處理模塊使其執(zhí)行該消息接口的模擬處理。可選的,所述底層消息子過(guò)程調(diào)用識(shí)別單元識(shí)別出將要切換的進(jìn)程為應(yīng)用進(jìn)程包括調(diào)用進(jìn)程名稱(chēng)切換處理函數(shù),由其對(duì)將要切換的進(jìn)程的進(jìn)程名稱(chēng)進(jìn)行識(shí)別,若將要切換的進(jìn)程不屬于系統(tǒng)進(jìn)程,則將要切換的進(jìn)程為應(yīng)用進(jìn)程??蛇x的,所述消息參數(shù)物理地址代換模塊將所述消息參數(shù)虛地址轉(zhuǎn)換為消息參數(shù)物理地址是通過(guò)訪問(wèn)所述目標(biāo)機(jī)的操作系統(tǒng)的多級(jí)頁(yè)表完成的。可選的,所述消息參數(shù)虛地址包括消息參數(shù)中源方和目的方的虛地址。可選的,所述底層消息接口模擬裝置基于全結(jié)構(gòu)并行計(jì)算機(jī)狀態(tài)。另外,本發(fā)明還提供了一種模擬器,包括上述發(fā)明內(nèi)容任一項(xiàng)所述的底層消息接口模擬裝置。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)不需要進(jìn)行全指令模擬,跳過(guò)了消息接口實(shí)現(xiàn)中操作系統(tǒng)行為的模擬;而是在指令流模擬控制模塊的控制下調(diào)用應(yīng)用代碼底層消息識(shí)別模塊識(shí)別出底層消息子過(guò)程調(diào)用指令,由所述應(yīng)用代碼底層消息識(shí)別模塊調(diào)用所述消息接口模擬處理模塊使其執(zhí)行該消息接口的模擬處理,獲取消息參數(shù)虛地址并由所述消息接口模擬處理模塊調(diào)用消息參數(shù)物理地址代換模塊,對(duì)消息接口參數(shù)中的消息參數(shù)虛地址通過(guò)直接訪問(wèn)目標(biāo)機(jī)的操作系統(tǒng)多級(jí)頁(yè)表的方法代換成消息功能模擬直接訪問(wèn)的物理地址。因此,上述技術(shù)方案避免了對(duì)消息子過(guò)程實(shí)現(xiàn)指令的模擬,不需要引入消息通信指令及相應(yīng)硬件結(jié)構(gòu)的模擬,同時(shí)又基于全結(jié)構(gòu)并行計(jì)算機(jī)狀態(tài)支持了多節(jié)點(diǎn)消息功能的模擬,其模擬方式更為簡(jiǎn)單,因而更容易實(shí)施,并且提高了并行應(yīng)用程序的模擬效率。
圖1是本發(fā)明提供的底層消息接口模擬方法流程示意圖;圖2是本發(fā)明提供的底層消息接口模擬裝置的結(jié)構(gòu)示意圖;圖3是本發(fā)明提供的底層消息接口模擬裝置的實(shí)施方式示意圖;圖4是消息參數(shù)虛地址示意圖;圖5是用于消息參數(shù)物理地址代換的多級(jí)頁(yè)表格式示意圖。
具體實(shí)施例方式為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更為明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式
做詳細(xì)的說(shuō)明。在以下描述中闡述了具體細(xì)節(jié)以便于充分理解本發(fā)明。但是本發(fā)明能夠以多種不同于在此描述的其它方式來(lái)實(shí)施,本領(lǐng)域技術(shù)人員可以在不違背本發(fā)明內(nèi)涵的情況下做類(lèi)似推廣。因此本發(fā)明不受下面公開(kāi)的具體實(shí)施方式
的限制。圖1是本發(fā)明提供的底層消息接口模擬方法流程示意圖。為解決現(xiàn)有技術(shù)中模擬功能上的不足或者存在模擬軟件復(fù)雜、模擬速度慢的缺陷,不能解決全結(jié)構(gòu)并行計(jì)算機(jī)消息的快速模擬問(wèn)題,本發(fā)明提供的底層消息接口模擬方法如圖1所示,包括步驟S101,模擬執(zhí)行目標(biāo)機(jī)的操作系統(tǒng);步驟S102,監(jiān)測(cè)所述目標(biāo)機(jī)的操作系統(tǒng)代碼中的進(jìn)程切換,并于監(jiān)測(cè)到所述進(jìn)程切換后觸發(fā)注釋機(jī)制,生成底層消息子過(guò)程索引表;步驟S103,對(duì)目標(biāo)機(jī)指令流中的每一條指令進(jìn)行識(shí)別處理,并于識(shí)別出底層消息子過(guò)程調(diào)用指令時(shí)執(zhí)行該消息接口的模擬處理,獲取消息參數(shù)虛地址;步驟S104,將所述消息參數(shù)虛地址轉(zhuǎn)換為消息參數(shù)物理地址;步驟S105,調(diào)用所述底層消息子過(guò)程索引表執(zhí)行消息功能模擬,根據(jù)所述消息參數(shù)物理地址實(shí)現(xiàn)消息的傳遞。對(duì)應(yīng)于上述底層消息接口模擬方法,可由本發(fā)明提供的的底層消息接口模擬裝置實(shí)現(xiàn)。圖2是本發(fā)明提供的底層消息接口模擬裝置的結(jié)構(gòu)示意圖,如圖2所示,所述底層消息接口模擬裝置包括指令流模擬控制模塊101、應(yīng)用代碼底層消息識(shí)別模塊102、消息接口模擬處理模塊103、消息參數(shù)物理地址代換模塊104。所述指令流模擬控制模塊101用于控制模擬執(zhí)行目標(biāo)機(jī)代碼中的每一條指令,包括調(diào)用所述應(yīng)用代碼底層消息識(shí)別模塊102并獲取其反饋結(jié)果。所述應(yīng)用代碼底層消息識(shí)別模塊102用于接受所述指令流模擬控制模塊101的調(diào)用,監(jiān)測(cè)所述目標(biāo)機(jī)的操作系統(tǒng)代碼中的進(jìn)程切換,并于監(jiān)測(cè)到所述進(jìn)程切換后觸發(fā)注釋機(jī)制,生成底層消息子過(guò)程索引表;還用于接受所述指令流模擬控制模塊101的調(diào)用,對(duì)目標(biāo)機(jī)指令流中的每一條指令進(jìn)行識(shí)別處理,并于識(shí)別出底層消息子過(guò)程調(diào)用指令時(shí)調(diào)用所述消息接口模擬處理模塊103使其執(zhí)行該消息接口的模擬處理。所述應(yīng)用代碼底層消息識(shí)別模塊102包括應(yīng)用代碼載入識(shí)別單元10 和底層消息子過(guò)程調(diào)用識(shí)別單元102b,所述應(yīng)用代碼載入識(shí)別單元10 用于監(jiān)測(cè)目標(biāo)機(jī)的操作系統(tǒng)代碼中進(jìn)程切換,并于監(jiān)測(cè)到所述進(jìn)程切換后觸發(fā)注釋機(jī)制,生成底層消息子過(guò)程索引表;所述底層消息子過(guò)程調(diào)用識(shí)別單元102b用于對(duì)目標(biāo)機(jī)指令流中的每一條指令進(jìn)行識(shí)別處理,并于識(shí)別出底層消息子過(guò)程調(diào)用時(shí)調(diào)用所述消息接口模擬處理模塊103使其執(zhí)行該消息接口的模擬處理。所述消息接口模擬處理模塊103用于接受所述應(yīng)用代碼底層消息識(shí)別模塊102的調(diào)用,獲取消息參數(shù)虛地址,調(diào)用所述消息參數(shù)物理地址代換模塊104,同時(shí)將所述消息參數(shù)虛地址傳送給所述消息參數(shù)物理地址代換模塊104進(jìn)行消息參數(shù)虛地址到消息參數(shù)物理地址的轉(zhuǎn)換;還用于調(diào)用所述底層消息子過(guò)程索引表執(zhí)行消息功能模擬,根據(jù)所述消息參數(shù)物理地址代換模塊104返回的所述消息參數(shù)物理地址實(shí)現(xiàn)消息的傳遞。所述消息參數(shù)物理地址代換模塊104用于接受所述消息接口模擬處理模塊103的調(diào)用,將所述消息參數(shù)虛地址轉(zhuǎn)換為消息參數(shù)物理地址,并將所述消息參數(shù)物理地址返回給所述消息接口模擬處理模塊103。下面結(jié)合附圖對(duì)所述底層消息接口模擬裝置的實(shí)施方式進(jìn)行詳細(xì)說(shuō)明。圖3是本發(fā)明提供的底層消息接口模擬裝置的實(shí)施方式示意圖。參閱圖3,與圖2所示底層消息接口模擬裝置一致,包括指令流模擬控制模塊101、應(yīng)用代碼底層消息識(shí)別模塊102、消息接口模擬處理模塊103、消息參數(shù)物理地址代換模塊104,應(yīng)用代碼底層消息識(shí)別模塊102包括應(yīng)用代碼載入識(shí)別單元10 和底層消息子過(guò)程調(diào)用識(shí)別單元102b。所述底層消息接口模擬裝置可基于全結(jié)構(gòu)并行計(jì)算機(jī)狀態(tài),因此支持了多節(jié)點(diǎn)消息功能模擬。在啟動(dòng)包含所述底層消息接口模擬裝置的模擬器之前,還需要進(jìn)行些啟動(dòng)前準(zhǔn)備,例如將被模擬應(yīng)用程序目標(biāo)代碼加載到虛擬盤(pán)中,之后啟動(dòng)模擬器,模擬引導(dǎo)目標(biāo)機(jī)的操作系統(tǒng),進(jìn)入操作系統(tǒng)交互界面,等待用戶(hù)命令。所述目標(biāo)機(jī)為被模擬的計(jì)算機(jī),目標(biāo)機(jī)的操作系統(tǒng)即為被模擬計(jì)算機(jī)的操作系統(tǒng),可以為L(zhǎng)inUX、UniX等操作系統(tǒng)。指令流模擬控制模塊101在模擬過(guò)程中是總的控制核心,用于控制模擬執(zhí)行目標(biāo)機(jī)代碼中的每一條指令,包括調(diào)用所述應(yīng)用代碼底層消息識(shí)別模塊102并獲取其反饋結(jié)果。所述目標(biāo)機(jī)代碼包括操作系統(tǒng)代碼和應(yīng)用程序代碼,而模擬則是由目標(biāo)機(jī)代碼的執(zhí)行所驅(qū)動(dòng)的,指令流模擬控制即控制模擬執(zhí)行目標(biāo)機(jī)代碼中的每一條指令,是按目標(biāo)機(jī)代碼中的指令流控制整個(gè)模擬過(guò)程的驅(qū)動(dòng)器。指令流模擬控制模塊101調(diào)用所述應(yīng)用代碼底層消息識(shí)別模塊102中的應(yīng)用代碼載入識(shí)別單元10 對(duì)目標(biāo)機(jī)的操作系統(tǒng)加載目標(biāo)機(jī)應(yīng)用程序代碼的過(guò)程進(jìn)行識(shí)別,具體地,由所述應(yīng)用代碼載入識(shí)別單元10 監(jiān)測(cè)目標(biāo)機(jī)的操作系統(tǒng)代碼中進(jìn)程切換,參閱圖3,當(dāng)目標(biāo)機(jī)的操作系統(tǒng)代碼109加載目標(biāo)機(jī)應(yīng)用代碼110 時(shí),會(huì)執(zhí)行到特定的函數(shù),例如執(zhí)行到flush_thread函數(shù),則表明要進(jìn)行進(jìn)程的切換,即所述應(yīng)用代碼載入識(shí)別單元10 監(jiān)測(cè)到進(jìn)程的切換,此時(shí)便觸發(fā)注釋機(jī)制。所述注釋機(jī)制包括所述應(yīng)用代碼載入識(shí)別單元10 從所述目標(biāo)機(jī)的操作系統(tǒng)的核心內(nèi)存中讀取將要切換進(jìn)程的進(jìn)程號(hào)和進(jìn)程名稱(chēng),并于識(shí)別出將要切換的進(jìn)程為應(yīng)用進(jìn)程后從其代碼中讀取符號(hào)表信息,從中抽取出底層消息子過(guò)程名稱(chēng)和地址,生成底層消息子過(guò)程索引表。注釋是一個(gè)在模擬執(zhí)行過(guò)程中不改變目標(biāo)機(jī)指令流模擬處理流程而運(yùn)行任意處理腳本的機(jī)制,它包括事件(觸發(fā)條件)和動(dòng)作兩個(gè)部分。注釋可以被目標(biāo)機(jī)硬件事件或用戶(hù)自定義事件所觸發(fā),這些事件,例如新進(jìn)程創(chuàng)建、進(jìn)入空轉(zhuǎn)或執(zhí)行到一個(gè)應(yīng)用程序中特定的過(guò)程等這樣一些事件。例如annotation set pc kernelfush_thread START{<該事件發(fā)生后的一系列處理動(dòng)作>}是一個(gè)注釋?zhuān)硎驹谶M(jìn)入“flush_thread”過(guò)程的入口處,觸發(fā)識(shí)別應(yīng)用程序加載、 讀取符號(hào)表信息、建立底層消息子過(guò)程索引表等信息的動(dòng)作。參閱圖3,對(duì)所述注釋機(jī)制的過(guò)程具體說(shuō)明當(dāng)觸發(fā)注釋機(jī)制后,所述應(yīng)用代碼載入識(shí)別單元10 從目標(biāo)機(jī)的操作系統(tǒng)的核心內(nèi)存中讀取將要切換的進(jìn)程的進(jìn)程號(hào)和進(jìn)程名稱(chēng),對(duì)進(jìn)程名稱(chēng)進(jìn)行識(shí)別,識(shí)別將要切換的進(jìn)程是否為應(yīng)用進(jìn)程。所述底層消息子過(guò)程調(diào)用識(shí)別單元10 識(shí)別出將要切換的進(jìn)程為應(yīng)用進(jìn)程是通過(guò)調(diào)用進(jìn)程名稱(chēng)切換處理函數(shù),例如pro^changename函數(shù)(該函數(shù)可以C語(yǔ)言實(shí)現(xiàn)),由其對(duì)將要切換的進(jìn)程的進(jìn)程名稱(chēng)進(jìn)行識(shí)別,若將要切換的進(jìn)程不屬于系統(tǒng)進(jìn)禾呈,例如 swapper、Iinuxrc> events、aio、pdflush、migration、ksoftirqd、kswapd、 bdoor, liblockd等系統(tǒng)進(jìn)程,則將要切換的進(jìn)程為應(yīng)用進(jìn)程。當(dāng)然,在實(shí)際實(shí)施時(shí),還會(huì)判斷將要切換的進(jìn)程的進(jìn)程名稱(chēng)是否為當(dāng)前進(jìn)程名稱(chēng),如果與當(dāng)前進(jìn)程名稱(chēng)相同則說(shuō)明這并非是一次進(jìn)程間的切換。在識(shí)別出將要切換的進(jìn)程為應(yīng)用進(jìn)程后從其代碼中讀取符號(hào)表信息105,從中抽取出底層消息子過(guò)程名稱(chēng)和地址,生成底層消息子過(guò)程索引表106。在模擬環(huán)境中,會(huì)靜態(tài)建立包含所有底層消息子過(guò)程名稱(chēng)和相應(yīng)消息功能模擬調(diào)用入口的底層消息子過(guò)程信息表,模擬過(guò)程中待從符號(hào)表信息105中抽取出子過(guò)程名稱(chēng)和地址后,將該子過(guò)程名稱(chēng)與所述底層消息子過(guò)程信息表中的所有底層消息子過(guò)程名稱(chēng)逐一進(jìn)行比較,如果名稱(chēng)相同,則將該子過(guò)程名稱(chēng)和地址連同底層消息子過(guò)程信息表中的相應(yīng)消息功能模擬調(diào)用入口作為一個(gè)底層消息子過(guò)程條目填入所述底層消息子過(guò)程索引表106。所述底層消息子過(guò)程索引表106中包括底層消息子過(guò)程的名稱(chēng)106a、底層消息子過(guò)程的地址106b以及消息功能模擬調(diào)用入口 106c。在生成所述底層消息子過(guò)程索引表106后,所述底層消息子過(guò)程調(diào)用識(shí)別單元10 會(huì)將反饋結(jié)果傳送給所述指令流模擬控制模塊101,由其控制繼續(xù)目標(biāo)機(jī)指令流的模擬執(zhí)行。所述指令流模擬控制模塊101在對(duì)目標(biāo)機(jī)指令流模擬控制過(guò)程中還調(diào)用底層消息子過(guò)程調(diào)用識(shí)別單元102b,所述底層消息子過(guò)程調(diào)用識(shí)別單元102b接受所述指令流模擬控制模塊101的調(diào)用后,對(duì)目標(biāo)機(jī)指令流中的每一條指令進(jìn)行識(shí)別處理,并于識(shí)別出底層消息子過(guò)程調(diào)用指令時(shí)調(diào)用所述消息接口模擬處理模塊103使其執(zhí)行該消息接口的模擬處理。具體地,所述底層消息子過(guò)程調(diào)用識(shí)別單元102b對(duì)目標(biāo)機(jī)指令流中的每一條進(jìn)行識(shí)別處理,并于識(shí)別出所述指令為轉(zhuǎn)移跳轉(zhuǎn)指令時(shí)取出其轉(zhuǎn)移目標(biāo)地址,將所述轉(zhuǎn)移目標(biāo)地址與所述底層消息子過(guò)程索引表106中的底層消息子過(guò)程的地址106b進(jìn)行匹配,若匹配成功則表明該轉(zhuǎn)移跳轉(zhuǎn)指令為底層消息子過(guò)程調(diào)用指令,即識(shí)別出所述指令為底層消息子過(guò)程調(diào)用指令,則調(diào)用所述消息接口模擬處理模塊103使其執(zhí)行該消息接口的模擬處理。所述消息接口模擬處理模塊103接受所述底層消息子過(guò)程調(diào)用識(shí)別單元102b的調(diào)用后,從所述目標(biāo)機(jī)的處理器(即被模擬的CPU)的參數(shù)寄存器中獲取消息參數(shù)虛地址,調(diào)用所述消息參數(shù)物理地址代換模塊104,同時(shí)將所述消息參數(shù)虛地址傳送給所述消息參數(shù)物理地址代換模塊104進(jìn)行消息參數(shù)虛地址到消息參數(shù)物理地址的轉(zhuǎn)換。所述消息參數(shù)虛地址包括消息參數(shù)中源方和目的方的虛地址。具體地,所述消息參數(shù)物理地址代換模塊 104將所述消息參數(shù)虛地址轉(zhuǎn)換為消息參數(shù)物理地址是通過(guò)訪問(wèn)所述目標(biāo)機(jī)的操作系統(tǒng)的多級(jí)頁(yè)表107完成的。實(shí)際實(shí)施中,由于所述多級(jí)頁(yè)表107的結(jié)構(gòu)取決于目標(biāo)機(jī)的操作系統(tǒng),不同的操作系統(tǒng)則多級(jí)頁(yè)表107的結(jié)構(gòu)也可能不同,下面舉例對(duì)通過(guò)訪問(wèn)所述目標(biāo)機(jī)的操作系統(tǒng)的多級(jí)頁(yè)表107完成所述消息參數(shù)虛地址轉(zhuǎn)換為消息參數(shù)物理地址的過(guò)程進(jìn)行說(shuō)明。圖4是消息參數(shù)虛地址示意圖,圖4所示的消息參數(shù)虛地址為64位,其中包括消息參數(shù)中源方和目的方的虛地址,將該地址劃分為五個(gè)部分,分別為5位(43 47)的L0、 10 位(33 42)的 Ll、10 位(23 32)的 L2、10 位(13 22)的 L3 禾Π 13 位(0 12)的頁(yè)內(nèi)偏移Offset。圖5是用于消息參數(shù)物理地址代換的多級(jí)頁(yè)表格式示意圖,參閱圖5,消息參數(shù)虛地址轉(zhuǎn)換為消息參數(shù)物理地址的具體步驟是1)取模擬器設(shè)置的起始物理地址,以下步驟所述的物理地址均是相對(duì)于該起始物理地址的相對(duì)地址;2)將包含消息參數(shù)中源方、目的方的虛地址的64位消息參數(shù)虛地址如圖4所示劃分為五個(gè)部分,得到L0、L1、L2、L3和Offset ;3)由目標(biāo)機(jī)的處理器號(hào)(CPU號(hào))計(jì)算頁(yè)表基址寄存器(PTBR,Page-Table Base Register),得到1級(jí)頁(yè)表區(qū)索引單元;例如PTBR = (0xd008+CPU號(hào)*0x200),其中,0xd008 是目標(biāo)機(jī)的操作系統(tǒng)的多級(jí)頁(yè)表結(jié)構(gòu)起點(diǎn),不同的目標(biāo)機(jī)處理器(不同的目標(biāo)機(jī)CPU號(hào)) 的多級(jí)頁(yè)表結(jié)構(gòu)地址相差0x200個(gè)字節(jié)位置;4)從1級(jí)頁(yè)表區(qū)索引單元取出64位,加上L0,得到2級(jí)頁(yè)表區(qū)索引單元;5)從2級(jí)頁(yè)表區(qū)索引單元取出高32位左移13位,加上Li,得到3級(jí)頁(yè)表區(qū)索引單元;6)從3級(jí)頁(yè)表區(qū)索引單元取出高32位左移13位,加上L2,得到4級(jí)頁(yè)表區(qū)索引單元;7)從4級(jí)頁(yè)表區(qū)索引單元取出高32位左移13位,加上L3,得到最后物理地址代換單元;8)從最后物理地址代換單元取出高32位左移13位,加上頁(yè)內(nèi)偏移Offset,得到最終代換出的物理地址。繼續(xù)參閱圖3,所述消息參數(shù)物理地址代換模塊104通過(guò)訪問(wèn)目標(biāo)機(jī)的操作系統(tǒng)的多級(jí)頁(yè)表107對(duì)所述消息參數(shù)虛地址轉(zhuǎn)換獲得消息參數(shù)物理地址108后,并將其返回給所述消息接口模擬處理模塊103,所述消息接口模擬處理模塊103調(diào)用所述底層消息子過(guò)程索引表106中的所述消息功能模擬調(diào)用入口 106c,啟動(dòng)消息功能模擬,根據(jù)所述消息參數(shù)物理地址代換模塊104返回的所述消息參數(shù)物理地址108實(shí)現(xiàn)消息的傳遞。至此,底層消息接口模擬的整個(gè)流程結(jié)束。此外,本領(lǐng)域技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,所述存儲(chǔ)介質(zhì)可以是ROM、RAM、磁碟、光盤(pán)等。綜上,本發(fā)明提供的底層消息接口模擬方法及模擬裝置至少具有如下有益效果
不需要進(jìn)行全指令模擬,跳過(guò)了消息接口實(shí)現(xiàn)中操作系統(tǒng)行為的模擬;而是在指令流模擬控制模塊的控制下調(diào)用應(yīng)用代碼底層消息識(shí)別模塊識(shí)別出底層消息子過(guò)程調(diào)用指令,由所述應(yīng)用代碼底層消息識(shí)別模塊調(diào)用所述消息接口模擬處理模塊使其執(zhí)行該消息接口的模擬處理,獲取消息參數(shù)虛地址并由所述消息接口模擬處理模塊調(diào)用消息參數(shù)物理地址代換模塊,對(duì)消息接口參數(shù)中的消息參數(shù)虛地址通過(guò)直接訪問(wèn)目標(biāo)機(jī)的操作系統(tǒng)多級(jí)頁(yè)表的方法代換成消息功能模擬直接訪問(wèn)的物理地址。因此,上述技術(shù)方案避免了對(duì)消息子過(guò)程實(shí)現(xiàn)指令的模擬,不需要引入消息通信指令及相應(yīng)硬件結(jié)構(gòu)的模擬,同時(shí)又基于全結(jié)構(gòu)并行計(jì)算機(jī)狀態(tài)支持了多節(jié)點(diǎn)消息功能的模擬,其模擬方式更為簡(jiǎn)單,因而更容易實(shí)施,并且提高了并行應(yīng)用程序的模擬效率。本發(fā)明雖然已以較佳實(shí)施例公開(kāi)如上,但其并不是用來(lái)限定本發(fā)明,任何本領(lǐng)域技術(shù)人員在不脫離本發(fā)明的精神和范圍內(nèi),都可以利用上述揭示的方法和技術(shù)內(nèi)容對(duì)本發(fā)明技術(shù)方案做出可能的變動(dòng)和修改,因此,凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施例所作的任何簡(jiǎn)單修改、等同變化及修飾,均屬于本發(fā)明技術(shù)方案的保護(hù)范圍。
權(quán)利要求
1.一種底層消息接口模擬方法,其特征在于,包括模擬執(zhí)行目標(biāo)機(jī)的操作系統(tǒng);監(jiān)測(cè)所述目標(biāo)機(jī)的操作系統(tǒng)代碼中的進(jìn)程切換,并于監(jiān)測(cè)到所述進(jìn)程切換后觸發(fā)注釋機(jī)制,生成底層消息子過(guò)程索引表;對(duì)目標(biāo)機(jī)指令流中的每一條指令進(jìn)行識(shí)別處理,并于識(shí)別出底層消息子過(guò)程調(diào)用指令時(shí)執(zhí)行該消息接口的模擬處理,獲取消息參數(shù)虛地址;將所述消息參數(shù)虛地址轉(zhuǎn)換為消息參數(shù)物理地址;調(diào)用所述底層消息子過(guò)程索引表執(zhí)行消息功能模擬,根據(jù)所述消息參數(shù)物理地址實(shí)現(xiàn)消息的傳遞。
2.根據(jù)權(quán)利要求1所述的底層消息接口模擬方法,其特征在于,所述注釋機(jī)制包括從所述目標(biāo)機(jī)的操作系統(tǒng)的核心內(nèi)存中讀取將要切換進(jìn)程的進(jìn)程號(hào)和進(jìn)程名稱(chēng),并于識(shí)別出將要切換的進(jìn)程為應(yīng)用進(jìn)程后從其代碼中讀取符號(hào)表信息,從中抽取出底層消息子過(guò)程名稱(chēng)和地址,生成底層消息子過(guò)程索引表。
3.根據(jù)權(quán)利要求1或2所述的底層消息接口模擬方法,其特征在于,所述底層消息子過(guò)程索引表包括底層消息子過(guò)程的名稱(chēng)、地址以及消息功能模擬調(diào)用入口。
4.根據(jù)權(quán)利要求3所述的底層消息接口模擬方法,其特征在于,所述調(diào)用所述底層消息子過(guò)程索引表執(zhí)行消息功能模擬包括調(diào)用所述底層消息子過(guò)程索引表中的所述消息功能模擬調(diào)用入口,啟動(dòng)消息功能模擬。
5.根據(jù)權(quán)利要求3所述的底層消息接口模擬方法,其特征在于,所述對(duì)目標(biāo)機(jī)指令流中的每一條指令進(jìn)行識(shí)別處理,并于識(shí)別出底層消息子過(guò)程調(diào)用指令時(shí)執(zhí)行該消息接口的模擬處理,獲取消息參數(shù)虛地址包括對(duì)目標(biāo)機(jī)指令流中的每一條指令進(jìn)行識(shí)別處理,并于識(shí)別為所述指令為轉(zhuǎn)移跳轉(zhuǎn)指令時(shí)取出其轉(zhuǎn)移目標(biāo)地址,將所述轉(zhuǎn)移目標(biāo)地址與所述底層消息子過(guò)程索引表中的底層消息子過(guò)程的地址進(jìn)行匹配,若匹配成功則識(shí)別出所述指令為底層消息子過(guò)程調(diào)用指令,執(zhí)行該消息接口的模擬處理,獲取消息參數(shù)虛地址。
6.根據(jù)權(quán)利要求2所述的底層消息接口模擬方法,其特征在于,所述識(shí)別出將要切換的進(jìn)程為應(yīng)用進(jìn)程包括調(diào)用進(jìn)程名稱(chēng)切換處理函數(shù),由其對(duì)將要切換的進(jìn)程的進(jìn)程名稱(chēng)進(jìn)行識(shí)別,若將要切換的進(jìn)程不屬于系統(tǒng)進(jìn)程,則將要切換的進(jìn)程為應(yīng)用進(jìn)程。
7.根據(jù)權(quán)利要求1所述的底層消息接口模擬方法,其特征在于,所述將所述消息參數(shù)虛地址轉(zhuǎn)換為消息參數(shù)物理地址是通過(guò)訪問(wèn)所述目標(biāo)機(jī)的操作系統(tǒng)的多級(jí)頁(yè)表完成的。
8.根據(jù)權(quán)利要求1所述的底層消息接口模擬方法,其特征在于,所述消息參數(shù)虛地址包括消息參數(shù)中源方和目的方的虛地址。
9.根據(jù)權(quán)利要求1所述的底層消息接口模擬方法,其特征在于,所述底層消息接口模擬方法基于全結(jié)構(gòu)并行計(jì)算機(jī)狀態(tài)。
10.一種底層消息接口模擬裝置,其特征在于,包括指令流模擬控制模塊、應(yīng)用代碼底層消息識(shí)別模塊、消息接口模擬處理模塊、消息參數(shù)物理地址代換模塊,所述指令流模擬控制模塊用于控制模擬執(zhí)行目標(biāo)機(jī)代碼中的每一條指令,包括調(diào)用所述應(yīng)用代碼底層消息識(shí)別模塊并獲取其反饋結(jié)果;所述應(yīng)用代碼底層消息識(shí)別模塊用于接受所述指令流模擬控制模塊的調(diào)用,監(jiān)測(cè)所述目標(biāo)機(jī)的操作系統(tǒng)代碼中的進(jìn)程切換,并于監(jiān)測(cè)到所述進(jìn)程切換后觸發(fā)注釋機(jī)制,生成底層消息子過(guò)程索引表;還用于接受所述指令流模擬控制模塊的調(diào)用,對(duì)目標(biāo)機(jī)指令流中的每一條指令進(jìn)行識(shí)別處理,并于識(shí)別出底層消息子過(guò)程調(diào)用指令時(shí)調(diào)用所述消息接口模擬處理模塊使其執(zhí)行該消息接口的模擬處理;所述消息接口模擬處理模塊用于接受所述應(yīng)用代碼底層消息識(shí)別模塊的調(diào)用,獲取消息參數(shù)虛地址,調(diào)用所述消息參數(shù)物理地址代換模塊,同時(shí)將所述消息參數(shù)虛地址傳送給所述消息參數(shù)物理地址代換模塊進(jìn)行消息參數(shù)虛地址到消息參數(shù)物理地址的轉(zhuǎn)換;還用于調(diào)用所述底層消息子過(guò)程索引表執(zhí)行消息功能模擬,根據(jù)所述消息參數(shù)物理地址代換模塊返回的所述消息參數(shù)物理地址實(shí)現(xiàn)消息的傳遞。所述消息參數(shù)物理地址代換模塊用于接受所述消息接口模擬處理模塊的調(diào)用,將所述消息參數(shù)虛地址轉(zhuǎn)換為消息參數(shù)物理地址,并將所述消息參數(shù)物理地址返回給所述消息接口模擬處理模塊。
11.根據(jù)權(quán)利要求10所述的底層消息接口模擬裝置,其特征在于,所述應(yīng)用代碼底層消息識(shí)別模塊包括應(yīng)用代碼載入識(shí)別單元和底層消息子過(guò)程調(diào)用識(shí)別單元,所述應(yīng)用代碼載入識(shí)別單元用于監(jiān)測(cè)目標(biāo)機(jī)的操作系統(tǒng)代碼中的進(jìn)程切換,并于監(jiān)測(cè)到所述進(jìn)程切換后觸發(fā)注釋機(jī)制,生成底層消息子過(guò)程索引表;所述底層消息子過(guò)程調(diào)用識(shí)別單元用于對(duì)目標(biāo)機(jī)指令流中的每一條指令進(jìn)行識(shí)別處理,并于識(shí)別出底層消息子過(guò)程調(diào)用時(shí)調(diào)用所述消息接口模擬處理模塊使其執(zhí)行該消息接口的模擬處理。
12.根據(jù)權(quán)利要求11所述的底層消息接口模擬裝置,其特征在于,所述注釋機(jī)制包括 所述應(yīng)用代碼載入識(shí)別單元從所述目標(biāo)機(jī)的操作系統(tǒng)的核心內(nèi)存中讀取將要切換進(jìn)程的進(jìn)程號(hào)和進(jìn)程名稱(chēng),并于識(shí)別出將要切換的進(jìn)程為應(yīng)用進(jìn)程后從其代碼中讀取符號(hào)表信息,從中抽取出底層消息子過(guò)程名稱(chēng)和地址,生成底層消息子過(guò)程索引表。
13.根據(jù)權(quán)利要求10至12中任一項(xiàng)所述的底層消息接口模擬裝置,其特征在于,所述底層消息子過(guò)程索引表包括底層消息子過(guò)程的名稱(chēng)、地址以及消息功能模擬調(diào)用入口。
14.根據(jù)權(quán)利要求13所述的底層消息接口模擬裝置,其特征在于,所述消息接口模擬處理模塊調(diào)用所述底層消息子過(guò)程索引表執(zhí)行消息功能模擬包括調(diào)用所述底層消息子過(guò)程索引表中的所述消息功能模擬調(diào)用入口,啟動(dòng)消息功能模擬。
15.根據(jù)權(quán)利要求11所述的底層消息接口模擬裝置,其特征在于,所述底層消息子過(guò)程調(diào)用識(shí)別單元對(duì)目標(biāo)機(jī)指令流中的每一條指令進(jìn)行識(shí)別處理,并于識(shí)別出底層消息子過(guò)程調(diào)用指令時(shí)調(diào)用所述消息接口模擬處理模塊使其執(zhí)行該消息接口的模擬處理,包括對(duì)目標(biāo)機(jī)指令流中的每一條指令進(jìn)行識(shí)別處理,并于識(shí)別出所述指令為轉(zhuǎn)移跳轉(zhuǎn)指令時(shí)取出其轉(zhuǎn)移目標(biāo)地址,將所述轉(zhuǎn)移目標(biāo)地址與所述底層消息子過(guò)程索引表中的底層消息子過(guò)程的地址進(jìn)行匹配,若匹配成功則識(shí)別出所述指令為底層消息子過(guò)程調(diào)用指令,調(diào)用所述消息接口模擬處理模塊使其執(zhí)行該消息接口的模擬處理。
16.根據(jù)權(quán)利要求11所述的底層消息接口模擬裝置,其特征在于,所述底層消息子過(guò)程調(diào)用識(shí)別單元識(shí)別出將要切換的進(jìn)程為應(yīng)用進(jìn)程包括調(diào)用進(jìn)程名稱(chēng)切換處理函數(shù),由其對(duì)將要切換的進(jìn)程的進(jìn)程名稱(chēng)進(jìn)行識(shí)別,若將要切換的進(jìn)程不屬于系統(tǒng)進(jìn)程,則將要切換的進(jìn)程為應(yīng)用進(jìn)程。
17.根據(jù)權(quán)利要求10所述的底層消息接口模擬裝置,其特征在于,所述消息參數(shù)物理地址代換模塊將所述消息參數(shù)虛地址轉(zhuǎn)換為消息參數(shù)物理地址是通過(guò)訪問(wèn)所述目標(biāo)機(jī)的操作系統(tǒng)的多級(jí)頁(yè)表完成的。
18.根據(jù)權(quán)利要求10所述的底層消息接口模擬裝置,其特征在于,所述消息參數(shù)虛地址包括消息參數(shù)中源方和目的方的虛地址。
19.根據(jù)權(quán)利要求10所述的底層消息接口模擬裝置,其特征在于,所述底層消息接口模擬裝置基于全結(jié)構(gòu)并行計(jì)算機(jī)狀態(tài)。
20.一種模擬器,其特征在于,包括權(quán)利要求10至19中任一項(xiàng)所述的底層消息接口模擬裝置。
全文摘要
一種底層消息接口模擬方法,包括模擬執(zhí)行目標(biāo)機(jī)的操作系統(tǒng);監(jiān)測(cè)所述目標(biāo)機(jī)的操作系統(tǒng)代碼中的進(jìn)程切換,并于監(jiān)測(cè)到所述進(jìn)程切換后觸發(fā)注釋機(jī)制,生成底層消息子過(guò)程索引表;對(duì)目標(biāo)機(jī)指令流中的每一條指令進(jìn)行識(shí)別處理,并于識(shí)別出底層消息子過(guò)程調(diào)用時(shí)執(zhí)行該消息接口的模擬處理,獲取消息參數(shù)虛地址;將所述消息參數(shù)虛地址轉(zhuǎn)換為消息參數(shù)物理地址;調(diào)用所述底層消息子過(guò)程索引表執(zhí)行消息功能模擬,根據(jù)所述消息參數(shù)物理地址實(shí)現(xiàn)消息的傳遞?;谏鲜龇椒?,還提供了一種底層消息接口模擬裝置。本發(fā)明能夠基于全結(jié)構(gòu)并行計(jì)算機(jī)狀態(tài)支持多節(jié)點(diǎn)消息功能的模擬,簡(jiǎn)化了模擬方式,提高并行應(yīng)用程序的模擬效率。
文檔編號(hào)G06F9/455GK102446113SQ20101050886
公開(kāi)日2012年5月9日 申請(qǐng)日期2010年10月12日 優(yōu)先權(quán)日2010年10月12日
發(fā)明者李岱峰, 楊金才, 潘治, 王丹云, 谷洪峰 申請(qǐng)人:無(wú)錫江南計(jì)算技術(shù)研究所