999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

并發(fā)實(shí)時(shí)系統(tǒng)的串行非實(shí)時(shí)仿真框架*

2012-12-10 02:24:18羽,王琨,張
關(guān)鍵詞:進(jìn)程程序系統(tǒng)

宋 羽,王 琨,張 寶

(中國(guó)兵器工業(yè)第203研究所,西安 710065)

0 引言

武器系統(tǒng)大多是并發(fā)實(shí)時(shí)系統(tǒng)。武器系統(tǒng)開(kāi)發(fā)中,仿真是一種重要驗(yàn)證手段。文中分析了并發(fā)實(shí)時(shí)系統(tǒng)的一般特性,歸納了仿真的兩種硬件架構(gòu),并提出一種基于串行非實(shí)時(shí)計(jì)算機(jī)的并發(fā)實(shí)時(shí)系統(tǒng)仿真通用框架。

1 并發(fā)實(shí)時(shí)系統(tǒng)的一般特性

并發(fā)實(shí)時(shí)系統(tǒng)具有并發(fā)性和實(shí)時(shí)性。并發(fā)指的是可以在同一個(gè)芯片上多核、同一個(gè)處理器上的多個(gè)進(jìn)程或在物理分離的多處理器上執(zhí)行。實(shí)時(shí)性具有相對(duì)意義,通常來(lái)說(shuō),當(dāng)不能滿足定時(shí)約束或時(shí)限就被認(rèn)為是致命錯(cuò)誤時(shí),就說(shuō)這個(gè)定時(shí)約束是強(qiáng)的[1],武器系統(tǒng)的時(shí)間約束通常是致命的,因此武器系統(tǒng)一般為強(qiáng)實(shí)時(shí)系統(tǒng)。

一種典型的具有兩個(gè)模塊的并發(fā)實(shí)時(shí)系統(tǒng)如圖1所示。該圖描述了并發(fā)實(shí)時(shí)系統(tǒng)一種復(fù)雜形式,A與B既是數(shù)據(jù)的生產(chǎn)者,也是數(shù)據(jù)的消耗者。在圖中,A或B可以是運(yùn)行在不同處理器上的不同進(jìn)程,也可以是運(yùn)行于同一個(gè)處理器上的不同進(jìn)程。虛線代表控制流,例如時(shí)鐘或是外部事件中斷;實(shí)線代表數(shù)據(jù)流。程序的運(yùn)行由控制流激活。中間的小方框代表數(shù)據(jù)存儲(chǔ)緩沖。由于A或B有各自獨(dú)立的啟動(dòng)時(shí)刻,數(shù)據(jù)計(jì)算后不會(huì)立刻消失,而是放在存儲(chǔ)緩沖區(qū)中。程序與數(shù)據(jù)的存在時(shí)間是不同的。

當(dāng)A和B運(yùn)行時(shí)間發(fā)生交叉時(shí),如果允許在運(yùn)行過(guò)程中間交換數(shù)據(jù),A所使用的數(shù)據(jù)dBA將在tB2時(shí)刻發(fā)生變化(如圖2),當(dāng)A在tB2前后兩次用到dBA,則在一次運(yùn)算過(guò)程中將使用兩個(gè)不同數(shù)據(jù),這有可能導(dǎo)致運(yùn)行錯(cuò)誤,因此設(shè)計(jì)者要采用必要的措施消除這種不確定性,使數(shù)據(jù)僅在進(jìn)程的開(kāi)始時(shí)刻進(jìn)入程序,一旦進(jìn)入,在一次運(yùn)算過(guò)程中不再改變,直至當(dāng)次運(yùn)算結(jié)束,文獻(xiàn)[3]闡述了并發(fā)控制的幾種方法。這些并發(fā)控制方法的數(shù)據(jù)傳輸時(shí)序可以表達(dá)為圖2形式,B在 A的運(yùn)行期間產(chǎn)生新的數(shù)據(jù),而A直到B運(yùn)行結(jié)束后下一個(gè)運(yùn)行周期才會(huì)使用dBA。

圖1 典型的并發(fā)實(shí)時(shí)系統(tǒng)模塊圖

圖2 并發(fā)程序間的數(shù)據(jù)傳輸時(shí)序

2 仿真驗(yàn)證硬件架構(gòu)的選擇

按仿真實(shí)驗(yàn)中所取時(shí)間標(biāo)尺t1(模型時(shí)間)與自然時(shí)間標(biāo)尺t2(原型)之間比例關(guān)系可將仿真分為實(shí)時(shí)仿真和非實(shí)時(shí)仿真兩大類(lèi),t1/t2=1為實(shí)時(shí)仿真,否則為非實(shí)時(shí)仿真[2]。一般仿真驗(yàn)證硬件架構(gòu)見(jiàn)圖3,實(shí)時(shí)仿真中仿真程序與被驗(yàn)證對(duì)象同時(shí)運(yùn)行,通過(guò)數(shù)據(jù)采集裝置采集實(shí)際對(duì)象的輸入,產(chǎn)生標(biāo)準(zhǔn)輸出與實(shí)際輸出對(duì)比;非實(shí)時(shí)仿真一般采用數(shù)據(jù)記錄裝置記錄實(shí)際對(duì)象的輸入輸出,實(shí)際對(duì)象運(yùn)行結(jié)束后仿真程序從輸入記錄中讀取輸入數(shù)據(jù),并生成標(biāo)準(zhǔn)輸出與實(shí)際輸出對(duì)比。

圖3 仿真驗(yàn)證硬件架構(gòu)

實(shí)時(shí)仿真對(duì)于仿真程序所運(yùn)行的硬件要求較高,必須滿足實(shí)時(shí)性要求;而非實(shí)時(shí)仿真可以運(yùn)行于通用計(jì)算機(jī)上,具有較低的成本。文中的框架主要用于非實(shí)時(shí)仿真軟件,通過(guò)統(tǒng)一調(diào)度模擬并發(fā)實(shí)時(shí)計(jì)算。

3 仿真軟件框架

3.1 需要解決的問(wèn)題

當(dāng)采用通用計(jì)算機(jī)仿真并發(fā)實(shí)時(shí)系統(tǒng)時(shí),有兩個(gè)主要的約束,第一,通用計(jì)算機(jī)的運(yùn)行方式是串行的,一次只能處理一件事;第二,在實(shí)時(shí)系統(tǒng)中,有硬時(shí)鐘保證時(shí)間約束,而通用計(jì)算機(jī)一般沒(méi)有這種資源。需要一種有效的規(guī)范化設(shè)計(jì)方法,將并發(fā)實(shí)時(shí)系統(tǒng)轉(zhuǎn)換為串行非實(shí)時(shí)結(jié)構(gòu)。

3.2 解決方案

對(duì)以上問(wèn)題的一個(gè)解決方案是在仿真中使用單個(gè)調(diào)度程序統(tǒng)一調(diào)度進(jìn)程,所有的進(jìn)程運(yùn)行時(shí)刻放在一個(gè)時(shí)間軸上排列,主控程序按時(shí)間順序依次循環(huán)統(tǒng)一時(shí)間軸上的每個(gè)時(shí)間點(diǎn),根據(jù)每個(gè)時(shí)間點(diǎn)上的程序標(biāo)識(shí)選擇進(jìn)程,將并發(fā)的運(yùn)行轉(zhuǎn)化為串行的邏輯分支。該方法類(lèi)似于數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)中所采用的時(shí)標(biāo)排序并發(fā)控制方法[4],雖然數(shù)據(jù)庫(kù)系統(tǒng)與仿真是兩個(gè)完全不同的領(lǐng)域,但在它們所面臨的并發(fā)問(wèn)題具有相似性。

3.3 框架準(zhǔn)備

在實(shí)現(xiàn)該框架前,需先收集以下信息:

1)每個(gè)處理器上運(yùn)行的進(jìn)程,其中數(shù)據(jù)記錄應(yīng)作為運(yùn)行于記錄裝置上的一個(gè)并發(fā)進(jìn)程;

2)每個(gè)進(jìn)程之間交換的數(shù)據(jù);

3)每個(gè)進(jìn)程的運(yùn)行時(shí)間,確認(rèn)是否可忽略,對(duì)于不可忽略時(shí)間的進(jìn)程確定運(yùn)行時(shí)間;

4)每個(gè)進(jìn)程的啟動(dòng)條件。

3.4 框架實(shí)現(xiàn)

該框架流程見(jiàn)圖4,圖中流程的詳細(xì)說(shuō)明如下:

1)生成進(jìn)程和數(shù)據(jù)對(duì)應(yīng)的時(shí)間列。

一般有以下幾種方式:

a)采用數(shù)據(jù)記錄中已有的時(shí)間列:該時(shí)間列通常來(lái)自于仿真對(duì)象或記錄裝置的內(nèi)部時(shí)鐘;

b)根據(jù)輸入計(jì)算時(shí)間:適用于由外部輸入觸發(fā)的進(jìn)程,例如在某個(gè)脈沖到來(lái)時(shí)才運(yùn)行的程序;

c)固定的時(shí)間:適用于按照固定規(guī)律運(yùn)行的進(jìn)程,例如以固定周期運(yùn)行的某個(gè)運(yùn)算程序。

對(duì)于運(yùn)行時(shí)間可以忽略不計(jì)的進(jìn)程,僅僅為進(jìn)程的運(yùn)行建立時(shí)間列,對(duì)于運(yùn)行時(shí)間不可忽略的進(jìn)程,需要分解為“運(yùn)行”和“數(shù)據(jù)更新”兩個(gè)進(jìn)程,每個(gè)進(jìn)程的時(shí)間確定方法可以是以下兩種方法之一:

①所有進(jìn)程運(yùn)行時(shí)刻使用實(shí)際進(jìn)程開(kāi)始時(shí)刻,接口數(shù)據(jù)的更新時(shí)刻使用發(fā)送方進(jìn)程的結(jié)束時(shí)刻;

②所有進(jìn)程運(yùn)行時(shí)刻使用實(shí)際進(jìn)程結(jié)束時(shí)刻,接口數(shù)據(jù)的更新時(shí)刻使用接收方進(jìn)程的開(kāi)始時(shí)刻。

2)由于不同硬件時(shí)鐘可能存在誤差,因此時(shí)間列需要同步。

3)按照時(shí)間排列運(yùn)行次序。

有可能出現(xiàn)兩個(gè)進(jìn)程運(yùn)行時(shí)間相同的情況,處理方法如下:

圖4 仿真流程框架

b)位于不同處理器并且時(shí)間相同:這可能是巧合,也可能是因?yàn)橛涗浽O(shè)備的時(shí)間分辨率不夠?qū)е虏荒軈^(qū)分具有細(xì)微時(shí)差的兩個(gè)進(jìn)程。此時(shí)無(wú)法確定進(jìn)程的先后順序,只有以任意順序排列進(jìn)程。這種不確定性可能導(dǎo)致仿真結(jié)果與實(shí)際的偏離,因此仿真者應(yīng)確保記錄設(shè)備有足夠的時(shí)間分辨率或者允許仿真結(jié)果和實(shí)際輸出的偏離。

4)初始化狀態(tài)變量時(shí)要包括所有數(shù)據(jù)接口緩沖和模塊自身狀態(tài)。

5)仿真循環(huán),循環(huán)中判斷當(dāng)前步驟對(duì)應(yīng)的進(jìn)程標(biāo)識(shí),選擇運(yùn)行不同的進(jìn)程。

3.5 程序樣例

以下是使用Matlab實(shí)現(xiàn)該框架一個(gè)樣例:

%%================%%

%生成時(shí)間列,并分配標(biāo)識(shí)

發(fā)展戰(zhàn)略是發(fā)展行動(dòng)的先導(dǎo),是發(fā)展思路、發(fā)展方向、發(fā)展著力點(diǎn)的集中體現(xiàn),要深入推進(jìn)“鄉(xiāng)村振興戰(zhàn)略”就必須全面貫徹習(xí)近平新時(shí)代中國(guó)特色社會(huì)主義思想和切實(shí)落實(shí)“五大發(fā)展理念”,不斷拓寬發(fā)展新境界,落實(shí)發(fā)展新舉措。通過(guò)這次研討會(huì)全面深入的研討,必將為我國(guó)鄉(xiāng)村振興和“三農(nóng)”工作提供更多實(shí)踐經(jīng)驗(yàn)和理論鏡鑒。

tIn=aTu;ProcIn=0*ones(size(tIn));

tA=aT0;ProcA=1*ones(size(tA));

tB=aT1;ProcB=2*ones(size(tB));

tRc=0∶0.01∶10;ProcRc=3*ones(size(tRc));

tA=tB-t0AB;%同步A和B

tsSim=sortrows([tA,ProcA;tB,ProcB;tRc;ProcRc],1);% 按時(shí)間排列運(yùn)行次序

%初始化狀態(tài)變量

.....

kIn=1;kOut=1;nCompute=length(tsSim);

%仿真循環(huán)

for k=1:nCompute;

procId=tsSim(k,2);t=tsSim(k,1);

switch procId

case 0;u=inputRec(kIn),kIn=kIn+1;

case 1;ya=fa(u,t);

case 2;yb=fb(ya,t);

case 3;y(kOut)=yb,kOut=kOut+1;

otherwise

end

end

%%================%%

4 結(jié)論

文中的框架結(jié)構(gòu)簡(jiǎn)單、易于擴(kuò)展、適用范圍廣,可以有效加快仿真程序開(kāi)發(fā),提高代碼質(zhì)量;同時(shí)由于人的大腦類(lèi)似低速串行處理器,通過(guò)轉(zhuǎn)化模型,可以提高開(kāi)發(fā)人員對(duì)于軟件行為的清晰理解。

[1]Jane W S Liu.實(shí)時(shí)系統(tǒng)[M].北京:高等教育出版社,2002.

[2]何江華.計(jì)算機(jī)仿真導(dǎo)論[M].北京:科學(xué)出版社,2001.

[3]慕春隸.嵌入式系統(tǒng)的構(gòu)建[M].北京:清華大學(xué)出版社,2004.

[4]George Coulouris,Jean Dollimore,Tim Kindberg.分布式系統(tǒng)概念與設(shè)計(jì)[M].金蓓弘,曹冬磊,譯.北京:機(jī)械工業(yè)出版社,2008.

猜你喜歡
進(jìn)程程序系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
債券市場(chǎng)對(duì)外開(kāi)放的進(jìn)程與展望
試論我國(guó)未決羈押程序的立法完善
“程序猿”的生活什么樣
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
社會(huì)進(jìn)程中的新聞學(xué)探尋
主站蜘蛛池模板: 国产情侣一区二区三区| 欧美福利在线观看| 国产亚洲精品无码专| 高清久久精品亚洲日韩Av| 国产日韩精品欧美一区灰| 久久久久久久蜜桃| 亚洲AV无码不卡无码| 国产极品美女在线观看| 99在线视频免费| 欧美午夜视频在线| 在线观看国产精品第一区免费| 国产综合无码一区二区色蜜蜜| 乱色熟女综合一区二区| 日本国产精品一区久久久| 超碰精品无码一区二区| 无码专区在线观看| 国产欧美视频在线观看| 欧美日韩一区二区三区四区在线观看 | 性69交片免费看| 免费看av在线网站网址| 日韩无码一二三区| 国产欧美日本在线观看| 亚洲一区二区日韩欧美gif| 亚洲综合亚洲国产尤物| 欧美a在线看| 久久久久亚洲精品成人网 | 91福利一区二区三区| 国产亚洲高清视频| 精品久久久无码专区中文字幕| 88av在线| 亚洲无码高清免费视频亚洲| 九色视频在线免费观看| 亚洲人成影院在线观看| 婷婷午夜天| 日本一区二区三区精品视频| 欧美亚洲一二三区| 欧美精品亚洲日韩a| 高清无码一本到东京热| 久久国产高清视频| 91久久性奴调教国产免费| 亚洲福利一区二区三区| 国产打屁股免费区网站| 国产在线精彩视频二区| 小蝌蚪亚洲精品国产| 欧美日韩免费| 亚洲aaa视频| 四虎亚洲国产成人久久精品| 青青青视频91在线 | 亚洲一区二区视频在线观看| 亚洲精选高清无码| 国内精品视频区在线2021| 国产91在线|日本| 欧美日韩第三页| 老司国产精品视频91| 国产亚洲美日韩AV中文字幕无码成人| 中文字幕佐山爱一区二区免费| 伊人久久福利中文字幕| 亚洲综合亚洲国产尤物| 好紧太爽了视频免费无码| 99视频在线免费观看| 色婷婷狠狠干| 草草影院国产第一页| 综合五月天网| 国产精品区网红主播在线观看| 久久网欧美| 亚洲香蕉伊综合在人在线| 91在线播放国产| 东京热av无码电影一区二区| 久久这里只有精品免费| 亚洲美女高潮久久久久久久| 国产精品亚洲天堂| 一本综合久久| 欧美有码在线| 91黄视频在线观看| 国产国语一级毛片在线视频| 国产微拍一区二区三区四区| 亚洲视频色图| 中文字幕无码中文字幕有码在线| 欧美在线三级| 在线99视频| 婷婷伊人久久| 久久夜色撩人精品国产|