Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0668727B2 - 情報処理装置 - Google Patents
[go: Go Back, main page]

JPH0668727B2 - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH0668727B2
JPH0668727B2 JP22975086A JP22975086A JPH0668727B2 JP H0668727 B2 JPH0668727 B2 JP H0668727B2 JP 22975086 A JP22975086 A JP 22975086A JP 22975086 A JP22975086 A JP 22975086A JP H0668727 B2 JPH0668727 B2 JP H0668727B2
Authority
JP
Japan
Prior art keywords
task
execution
internal
priority
instruction
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 - Fee Related
Application number
JP22975086A
Other languages
English (en)
Other versions
JPS6385829A (ja
Inventor
祐二 川森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anritsu Corp
Original Assignee
Anritsu Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Anritsu Corp filed Critical Anritsu Corp
Priority to JP22975086A priority Critical patent/JPH0668727B2/ja
Publication of JPS6385829A publication Critical patent/JPS6385829A/ja
Publication of JPH0668727B2 publication Critical patent/JPH0668727B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、高級言語によって記述したプログラムの複数
のタスクを指定した優先度に従って実行条件の変化に実
時間で応答して並行して実行する機能を有する情報処理
装置に関するものである。
[従来の技術] 従来、高級言語によって記述した複数の処理部分(タス
ク)を指定した優先度に従って実行条件の変化に実時間
に応答して並行して実行する機能を有する情報処理装置
としては、下記に示す2つの方式が用いられている。
第1の方式は、高級言語の命令ステップとは無関係にタ
スク間の実行権の切換を行うものである。各タスクは起
動されると実行可能状態となり、さらに実行可能状態の
タスクのうちで最も高い優先度を有するタスクが実行状
態になって高級言語で記述されたプログラムが実行され
る。
高級言語の命令が特定の事象の発生を待つという内容で
あれば、そのタスクは待ち状態となり、この場合、他に
実行可能状態のタスクが存在すればこのようなタスクの
うちでも最も高い優先度を有するタスクが代わって実行
状態となる。
待ち状態となったタスクは、待っている事象が発生する
と実行可能状態となり再び各タスクの優先度に応じて実
行権の切換が行われる。
この方式では、上記の規則に従って各タスクに割り当て
られている優先度と事象の発生に実時間で応答してタス
クの実行権の切換が行われる。
高級言語の命令はCPUの機械語の複数の命令によって
構成されるものであるため、一般にはあるタスクの実行
中に他のより高い優先度を有するタスクが実行状態にな
った場合には、実行中の高級言語の命令の途中であって
も実行権の切換が行われる。
第2の方式は、高級言語の命令ステップを最小の実行単
位としてタスク間の実行権の切換を行うものである。
この方式では起動されている各タスクの中から実行状態
とするタスクを決定する条件は第一の方式と同じである
が、あるタスクが実行状態となり得る条件が満たされて
も、その時点で他のタスクにおいて高級言語の命令を実
行中であった場合にはその命令の実行が完了してから実
行権の切換が行われる。
[発明が解決しようとする問題点] このような従来の情報処理装置においては第1の方式、
第2の方式とも次に述べるような欠点があった。
第1の方式においては各タスクの処理内容が高級言語の
命令で記述されているにもかかわらず、各タスク間の実
行権の切換は高級言語の命令を構成する機械語を単位と
して行われるため、プログラム全体としての実行順序が
情報処理装置内部の条件に依存することになり、実行経
過を正確に把握することは難しい。
第2の方式においては、タスク間の実行権の切換が高級
言語の命令の実行終了するまで待たされるため、実際に
実行権の切換が行われるまでの遅れ時間が大きくなる。
また、高級言語の各命令の実行時間はすべて異なるので
このような遅れ時間は一定ではない。
第1の方式は実行条件の変化に対するタスクの応答性が
優れており、第2の方式は高級言語レベルでの動作確認
が容易であり、また高級言語の一命令が不可分な処理と
して実行されるためタスク間に共通な変数を置いて共通
にアクセスすることもできる。その反面、両者とも上に
述べた欠点がありどちらの方式を用いるかは用途に応じ
て選択することが望ましいが、従来1つの情報処理装置
においてこれらを選択したり複合して利用するための方
法がなく、利用者は用途別に効率よく使いわけることが
できなかった。
本発明は、上記の問題を解決するために、一つの情報処
理装置において機械語の単位で実行権の切換が行われる
タスクと高級言語の命令を単位として実行権の切換が行
なわれるタスクとを複合して記述し実行できるようにし
て、利用者が上記の2つの方式を用途に応じて使いわけ
ることを可能にするものである。
[問題点を解決するための手段] 上記問題点を解決するため本発明による情報処理装置
は、単一のCPU(10a)と; 該CPUの機械語で構成される複数個のタスクを起動し
て実行可能状態とし、該タスクの状態および優先度に対
応して実行可能状態のタスクの中で最も高い優先度が割
り当てられているタスクを選択し機械語の実行ステップ
を単位としてタスクに実行権を与えるタスク管理手段
(11a)と、;ハードウェア信号を検出して該ハード
ウェア信号の発生を待っている待ち状態のタスクの状態
を実行可能状態に変更する事象管理手段(11b)とを
有するオペレーティングシステム(11)と; 高級言語の命令で構成されるプログラム(13)を格納
するメモリ(10b)と; 前記タスク管理手段により起動されて、前記メモリに格
納されるプログラムから高級言語の命令を順次取り出し
て命令の処理を実行する高級言語処理部(12)と; を有する情報処理装置において、 前記メモリ(10b)に格納されるプログラム(13)
は、複数個(1,2,…,N)の上位タスクから構成さ
れ、さらに各上位タスクは複数個(1,2…,M)のそ
れぞれ異なる優先度を持つ 内部タスク(1−1,1−2,…,1−M), (2−1,2−2,…,2−M), … (N−1,N−2,…,N−M)で構成さ
れ、 前記高級言語処理部(12)は、所定の優先度が割り当
てられている該内部タスクを実行開始するごとに内部タ
スクに割り当てられた優先度でタスク管理手段(11
a)により起動されてプログラム(13)から内部タス
クを構成する高級言語の命令を順次取り出して命令の処
理を実行するとともに、前記内部タスクを構成する高級
言語の一命令を実行しようとする直前に前記上位タスク
に含まれるすべての内部タスクに割り当てられた優先度
よりも高い優先度をその内部タスクの優先度として高級
言語処理部(12)自体に設定し、前記一命令の実行直
後には、再び前記所定の優先度を高級言語処理部(1
2)自体に設定する構成とし、 各上位タスク内においては、高級言語の一命令実行中は
内部タスク間で実行権が切り換えられることを防止し、
異なる上位タスクに属する内部タスク間では機械語の実
行ステップを単位として実行権が切り換えられることを
特徴としている。
発明の詳細な説明 [実施例] 以下、本発明による情報処理装置の一実施例を図面に基
づき説明する。
第2図(a)は、本発明による情報処理装置によって実
行されるタスクの構成である。
本発明による情報処理装置は、第2図(a)に示す複数
個(N)の上位タスクを並行して実行する。これらの上
位タスクはさらに複数個(M)の内部タスクの集まりと
して構成されている。各内部タスクは高級言語の命令に
よって記述された独立した処理手順を持つプログラムで
ある。
そして、各上位タスクには重複のない優先度を割り当
て、さらに上位タスク内の各内部タスクに対しても属し
ている上位タスク内で重複のない優先度を割り当てる。
内部タスクの優先度は上位タスク優先度(N)と内部タ
スク優先度(M)を合成した値(N−M)により示さ
れ、オペレーティングシステム(11)はこの合成値
(N−M)のより小さなタスクを優先度が高いものとし
て管理する。
各上位タスク(N)は、内部タスク(M)に割り当てら
れる内部タスク優先度とは別に「実行レベル」と呼ばれ
る優先度を持つ。「実行レベル」は内部タスク優先度に
相当する部分の値がゼロであるので、上位タスク(N)
内のどの内部タスク(N−M)よりも高い優先度とな
る。「実行レベル」は特定の内部タスク(M)に割り当
てるものではなく、高級言語の命令実行時に一時的に実
行中の内部タスク(M)の優先度を高くするために用い
る。
そして第2図(a)に示す優先度の割り当てによって、
例えば上位タスク(2)に属する内部タスク(2−2)
は、より高い優先度を持つ上位タスク(1)内の内部タ
スク(1−M)よりは優先度が低く、またより低い優先
度を持つ上位タスク(N)内の内部タスク(N−1)よ
りは優先度が高くなる。さらに、ある上位タスク内の内
部タスク(N−M)には高級言語の一命令の実行を開始
するごとに「実行レベル」の優先度を一時的に設定して
その内部タスクの優先度をゼロに設定して、命令の実行
が終了した時にもとの優先度に再び設定する。
上に述べた優先度の割り当てを行うことにより、上位タ
スク内の内部タスク相互間では高級言語の一命令を単位
としてタスクの実行権を切り換え、一方、上位タスク相
互間では高級言語の命令ステップとは無関係にCPUの
機械語を単位としてタスクの実行権の切り換えを行うこ
とができる。
第2図(b)は本発明に係る情報処理装置の論理的な構
成を示す図である。
この図においてCPU10aの使用権、メモリ10b、
ハードウエア10cはオペレーティングシステム11に
より管理される資源10として位置付けられている。高
級言語処理部12(以下、高級言語処理システム12と
いう。尚、高級言語処理システム12はプログラムによ
り構成されている。)はオペレーティングシステム11
の管理によってCPU10aの使用権、メモリ10bを
与えられ、またオペレーティングシステム11を介して
ハードウエア10cをアクセスする。オペレーティング
システム11はタスク管理機能11a、事象管理機能1
1b、メモリ管理機能11c、入出力管理機能11dを
有する。
タスク管理機能11aはメモリ10bに格納されている
高級言語で記述されたプログラム13を指定の番地から
起動し(タスクの起動)、さらに他に起動されているタ
スクがある場合には、各タスクの優先度に従って実行権
の切換を行う。この場合、実行権の切換はCPU10a
の機械語を単位として行われる。
事象管理機能11bはハードウエア10cから発生する
条件の変化を検出しその変化に対応して起動されている
タスクの状態を変更する。タスクがある条件の変化を待
つことをオペレーティングシステム11に要求するとタ
スクの状態は「実行状態」から「待ち状態」に変更され
る。また「待ち状態」にあるタスクは待っている条件が
満たされた時「実行可能状態」に変更される。
前記のタスク管理機能11aはこのようなタスクの状態
の変化に対応して実行権の切換を行う。
高級言語処理システム12は命令実行管理部12aと命
令実行部12bとから成りオペレーティングシステム1
1の管理の下にタスクの一つとして実行される。高級言
語処理システム12は高級言語で記述されたプログラム
(アプリケーションプログラム)13を一命令ずつ読み
出して実行すべき内容を解釈して実行するが実際に実行
されるのは高級言語処理システム12に含まれている命
令実行管理部12aならびに命令実行部12bである。
高級言語処理システム12は高級言語で記述されたプロ
グラム13の内容に従ってオペレーティングシステム1
1に対してタスクを登録し起動を要求する。
第1図(b)は、ハードウエアの構成を示す図である。
図においてCPU10aは16ビットのマイクロコンピ
ュータ、OSC10abは水晶振動子である。高級言語
処理装置構成するソフトウエアの一部はメモリ10bの
ROM10baに記録されており電源投入時に起動され
て補助記憶装置10cdから入出力制御回路10caを
介してRAM10bbへ必要なソフトウエアをロードし
て前記オペレーティングシステム11の操作を可能にす
る。オペレーティングシステム11に対する指示はキー
ボード10cbから入力し、システムからのメッセージ
はCRT10ccに表示される。補助記憶装置10cd
はプログラムやデータを記録するために用いられる。
そして、第3図は、本発明に係る高級言語処理システム
12の命令実行管理部12aの実行手順を示すフローチ
ャートである。第2図(a)に示すタスク構成を持つ高
級言語で記述されたプログラム13の各内部タスクは、
起動されるとプログラムを実行するために必要なメモリ
を個別に与えられて第1図(a)に示す高級言語処理シ
ステム12を構成するプログラムの開始番地から実行を
開始する。命令実行管理部12aは個別にメモリを与え
られている各タスクによって(論理的に)同時に実行で
きる、再入可能な形式で作られている。第4図は、第3
図のP8において実行される命令が一定時間の経過を待
ったり外部条件の変化を待つなど内部タスクを待ち状態
にする命令である場合について詳細な実行手順を示した
ものである。
次に第3図ならびに第4図に基いて高級言語処理システ
ム12の命令実行管理部12aの動作を詳細に説明す
る。
命令実行管理部12aは高級言語で記述されたアプリケ
ーションプログラム13から命令を一個ずつ読み出して
実行するという動作をくり返し実行する。高級言語処理
システム12に対して高級言語で記述されたプログラム
13の実行開始を指示すると、高級言語処理システム1
2は命令読み出しのためのポインタを高級言語で記述さ
れたプログラム13の先頭に設定し、CPU10aの命
令の実行開始番地を示すポインタを第3図のP1に設定
してオペレーティングシステム11にタスクの起動を要
求する。このようにして起動されたタスクは実行権を与
えられると第3図のP1から実行を開始し、P1→P2
→P3→P4→P5→P6→P7→P8→P9と実行
し、これ以後、通常はP3→P7→P8→P9の順に実
行する。P8で実行する高級言語の命令が高級言語で記
述されたプログラム13によって定義したタスクを起動
するという内容であった場合には、上記の高級言語で記
述されたプログラム13を実行開始するための処理と同
様の処理によってオペレーティングシステム11にタス
クの起動を要求する。したがって、命令実行管理部12
aは起動されている高級言語で記述されたプログラム1
3のタスクの個数と同じ数だけ同時に使用されることに
なる。高級言語の命令の実行をくり返している間は、P
2の処理によって内部タスクの優先度は「実行レベル」
になっているので、同一上位タスク内のどのような優先
度を持つ内部タスクが実行可能状態になったとしてもP
3に達するまでは実行中の内部タスクが実行権を保持す
る。P3で判断に用いるフラグは、新たに実行可能状態
になった内部タスクが実行中の内部タスクに対して実行
権の切換を要求するための情報であり、高級言語の一命
令の実行が終了した時、必要な場合に限って実行権を切
り換える処理を行うために役立つ。P3で割込フラグが
ONであることを検出するとP5によって、実行中であ
った内部タスクの優先度はあらかじめ割り当てられてい
る本来の優先度(内部タスクレベル)に設定される。
ここで他により高い優先度を持ち、かつ実行可能状態に
なっている内部タスクが存在すればその内部タスクに実
行権が移る。その後、実行権を移された内部タスクが待
ち状態になるか実行を停止すると元の内部タスクは再び
実行権を与えられてP6から実行を再開する。
第3図のP8において実行される命令が一定時間の経過
を待ったり外部条件の変化を待つなど内部タスクを待ち
状態にする命令であった場合には第4図に示す手順で命
令が実行される。P11は待ち状態になったあと条件が
満たされた時に実行すべきP13およびP14の処理を
最優先で実行できるようにするための準備である。ここ
で、「割込レベル」は、高級言語処理システム12によ
って起動された内部タスクに設定されるどの優先度より
も高い優先度である。P11で優先度を変更した後、直
ちにP12によって内部タスクの状態は待ち状態に変わ
る。この時、他に実行可能状態になっている内部タスク
が存在すればそれらの中で最も高い優先度を有する内部
タスクに実行権が与えられる。待ち状態となった内部タ
スクは指定した条件が発生すると直ちに実行状態になっ
てP13およびP14を実行する。ここでは高級言語の
命令を実行中の内部タスクに対してP13によって実行
権の切換を要求するだけで、P14を実行すると命令を
実行中の内部タスクに一たん実行権が戻される。そして
命令を実行中の内部タスクが第3図のP3に達して割込
フラグを検出しP5で優先度をあらかじめ割り当てられ
ている(内部タスクレベル)に設定した時点で実行権の
切換が行われ、第4図の手順を実行していた内部タスク
はP15から実行を再開する。
次に本発明に係る情報処理装置を自動制御システムに応
用した例について説明する。第5図はそのプログラム
例、第6図は自動制御システムの構成である。第5図の
プログラムで使用した高級言語は、JIS規格により定め
られているBASIC言語に、さらに複数の独立した実行手
順をタスクとして記述する機能を付加したものである。
第6図において情報処理装置14は第2図に示したとお
りのハードウエア構成を持ちこの自動制御システムにお
けるコントローラである。このシステムは、製造ライン
上を運ばれる試料が所定の位置に達した時、アダプタ1
8が持つセンサによって試料の位置を検出し制御回路1
7を経て情報処理装置14に割り込み信号として伝え、
これを契機として情報処理装置14が実行する第7図の
プログラムによって試料の調整をアダプタ18を介して
行うとともに調整結果を測定器16によって測定し、そ
のデータを外部補助記憶15にファイルとして記録す
る。
第5図のプログラムは2つの上位タスクDATAおよびCONT
により構成されており、それぞれ独立に行番号を持つプ
ログラムとなっている。各々のプログラムにおいて先頭
の行の命令PROGRAMは上位タスクの名前を宣言する。上
位タスクDATAはさらに2つの内部タスクで構成されてい
る。行番号30の命令PARACTは内部タスクの名前SAVEDA
TAと優先度を宣言し行番号250の命令END PARACTは内
部タスクの終わりを表す。同様に行番号270から行番
号380までが2番めの内部タスクMEASUREである。上
位タスクCONTは内部タスクMAIN1コだけ持つ。上位タス
クDATAの行番号20の命令PROCESS EVENTは外部事象の
名前MEASENDを宣言するとともにハードウエア条件との
対応を定義する。この宣言は上位タスク内の各内部タス
クに対して共通の宣言であり、行番号20においては事
象名MEASENDを第6図の測定器16から測定完了信号が
発生するという条件に対応づけている。また、上位タス
クCONTの行番号20においては、事象名ADJUSUTを第6
図のアダプタ18から試料検出信号が発生するという条
件に対応づけている。その他、これらの上位タスクに含
まれる命令の中で主要なものについてその機能を簡単に
示す。
COM 上位タスク内のCOMMON変数を宣言する。
LOAD TASK 上位タスクを指定した名前のファイルから
メモリにロードする。
START TASK タスクを起動する。
START 内部タスクを起動する。
CONNECT EVENT 事象の発生を有効にする。
WAIT EVENT 指定した事象が発生するまで内部タスクを
待ち状態にする。
第5図のプログラム動作について概要を説明する。
まず上位タスクDATAをメモリに格納して起動すると最初
の内部タスクSAVEDATAが実行を開始する。この内部タス
クは、内部タスクMEASUREによってCOMMON変数を用いた
バッファに書きこまれたデータを順番に読み出してファ
イルに格納する。バッファは100コのデータを格納で
きる容量を有し最終データの次は先頭のデータをアクセ
スすることによってリング状にくり返し使用される。バ
ッファのアクセス位置はCOMMON変数のSAVEPTにより書込
み位置が示され、COMMON変数のREADPTにより読み出し位
置が示される。内部タスクSAVEDATAは行100、行11
0で上位タスクCONTを起動し、行120で内部タスクME
ASUREを起動し、行130で事象MEASENDの発生を有効に
した後、行140から行200までのループによってバ
ッファから読み出しデータを順番にファイルに書き込
む。
内部タスクMEASUREは行310のWAIT EVENT命令によつ
て第6図プログラム測定器16から測定完了信号が発生
するまで待った後、行320で測定器からデータを読み
出してバッファに書き込む。
上位タスクCONTは第6図のアダプタ18から試料検出信
号が発生するまで待った後アダプタへ試料を調整するた
めデータと測定開始を指定するデータとを送出する。第
7図のプログラムでは上位タスクCONTの優先度が最も高
く、上位タスクDATA内では内部タスクMEASUREの方が内
部タスクSAVEDATAよりも優先度が高くなっている。その
ため内部タスクSAVEDATAプログラム行140から行20
0までのループを実行中に測定完了信号が発生すると、
実行中の一命令が終了してから内部タスクMEASUREに実
行権が与えれれて行320〜行350が実行される。一
方、2つの上位タスクの間では上位タスクCONTの方が優
先度が高いため、事象ADJUSTが発生すると上位タスクDA
TA内で高級言語の命令を実行中であるかどうかに係らず
直ちに上位タスクCONT内の内部タスクMAINに実行権が与
えられて行70〜行80が実行される。
第7図は、第5図のプログラムに関する3つの内部タス
クについて、情報処理システム12の実行管理部12a
の手順を個別に表わしたものである。
また、第8図(a)〜(i)は、この実行管理部12a
により適時、変更された状態における各内部タスクに割
り当てられる優先度を示す模式図である。
この割り当ては、高級言語で記述されたプログラム13
に記述された内容により予め決定されるものであるが、
以下、詳述するように実行の過程で、優先度は、一時的
に「実行レベル」や「割込みレベル」に変更されること
がある。
また、優先度の値は、その値が小さいほど優先度が高い
ものとする。
そして未実行状態において、各内部タスクの優先度の初
期値は、第8図(a)に示すものであるとする。したが
ってこの状態において、上位タスクNの優先度は、上位
タスクCONTが上位タスクDATAより高く、上位タスクDATA
内の内部タスクMの優先度は、内部タスクMEASUREが、
内部タスクSAVEDATAより高くなっている。
内部タスクSAVEDATAは通常はP103,P107,P1
08,p109の経路をくり返したどってプログラムの
行140〜行200を実行している。内部タスクMEASUR
Eはプログラムの行310を実行すると事象MEASENDが発
生するまで待ち状態となるが、この行の実行は第7図に
おいてはP211,p212に対応する。
このように、第5図の高級言語で記述されたプログラム
の通常の実行状態は、内部タスクSAVEDATAは「実行レベ
ル」であり、内部タスクMEASUREと内部タスクMAIN(上
位タスクCONTに属する)は、「待ち状態」となってお
り、第8図(b)にこの状態を示す。
そして、内部タスクM=0は、内部タスクが「実行レベ
ル」であることを示す。さらに、優先度を( )で示し
たものは、「待ち状態」の内部タスクの優先度である。
さらに上位タスクNと内部タスクMの合成値N−M=0
は「割り込みレベル」であることを示すものである。そ
して事象MEASENDが発生するとP213,P214が実
行される。つまり、この時内部タスクMEASUREは、「待
ち状態」から「実行可能状態」を経て、「実行状態」と
なる。「待ち状態」から「実行状態」への移行は、第8
図(C)に示す如く、内部タスクMEASUREが最も優先度
が高いことによる。
そして第7図のP214を実行した後、この内部タスク
MEASUREの優先度は、第8図(d)に示す如く、初期値
に変更される。こりにより優先度は、内部タスクSAVEDA
TAが最も高く、以前、実行中であった高級言語で記述さ
れたプログラムの内部タスクSAVEDATAの命令の実行を続
けることになる。その後内部タスクSAVEDATAによって実
行中であった命令の実行が終了するとP103,P10
4,P105が順に実行される。第7図のP105が実
行されると、第8図(e)に示すように、内部タスクME
ASUREの優先度が最も高くなるため、ここでタスクの実
行権の切換が起きて内部タスクMEASUREに実行権が与え
られてP215の実行が行われる。
そして、内部タスクMEASUREの命令実行時の優先度は、
第8図(f)に示す如く「実行レベル」とされている。
また、内部タスクMEASUREの初期の優先度は、内部タス
クSAVEDATAよりも高い。しかし、事象MEASENDが発生し
ても直ちに内部タスクMEASUREの命令が実行されるわけ
ではなく、以上説明したように内部タスクSAVEDATAで実
行中であった命令の実行が終了してから内部タスクMEAS
UREの命令に切り換ることとなる。以後プログラムの行
320〜行360、行300と実行されて再び行310
が実行されると内部タスクSAVEDATAに実行権が切換えら
れてP106から実行を再開する。このようにして上位
タスクDATA内の2つの並列処理部相互間では、BASIC言
語の一命令の実行が終了するのを待ってから実行権の切
換が行われる。また、上位タスクCONTに属する唯一の内
部タスクMAINはプログラムの行60を実行すると事象AD
JUSTが発生するまで第8図(b)で示したように、内部
タスクMAINは、待ち状態となるが、この行の実行は第7
図においてはP311,P312に対応する。また、事
象ADJUSTが発生した場合について説明する。この時、第
8図(g)に示すように内部タスクMAINは、「待ち状
態」から「実行可能状態」を経て「実行状態」となる。
同図に示すように内部タスクMAINは、最も優先度が高い
から「待ち状態」から「実行状態」へと移行できる。P
313,P314が実行され、そして、このP314を
実行すると第8図(h)のように内部タスクMAINの優先
度は初期値に変更される。さらにこの状態においては、
内部タスクMAINの優先度が最も高くなり、直ちにP31
5が実行されプログラムの行70〜90、行50が実行
される。そして、第7図のP315実行後の優先度は、
第8図(i)のように、内部タスクMAINの優先度は、上
位タスクCONT内における「実行レベル」となる。尚、こ
の状態においても内部タスクMAINの優先度は最も高いも
のである。この場合は事象が発生すると、上位タスクDA
TA内で高級言語プログラムの命令が実行途中であっても
事象ADJUSTの発生により直ちに上位タスクCONTに実行権
が与えられる。
以上説明したように、第5図のプログラムではBASIC言
語の命令を単位として実行権の切換が行われる2つの内
部タスクを持つ上位タスクと、これらの内部タスク内の
BASIC言語の命令の実行とは独立して実行権を得ること
のできる別の上位タスクとが複合して実行される。
[発明の効果] 以上説明したごとく、本発明の情報処理装置によれば、
高級言語の命令を構成する機械語を単位として実行権の
切換がなされるタスクと、高級言語の命令を単位として
実行権の切換がなされるタスクの両方を実行することが
できる。前者は最小限の遅れ時間で条件の変化に応答す
べき処理に適している。また後者はタスク間で共通の変
数(COMMON変数)を用いて容易にデータの変換ができ、
また、全体としての実行経過を高級言語の命令を単位と
して把握することができるのでプログラムの開発・動作
確認の効率が良い効率的な割り込み制御ができる効果が
ある。さらに、この両者を複合して実行できることによ
り、処理対象の性格に応じて両者を使い分けてプログラ
ムの応答性とプログラムの作りやすさを両立させること
が可能となった。
【図面の簡単な説明】
第1図(a)は本発明を示すブロック図、第1図(b)
は、同装置のハードウエア構成を示す図、第2図(a)
は、本発明の情報処理装置のタスク構成を示す模式図、
同図(b)は、同装置の論理的な構成を示す図、第3図
は、同装置の高級言語処理システムの命令実行管理部の
実行手段を示すフローチャート、第4図は、同高級言語
処理システムの命令実行部における内部タスクの「待ち
状態」管理を示すフローチャート、第5図は、本発明の
情報処理装置を自動制御システムに応用した一実施例を
示すプログラム、第6図は、同自動制御システムの構成
図、第7図は、同自動制御システムにおける第5図のプ
ログラムの各内部タスク別の実行手順を示すフローチャ
ート、第8図(a)〜(i)は、同自動制御システムに
おけるプログラムの各内部タスクの優先度を示す模式図
である。 N……上位タスク群、M……内部タスク群、10……資
源、10a……CPU、10b……メモリ、10c……
ハードウエア、11……オペレーティングシステム、1
2……高級言語処理システム、12a……命令実行管理
部、12b……命令実行部、13……高級言語で記述さ
れたプログラム(アプリケーションプログラム)。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】単一のCPU(10a)と; 該CPUの機械語で構成される複数個のタスクを起動し
    て実行可能状態とし、該タスクの状態および優先度に対
    応して実行可能状態のタスクの中で最も高い優先度が割
    り当てられているタスクを選択し機械語の実行ステップ
    を単位としてタスクに実行権を与えるタスク管理手段
    (11a)と、;ハードウェア信号を検出して該ハード
    ウェア信号の発生を待っている待ち状態のタスクの状態
    を実行可能状態に変更する事象管理手段(11b)とを
    有するオペレーティングシステム(11)と; 高級言語の命令で構成されるプログラム(13)を格納
    するメモリ(10b)と; 前記タスク管理手段により起動されて、前記メモリに格
    納されるプログラムから高級言語の命令を順次取り出し
    て命令の処理を実行する高級言語処理部(12)と; を有する情報処理装置において、 前記メモリ(10b)に格納されるプログラム(13)
    は、複数個(1,2,…,N)の上位タスクから構成さ
    れ、さらに各上位タスクは複数個(1,2…,M)のそ
    れぞれ異なる優先度を持つ 内部タスク(1−1,1−2,…,1−M), (2−1,2−2,…,2−M), … (N−1,N−2,…,N−M)で構成さ
    れ、 前記高級言語処理部(12)は、所定の優先度が割り当
    てられている該内部タスクを実行開始するごとに内部タ
    スクに割り当てられた優先度でタスク管理手段(11
    a)により起動されてプログラム(13)から内部タス
    クを構成する高級言語の命令を順次取り出して命令の処
    理を実行するとともに、前記内部タスクを構成する高級
    言語の一命令を実行しようとする直前に前記上位タスク
    に含まれるすべての内部タスクに割り当てられた優先度
    よりも高い優先度をその内部タスクの優先度として高級
    言語処理部(12)自体に設定し、前記一命令の実行直
    後には、再び前記所定の優先度を高級言語処理部(1
    2)自体に設定する構成とし、 各上位タスク内においては、高級言語の一命令実行中は
    内部タスク間で実行権が切り換えられることを防止し、
    異なる上位タスクに属する内部タスク間では機械語の実
    行ステップを単位として実行権が切り換えられることを
    特徴とする情報処理装置。
JP22975086A 1986-09-30 1986-09-30 情報処理装置 Expired - Fee Related JPH0668727B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22975086A JPH0668727B2 (ja) 1986-09-30 1986-09-30 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22975086A JPH0668727B2 (ja) 1986-09-30 1986-09-30 情報処理装置

Publications (2)

Publication Number Publication Date
JPS6385829A JPS6385829A (ja) 1988-04-16
JPH0668727B2 true JPH0668727B2 (ja) 1994-08-31

Family

ID=16897097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22975086A Expired - Fee Related JPH0668727B2 (ja) 1986-09-30 1986-09-30 情報処理装置

Country Status (1)

Country Link
JP (1) JPH0668727B2 (ja)

Also Published As

Publication number Publication date
JPS6385829A (ja) 1988-04-16

Similar Documents

Publication Publication Date Title
US5603015A (en) Logic simulation apparatus for executing simulation of a circuit
JP2001265609A (ja) 演算処理装置
JP2681929B2 (ja) プログラム起動方式
JPH0756753A (ja) オペレーティング・システム間のユーティリティ・ファンクションの共有方法およびシステム
JPH0668727B2 (ja) 情報処理装置
JPH0820962B2 (ja) 高級言語処理方法
JP2595082B2 (ja) プログラマブルコントローラの動作状態監視装置
JPH0659908A (ja) プログラム実行装置
JP2506591B2 (ja) 補助処理装置
JPH05297911A (ja) シーケンスコントローラ用シーケンス制御回路
JP2795676B2 (ja) プログラムトレース装置
JPH10240581A (ja) Cpu時間測定装置
JPS60238948A (ja) 計算機システムの処理時間測定装置
JPH0821027B2 (ja) A/d変換装置内蔵マイクロコンピュータ
JPH06202887A (ja) マイクロコンピュータ
JPH08249024A (ja) プログラマブルコントローラ
JPH07295818A (ja) ルール処理装置
JPH0764782A (ja) ファイル更新方式
JPH01185729A (ja) オーバレイ構造プログラム実行方式
JPH1011320A (ja) 計算機等の処理装置におけるromプログラムモニタ装置
JPS58225469A (ja) マルチプロセツサ制御方式
JPS6146531A (ja) マイクロプロセツサ
JPS63198129A (ja) プロシジヤ中の入力デ−タ処理方式
JPS59189452A (ja) デ−タ処理装置用キユ−構造
JPH04372017A (ja) 計算機システム試験方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees