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