JPH0534700B2 - - Google Patents
Info
- Publication number
- JPH0534700B2 JPH0534700B2 JP58222822A JP22282283A JPH0534700B2 JP H0534700 B2 JPH0534700 B2 JP H0534700B2 JP 58222822 A JP58222822 A JP 58222822A JP 22282283 A JP22282283 A JP 22282283A JP H0534700 B2 JPH0534700 B2 JP H0534700B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- task
- flag
- monitor
- save
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Description
【発明の詳細な説明】
この発明は、異なるタスクを行う複数のプログ
ラムをもち、それらのプログラムのうち一つを選
択して実行するための多重プログラムの制御方法
に関し、特にマイクロコンピユータ等の小型コン
ピユータにおける多重プログラムの制御方法に関
するものである。
ラムをもち、それらのプログラムのうち一つを選
択して実行するための多重プログラムの制御方法
に関し、特にマイクロコンピユータ等の小型コン
ピユータにおける多重プログラムの制御方法に関
するものである。
従来、例えばマイクロコンピユータを内蔵した
シリアルプリンタにおいては、キーボートとのイ
ンターフエース、ホストコンピユータからのデー
タの読み込み等の異なるタスクを行うための複数
のプログラムがマイクロコンピユータ内に記憶さ
れており、これら複数のプログラムは第1図に示
すようなブロツク図のモニタープログラムに従い
制御される。すなわち、同図においてP1〜Pnは
上記異なるタスクを行うための複数のプログラ
ム、TCPはP1〜Pnの実行・一時停止・優先順位
を定めるタスク制御プログラム、TKCはP1〜Pn
からの命令を解読するとともにそれらの処理終了
をTCPに知らせるタスク命令処理プログラムで
ある。HTMは、マイクロコンピユータに内蔵さ
れたタイマーのスタート及びストツプ制御を行う
タイマー処理プログラム、IPは、外部割り込み
があつたときに、割り込み優先順位の決定、マイ
クロコンピユータの中央処理装置(CPU)のレ
ジスタ退避等を指令する割り込み処理プログラム
である。
シリアルプリンタにおいては、キーボートとのイ
ンターフエース、ホストコンピユータからのデー
タの読み込み等の異なるタスクを行うための複数
のプログラムがマイクロコンピユータ内に記憶さ
れており、これら複数のプログラムは第1図に示
すようなブロツク図のモニタープログラムに従い
制御される。すなわち、同図においてP1〜Pnは
上記異なるタスクを行うための複数のプログラ
ム、TCPはP1〜Pnの実行・一時停止・優先順位
を定めるタスク制御プログラム、TKCはP1〜Pn
からの命令を解読するとともにそれらの処理終了
をTCPに知らせるタスク命令処理プログラムで
ある。HTMは、マイクロコンピユータに内蔵さ
れたタイマーのスタート及びストツプ制御を行う
タイマー処理プログラム、IPは、外部割り込み
があつたときに、割り込み優先順位の決定、マイ
クロコンピユータの中央処理装置(CPU)のレ
ジスタ退避等を指令する割り込み処理プログラム
である。
第1図のモニタープログラムの動作タイミング
を第2図に示すと、T1〜T5はタイマーにより作
成した時分割タイミングであり、T1に至るまで
プログラムPnが実行され、T1でプログラムPnの
実行が中断されて、CPUによる演算が開始され
る。T1から△Tが経過すると、今度はプログラ
ムP1の実行に移り、T2でプログラムP1の実行が
中断されて再びCPUによる演算に戻る。
を第2図に示すと、T1〜T5はタイマーにより作
成した時分割タイミングであり、T1に至るまで
プログラムPnが実行され、T1でプログラムPnの
実行が中断されて、CPUによる演算が開始され
る。T1から△Tが経過すると、今度はプログラ
ムP1の実行に移り、T2でプログラムP1の実行が
中断されて再びCPUによる演算に戻る。
以上のようなプログラムP1〜Pnの実行・中
断はすべて、第1図のモニタープログラム中に予
め設定され、すなわちモニタープログラムは遂時
プログラムP1〜Pnの管理を行つている。
断はすべて、第1図のモニタープログラム中に予
め設定され、すなわちモニタープログラムは遂時
プログラムP1〜Pnの管理を行つている。
さて、上記のような、モニタープログラムによ
る多重プログラムの管理方式は、もともと高速の
演算速度をもつCPUと大容量のメモリをもつ
中・大型コンピユータに適合するプログラミング
技術により開発されたものである。ところが、シ
リアルプリンタ等の端末装置に内蔵したマイクロ
コンピユータは小型でメモリ容量が小さく、また
CPUの演算速度が遅いため、 (i) モニタープログラムが大きなメモリを占める
ので、メモリを増設せざるを得ず、コストが上
昇する。
る多重プログラムの管理方式は、もともと高速の
演算速度をもつCPUと大容量のメモリをもつ
中・大型コンピユータに適合するプログラミング
技術により開発されたものである。ところが、シ
リアルプリンタ等の端末装置に内蔵したマイクロ
コンピユータは小型でメモリ容量が小さく、また
CPUの演算速度が遅いため、 (i) モニタープログラムが大きなメモリを占める
ので、メモリを増設せざるを得ず、コストが上
昇する。
(ii) 複雑なモニタープログラムを演算速度の遅い
CPUで実行するので、処理時間が長くなつて
しまい、例えばシリアルプリンタにおいては、
印字速度の低下を招く。
CPUで実行するので、処理時間が長くなつて
しまい、例えばシリアルプリンタにおいては、
印字速度の低下を招く。
等の欠点が生じた。
この発明は、上記の欠点にかんがみなされたも
のであり、第1図の複雑なモニタープログラムの
代わりに、プログラムP1〜Pnに各別に対応する
フラグをもつ簡易なモニタープログラムを用意
し、これらのフラグセツト・リセツトによつて各
プログラムP1〜Pnを実行・中断する多重プログ
ラムの制御方法を提供することを目的とするもの
である。
のであり、第1図の複雑なモニタープログラムの
代わりに、プログラムP1〜Pnに各別に対応する
フラグをもつ簡易なモニタープログラムを用意
し、これらのフラグセツト・リセツトによつて各
プログラムP1〜Pnを実行・中断する多重プログ
ラムの制御方法を提供することを目的とするもの
である。
以下、デージーホイール型の活字体をもつシリ
アルプリンタに本発明を適用した実施例を第3図
以下の図面に基づき説明する。
アルプリンタに本発明を適用した実施例を第3図
以下の図面に基づき説明する。
第3図は、シリアルプリンタの制御回路のブロ
ツク図であり、同図において、MCPUは演算・
入出力機能をもつマスターCPUであり、外部の
ホストコンピユータ(図示しない)から印字指令
PCを入力して、バスBを介して制御回路全体の
制御を行う。TMは、MCPUの動作タイミングを
設定するクロツクパルスを作成するためのタイ
マ、RAMはMCPUの演算データ等を一時格納す
るための読み取り、書き込み自在のランダムアク
セスメモリ、ROMは後述するプログラムP1〜
P3、及びメインモニタプログラムMMP等を予め
記憶したリードオンメモリである。
ツク図であり、同図において、MCPUは演算・
入出力機能をもつマスターCPUであり、外部の
ホストコンピユータ(図示しない)から印字指令
PCを入力して、バスBを介して制御回路全体の
制御を行う。TMは、MCPUの動作タイミングを
設定するクロツクパルスを作成するためのタイ
マ、RAMはMCPUの演算データ等を一時格納す
るための読み取り、書き込み自在のランダムアク
セスメモリ、ROMは後述するプログラムP1〜
P3、及びメインモニタプログラムMMP等を予め
記憶したリードオンメモリである。
SWは、シリアルプリンタの起動・停止スイツ
チ、紙送りスイツチ等を含むスイツチ群、I/O
はSWとMCPUとのインターフエースを行う入出
力装置である。また、M1,M2はそれぞれ活字選
択用及びキヤリジ移動用のステツピングモータ、
SCPU1,SCPU2は、MCPUからの指令に基づき
演算を行い、それぞれステツピングモータM1,
M2の駆動データを出力するスレーブCPUであ
る。
チ、紙送りスイツチ等を含むスイツチ群、I/O
はSWとMCPUとのインターフエースを行う入出
力装置である。また、M1,M2はそれぞれ活字選
択用及びキヤリジ移動用のステツピングモータ、
SCPU1,SCPU2は、MCPUからの指令に基づき
演算を行い、それぞれステツピングモータM1,
M2の駆動データを出力するスレーブCPUであ
る。
第4図は、本実施例のモニタプログラムのブロ
ツク図であり、INTはSW等からの割り込み要求
指令、TIはタイマーTMの時分割による割り込
み要求指令である。
ツク図であり、INTはSW等からの割り込み要求
指令、TIはタイマーTMの時分割による割り込
み要求指令である。
ICPは、INTやTIの指令による割り込み処理
を行うための処理プログラムである。
を行うための処理プログラムである。
P1,P2,P3はそれぞれ印字位置マージンオー
バー時の警報動作(ブザーまたは発光手段によ
る)、SWの操作の検知、ホストコンピユータか
らの指令の読み取り、という三つのタクスを各別
に担当するプログラムである。MMPは、活字体
の印字位置やキヤリジの移動量等を演算するため
のメインモニタープログラムであり、これらの演
算機能に加えて、プログラムP1,P2,P3に各別
に対応するモニターフラグF1,F2,F3及び退避
フラグSF1,SF2,SF3(第5図参照)が設けられ
ている。尚、TF1,TF2,TF3はP1,P2,P3に各
別に対応してICPに設けられたタスクフラグであ
り、これについては第6図で説明する。
バー時の警報動作(ブザーまたは発光手段によ
る)、SWの操作の検知、ホストコンピユータか
らの指令の読み取り、という三つのタクスを各別
に担当するプログラムである。MMPは、活字体
の印字位置やキヤリジの移動量等を演算するため
のメインモニタープログラムであり、これらの演
算機能に加えて、プログラムP1,P2,P3に各別
に対応するモニターフラグF1,F2,F3及び退避
フラグSF1,SF2,SF3(第5図参照)が設けられ
ている。尚、TF1,TF2,TF3はP1,P2,P3に各
別に対応してICPに設けられたタスクフラグであ
り、これについては第6図で説明する。
第5図は、メインモニタープログラムMMPの
フローチヤートであり、電源投入後先ずタイマ
TMがスタートし、このタイマTMにより発生す
るクロツクパルスによつて以下のプログラムに一
定周期毎に割り込みがかけられる。次に、演算・
制御処理を開始し、続いてモニターフラグF1,
F2,F3をすべて「1」にセツトし、演算・制御
処理を続行する。尚、この演算・制御処理の中に
は、SCPU1,SCPU2に印字データを転送すると
いう動作も含まれる。一定時間が経過して演算・
制御処理が終了するとモニターフラグF1,F2,
F3をすべて「0」にリセツトし、退避フラグ
SF1,SF2,SF3のセツト状態を判断する。退避
フラグSF1,SF2,SF3がリセツト状態であれば
演算・制御処理を続行し、退避フラグSF1,SF2,
SF3がセツト状態にあると、退避フラグSF1,
SF2,SF3をリセツトするとともに、プログラム
P1,P2,P3の処理に入る。尚、プログラムP1,
P2,P3の処理開始とともにすべての割込みを不
能とする。プログラムP1,P2,P3の処理終了後
は割込み可能として、メインモニタープログラム
による演算・制御処理に戻る。続いてモニターフ
ラグF1,F2,F3すべて「1」にセツトし、演
算・制御処理を続行する。この処理の終了後、モ
ニターフラグF1,F2,F3をすべて「0」にリセ
ツトし、退避フラグSF1,SF2,SF3のセツト状
態を判断する。退避フラグSF1,SF2,SF3がリ
セツト状態にあれば演算・制御処理を続行し、ま
たセツト状態にあれば、プログラムP1,P2,P3
の処理に入る。このときも、プログラムP1,P2,
P3の実行中は割り込み不能としている。プログ
ラムP1,P2,P3の処理終了後は、メインモニタ
ープログラムによる演算・制御処理に戻る。続い
てモニターフラグF1,F2,F3すべて「0」にリ
セツトし、退避フラグSF1,SF2,SF3のセツト
状態を判断する。退避フラグSF1,SF2,SF3が
リセツト状態にあれば演算・制御処理を続行し、
またセツト状態にあれば、プログラムP1,P2,
P3の処理に入る。上記したように、プログラム
P1,P2,P3の実行中は割り込みは不態としてあ
る。プログラムP1,P2,P3の実行が終了すると、
メインモニタープログラムによる演算・制御処理
に戻り、メインモニタープログラムは以上のルー
プを繰りかえす。
フローチヤートであり、電源投入後先ずタイマ
TMがスタートし、このタイマTMにより発生す
るクロツクパルスによつて以下のプログラムに一
定周期毎に割り込みがかけられる。次に、演算・
制御処理を開始し、続いてモニターフラグF1,
F2,F3をすべて「1」にセツトし、演算・制御
処理を続行する。尚、この演算・制御処理の中に
は、SCPU1,SCPU2に印字データを転送すると
いう動作も含まれる。一定時間が経過して演算・
制御処理が終了するとモニターフラグF1,F2,
F3をすべて「0」にリセツトし、退避フラグ
SF1,SF2,SF3のセツト状態を判断する。退避
フラグSF1,SF2,SF3がリセツト状態であれば
演算・制御処理を続行し、退避フラグSF1,SF2,
SF3がセツト状態にあると、退避フラグSF1,
SF2,SF3をリセツトするとともに、プログラム
P1,P2,P3の処理に入る。尚、プログラムP1,
P2,P3の処理開始とともにすべての割込みを不
能とする。プログラムP1,P2,P3の処理終了後
は割込み可能として、メインモニタープログラム
による演算・制御処理に戻る。続いてモニターフ
ラグF1,F2,F3すべて「1」にセツトし、演
算・制御処理を続行する。この処理の終了後、モ
ニターフラグF1,F2,F3をすべて「0」にリセ
ツトし、退避フラグSF1,SF2,SF3のセツト状
態を判断する。退避フラグSF1,SF2,SF3がリ
セツト状態にあれば演算・制御処理を続行し、ま
たセツト状態にあれば、プログラムP1,P2,P3
の処理に入る。このときも、プログラムP1,P2,
P3の実行中は割り込み不能としている。プログ
ラムP1,P2,P3の処理終了後は、メインモニタ
ープログラムによる演算・制御処理に戻る。続い
てモニターフラグF1,F2,F3すべて「0」にリ
セツトし、退避フラグSF1,SF2,SF3のセツト
状態を判断する。退避フラグSF1,SF2,SF3が
リセツト状態にあれば演算・制御処理を続行し、
またセツト状態にあれば、プログラムP1,P2,
P3の処理に入る。上記したように、プログラム
P1,P2,P3の実行中は割り込みは不態としてあ
る。プログラムP1,P2,P3の実行が終了すると、
メインモニタープログラムによる演算・制御処理
に戻り、メインモニタープログラムは以上のルー
プを繰りかえす。
次に、タイマTMのクロツクまたはスイツチ
SW等のメインモニタープログラムMMP(第5
図)に対する割り込みのプログラムについて説明
する。
SW等のメインモニタープログラムMMP(第5
図)に対する割り込みのプログラムについて説明
する。
第6図において、割り込みを開始すると、先
ず、次の割込みが関与しないように割り込み不能
処理を行い、その割り込みが外部割り込みか否か
を判断する。外部割り込み、すなわちスイツチ
SWの操作等であると、それに対応する処理を行
い割り込みを可能としてメインモニタープログラ
ムMMPに戻る。また、外部割り込み以外、すな
わちタイマTMのクロツクによる周期的な割り込
みであると、タスクフラグTF1のセツト状態を判
断する。尚、タスクフラグTF1,TF2,TF3はメ
インモニタープログラムMMPの初期状態で1、
0、0(以下セツトを「1」、リセツトを「0」で
あらわす)に設定されている。さて、タスクフラ
グTF1がセツト状態にあると、モニターフラグF1
のセツト状態を判断し、モニターフラグF1がリ
セツト状態にあればプログラムP1の処理を行う。
また、それがセツト状態にあれば、プログラム
P1の演算パラメータを一時所定のレジスタに退
避させる。プログラムP1の処理または上記退避
動作が終了すると、退避フラグSF1をセツトする
とともにタスクフラグTF1をリセツトして、タス
クフラグTF2をセツトし、割り込み可能処理のの
ちメインモニタープログラムMMPに戻る。タス
クフラグTF2またはTF3がセツト状態にあれば、
モニターフラグF2またはモニターフラグF3の状
態に対応して、上記と同様の処理をプログラム
P2またはP3に対して行う。ただし、タスクフラ
グTF1,TF2,TF3のセツト・リセツトはサイク
リツクに行なわれる。すなわち、タスクフラグ
TF2がセツト状態のときは上記処理の終了後
(TF1,TF2,TF3)は(0、1、0)→(0、
0、1)にまた、タスクフラグTF3がセツト状
態のときは、上記処理の終了後(TF1,TF2,
TF3)は(0、0、1)→(1、0、0)と切り
換えられる。
ず、次の割込みが関与しないように割り込み不能
処理を行い、その割り込みが外部割り込みか否か
を判断する。外部割り込み、すなわちスイツチ
SWの操作等であると、それに対応する処理を行
い割り込みを可能としてメインモニタープログラ
ムMMPに戻る。また、外部割り込み以外、すな
わちタイマTMのクロツクによる周期的な割り込
みであると、タスクフラグTF1のセツト状態を判
断する。尚、タスクフラグTF1,TF2,TF3はメ
インモニタープログラムMMPの初期状態で1、
0、0(以下セツトを「1」、リセツトを「0」で
あらわす)に設定されている。さて、タスクフラ
グTF1がセツト状態にあると、モニターフラグF1
のセツト状態を判断し、モニターフラグF1がリ
セツト状態にあればプログラムP1の処理を行う。
また、それがセツト状態にあれば、プログラム
P1の演算パラメータを一時所定のレジスタに退
避させる。プログラムP1の処理または上記退避
動作が終了すると、退避フラグSF1をセツトする
とともにタスクフラグTF1をリセツトして、タス
クフラグTF2をセツトし、割り込み可能処理のの
ちメインモニタープログラムMMPに戻る。タス
クフラグTF2またはTF3がセツト状態にあれば、
モニターフラグF2またはモニターフラグF3の状
態に対応して、上記と同様の処理をプログラム
P2またはP3に対して行う。ただし、タスクフラ
グTF1,TF2,TF3のセツト・リセツトはサイク
リツクに行なわれる。すなわち、タスクフラグ
TF2がセツト状態のときは上記処理の終了後
(TF1,TF2,TF3)は(0、1、0)→(0、
0、1)にまた、タスクフラグTF3がセツト状
態のときは、上記処理の終了後(TF1,TF2,
TF3)は(0、0、1)→(1、0、0)と切り
換えられる。
次に、第7図により、上記第5,6図のフロー
チヤートによるメインモニタプログラムMMC及
びプログラムP1〜P3の動作タイムチヤート、及
びそれに対応する各フラグF1〜F3、SF1〜SF3,
TF1〜TF3のセツト・リセツト状態について説明
する。
チヤートによるメインモニタプログラムMMC及
びプログラムP1〜P3の動作タイムチヤート、及
びそれに対応する各フラグF1〜F3、SF1〜SF3,
TF1〜TF3のセツト・リセツト状態について説明
する。
制御回路に電源を投入すると、タイマTMのク
ロツクパルスによりメインモニタープログラム
MMPに対し周期的な割り込みが開始されるとと
もに、メインモニタープログラムMMPの演算・
制御も開始される。先ず、メインモニタープログ
ラムMMPでフラグF1〜F3が「1」にセツトされ
ているときに、T1で上記割り込みが入ると、第
6図の割り込みプログラムに移行する。このとき
タスクフラグTF1がセツト状態であることから、
モニタフラグF1が判断され、モニタフラグF1が
セツト状態であるので、プログラムP1のパラメ
ータをMCPUの所定レジスタに一時退避させて、
直ちにタスクフラグTF2のセツト、及び退避フラ
グSF1のセツトを行つたのちにメインモニタープ
ログラムMMPに戻る。すなわち、プログラムP1
は、そのパラメータを退避させるだけで実行はし
ないので、短い時間△tだけの中断をはさむだけ
でメインモニタープログラムMMPの演算・制御
を継続することができる。この演算が終了してそ
のデータが例えばキヤリジ移動用のSCPU1に転
送された後に、タイミングX1でモニターフラグ
F1〜F3が「0」にリセツトされると、退避フラ
グSF1が判断され、それが「1」にセツトされて
いるため、退避フラグSF1「0」にリセツトされ
た後にレジスタから退避していたパラメータが戻
されてプログラムP1が実行される。プログラム
P1のタイミングT2にタイマTMの割り込みが入
ろうとするが、この間はすべての割り込みが不可
能とされているので、プログラムP1はそのまま
実行される。プログラムP1の終了後は再びメイ
ンモニタープログラムMMPの演算・制御が開始
される。次にタイミングX2でモニターフラグ
F1,F2,F3がすべて「1」にセツトされる。
ロツクパルスによりメインモニタープログラム
MMPに対し周期的な割り込みが開始されるとと
もに、メインモニタープログラムMMPの演算・
制御も開始される。先ず、メインモニタープログ
ラムMMPでフラグF1〜F3が「1」にセツトされ
ているときに、T1で上記割り込みが入ると、第
6図の割り込みプログラムに移行する。このとき
タスクフラグTF1がセツト状態であることから、
モニタフラグF1が判断され、モニタフラグF1が
セツト状態であるので、プログラムP1のパラメ
ータをMCPUの所定レジスタに一時退避させて、
直ちにタスクフラグTF2のセツト、及び退避フラ
グSF1のセツトを行つたのちにメインモニタープ
ログラムMMPに戻る。すなわち、プログラムP1
は、そのパラメータを退避させるだけで実行はし
ないので、短い時間△tだけの中断をはさむだけ
でメインモニタープログラムMMPの演算・制御
を継続することができる。この演算が終了してそ
のデータが例えばキヤリジ移動用のSCPU1に転
送された後に、タイミングX1でモニターフラグ
F1〜F3が「0」にリセツトされると、退避フラ
グSF1が判断され、それが「1」にセツトされて
いるため、退避フラグSF1「0」にリセツトされ
た後にレジスタから退避していたパラメータが戻
されてプログラムP1が実行される。プログラム
P1のタイミングT2にタイマTMの割り込みが入
ろうとするが、この間はすべての割り込みが不可
能とされているので、プログラムP1はそのまま
実行される。プログラムP1の終了後は再びメイ
ンモニタープログラムMMPの演算・制御が開始
される。次にタイミングX2でモニターフラグ
F1,F2,F3がすべて「1」にセツトされる。
こうして次にタイミングT3で割り込みが入る
と、第6図の割り込みプログラムに入るが、タス
クフラグTF2がセツト状態にあるため今度は、モ
ニターフラグF2のセツト状態に関連してプログ
ラムP2のパラメータ退避が行なわれる。また、
これより直ちに退避フラグSF2のセツト、タスク
フラグTF2のリセツト、タスクフラグTF2のセ
ツトが行なわれて再びメインモニタプログラム
MMPに戻る。
と、第6図の割り込みプログラムに入るが、タス
クフラグTF2がセツト状態にあるため今度は、モ
ニターフラグF2のセツト状態に関連してプログ
ラムP2のパラメータ退避が行なわれる。また、
これより直ちに退避フラグSF2のセツト、タスク
フラグTF2のリセツト、タスクフラグTF2のセ
ツトが行なわれて再びメインモニタプログラム
MMPに戻る。
続いてタイミングT4で割り込みが入ると、タ
スクフラグTF3のセツト状態に関連して、モニタ
ーフラグF3のセツト状態によりプログラムP3の
パラメータ退避及び退避フラグSF3のセツト、タ
スクフラグTF3のリセツト、タスクフラグTF1の
セツトが行なわれる。さらにまた、タイミング
T5で割り込みが入ると、タスクフラグTF1のセ
ツト状態に関連して、モニターフラグF1のセツ
ト状態によりプログラムP1のパラメータ退避及
び退避フラグSF1のセツト、タスクフラグTF1の
リセツト、タスクフラグTF2のセツトが行なわれ
る。こうして、退避フラグSF1〜SF3がすべて
「1」にセツトされる。次にタイミングX3でモニ
タフラグF1〜F3が「0」にリセツトされる
と、退避フラグSF1,SF2,SF3が判断され、そ
れがセツト状態にあるため、退避フラグSF1,
SF2,SF3がリセツトされるとともにプログラム
P1,P2,P3が実行される。プログラムP1,P2,
P3の終了後、次に、タイミングT7で割り込みが
入ると、タスクフラグTF2がセツト状態にあるた
め、モニターフラグF2が判断され、モニターフ
ラグF2が「0」にリセツトされていることから、
プログラムP2が実行され、それの終了後タスク
フラグTF2のリセツト、タスクフラグTF3のセツ
トが行なわれる。
スクフラグTF3のセツト状態に関連して、モニタ
ーフラグF3のセツト状態によりプログラムP3の
パラメータ退避及び退避フラグSF3のセツト、タ
スクフラグTF3のリセツト、タスクフラグTF1の
セツトが行なわれる。さらにまた、タイミング
T5で割り込みが入ると、タスクフラグTF1のセ
ツト状態に関連して、モニターフラグF1のセツ
ト状態によりプログラムP1のパラメータ退避及
び退避フラグSF1のセツト、タスクフラグTF1の
リセツト、タスクフラグTF2のセツトが行なわれ
る。こうして、退避フラグSF1〜SF3がすべて
「1」にセツトされる。次にタイミングX3でモニ
タフラグF1〜F3が「0」にリセツトされる
と、退避フラグSF1,SF2,SF3が判断され、そ
れがセツト状態にあるため、退避フラグSF1,
SF2,SF3がリセツトされるとともにプログラム
P1,P2,P3が実行される。プログラムP1,P2,
P3の終了後、次に、タイミングT7で割り込みが
入ると、タスクフラグTF2がセツト状態にあるた
め、モニターフラグF2が判断され、モニターフ
ラグF2が「0」にリセツトされていることから、
プログラムP2が実行され、それの終了後タスク
フラグTF2のリセツト、タスクフラグTF3のセツ
トが行なわれる。
以上のように、この発明によれば、
時分割して継時的にタスクを実行すべき複数の
プログラムをもつ制御装置において、演算を行う
メインプログラムの実行・待機を指令するモニタ
ーフラグと、タスクを実行すべき複数のプログラ
ムに各別に対応して実行・停止を指令するタスク
フラグとをもつ制御プログラムを設け、モニター
フラグの待機状態に関連して、実行指令状態にあ
るタスクフラグに対応するプログラムを自動的に
実行するようにしたので、従来のように、多重プ
ログラムの順序・時分割の設定などを遂一指令す
る複雑なモニタープログラムを要することなく、
自動的なフラグのセツト・リセツトだけで多重プ
ログラムを管理できるので、そのような管理プロ
グラムの格納に要していたメモリ容量を著しく減
少できるからコストを低減できるという効果があ
る。
プログラムをもつ制御装置において、演算を行う
メインプログラムの実行・待機を指令するモニタ
ーフラグと、タスクを実行すべき複数のプログラ
ムに各別に対応して実行・停止を指令するタスク
フラグとをもつ制御プログラムを設け、モニター
フラグの待機状態に関連して、実行指令状態にあ
るタスクフラグに対応するプログラムを自動的に
実行するようにしたので、従来のように、多重プ
ログラムの順序・時分割の設定などを遂一指令す
る複雑なモニタープログラムを要することなく、
自動的なフラグのセツト・リセツトだけで多重プ
ログラムを管理できるので、そのような管理プロ
グラムの格納に要していたメモリ容量を著しく減
少できるからコストを低減できるという効果があ
る。
また、管理プログラムの演算時間も減少するの
で、例えばシリアルプリンタのような端末装置に
本発明を適用することによつて、その印字速度を
上昇することができる。
で、例えばシリアルプリンタのような端末装置に
本発明を適用することによつて、その印字速度を
上昇することができる。
尚、上記実施例では、多重プログラムP1〜P3
を三本実行するようにしているが、この発明がそ
の数に限定されるものではないことは勿論であ
る。
を三本実行するようにしているが、この発明がそ
の数に限定されるものではないことは勿論であ
る。
また、上記実施例におけるモニターフラグF1
〜F3は、一個に限定してその一つのモニターフ
ラグをセツト・リセツトするようにしてもよく、
あるいは各プログラムP1〜P3の実行に要する時
間によつて、各モニターフラグF1〜F3い非同期
としてもよい。
〜F3は、一個に限定してその一つのモニターフ
ラグをセツト・リセツトするようにしてもよく、
あるいは各プログラムP1〜P3の実行に要する時
間によつて、各モニターフラグF1〜F3い非同期
としてもよい。
第1図は、従来の制御装置のモニタープログラ
ムのブロツク図、第2図は、第1図のモニタープ
ログラムの動作のタイムチヤート、第3図は本発
明実施例の制御回路のブロツク図、第4図は、本
発明のモニタープログラムのブロツク図、第5図
は、メインモニタープログラムのフローチヤー
ト、第6図は、割り込みプログラムのフローチヤ
ート、第7図は、本発明のモニタープログラムの
動作のタイムチヤートである。 ROM……記憶手段、MCPU……制御手段、
MMP……メインモニタープログラム、P1〜P3…
…プログラム、F1〜F3……モニターフラグ、TF1
〜TF3……タスクフラグ、SF1〜SF3……退避フ
ラグ。
ムのブロツク図、第2図は、第1図のモニタープ
ログラムの動作のタイムチヤート、第3図は本発
明実施例の制御回路のブロツク図、第4図は、本
発明のモニタープログラムのブロツク図、第5図
は、メインモニタープログラムのフローチヤー
ト、第6図は、割り込みプログラムのフローチヤ
ート、第7図は、本発明のモニタープログラムの
動作のタイムチヤートである。 ROM……記憶手段、MCPU……制御手段、
MMP……メインモニタープログラム、P1〜P3…
…プログラム、F1〜F3……モニターフラグ、TF1
〜TF3……タスクフラグ、SF1〜SF3……退避フ
ラグ。
Claims (1)
- 【特許請求の範囲】 1 演算を実行するためのメインプログラム及び
それぞれ異なるタスクを実行するための複数のタ
スクプロラムとを記憶した記憶手段と、。 メインプログラム及びタスクプログラムの実行
または停止を各別に制御可能とした制御手段、と
を備えた制御装置において、 タスクプログラムのデータをレジスタに格納す
る退避処理およびタスクプログラムを実行するプ
ログラム処理およびメインプログラムが演算実行
時期か演算停止時期かを判別するためのモニター
フラグF1〜F3およびタスクプログラムに各別に
対応してそれらのタスクプログラムのうち一つを
所定の順序で選択的に実行するためのタスクフラ
グTF1〜TF3ならびにレジスタにデータを退避し
たタスクプログラムを特定するための退避フラグ
SF1〜SF3とにより、タスクフラグの読み出しに
関連して、モニターフラグが演算実行時期を判別
するときはタスクフラグに対応するタスクプログ
ラムについての退避処理を実行してから退避処理
したタスクプログラムに対応する退避フラグをセ
ツトし、またモニターフラグが演算停止時期を判
別するときはタスクフラグに対応するタスクプロ
グラムのプログラム処理を実行したのち、タスク
フラグを更新する第一の制御と、 退避フラグのセツトに関連して第一の制御にお
いて退避フラグにより特定されたタスクプログラ
ムのデータをレジスタから読み出して該タスクプ
ログラムのプログラム処理を実行する第二の制
御、 とを行うことを特徴とした多重プログラムの制御
方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58222822A JPS60114939A (ja) | 1983-11-26 | 1983-11-26 | 多重プログラムの制御方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58222822A JPS60114939A (ja) | 1983-11-26 | 1983-11-26 | 多重プログラムの制御方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS60114939A JPS60114939A (ja) | 1985-06-21 |
| JPH0534700B2 true JPH0534700B2 (ja) | 1993-05-24 |
Family
ID=16788450
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58222822A Granted JPS60114939A (ja) | 1983-11-26 | 1983-11-26 | 多重プログラムの制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS60114939A (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6949682B2 (ja) * | 2017-11-27 | 2021-10-13 | キヤノン株式会社 | 画像形成装置 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5031749A (ja) * | 1973-07-21 | 1975-03-28 |
-
1983
- 1983-11-26 JP JP58222822A patent/JPS60114939A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS60114939A (ja) | 1985-06-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6031973A (en) | Robot and its controller method | |
| US4907150A (en) | Apparatus and method for suspending and resuming software applications on a computer | |
| US5083266A (en) | Microcomputer which enters sleep mode for a predetermined period of time on response to an activity of an input/output device | |
| JP2982875B2 (ja) | スレーブ制御装置 | |
| JPH0376496B2 (ja) | ||
| CN108241522B (zh) | 虚拟化环境中的睡眠状态切换方法、装置及电子设备 | |
| JP2005521937A (ja) | コンピュータオペレーティングシステムにおけるコンテキスト切り替え方法及び装置 | |
| JPH0534700B2 (ja) | ||
| JPS60218152A (ja) | マイクロ・プロセツサ | |
| JPS6347812A (ja) | スリ−プモ−ド制御装置 | |
| JPH1173330A5 (ja) | ||
| JPS5965306A (ja) | シ−ケンス制御装置 | |
| JP3302149B2 (ja) | コンピュータシステム | |
| JPH0883133A (ja) | コンピュータシステム及びそのクロック制御方法 | |
| JP2508026B2 (ja) | タイマ制御方式 | |
| JPH0637470Y2 (ja) | グラフィックス制御装置 | |
| JP3143496B2 (ja) | 電子機器及び電子機器の制御方法 | |
| JP3024719B2 (ja) | プログラマブルコントローラの演算処理方法 | |
| JPS6239776B2 (ja) | ||
| JP4535663B2 (ja) | ステートマシン制御方式およびステートマシン | |
| JPH06105439B2 (ja) | プログラム管理方式 | |
| JPH03111961A (ja) | マルチcpuのプログラムロード方式 | |
| WO2022180893A1 (ja) | 制御装置及び制御方法 | |
| JPS58205258A (ja) | デ−タ処理装置 | |
| JPH02236708A (ja) | 電子計算処理システム |