摘要:(1)比特型时间表的结构阁3-48所示为H级程序的时间控制表结构,它包括下述四个表。HTMR(H级中断计数器H级时间表总有24行,其计数器要用5比特位(25=32>24)。它记录4ms来的次数,从0累加到23,就重新置为“0”。HACT(屏蔽表或活动位):HACT表每1比特位对应1个程序,对要执行的程序在它的比特位置置为“1”,对不霈要执行的位置置
(1)比特型时间表的结构
阁3-48所示为H级程序的时间控制表结构,它包括下述四个表。
HTMR(H级中断计数器H级时间表总有24行,其计数器要用5比特位(25=32>24)。它记录4ms来的次数,从0累加到23,就重新置为“0”。
HACT(屏蔽表或活动位):HACT表每1比特位对应1个程序,对要执行的程序在它的比特位置置为“1”,对不霈要执行的位置置为“0”。
HTBL(H级时间表):将本次周期里要执行的程序,在相应的比特位上填好“1”,为使每一个4ms周期内所要执行的程序条数大致相差不多,应把时间表内每一行的“1”的数目大致相等。以使处理机的负荷比较均匀。
HJUMP(转移表):转移表为各周期级程序的入口地址,在时钟中断时,把HTBL和HACT进行逻辑乘,用“寻1电路”找出最右边的“I”的比特位,再查HJUMP表,得出要执行的程序人口地址。
(2)调度控制程序
比特型时间表法的任务调度控制程序的流程,如图3-49所示。其执行过程如下:
①读时间计数器HTMR的值;
②以计数器的值为地址,读取时间表HTBL中一行的内容;
③判断计数器是否己达到最大值(本例为23X若己到最大值,应清零;若未到最大值,则加1;
④将时间表中读出的内容与屏蔽表内容进行逻辑乘:
⑤判断逻辑乘的结果是否等于0如为0则转至L级任务调度程序;若不为0则应进行以下各项;
⑥由于是群处理,就要用“寻丨电路”寻找最右边的“1”;
⑦把寻到的“1”的比特位去查转移表HJUMP,得到对应的周期级程序的启动地址,然后无条件转移到该周期级程序;⑧该周期级程序执行完毕后,返回到H级调度控制程序,进入上述第⑤项,继续寻“1”,直至把所有应执行的H级程序都执行完,再寻“1”时,己没有“1”了,就转入L级任务调度程序。
4.基本级程序的调度
基本级程序可分为两类:一类是非周期性的程序,这类程序采用队列法来启动;另一类是有周期性的,它的执行周期较长,例如它们的周期为100ms的整数倍。这类程序也可用时间表法来启动,例如,它的计数器是按100ms来进一位。
通信工程师备考资料免费领取
去领取