TCT,TJTの構成


B)TCTの構成

【TCTとは?】

TCTはTask Control Tableの略で、各タスクごとの現在状態と、マクロ
命令のパラメータを保存する場所です。各タスク毎に2バイトのデータ
メモリエリア
を使用します。

【Task Control Table(TCT)の働き】

・全てのタスクは1〜127までの番号が付けられ区別される。

・TCTにはこのタスクの現在状態が格納されている。

・ACTIVE FlagがONのタスクが実行可能なタスクであり、 WAIT Flagの
 いずれかがONのタスクは実行待ち状態である。

・Timer Wait中のタスクのParameterにはタイマーカウンターがセットされて
 おり、タイマーの割込みの都度減算される。このタイマーカウンターが0
 になった時がタイマー待ち終了である。

・STAGE Noは、各タスクの実行ブロックの番号で、このSTAGEにより、
 ジャンプテーブルを参照してスケジューラから分岐ジャンプしてタスクに
 実行を移す。

【TCTの構造】

実際のTCTのメモリ上の構造は下図のようになっている。
タスク毎に2バイトのエリアを消費し タスク数×2バイト のエリアを必要
とする。しかも読み書きが出来ることが必要なことから、データメモリエリア
に置く必要がある。
ユーザとしては、特にエリアを確保するだけで他には何もすることは無い。



C)TJT,TJSTの構成

【TJT、TJSTとは?】

スケジューラから各タスクにディスパッチ(ジャンプ)するとき必要な各タスク
へのジャンプ先アドレスを入手するためのテーブルであり、
TJT(Task Jump Table)とTJST(Task Jump Sub Table)の2段階の構造に
なっている。

【TASK Jump Table(TJT)の働き】

 ・スケジューラから分岐する時、各タスクごとの分岐先を格納したテーブル
  で、2段階の参照になっている。この2つのテーブルはユーザが作成する
  必要がある。

 ・まず、TASK毎のジャンプテーブルTJSTのタスク毎の先頭格納アドレスを
  返すRETLW命令の一覧であるTJTがあり、その先に各タスクのSTAGE毎
  のGOTOジャンプ命令の格納一覧であるTJSTがある。
  これらのテーブルはプログラムエリアに存在すれば良く、データメモリエ
  リアは消費しない。  

 ・各タスクは処理ブロック毎にSTAGEという区別番号を付け、その入口の
  アドレスへのGOTO命令をジャンプ先としてTJSTテーブルに格納する。

 ・各タスクは実行が終了しないとスケジューラに戻らないので、各タスクを
  処理単位毎に分け、STAGEとして独立の処理単位とする。
  分ける単位はWAITマクロ、EXITマクロ、RQSTマクロなどを発行するところ
  で独立のブロックとして構成させる。  

【TJT,TJSTの構造】

TJT,TJSTのメモリ上の構造は固定データとして下図の構造で、プログラム
メモリエリアに確保する。





  次のページへ     目次ページへ