摘要:(1)比特型時間表的結(jié)構(gòu)閣3-48所示為H級程序的時間控制表結(jié)構(gòu),它包括下述四個表。HTMR(H級中斷計數(shù)器H級時間表總有24行,其計數(shù)器要用5比特位(25=32>24)。它記錄4ms來的次數(shù),從0累加到23,就重新置為“0”。HACT(屏蔽表或活動位):HACT表每1比特位對應(yīng)1個程序,對要執(zhí)行的程序在它的比特位置置為“1”,對不霈要執(zhí)行的位置置
(1)比特型時間表的結(jié)構(gòu)
閣3-48所示為H級程序的時間控制表結(jié)構(gòu),它包括下述四個表。
HTMR(H級中斷計數(shù)器H級時間表總有24行,其計數(shù)器要用5比特位(25=32>24)。它記錄4ms來的次數(shù),從0累加到23,就重新置為“0”。
HACT(屏蔽表或活動位):HACT表每1比特位對應(yīng)1個程序,對要執(zhí)行的程序在它的比特位置置為“1”,對不霈要執(zhí)行的位置置為“0”。
HTBL(H級時間表):將本次周期里要執(zhí)行的程序,在相應(yīng)的比特位上填好“1”,為使每一個4ms周期內(nèi)所要執(zhí)行的程序條數(shù)大致相差不多,應(yīng)把時間表內(nèi)每一行的“1”的數(shù)目大致相等。以使處理機的負(fù)荷比較均勻。
HJUMP(轉(zhuǎn)移表):轉(zhuǎn)移表為各周期級程序的入口地址,在時鐘中斷時,把HTBL和HACT進(jìn)行邏輯乘,用“尋1電路”找出最右邊的“I”的比特位,再查HJUMP表,得出要執(zhí)行的程序人口地址。
(2)調(diào)度控制程序
比特型時間表法的任務(wù)調(diào)度控制程序的流程,如圖3-49所示。其執(zhí)行過程如下:
①讀時間計數(shù)器HTMR的值;
②以計數(shù)器的值為地址,讀取時間表HTBL中一行的內(nèi)容;
③判斷計數(shù)器是否己達(dá)到最大值(本例為23X若己到最大值,應(yīng)清零;若未到最大值,則加1;
④將時間表中讀出的內(nèi)容與屏蔽表內(nèi)容進(jìn)行邏輯乘:
⑤判斷邏輯乘的結(jié)果是否等于0如為0則轉(zhuǎn)至L級任務(wù)調(diào)度程序;若不為0則應(yīng)進(jìn)行以下各項;
⑥由于是群處理,就要用“尋丨電路”尋找最右邊的“1”;
⑦把尋到的“1”的比特位去查轉(zhuǎn)移表HJUMP,得到對應(yīng)的周期級程序的啟動地址,然后無條件轉(zhuǎn)移到該周期級程序;⑧該周期級程序執(zhí)行完畢后,返回到H級調(diào)度控制程序,進(jìn)入上述第⑤項,繼續(xù)尋“1”,直至把所有應(yīng)執(zhí)行的H級程序都執(zhí)行完,再尋“1”時,己沒有“1”了,就轉(zhuǎn)入L級任務(wù)調(diào)度程序。
4.基本級程序的調(diào)度
基本級程序可分為兩類:一類是非周期性的程序,這類程序采用隊列法來啟動;另一類是有周期性的,它的執(zhí)行周期較長,例如它們的周期為100ms的整數(shù)倍。這類程序也可用時間表法來啟動,例如,它的計數(shù)器是按100ms來進(jìn)一位。
通信工程師備考資料免費領(lǐng)取
去領(lǐng)取