JPH07200494A - 分散制御方式 - Google Patents
分散制御方式Info
- Publication number
- JPH07200494A JPH07200494A JP33599193A JP33599193A JPH07200494A JP H07200494 A JPH07200494 A JP H07200494A JP 33599193 A JP33599193 A JP 33599193A JP 33599193 A JP33599193 A JP 33599193A JP H07200494 A JPH07200494 A JP H07200494A
- Authority
- JP
- Japan
- Prior art keywords
- control device
- processing
- interrupt
- driver
- controller
- 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.)
- Pending
Links
Landscapes
- Multi Processors (AREA)
- Bus Control (AREA)
Abstract
(57)【要約】
【目的】 上位制御装置下の複数の下位制御装置を制御
する場合、最小限のハードウェアを効率的に使用し、か
つ上位と複数の下位制御装置との間でより高速に通信が
できるようすることを目的としている。 【構成】 本方式は複数の下位制御装置からの情報を単
一の割込で受け、上位と下位の双方で読み書きできる上
位もしくは下位制御装置にある共通メモリ上の情報を順
次読み書きすることにより複数の下位制御装置を制御す
る。また下位制御装置からの割込発生時、処理順を上位
制御装置からの処理要求状況、プライオリティ、ラウン
ドロビン等に従ってスケジューリングし、かつ個別の下
位制御装置において複数の先送り可能なキュー形式の情
報を共通メモリ上で読み書きできるようにすることによ
り、複数の制御装置間の情報を意図的に迅速かつ効率的
に通知できる。
する場合、最小限のハードウェアを効率的に使用し、か
つ上位と複数の下位制御装置との間でより高速に通信が
できるようすることを目的としている。 【構成】 本方式は複数の下位制御装置からの情報を単
一の割込で受け、上位と下位の双方で読み書きできる上
位もしくは下位制御装置にある共通メモリ上の情報を順
次読み書きすることにより複数の下位制御装置を制御す
る。また下位制御装置からの割込発生時、処理順を上位
制御装置からの処理要求状況、プライオリティ、ラウン
ドロビン等に従ってスケジューリングし、かつ個別の下
位制御装置において複数の先送り可能なキュー形式の情
報を共通メモリ上で読み書きできるようにすることによ
り、複数の制御装置間の情報を意図的に迅速かつ効率的
に通知できる。
Description
【0001】
【産業上の利用分野】この発明は、パーソナルコンピュ
ータ等のコンピュータを利用した通信機器やデバイス機
器等複数の下位制御装置を持つ並列処理コンピュータに
関するものである。特に、限られた割込ラインを使用し
て複数の割込要求を処理する方式に関するものである。
ータ等のコンピュータを利用した通信機器やデバイス機
器等複数の下位制御装置を持つ並列処理コンピュータに
関するものである。特に、限られた割込ラインを使用し
て複数の割込要求を処理する方式に関するものである。
【0002】
【従来の技術】図17は例えば、特開昭59−1584
45号公報に示された「多重割込判別方式」における一
実施例を示す回路図である。図において1、2はフリッ
プフロップ回路、3はプロセッサ、4はオアゲート、5
はオアゲート4の出力信号を反転してプロセッサ3の割
込制御ポートINTに割込制御信号を供給するインバー
タである。
45号公報に示された「多重割込判別方式」における一
実施例を示す回路図である。図において1、2はフリッ
プフロップ回路、3はプロセッサ、4はオアゲート、5
はオアゲート4の出力信号を反転してプロセッサ3の割
込制御ポートINTに割込制御信号を供給するインバー
タである。
【0003】次に動作について説明する。図17に示す
回路において、フリップフロップ回路1に割込制御入力
信号が供給されると、それに応じてセット出力信号が”
H”になる。オアゲート4の出力信号もこれに応じて”
H”となることから、インバータ5の出力信号が”L”
となり、プロセッサ3の割込制御ポートINTに割込制
御信号が入力される。プロセッサ3は割込制御信号を受
けて、通常モードから割込モードになり、それと並行し
て入力ポートを識別することによって、どの割込制御入
力信号が入力されたのかを判断し、その割込制御入力信
号に応じた割込処理を行い、さらに、出力ポートからセ
ット状態のフリップフロップ回路1にリセットパルスを
送り、リセット処理を行う。この動作は、フリップフロ
ップ回路2においても割込制御入力信号が供給される毎
に実行される。
回路において、フリップフロップ回路1に割込制御入力
信号が供給されると、それに応じてセット出力信号が”
H”になる。オアゲート4の出力信号もこれに応じて”
H”となることから、インバータ5の出力信号が”L”
となり、プロセッサ3の割込制御ポートINTに割込制
御信号が入力される。プロセッサ3は割込制御信号を受
けて、通常モードから割込モードになり、それと並行し
て入力ポートを識別することによって、どの割込制御入
力信号が入力されたのかを判断し、その割込制御入力信
号に応じた割込処理を行い、さらに、出力ポートからセ
ット状態のフリップフロップ回路1にリセットパルスを
送り、リセット処理を行う。この動作は、フリップフロ
ップ回路2においても割込制御入力信号が供給される毎
に実行される。
【0004】また、図18は、特開平2−118837
号公報に示された「割込制御装置」の構成を示すブロッ
ク図である。図において、11、12はそれぞれ割込要
因Aおよび割込要因Bを発生するブロック、13は割込
要因A、Bのうちどちらが先着であるかを判断するため
の割込先着判断回路、14は割込要因を読み出すための
割込要因ステータス、15はクロック発生回路、16、
17は割込要因マスクゲートである。
号公報に示された「割込制御装置」の構成を示すブロッ
ク図である。図において、11、12はそれぞれ割込要
因Aおよび割込要因Bを発生するブロック、13は割込
要因A、Bのうちどちらが先着であるかを判断するため
の割込先着判断回路、14は割込要因を読み出すための
割込要因ステータス、15はクロック発生回路、16、
17は割込要因マスクゲートである。
【0005】次に動作について、説明する。割込要因A
と割込要因Bは、独立して、それぞれ異なった割込要因
を発生する。図18に示すように、要因の異なる複数の
割込が発生した時、割込先着判断回路13は、ある先着
の割込要因をCPUに入力させるとともに、他の割込要
因マスク信号を有効にして、割込要因マスクゲート1
6、17で、他の割込を特機させる。先着の割込要因の
CPUでのサービスが終了した時点で、他の割込要因マ
スク信号を無効にして、他の割込要因を受け付ける。
と割込要因Bは、独立して、それぞれ異なった割込要因
を発生する。図18に示すように、要因の異なる複数の
割込が発生した時、割込先着判断回路13は、ある先着
の割込要因をCPUに入力させるとともに、他の割込要
因マスク信号を有効にして、割込要因マスクゲート1
6、17で、他の割込を特機させる。先着の割込要因の
CPUでのサービスが終了した時点で、他の割込要因マ
スク信号を無効にして、他の割込要因を受け付ける。
【0006】上記2件の従来例はいずれも、1つの割込
で複数の下位制御装置(オプションのボード等)を処理
する方式である。その方式は複数の下位制御装置の割込
信号をORして上位制御装置に通知し、その後どの下位
制御装置からの要求であるかを逐次判別し、処理実行
後、処理した下位制御装置よりの割込をリセットする方
式であった。この方式では下位制御装置の処理順は、予
め決められたハードウェア指定の処理順となる。また、
この方式以外の他の下位制御装置の動作については、特
に考慮されていなかった。一方、下位制御装置の果たす
機能の面からとらえてみると、従来は下位制御装置のC
PU能力が低く、1つの下位制御装置で1つの機能を実
現していたにすぎなかった。
で複数の下位制御装置(オプションのボード等)を処理
する方式である。その方式は複数の下位制御装置の割込
信号をORして上位制御装置に通知し、その後どの下位
制御装置からの要求であるかを逐次判別し、処理実行
後、処理した下位制御装置よりの割込をリセットする方
式であった。この方式では下位制御装置の処理順は、予
め決められたハードウェア指定の処理順となる。また、
この方式以外の他の下位制御装置の動作については、特
に考慮されていなかった。一方、下位制御装置の果たす
機能の面からとらえてみると、従来は下位制御装置のC
PU能力が低く、1つの下位制御装置で1つの機能を実
現していたにすぎなかった。
【0007】
【発明が解決しようとする課題】従来、複数の下位制御
装置との通信はそれぞれの下位制御装置に対応した入出
力ポートやDMA転送により実現していた。そのため上
位制御装置が持つハードウェア的な使用可能数により、
接続できる下位制御装置の数に制限があった。
装置との通信はそれぞれの下位制御装置に対応した入出
力ポートやDMA転送により実現していた。そのため上
位制御装置が持つハードウェア的な使用可能数により、
接続できる下位制御装置の数に制限があった。
【0008】また、複数の下位制御装置の処理要求を同
一割込で取得した場合、従来は処理順が固定であったた
め、特定の下位制御装置をより早く上位制御装置で処理
させることができなかった。また特定の下位制御装置を
使用状況により、より早く動作させるという考え方がな
かった。
一割込で取得した場合、従来は処理順が固定であったた
め、特定の下位制御装置をより早く上位制御装置で処理
させることができなかった。また特定の下位制御装置を
使用状況により、より早く動作させるという考え方がな
かった。
【0009】さらに、従来の方式ではその方式以外の割
込を使う下位制御装置の動作については考慮されておら
ず、他の下位制御装置の動作可否が明確でなかった。
込を使う下位制御装置の動作については考慮されておら
ず、他の下位制御装置の動作可否が明確でなかった。
【0010】また、従来は、1つの下位制御装置を動的
に複数の機能を持った下位制御装置として使用する考え
方がなかった。
に複数の機能を持った下位制御装置として使用する考え
方がなかった。
【0011】この発明は上記のような問題点を解決する
ためになされたもので、上位制御装置下の複数の下位制
御装置を制御する場合、最小限のハードウェアを効率的
に使用し、かつ上位と複数の下位制御装置との間でより
高速に通信ができるようにすることを目的としている。
具体的には以下の点を目的としている。 (1)下位制御装置の接続数 入出力ポートの多数使用やDMA転送を使用しないこと
により、メモリ空間が許す範囲で従来以上の多数の下位
制御装置を接続可能とする。さらに1つの下位制御装置
をユーザからみて複数の別の下位制御装置として処理で
きる。 (2)下位制御装置の処理順と処理性能 処理順をスケジューリングすることにより、他の下位制
御装置より処理性能を要求される下位制御装置に対し優
先的な処理が実施でき、同じ程度に処理したいものにつ
いては均一に処理する。また処理要求を出していない下
位制御装置に対し、処理を省略することができ、その分
高速化を実現する。さらに上位制御装置用と下位制御装
置用の複数の情報をキュー(Queue)できるバッフ
ァを作ることにより、相手制御装置が長い割込処理や他
を処理中でビジー状態になっている場合でも先行して送
受信処理を行う。 (3)他の下位制御装置の動作 上位制御装置の割込コントローラ処理をすぐに解放し、
この発明による方式以外の割込処理を使う下位制御装置
も従来通り使用可能にする。 (4)1つの制御装置に複数の機能 同一の下位制御装置を必要な都度、機能を切り変えるこ
とにより、その状況にあった装置として利用できるよう
にする。さらに必要に応じて、1つの制御装置を同時に
複数の固有の機能を持った装置として使えるようにす
る。
ためになされたもので、上位制御装置下の複数の下位制
御装置を制御する場合、最小限のハードウェアを効率的
に使用し、かつ上位と複数の下位制御装置との間でより
高速に通信ができるようにすることを目的としている。
具体的には以下の点を目的としている。 (1)下位制御装置の接続数 入出力ポートの多数使用やDMA転送を使用しないこと
により、メモリ空間が許す範囲で従来以上の多数の下位
制御装置を接続可能とする。さらに1つの下位制御装置
をユーザからみて複数の別の下位制御装置として処理で
きる。 (2)下位制御装置の処理順と処理性能 処理順をスケジューリングすることにより、他の下位制
御装置より処理性能を要求される下位制御装置に対し優
先的な処理が実施でき、同じ程度に処理したいものにつ
いては均一に処理する。また処理要求を出していない下
位制御装置に対し、処理を省略することができ、その分
高速化を実現する。さらに上位制御装置用と下位制御装
置用の複数の情報をキュー(Queue)できるバッフ
ァを作ることにより、相手制御装置が長い割込処理や他
を処理中でビジー状態になっている場合でも先行して送
受信処理を行う。 (3)他の下位制御装置の動作 上位制御装置の割込コントローラ処理をすぐに解放し、
この発明による方式以外の割込処理を使う下位制御装置
も従来通り使用可能にする。 (4)1つの制御装置に複数の機能 同一の下位制御装置を必要な都度、機能を切り変えるこ
とにより、その状況にあった装置として利用できるよう
にする。さらに必要に応じて、1つの制御装置を同時に
複数の固有の機能を持った装置として使えるようにす
る。
【0012】
【課題を解決するための手段】第1の発明に係る分散制
御方式は、上位制御装置と下位制御装置の双方からアク
セス可能な共通メモリを備え、上記下位制御装置は、処
理要求の発生により、処理に必要な情報を上記共通メモ
リに書込み、割込を発生させる下位ドライバを備え、上
記上位制御装置は、割込の受け付けにより上記共通メモ
リに書込まれた情報を読みだし、要求された処理を実行
する上位ドライバを備えたことを特徴とする。
御方式は、上位制御装置と下位制御装置の双方からアク
セス可能な共通メモリを備え、上記下位制御装置は、処
理要求の発生により、処理に必要な情報を上記共通メモ
リに書込み、割込を発生させる下位ドライバを備え、上
記上位制御装置は、割込の受け付けにより上記共通メモ
リに書込まれた情報を読みだし、要求された処理を実行
する上位ドライバを備えたことを特徴とする。
【0013】第2の発明に係る分散制御方式において、
上記上位制御装置は、上記共通メモリを上位制御装置の
メモリ空間に配置し、共通メモリを分割し、分割したメ
モリを各下位制御装置に対応させるとともに、上記下位
制御装置は、対応する分割されたメモリを下位制御装置
のメモリ空間に配置していることを特徴とする。
上記上位制御装置は、上記共通メモリを上位制御装置の
メモリ空間に配置し、共通メモリを分割し、分割したメ
モリを各下位制御装置に対応させるとともに、上記下位
制御装置は、対応する分割されたメモリを下位制御装置
のメモリ空間に配置していることを特徴とする。
【0014】第3の発明に係る分散制御方式において、
上記上位制御装置は、ひとつの下位制御装置に対して、
複数の分割されたメモリを割り当て、上記下位制御装置
は、複数の処理機能を有し、複数の分割されたメモリを
下位制御装置で動作する別々の処理機能に割り当てるこ
とを特徴とする。
上記上位制御装置は、ひとつの下位制御装置に対して、
複数の分割されたメモリを割り当て、上記下位制御装置
は、複数の処理機能を有し、複数の分割されたメモリを
下位制御装置で動作する別々の処理機能に割り当てるこ
とを特徴とする。
【0015】第4の発明に係る分散制御方式において、
上記下位制御装置は、複数の処理機能を複数種類のソフ
トウェアと複数種類のハードウェアで構成し、上記上位
制御装置は上記複数種類のソフトウェアと複数種類のハ
ードウェアの中から特定のソフトウェアとハードウェア
を選択的に起動することを特徴とする。
上記下位制御装置は、複数の処理機能を複数種類のソフ
トウェアと複数種類のハードウェアで構成し、上記上位
制御装置は上記複数種類のソフトウェアと複数種類のハ
ードウェアの中から特定のソフトウェアとハードウェア
を選択的に起動することを特徴とする。
【0016】第5の発明に係る分散制御方式において、
上記共通メモリは、情報を順に記入するキューバッファ
を備え、上位ドライバおよび下位ドライバは上記キュー
バッファに対して任意の時点で情報を読み書きすること
を特徴とする。
上記共通メモリは、情報を順に記入するキューバッファ
を備え、上位ドライバおよび下位ドライバは上記キュー
バッファに対して任意の時点で情報を読み書きすること
を特徴とする。
【0017】第6の発明に係る分散制御方式において、
上記割込コントローラは、上記複数の下位制御装置以外
の他の装置からの割込をも受け付けるとともに、上記上
位ドライバは、上記下位制御装置からの割込を処理して
いる間、上記割込コントローラが他の装置からの割込を
処理できるように、上記割込コントローラを開放するこ
とを特徴とする。
上記割込コントローラは、上記複数の下位制御装置以外
の他の装置からの割込をも受け付けるとともに、上記上
位ドライバは、上記下位制御装置からの割込を処理して
いる間、上記割込コントローラが他の装置からの割込を
処理できるように、上記割込コントローラを開放するこ
とを特徴とする。
【0018】第7の発明に係る分散制御方式において、
上記上位ドライバは、下位制御装置からの処理要求に対
して、複数種類のスケジューリングアルゴリズムを動的
に選択して、処理順を決定することを特徴とする。
上記上位ドライバは、下位制御装置からの処理要求に対
して、複数種類のスケジューリングアルゴリズムを動的
に選択して、処理順を決定することを特徴とする。
【0019】
【作用】この発明に係る分散制御方式によれば、複数の
下位制御装置よりの処理要求を単一の割込で受け、上位
下位双方で読み書きできる共通メモリ上の情報を順次読
み書きし、下位制御装置よりの情報を上位制御装置に通
知することによって、処理の要求及び処理の実行を高速
に行う。
下位制御装置よりの処理要求を単一の割込で受け、上位
下位双方で読み書きできる共通メモリ上の情報を順次読
み書きし、下位制御装置よりの情報を上位制御装置に通
知することによって、処理の要求及び処理の実行を高速
に行う。
【0020】また、メモリを分割させて下位の制御装置
に対応させていることにより、メモリアドレスによっ
て、装置を特定できる。
に対応させていることにより、メモリアドレスによっ
て、装置を特定できる。
【0021】また本方式では1つの下位制御装置で複数
の機能を有するものに対し、機能単位に共通メモリを分
割し、個々にアドレスを設定し別々の仮想下位制御装置
として処理する。
の機能を有するものに対し、機能単位に共通メモリを分
割し、個々にアドレスを設定し別々の仮想下位制御装置
として処理する。
【0022】本方式では、1つの下位制御装置にハード
ウェア的、ソフトウェア的な複数の機能を持たせ、個々
の仮想下位制御装置で、上位制御装置下のアプリケーシ
ョンの要求により起動する機能を選択し、動的に下位制
御装置の機能を使用できる。
ウェア的、ソフトウェア的な複数の機能を持たせ、個々
の仮想下位制御装置で、上位制御装置下のアプリケーシ
ョンの要求により起動する機能を選択し、動的に下位制
御装置の機能を使用できる。
【0023】本方式では共通メモリ上に上位制御装置用
と下位制御装置用の複数の情報をキューできるバッファ
があり、いつでも双方制御装置より複数の情報を読み書
きする。
と下位制御装置用の複数の情報をキューできるバッファ
があり、いつでも双方制御装置より複数の情報を読み書
きする。
【0024】割込を受けた時、上位ドライバはすぐに割
込コントローラに対し本方式で使用する割込をマスク
し、上位制御装置の割込処理終了を宣言し、上位制御装
置のCPU割込の禁止を解除する。このため他の装置か
らの割込を受け付け、処理できる。
込コントローラに対し本方式で使用する割込をマスク
し、上位制御装置の割込処理終了を宣言し、上位制御装
置のCPU割込の禁止を解除する。このため他の装置か
らの割込を受け付け、処理できる。
【0025】また、上位ドライバにより柔軟なスケジュ
ーリングができるため、処理順が可変となり、ユーザー
の要求即ちアプリケーションプログラムのさまざまな要
求に対応が可能となる。
ーリングができるため、処理順が可変となり、ユーザー
の要求即ちアプリケーションプログラムのさまざまな要
求に対応が可能となる。
【0026】
実施例1.以下に上位制御装置に複数の通信手段(LA
PB、BSC−P等)を持つ複数の通信ボード(下位制
御装置)と従来技術のボード(LAN、イメージスキャ
ナ)を接続する場合について、上位ドライバと下位ドラ
イバで複数同時制御する実施例について説明する。LA
PB(Link Access Procedure−
Balanced)とは平衡型リンク・アクセス手順と
呼ばれる通信制御手順の1つである。図1は本実施例を
実現している構成を示すブロック図である。図において
100は上位制御装置であり、110はその上位制御装
置100上で稼働するアプリケーションプログラムであ
る。120は、タスクスケジューラである。このタスク
スケジューラは、機能的には従来からあるリアルタイム
マルチタスクOSと同等の機能を有しているものとす
る。具体的には、プライオリティ処理、タイムスライ
ス、イベント処理、キュー処理、ドライバ処理等を行な
う。130は上位ドライバ、140はDMA、180は
割込コントローラである。150は内蔵LANボード、
内蔵イメージスキャナーボードであり、従来からある割
込を使用する下位制御装置を表わしている。160はこ
の発明による方式に対応した下位制御装置、165は下
位制御装置160上で稼働するいくつかの処理機能を表
わしており、例えばLAPB処理、BSC−P処理等が
挙げられている。190は、下位ドライバであり、17
0は上位制御装置と下位制御装置から共通に参照される
共通メモリである。
PB、BSC−P等)を持つ複数の通信ボード(下位制
御装置)と従来技術のボード(LAN、イメージスキャ
ナ)を接続する場合について、上位ドライバと下位ドラ
イバで複数同時制御する実施例について説明する。LA
PB(Link Access Procedure−
Balanced)とは平衡型リンク・アクセス手順と
呼ばれる通信制御手順の1つである。図1は本実施例を
実現している構成を示すブロック図である。図において
100は上位制御装置であり、110はその上位制御装
置100上で稼働するアプリケーションプログラムであ
る。120は、タスクスケジューラである。このタスク
スケジューラは、機能的には従来からあるリアルタイム
マルチタスクOSと同等の機能を有しているものとす
る。具体的には、プライオリティ処理、タイムスライ
ス、イベント処理、キュー処理、ドライバ処理等を行な
う。130は上位ドライバ、140はDMA、180は
割込コントローラである。150は内蔵LANボード、
内蔵イメージスキャナーボードであり、従来からある割
込を使用する下位制御装置を表わしている。160はこ
の発明による方式に対応した下位制御装置、165は下
位制御装置160上で稼働するいくつかの処理機能を表
わしており、例えばLAPB処理、BSC−P処理等が
挙げられている。190は、下位ドライバであり、17
0は上位制御装置と下位制御装置から共通に参照される
共通メモリである。
【0027】次に、動作について説明する。処理要求は
タスクスケジューラ120を通してアプリケーション1
10からの要求が上位ドライバ130に通知される。上
位ドライバ130では160のどのボードへの要求なの
かを判断し共通メモリ170に処理要求の内容を書き込
み、ターゲットのボード(下位制御装置)に対して処理
開始要求の割込を出す。当該ボード160で処理が実行
されると、処理要求のキューがあることを共通メモリ1
70に書き、その後、割込を上位制御装置100に上げ
る。上位制御装置では、割込をインタセプトしている上
位ドライバ130が起動される。なお上位ドライバが処
理中の場合は自割込をマスクするため割込は処理待ちと
なる。ただしキュー情報はドライバによりチェックされ
るため先に処理される場合もある。
タスクスケジューラ120を通してアプリケーション1
10からの要求が上位ドライバ130に通知される。上
位ドライバ130では160のどのボードへの要求なの
かを判断し共通メモリ170に処理要求の内容を書き込
み、ターゲットのボード(下位制御装置)に対して処理
開始要求の割込を出す。当該ボード160で処理が実行
されると、処理要求のキューがあることを共通メモリ1
70に書き、その後、割込を上位制御装置100に上げ
る。上位制御装置では、割込をインタセプトしている上
位ドライバ130が起動される。なお上位ドライバが処
理中の場合は自割込をマスクするため割込は処理待ちと
なる。ただしキュー情報はドライバによりチェックされ
るため先に処理される場合もある。
【0028】上位ドライバ130では自割込のマスク
後、割込コントローラの専有をEOI(エンドオブイン
タラプト:割込終了コマンド)により直ちに解除させ、
かつ制御装置の割込も解除することより例えばLANボ
ード150のような他の割込処理を持つH/Wに割込処
理を解放する。この後スケジューリング(プライオリテ
ィによる優先処理とラウンドロビンによる処理の均一化
とボードがオープンされているかの処理状態によって決
定される)結果に従って順番にどの制御装置が処理可能
か共有メモリ上のキューをチェックする。キューがあれ
ばそのキューの処理を実行する。また、タスクスケジュ
ーラに対してスケジューリング要求を出し、当該アプリ
ケーションで処理を実行させる。アプリケーションから
タスクスケジューラのスケジューリングによりドライバ
に処理が戻った後、残りの処理を同様に実行し、最後に
自割込のマスクを解除し、割込をリターンする。また、
ここでのスケジューリングは、以下のように行われる。
共通メモリ上の情報処理順をラウンドロビン&プライオ
リティ&下位制御装置への処理要求状態&残キュー数
(以降で記述する)の各条件でスケジューリングし、そ
の順番に従って処理可能な情報を処理し、結果を上位制
御装置下のユーザに通知する。本方式を利用するユーザ
にて処理の終了もしくは途中で本方式処理に戻った場合
は、再度処理順をスケジューリングし新しい処理順を決
定する。また同一プライオリティの処理実行後は次の割
込があるか調べ、あれば本方式の処理を終了させ、次の
割込で本方式の処理を再起動する。
後、割込コントローラの専有をEOI(エンドオブイン
タラプト:割込終了コマンド)により直ちに解除させ、
かつ制御装置の割込も解除することより例えばLANボ
ード150のような他の割込処理を持つH/Wに割込処
理を解放する。この後スケジューリング(プライオリテ
ィによる優先処理とラウンドロビンによる処理の均一化
とボードがオープンされているかの処理状態によって決
定される)結果に従って順番にどの制御装置が処理可能
か共有メモリ上のキューをチェックする。キューがあれ
ばそのキューの処理を実行する。また、タスクスケジュ
ーラに対してスケジューリング要求を出し、当該アプリ
ケーションで処理を実行させる。アプリケーションから
タスクスケジューラのスケジューリングによりドライバ
に処理が戻った後、残りの処理を同様に実行し、最後に
自割込のマスクを解除し、割込をリターンする。また、
ここでのスケジューリングは、以下のように行われる。
共通メモリ上の情報処理順をラウンドロビン&プライオ
リティ&下位制御装置への処理要求状態&残キュー数
(以降で記述する)の各条件でスケジューリングし、そ
の順番に従って処理可能な情報を処理し、結果を上位制
御装置下のユーザに通知する。本方式を利用するユーザ
にて処理の終了もしくは途中で本方式処理に戻った場合
は、再度処理順をスケジューリングし新しい処理順を決
定する。また同一プライオリティの処理実行後は次の割
込があるか調べ、あれば本方式の処理を終了させ、次の
割込で本方式の処理を再起動する。
【0029】次に、図2と図3を用いて説明する。図2
は下位制御装置から要求発生し、処理が実行されるまで
の流れ図であり、図3は同じ流れを表したブロック図で
ある。図2においてS31からS35という符号は図3
において(1)から(5)に対応している。まずS31
において下位制御装置より何等かの処理要求が発生す
る。下位ドライバはその処理要求を受けるとS32にお
いて共通メモリに書き込みを行なう。次にS33におい
て下位ドライバは上位ドライバに対して割込を発生させ
る。次にS34において割込を受け取った上位ドライバ
が共通メモリを参照する。上位ドライバは上位制御装置
上の該当するアプリケーションソフトウェアに通知し
(S35)、S36においてアプリケーションプログラ
ムは、要求された処理を実行する。図2に矢印で示すよ
うに処理要求が発生してから上位ドライバに割込を発生
させるまでが下位ドライバの受持ち範囲である。
は下位制御装置から要求発生し、処理が実行されるまで
の流れ図であり、図3は同じ流れを表したブロック図で
ある。図2においてS31からS35という符号は図3
において(1)から(5)に対応している。まずS31
において下位制御装置より何等かの処理要求が発生す
る。下位ドライバはその処理要求を受けるとS32にお
いて共通メモリに書き込みを行なう。次にS33におい
て下位ドライバは上位ドライバに対して割込を発生させ
る。次にS34において割込を受け取った上位ドライバ
が共通メモリを参照する。上位ドライバは上位制御装置
上の該当するアプリケーションソフトウェアに通知し
(S35)、S36においてアプリケーションプログラ
ムは、要求された処理を実行する。図2に矢印で示すよ
うに処理要求が発生してから上位ドライバに割込を発生
させるまでが下位ドライバの受持ち範囲である。
【0030】図4は上位制御装置から処理要求が発生
し、その処理が実行されるまでの流れ図である。まず、
S41において処理要求が発生する。上位ドライバはそ
の処理要求を受け取るとS42において共通メモリに書
き込みを行なう。書き込みが完了すると上位ドライバは
S43において下位ドライバに対する割込を発生させ
る。次にS44において下位ドライバは割込を受け取る
と、共通メモリを参照する。続いてS45において下位
制御装置が要求された処理を実行する。このように、図
4における処理の流れは、上位と下位の立場が入れ換わ
るだけで図3におけるものとほぼ同様であり、上位ドラ
イバの受持ち範囲は矢印で示すようにS41の処理要求
発生からS43の下位ドライバに割込を発生させるとこ
ろまでである。
し、その処理が実行されるまでの流れ図である。まず、
S41において処理要求が発生する。上位ドライバはそ
の処理要求を受け取るとS42において共通メモリに書
き込みを行なう。書き込みが完了すると上位ドライバは
S43において下位ドライバに対する割込を発生させ
る。次にS44において下位ドライバは割込を受け取る
と、共通メモリを参照する。続いてS45において下位
制御装置が要求された処理を実行する。このように、図
4における処理の流れは、上位と下位の立場が入れ換わ
るだけで図3におけるものとほぼ同様であり、上位ドラ
イバの受持ち範囲は矢印で示すようにS41の処理要求
発生からS43の下位ドライバに割込を発生させるとこ
ろまでである。
【0031】次に図5と図6を用いて上位ドライバ、下
位ドライバそれぞれの処理の流れを説明する。図5は上
位ドライバの流れ図である。上位ドライバはまず自分が
どこから呼ばれたかを判断し(S51)、呼ばれた相手
がアプリケーションプログラムであればS52において
下位制御装置に対するデータ送信処理を行なう。またも
し、呼ばれた相手が下位制御装置であればS53におい
て下位制御装置からのデータ受信処理を行なう。データ
送信処理あるいは、データ受信処理終了後、S54にお
いて上位ドライバはIRET(インタラプトリターン)
を行なう。インタラプトリターンとは、割込処理から元
の処理に戻るときに出すコマンドである。
位ドライバそれぞれの処理の流れを説明する。図5は上
位ドライバの流れ図である。上位ドライバはまず自分が
どこから呼ばれたかを判断し(S51)、呼ばれた相手
がアプリケーションプログラムであればS52において
下位制御装置に対するデータ送信処理を行なう。またも
し、呼ばれた相手が下位制御装置であればS53におい
て下位制御装置からのデータ受信処理を行なう。データ
送信処理あるいは、データ受信処理終了後、S54にお
いて上位ドライバはIRET(インタラプトリターン)
を行なう。インタラプトリターンとは、割込処理から元
の処理に戻るときに出すコマンドである。
【0032】図6は下位ドライバの流れ図である。この
流れ図において先ほどの図5に示したものと上位下位が
入れ換わるだけであり、S61〜S64は図5における
S51〜S54にそれぞれ対応している。すなわち、下
位ドライバはまず自分がどこから呼ばれたかを判断し
(S61)、呼ばれた相手がソフト的な処理機能であれ
ばS62において上位制御装置に対するデータ送信処理
を行なう。またもし、呼ばれた相手が上位制御装置であ
ればS63において上位制御装置からのデータ受信処理
を行なう。データ送信処理あるいは、データ受信処理終
了後、S64において下位ドライバはIRET(インタ
ラプトリターン)を行なう。
流れ図において先ほどの図5に示したものと上位下位が
入れ換わるだけであり、S61〜S64は図5における
S51〜S54にそれぞれ対応している。すなわち、下
位ドライバはまず自分がどこから呼ばれたかを判断し
(S61)、呼ばれた相手がソフト的な処理機能であれ
ばS62において上位制御装置に対するデータ送信処理
を行なう。またもし、呼ばれた相手が上位制御装置であ
ればS63において上位制御装置からのデータ受信処理
を行なう。データ送信処理あるいは、データ受信処理終
了後、S64において下位ドライバはIRET(インタ
ラプトリターン)を行なう。
【0033】図7は、この実施例における処理の流れの
全体の構造を示したブロック図である。この図は上位ド
ライバに着目して送信処理、受信処理それぞれの場合の
処理の流れを示したものであり、図2から図6までに示
した内容がひとつの図で見渡せるようになっている。
全体の構造を示したブロック図である。この図は上位ド
ライバに着目して送信処理、受信処理それぞれの場合の
処理の流れを示したものであり、図2から図6までに示
した内容がひとつの図で見渡せるようになっている。
【0034】次に、実際の上位ドライバから下位制御装
置へのデータ送信、また、上位ドライバの下位制御装置
からのデータ受信について、図を用いて詳しく説明す
る。図8は下位制御装置へのデータ送信の場合の流れ図
である。まずS81においてドライバに対する内部コマ
ンドであるかどうかチェックを行なう。内部コマンドに
は、以下のような機能がある。 1.ドライバ内部状態の取得。 2.ドライバと下位制御装置とのインタフェースの確
立。 3.ドライバと下位制御装置とのインタフェースの切
断。 4.キューのクリア。 5.エラー処理。 内部コマンドは送信時と受信時で異なり、前述したそれ
ぞれの機能は実際に実現する際には、送信受信双方で分
担されている。S82は、S81の判断において内部コ
マンドだった場合に行なわれる内部処理である。次に、
S83においてキューが空いているかどうかチェックを
行ない、キューが空いていない場合にはS84において
タイマーウェイトをする。空いているキューが確認され
た場合、S85においてまずキューをセットする。続い
てS86においてキューのアドレスをセットする。次に
S87において、キューフラグが立っているかどうかチ
ェックを行なう。キューフラグとは図9に示すように、
実際に送信あるいは受信される情報とペアでキューに書
き込まれるデータの一つである。書き込まれたキューが
あることを相手に知らせ、また、受信側にとっては、読
むべきキューがあることが判断できるものである。次
に、S87においてフラグが立っていない場合にはS8
8においてフラグを立て、また、フラグが立っている場
合にはS89においてフラグをそのままにする。それに
より、S90において下位制御装置を起動する場合に
は、必ずキューには情報がセットされ、アドレスもフラ
グもセットされている状態となっている。S90におけ
る制御装置起動とは、実際の下位制御装置への割込を発
生させることである。
置へのデータ送信、また、上位ドライバの下位制御装置
からのデータ受信について、図を用いて詳しく説明す
る。図8は下位制御装置へのデータ送信の場合の流れ図
である。まずS81においてドライバに対する内部コマ
ンドであるかどうかチェックを行なう。内部コマンドに
は、以下のような機能がある。 1.ドライバ内部状態の取得。 2.ドライバと下位制御装置とのインタフェースの確
立。 3.ドライバと下位制御装置とのインタフェースの切
断。 4.キューのクリア。 5.エラー処理。 内部コマンドは送信時と受信時で異なり、前述したそれ
ぞれの機能は実際に実現する際には、送信受信双方で分
担されている。S82は、S81の判断において内部コ
マンドだった場合に行なわれる内部処理である。次に、
S83においてキューが空いているかどうかチェックを
行ない、キューが空いていない場合にはS84において
タイマーウェイトをする。空いているキューが確認され
た場合、S85においてまずキューをセットする。続い
てS86においてキューのアドレスをセットする。次に
S87において、キューフラグが立っているかどうかチ
ェックを行なう。キューフラグとは図9に示すように、
実際に送信あるいは受信される情報とペアでキューに書
き込まれるデータの一つである。書き込まれたキューが
あることを相手に知らせ、また、受信側にとっては、読
むべきキューがあることが判断できるものである。次
に、S87においてフラグが立っていない場合にはS8
8においてフラグを立て、また、フラグが立っている場
合にはS89においてフラグをそのままにする。それに
より、S90において下位制御装置を起動する場合に
は、必ずキューには情報がセットされ、アドレスもフラ
グもセットされている状態となっている。S90におけ
る制御装置起動とは、実際の下位制御装置への割込を発
生させることである。
【0035】次に図10を用いてデータ受信の手順を詳
しく説明する。図10は上位ドライバが下位制御装置か
らデータを受信する手順を示した流れ図である。S10
1において上位ドライバは自分に対する割込をマスク
し、他の割込を受け付けないようにする。次にS102
においてEOI(エンドオブインタラプト)を出して割
込コントローラの占有を解除し、割込コントローラがこ
の発明による方式以外の従来の割込を受け付けることが
できるようにする。次にS103において、上位制御装
置の割込を解除する。これ以降S104からS111ま
での処理は、共通メモリのキューが空になるまでループ
して繰り返される。まずS104において処理順をスケ
ジューリングする。次のS105において全て参照が終
了したかどうかを判断し、終了していないならばS10
6に進む。処理対象の共通メモリを参照し(S10
6)、次のS107においてキューがあるかどうかの判
断をし、キューが無い場合には先ほどのS104に戻
り、次の処理順をスケジューリングする。キューが存在
した場合には、そのキューの内容がドライバ内部コマン
ドであるかどうかを判断し(S108)、ドライバに対
する内部コマンドであった場合にはその内部コマンドの
処理を行なう(S109)。また、キューの内容が内部
コマンドではなかった場合、該当するタスク(アプリケ
ーションプログラム)にキューを転送し(S110)、
次のS111においてタスクスケジューラに対し、スケ
ジューリングを要求する。以上の処理を全て参照が終了
するまで繰返す。参照終了した場合には、S112にお
いて割込を禁止する。次のS113において、自分に対
する割込のマスクを解除する。
しく説明する。図10は上位ドライバが下位制御装置か
らデータを受信する手順を示した流れ図である。S10
1において上位ドライバは自分に対する割込をマスク
し、他の割込を受け付けないようにする。次にS102
においてEOI(エンドオブインタラプト)を出して割
込コントローラの占有を解除し、割込コントローラがこ
の発明による方式以外の従来の割込を受け付けることが
できるようにする。次にS103において、上位制御装
置の割込を解除する。これ以降S104からS111ま
での処理は、共通メモリのキューが空になるまでループ
して繰り返される。まずS104において処理順をスケ
ジューリングする。次のS105において全て参照が終
了したかどうかを判断し、終了していないならばS10
6に進む。処理対象の共通メモリを参照し(S10
6)、次のS107においてキューがあるかどうかの判
断をし、キューが無い場合には先ほどのS104に戻
り、次の処理順をスケジューリングする。キューが存在
した場合には、そのキューの内容がドライバ内部コマン
ドであるかどうかを判断し(S108)、ドライバに対
する内部コマンドであった場合にはその内部コマンドの
処理を行なう(S109)。また、キューの内容が内部
コマンドではなかった場合、該当するタスク(アプリケ
ーションプログラム)にキューを転送し(S110)、
次のS111においてタスクスケジューラに対し、スケ
ジューリングを要求する。以上の処理を全て参照が終了
するまで繰返す。参照終了した場合には、S112にお
いて割込を禁止する。次のS113において、自分に対
する割込のマスクを解除する。
【0036】次に、この実施例における共通メモリの構
造について説明する。図11は、上位、下位装置のメモ
リを表わすブロック図である。図において、上位制御装
置上で稼働するアプリケーションプログラムがその処理
に応じて資源1、資源2、資源nを利用するものとす
る。資源1は下位制御装置1におけるLAPB処理部で
ある。また、資源2は、下位制御装置2におけるLAP
B処理部である。資源nは任意の下位制御装置nの処理
部に対応している。図に示すように、この実施例では下
位制御装置が持つメモリの一部を上位制御装置からも読
み書きできる共通メモリとして使っている。上位制御装
置上から参照される共通メモリの物理アドレスはあらか
じめ任意設定でき、上位制御装置中のドライバにより物
理アドレスが管理されている。上位ドライバはアプリケ
ーションからの論理的資源番号によって対応する下位制
御装置を管理しており、共通メモリをそれぞれ割り当て
ている。そしてアプリケーションの論理的資源番号に応
じて該当する共通メモリにデータを書き込み、処理要求
を出している。共通メモリ内には論理的なアドレスが振
られており、同一のデータを双方から見てアクセスする
ようにしている。なお下位制御装置内のドライバよりの
処理も同様になっているので、説明は省略する。
造について説明する。図11は、上位、下位装置のメモ
リを表わすブロック図である。図において、上位制御装
置上で稼働するアプリケーションプログラムがその処理
に応じて資源1、資源2、資源nを利用するものとす
る。資源1は下位制御装置1におけるLAPB処理部で
ある。また、資源2は、下位制御装置2におけるLAP
B処理部である。資源nは任意の下位制御装置nの処理
部に対応している。図に示すように、この実施例では下
位制御装置が持つメモリの一部を上位制御装置からも読
み書きできる共通メモリとして使っている。上位制御装
置上から参照される共通メモリの物理アドレスはあらか
じめ任意設定でき、上位制御装置中のドライバにより物
理アドレスが管理されている。上位ドライバはアプリケ
ーションからの論理的資源番号によって対応する下位制
御装置を管理しており、共通メモリをそれぞれ割り当て
ている。そしてアプリケーションの論理的資源番号に応
じて該当する共通メモリにデータを書き込み、処理要求
を出している。共通メモリ内には論理的なアドレスが振
られており、同一のデータを双方から見てアクセスする
ようにしている。なお下位制御装置内のドライバよりの
処理も同様になっているので、説明は省略する。
【0037】以上のようにこの実施例においては、上位
制御装置下に複数の下位制御装置を有し、複数の下位制
御装置よりの処理要求を単一の割込と、下位もしくは上
位にあり双方より読み書き可能な共通メモリ上の情報を
順次読み書きすることにより、複数の下位制御装置より
の情報を処理している。。
制御装置下に複数の下位制御装置を有し、複数の下位制
御装置よりの処理要求を単一の割込と、下位もしくは上
位にあり双方より読み書き可能な共通メモリ上の情報を
順次読み書きすることにより、複数の下位制御装置より
の情報を処理している。。
【0038】また、双方(上位&下位)制御装置にて1
つの共通メモリを下位制御装置単位にメモリ分割し、各
々のメモリに装置アドレスを振り、双方制御装置にて処
理する。
つの共通メモリを下位制御装置単位にメモリ分割し、各
々のメモリに装置アドレスを振り、双方制御装置にて処
理する。
【0039】さらに、本発明以外の複数の割込を並行し
て使用する場合、本発明による割込の処理中、当該の割
込をマスクし、その他の割込についてはマスク後すぐに
割込コントローラの処理を終了(EOI)させることに
より、自割込以外の複数の割込を処理可能にする。
て使用する場合、本発明による割込の処理中、当該の割
込をマスクし、その他の割込についてはマスク後すぐに
割込コントローラの処理を終了(EOI)させることに
より、自割込以外の複数の割込を処理可能にする。
【0040】また、割込発生時、上位制御装置において
複数の下位制御装置の処理順を制御したい場合、本方式
は個々の下位制御装置の処理順を使用状態&プライオリ
ティ&ラウンドロビン&キュー中の未処理数等から判断
しスケジューリングすることにより、複数の下位制御装
置の処理順を動的に制御する。
複数の下位制御装置の処理順を制御したい場合、本方式
は個々の下位制御装置の処理順を使用状態&プライオリ
ティ&ラウンドロビン&キュー中の未処理数等から判断
しスケジューリングすることにより、複数の下位制御装
置の処理順を動的に制御する。
【0041】さらに自装置の情報を相手装置の処理状態
に関係なく通知したい場合、本方式は自装置にて発生し
た複数の情報を共通メモリ上の相手装置用キュー形式バ
ッファにいつでも書けるようにし、かつ相手装置は自身
のキュー形式バッファに書き込まれた情報をいつでも読
めるようにすることにより、双方装置は互いの処理状態
に関係なく複数の情報をいつでも処理できる。
に関係なく通知したい場合、本方式は自装置にて発生し
た複数の情報を共通メモリ上の相手装置用キュー形式バ
ッファにいつでも書けるようにし、かつ相手装置は自身
のキュー形式バッファに書き込まれた情報をいつでも読
めるようにすることにより、双方装置は互いの処理状態
に関係なく複数の情報をいつでも処理できる。
【0042】以上のように、この実施例においては、特
別なハードウェア資源を使用せず、メモリの情報を用い
て処理の要求及び処理の実行を行い、上位ドライバ、下
位ドライバによりソフト的に複数の下位制御装置の同時
期分散制御の高速処理を実現している。
別なハードウェア資源を使用せず、メモリの情報を用い
て処理の要求及び処理の実行を行い、上位ドライバ、下
位ドライバによりソフト的に複数の下位制御装置の同時
期分散制御の高速処理を実現している。
【0043】また、メモリを分割させて下位の制御装置
に対応させていることにより上位制御装置のメモリ空間
に下位制御装置が直接配置されていることになり、上位
と下位の制御装置のやりとりを、通常のメモリアクセス
と同様、高速に読み書きを行うことができる。また、誰
がどこに書いたかをわざわざ判断する必要がなくメモリ
アドレスによって装置が特定できる。
に対応させていることにより上位制御装置のメモリ空間
に下位制御装置が直接配置されていることになり、上位
と下位の制御装置のやりとりを、通常のメモリアクセス
と同様、高速に読み書きを行うことができる。また、誰
がどこに書いたかをわざわざ判断する必要がなくメモリ
アドレスによって装置が特定できる。
【0044】実施例2.次に、前述した実施例に加え
て、1つの下位制御装置で複数の機能を果たす例を説明
する。この実施例の構成も前述した実施例と同じく図1
に示すものである。図1において、下位制御装置1はL
APB処理を行い、下位制御装置2はBSC−P処理と
同時に、LAPB処理を行っている。
て、1つの下位制御装置で複数の機能を果たす例を説明
する。この実施例の構成も前述した実施例と同じく図1
に示すものである。図1において、下位制御装置1はL
APB処理を行い、下位制御装置2はBSC−P処理と
同時に、LAPB処理を行っている。
【0045】図12はこの実施例における共通メモリの
構造を示す図である。共通メモリ1は、下位制御装置1
のLAPB処理部に対応しており、上位制御装置のドラ
イバから見たアプリケーション資源1に対応している。
また共通メモリ2は下位制御装置2のLAPB処理部に
対応しており、同様に共通メモリ3は下位制御装置2の
BSC−P処理部に対応している。このように下位制御
装置上で実現されている処理機能毎に共通メモリを割り
当てることにより、物理的には1台である下位制御装置
2において、LAPB処理部を実現する下位制御装置2
A、BSC−P処理部を実現する下位制御装置2Bとい
う2台の下位制御装置が存在するようかのような機能を
実現することができる。
構造を示す図である。共通メモリ1は、下位制御装置1
のLAPB処理部に対応しており、上位制御装置のドラ
イバから見たアプリケーション資源1に対応している。
また共通メモリ2は下位制御装置2のLAPB処理部に
対応しており、同様に共通メモリ3は下位制御装置2の
BSC−P処理部に対応している。このように下位制御
装置上で実現されている処理機能毎に共通メモリを割り
当てることにより、物理的には1台である下位制御装置
2において、LAPB処理部を実現する下位制御装置2
A、BSC−P処理部を実現する下位制御装置2Bとい
う2台の下位制御装置が存在するようかのような機能を
実現することができる。
【0046】以上のようにこの実施例においては、1つ
の下位制御装置が複数の処理機能を有している場合に、
その処理機能単位に分割されたメモリを割り当てること
により、複数の下位制御装置が存在するかのような複数
の処理機能を実現できる。
の下位制御装置が複数の処理機能を有している場合に、
その処理機能単位に分割されたメモリを割り当てること
により、複数の下位制御装置が存在するかのような複数
の処理機能を実現できる。
【0047】実施例3.次に、図13を用いて、動的な
下位制御装置の使用について説明する。この実施例にお
いては、下位制御装置において複数の処理機能を実現す
る場合に1つの処理機能に対応したものを仮想下位制御
装置または仮想下位制御装置プロセスと呼んでいる。図
13は図12における下位制御装置に着目し、上位制御
装置との関連を示した図である。図12と同じく共通メ
モリ2は、LAPB処理に対応しており、共通メモリ3
はベーシック手順処理に対応している。本実施例では、
下位制御装置の物理インタフェースとして2個の9ピン
オスのコネクタを持っており、これをRS422とRS
232Cで使用している。さらに接続する機器により電
気信号パターンや使用する線の有無をソフト的に変更
し、さらに上位の通信手順をLAPB、BASIC手順
等の複数の手順を用意している。つまりこの実施例の特
徴は、仮想下位制御装置プロセスには予め複数の処理手
順が用意されており、それと同時に物理装置においても
予め複数のものが用意されていて、それらを起動時に上
位制御装置から選択的に起動できるという点である。具
体的には、仮想下位制御装置用の共通メモリを媒体とし
て利用して、内部のどのソフトウェア機能をどのように
使うかを前述の仮想共通メモリ下の共通メモリインタフ
ェース(下位ドライバ)を用いて、必要な都度、使用/
解放宣言で下位制御装置内のプロセスを起動し使用して
いる。すなわち、機能の切り替えは他と同様にキューイ
ンタフェースにより実現している。キューには通信レイ
ヤの考え方が導入されており、下位インタフェースにボ
ードとの接続をするインタフェースがあり、その中で機
能種別を選択している。
下位制御装置の使用について説明する。この実施例にお
いては、下位制御装置において複数の処理機能を実現す
る場合に1つの処理機能に対応したものを仮想下位制御
装置または仮想下位制御装置プロセスと呼んでいる。図
13は図12における下位制御装置に着目し、上位制御
装置との関連を示した図である。図12と同じく共通メ
モリ2は、LAPB処理に対応しており、共通メモリ3
はベーシック手順処理に対応している。本実施例では、
下位制御装置の物理インタフェースとして2個の9ピン
オスのコネクタを持っており、これをRS422とRS
232Cで使用している。さらに接続する機器により電
気信号パターンや使用する線の有無をソフト的に変更
し、さらに上位の通信手順をLAPB、BASIC手順
等の複数の手順を用意している。つまりこの実施例の特
徴は、仮想下位制御装置プロセスには予め複数の処理手
順が用意されており、それと同時に物理装置においても
予め複数のものが用意されていて、それらを起動時に上
位制御装置から選択的に起動できるという点である。具
体的には、仮想下位制御装置用の共通メモリを媒体とし
て利用して、内部のどのソフトウェア機能をどのように
使うかを前述の仮想共通メモリ下の共通メモリインタフ
ェース(下位ドライバ)を用いて、必要な都度、使用/
解放宣言で下位制御装置内のプロセスを起動し使用して
いる。すなわち、機能の切り替えは他と同様にキューイ
ンタフェースにより実現している。キューには通信レイ
ヤの考え方が導入されており、下位インタフェースにボ
ードとの接続をするインタフェースがあり、その中で機
能種別を選択している。
【0048】キュー形式バッファに読み書きする情報は
下位制御装置とのインタフェースとアプリケーションと
のインタフェースがある。具体的には共通メモリ上で双
方のキュー処理を実現するインタフェースと、機能タス
クとのインタフェース、そしてデータ部のインタフェー
スである。
下位制御装置とのインタフェースとアプリケーションと
のインタフェースがある。具体的には共通メモリ上で双
方のキュー処理を実現するインタフェースと、機能タス
クとのインタフェース、そしてデータ部のインタフェー
スである。
【0049】以上のように、この実施例は単一の下位制
御装置を動的に多種の機能を動作させることができる装
置として使用したい場合、異なる複数のソフトウェアと
電気信号レベルでソフトウェア制御可能なハードウェア
を持つ下位制御装置に対し、仮想下位制御装置単位に動
作機能を動的に起動することにより、上位制御装置下の
ソフトウェア要求により、下位制御装置の持つ機能を固
定しないで動的に使用できるものである。
御装置を動的に多種の機能を動作させることができる装
置として使用したい場合、異なる複数のソフトウェアと
電気信号レベルでソフトウェア制御可能なハードウェア
を持つ下位制御装置に対し、仮想下位制御装置単位に動
作機能を動的に起動することにより、上位制御装置下の
ソフトウェア要求により、下位制御装置の持つ機能を固
定しないで動的に使用できるものである。
【0050】実施例4.上記実施例においては、下位制
御装置の物理インタフェースとして2個の9ピンオスの
コネクタを持ち、RS422及びRS232Cで使用し
ている例を示したが、これは標準的なインタフェースで
対応している機器が多いことが理由となっており、他の
ものでもよい。特に9ピンから他のピン数の機器との接
続、あるいはオスメスの変換は市販の変換コネクタを使
用すれば容易に接続が可能である。また、物理的なイン
タフェースは、必ずしも必須ではなく外部とのインタフ
ェースを持たない機能の場合や無線装置を使った場合に
はコネクタは不要となる。
御装置の物理インタフェースとして2個の9ピンオスの
コネクタを持ち、RS422及びRS232Cで使用し
ている例を示したが、これは標準的なインタフェースで
対応している機器が多いことが理由となっており、他の
ものでもよい。特に9ピンから他のピン数の機器との接
続、あるいはオスメスの変換は市販の変換コネクタを使
用すれば容易に接続が可能である。また、物理的なイン
タフェースは、必ずしも必須ではなく外部とのインタフ
ェースを持たない機能の場合や無線装置を使った場合に
はコネクタは不要となる。
【0051】実施例5.前述した実施例においては、下
位制御装置で実現される処理機能に対して通信制御手順
を例に上げてきたが、下位制御装置で実現される機能と
しては単独の情報処理装置でもよく、また、通信制御以
外の他の外部との入出力を行う情報処理装置でも構わな
い。
位制御装置で実現される処理機能に対して通信制御手順
を例に上げてきたが、下位制御装置で実現される機能と
しては単独の情報処理装置でもよく、また、通信制御以
外の他の外部との入出力を行う情報処理装置でも構わな
い。
【0052】実施例6.次に、図14、図15を用い
て、1つの下位制御装置で複数の機能を果たす他の例を
示す。図14において上位制御装置に接続された1台の
下位制御装置に3つの処理機能があり、それぞれ1つの
機能に対応して”1A”、”1B”、”1C”という3
つのアドレスが設定されているものとする。この場合、
上位制御装置はアドレス”1A”、”1B”、”1C”
という3台の端末装置(下位制御装置)が存在するかの
ようにすなわち、図15に示す物理的な構成を持つシス
テムと同じ様に3つの処理を実現することができる。
て、1つの下位制御装置で複数の機能を果たす他の例を
示す。図14において上位制御装置に接続された1台の
下位制御装置に3つの処理機能があり、それぞれ1つの
機能に対応して”1A”、”1B”、”1C”という3
つのアドレスが設定されているものとする。この場合、
上位制御装置はアドレス”1A”、”1B”、”1C”
という3台の端末装置(下位制御装置)が存在するかの
ようにすなわち、図15に示す物理的な構成を持つシス
テムと同じ様に3つの処理を実現することができる。
【0053】実施例7.前述した実施例において、仮想
下位制御装置プロセスにおいて複数の処理機能を予め準
備し、上位制御装置から選択的に指定して起動する例を
述べたが、複数の処理機能を予め常駐させておき上位か
らの要求により機能を選択する方式でも構わない。また
2つの異なる処理機能を持った例を示しているが、3つ
以上の処理機能であっても構わない。また更に同一の処
理機能を複数起動させておくという形でも構わない。図
16には下位制御装置において複数の処理機能が選択で
き更に、物理装置において複数の処理機能が選択でき、
それらの組み合せによって上位制御装置のタスク(アプ
リケーションプログラム)から見てより多くの組み合せ
が選択できることを示している。
下位制御装置プロセスにおいて複数の処理機能を予め準
備し、上位制御装置から選択的に指定して起動する例を
述べたが、複数の処理機能を予め常駐させておき上位か
らの要求により機能を選択する方式でも構わない。また
2つの異なる処理機能を持った例を示しているが、3つ
以上の処理機能であっても構わない。また更に同一の処
理機能を複数起動させておくという形でも構わない。図
16には下位制御装置において複数の処理機能が選択で
き更に、物理装置において複数の処理機能が選択でき、
それらの組み合せによって上位制御装置のタスク(アプ
リケーションプログラム)から見てより多くの組み合せ
が選択できることを示している。
【0054】
【発明の効果】以上のようにこの発明によれば、上位制
御装置と下位制御装置(下位制御装置中の個々論理装置
を含む)との間の通信を共通メモリ上の情報の有無で判
断することにより、ハードウェア的制限(DMA数、ハ
ードウェア割込数、入出力ポート数等の少ないハードウ
ェア資源)を意識しないでメモリ空間の許す範囲で多数
の下位制御装置を制御できる。また、複数の下位制御装
置で共通メモリを使った通信をおこなうことにより、ハ
ードウェア的要素による各種コントローラの排他処理が
なく、並行して直接相手装置のメモリに情報を伝えるこ
とができるため制御装置全体の処理が速くなる。
御装置と下位制御装置(下位制御装置中の個々論理装置
を含む)との間の通信を共通メモリ上の情報の有無で判
断することにより、ハードウェア的制限(DMA数、ハ
ードウェア割込数、入出力ポート数等の少ないハードウ
ェア資源)を意識しないでメモリ空間の許す範囲で多数
の下位制御装置を制御できる。また、複数の下位制御装
置で共通メモリを使った通信をおこなうことにより、ハ
ードウェア的要素による各種コントローラの排他処理が
なく、並行して直接相手装置のメモリに情報を伝えるこ
とができるため制御装置全体の処理が速くなる。
【0055】また、メモリを分割させて下位の制御装置
に対応させていることにより上位制御装置のメモリ空間
に下位制御装置が直接配置されていることになり、上位
と下位の制御装置のやりとりを、通常のメモリアクセス
と同様に高速に行うことができる。また、誰がどこに書
いたかをわざわざ判断する必要がなくメモリアドレスに
よって装置が特定できる。
に対応させていることにより上位制御装置のメモリ空間
に下位制御装置が直接配置されていることになり、上位
と下位の制御装置のやりとりを、通常のメモリアクセス
と同様に高速に行うことができる。また、誰がどこに書
いたかをわざわざ判断する必要がなくメモリアドレスに
よって装置が特定できる。
【0056】さらに、1つの下位制御装置が複数の処理
機能を有している場合に、その処理機能単位に分割され
たメモリを割り当てることにより、複数の下位制御装置
が存在するかのような複数の処理機能を実現できる。
機能を有している場合に、その処理機能単位に分割され
たメモリを割り当てることにより、複数の下位制御装置
が存在するかのような複数の処理機能を実現できる。
【0057】また、下位制御装置が持つ複数の処理機能
を、上位制御装置上のソフトウェアからの要求により、
処理機能単位に動的に起動することにより、下位制御装
置の持つ機能を固定しないで動的に使用できるものであ
る。
を、上位制御装置上のソフトウェアからの要求により、
処理機能単位に動的に起動することにより、下位制御装
置の持つ機能を固定しないで動的に使用できるものであ
る。
【0058】また、相互にキューイングできいつでも読
み書きできるので、割込の有る無しに係わらずドライバ
間で情報のやり取りができる。また、他の下位制御装置
が割込を出した時に自分も共通メモリへの書き込みが終
了していれば、自分が割込を出すよりも先にその書き込
んだ処理を行なうことができる。また本方式では複数の
情報をキュー形式でいつでも読み書きできるようにする
ことにより、双方より、より多数の情報を並行して送信
もしくは受信ができ送受信効率が良くなる。
み書きできるので、割込の有る無しに係わらずドライバ
間で情報のやり取りができる。また、他の下位制御装置
が割込を出した時に自分も共通メモリへの書き込みが終
了していれば、自分が割込を出すよりも先にその書き込
んだ処理を行なうことができる。また本方式では複数の
情報をキュー形式でいつでも読み書きできるようにする
ことにより、双方より、より多数の情報を並行して送信
もしくは受信ができ送受信効率が良くなる。
【0059】本方式では従来よりある下位制御装置の使
用を制限しないため、本発明による方式以外を使用する
下位装置との共存が可能であり従来資産もそのまま使用
できる。
用を制限しないため、本発明による方式以外を使用する
下位装置との共存が可能であり従来資産もそのまま使用
できる。
【0060】本方式では下位制御装置の処理順をスケジ
ューリングし、処理順の優先性や処理の均一性をコント
ロールでき、使用者が意図したとおりの処理ができる。
ューリングし、処理順の優先性や処理の均一性をコント
ロールでき、使用者が意図したとおりの処理ができる。
【図1】本発明の構成を示すブロック図である。
【図2】本発明の処理の流れ図である。
【図3】本発明の処理の流れを示すブロック図である。
【図4】本発明の処理の流れ図である。
【図5】本発明のドライバの処理の流れ図である。
【図6】本発明のドライバの処理の流れ図である。
【図7】本発明の1つの処理の流れの全体を示すブロッ
ク図である。
ク図である。
【図8】本発明の上位制御装置におけるデータ送信手順
の流れ図である。
の流れ図である。
【図9】本発明のキューでやりとりされる情報を示す図
である。
である。
【図10】本発明の上位制御装置におけるデータ受信手
順の流れ図である。
順の流れ図である。
【図11】本発明の共通メモリの図である。
【図12】本発明の他の実施例における共通メモリの図
である。
である。
【図13】本発明の仮想下位制御装置を説明する図であ
る。
る。
【図14】本発明の他の実施例の図である。
【図15】本発明の他の実施例の図である。
【図16】本発明の他の実施例の図である。
【図17】従来の割込判別方式を示す図である。
【図18】従来の割込制御装置を示す図である。
100 上位制御装置 110 アプリケーションプログラム 120 タスクスケジューラ 130 上位ドライバ 160 下位制御装置 165 処理機能 170 共通メモリ 180 割込コントローラ 190 下位ドライバ
Claims (7)
- 【請求項1】 上位制御装置と複数の下位制御装置を備
え、複数の下位制御装置から上位制御装置への処理要求
を割込コントローラが単一の割込で受け付ける分散制御
方式において、 上位制御装置と下位制御装置の双方からアクセス可能な
共通メモリを備え、 上記下位制御装置は、処理要求の発生により、処理に必
要な情報を上記共通メモリに書込み、割込を発生させる
下位ドライバを備え、 上記上位制御装置は、割込の受け付けにより上記共通メ
モリに書込まれた情報を読みだし、要求された処理を実
行する上位ドライバを備えたことを特徴とする分散制御
方式。 - 【請求項2】 上記上位制御装置は、上記共通メモリを
上位制御装置のメモリ空間に配置し、共通メモリを分割
し、分割したメモリを各下位制御装置に対応させるとと
もに、上記下位制御装置は、対応する分割されたメモリ
を下位制御装置のメモリ空間に配置していることを特徴
とする請求項1記載の分散制御方式。 - 【請求項3】 上記上位制御装置は、ひとつの下位制御
装置に対して、複数の分割されたメモリを割り当て、上
記下位制御装置は、複数の処理機能を有し、複数の分割
されたメモリを下位制御装置で動作する別々の処理機能
に割り当てることを特徴とする請求項2記載の分散制御
方式。 - 【請求項4】 上記下位制御装置は、複数の処理機能を
複数種類のソフトウェアと複数種類のハードウェアで構
成し、上記上位制御装置は上記複数種類のソフトウェア
と複数種類のハードウェアの中から特定のソフトウェア
とハードウェアを選択的に起動することを特徴とする請
求項3記載の分散制御方式。 - 【請求項5】 上記共通メモリは、情報を順に記入する
キューバッファを備え、上位ドライバおよび下位ドライ
バは上記キューバッファに対して任意の時点で情報を読
み書きすることを特徴とする請求項1記載の分散制御方
式。 - 【請求項6】 上記割込コントローラは、上記複数の下
位制御装置以外の他の装置からの割込をも受け付けると
ともに、上記上位ドライバは、上記下位制御装置からの
割込を処理している間、上記割込コントローラが他の装
置からの割込を処理できるように、上記割込コントロー
ラを開放することを特徴とする請求項1記載の分散制御
方式。 - 【請求項7】 上記上位ドライバは、下位制御装置から
の処理要求に対して、複数種類のスケジューリングアル
ゴリズムを動的に選択して、処理順を決定することを特
徴とする請求項1記載の分散制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33599193A JPH07200494A (ja) | 1993-12-28 | 1993-12-28 | 分散制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33599193A JPH07200494A (ja) | 1993-12-28 | 1993-12-28 | 分散制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07200494A true JPH07200494A (ja) | 1995-08-04 |
Family
ID=18294575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP33599193A Pending JPH07200494A (ja) | 1993-12-28 | 1993-12-28 | 分散制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07200494A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001502085A (ja) * | 1996-10-04 | 2001-02-13 | フィッシャー コントロールズ インターナショナル,インコーポレイテッド | 分散型制御機能を有するプロセス制御ネットワークをデバッグし、チューニングする方法および機器 |
KR100387077B1 (ko) * | 1995-12-23 | 2003-08-14 | 삼성전자주식회사 | 온 라인 상태에서 시스템의 기능 정정방법 |
JP2007299386A (ja) * | 2006-04-28 | 2007-11-15 | Hewlett-Packard Development Co Lp | マルチパーティションコンピュータシステムのi/oデバイスを制御するためのシステム |
JP2008059373A (ja) * | 2006-08-31 | 2008-03-13 | Canon Inc | 情報処理方法、情報処理装置、プログラム及び記憶媒体 |
JP2010071538A (ja) * | 2008-09-18 | 2010-04-02 | Hitachi Kokusai Electric Inc | 射撃訓練システム |
US9063929B2 (en) | 2012-08-31 | 2015-06-23 | Fujitsu Limited | Information processing apparatus, information processing method, computer-readable recording medium having stored therein program |
US10382349B2 (en) | 2014-02-26 | 2019-08-13 | Fujitsu Limited | Server for distributed controller system |
-
1993
- 1993-12-28 JP JP33599193A patent/JPH07200494A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100387077B1 (ko) * | 1995-12-23 | 2003-08-14 | 삼성전자주식회사 | 온 라인 상태에서 시스템의 기능 정정방법 |
JP2001502085A (ja) * | 1996-10-04 | 2001-02-13 | フィッシャー コントロールズ インターナショナル,インコーポレイテッド | 分散型制御機能を有するプロセス制御ネットワークをデバッグし、チューニングする方法および機器 |
JP2007299386A (ja) * | 2006-04-28 | 2007-11-15 | Hewlett-Packard Development Co Lp | マルチパーティションコンピュータシステムのi/oデバイスを制御するためのシステム |
JP2008059373A (ja) * | 2006-08-31 | 2008-03-13 | Canon Inc | 情報処理方法、情報処理装置、プログラム及び記憶媒体 |
JP2010071538A (ja) * | 2008-09-18 | 2010-04-02 | Hitachi Kokusai Electric Inc | 射撃訓練システム |
US9063929B2 (en) | 2012-08-31 | 2015-06-23 | Fujitsu Limited | Information processing apparatus, information processing method, computer-readable recording medium having stored therein program |
US10382349B2 (en) | 2014-02-26 | 2019-08-13 | Fujitsu Limited | Server for distributed controller system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4633392A (en) | Self-configuring digital processor system with logical arbiter | |
US5448732A (en) | Multiprocessor system and process synchronization method therefor | |
EP0321723B1 (en) | Apparatus for a data processing system having a peer relationship among a plurality of central processing units | |
KR100762388B1 (ko) | 낮은 오버헤드 프로세서 인터페이싱 | |
US7155551B2 (en) | Hardware semaphore intended for a multi-processor system | |
US5083261A (en) | Dynamically alterable interrupt priority circuit | |
EP0321724A2 (en) | Apparatus and method for alterable resource partitioning enforcement in a data processing system having central processing units using different operating systems | |
US20030110336A1 (en) | Method and apparatus for interrupt redirection for arm processors | |
JPH0844681A (ja) | 複数の処理装置により共用される資源の集中管理 | |
JPS61109164A (ja) | バス制御方法 | |
JPH02267634A (ja) | 割込み処理装置 | |
WO2003001388A1 (en) | System and method for controlling bus arbitration during cache memory burst cycles | |
JPH0855038A (ja) | 対称多重処理システム、そのための割込制御ユニット、および対称多重処理システム内でプロセッサ割込信号を開始するための方法 | |
EP0860780A2 (en) | Bus control system in a multi-processor system | |
KR900001120B1 (ko) | 우선도가 낮은 유니트를 우선도가 높은 위치에 위치시키기 위한 분배된 우선도 회로망 로직을 가진 데이타 처리 시스템 | |
JPH07200494A (ja) | 分散制御方式 | |
US6430640B1 (en) | Self-arbitrating, self-granting resource access | |
US5036456A (en) | Apparatus for controlling concurrent operations of a system control unit including activity register circuitry | |
CN113535341B (zh) | Linux下CPU核间中断通信的实现方法及装置 | |
JP2002024195A (ja) | 並列処理装置、及び、並列処理方法 | |
EP0049521A2 (en) | Information processing system | |
US7096177B2 (en) | Multiprocessor array | |
JPH0256699B2 (ja) | ||
JPH10232849A (ja) | ディスク制御装置 | |
KR950008228B1 (ko) | 컴퓨터 시스템 |