(57)【特許請求の範囲】
【請求項１】
ローカルコントロールネットワークＢＵＳ（１２′）を介して互いに通信する複数のモジュールを有する、分散プロセス制御システムのオペレータステーション（ＯＳ）モジュール（５６）であって、その各モジュールはカーネルサブモジュール（１６′）と、周辺サブモジュール（５９）とを含み、カーネルサブモジュール及び周辺サブモジュールはモジュールのインタフェース回路（５８）によって互いに通信し、ＯＳモジュール（５６）のカーネルサブモジュール（１６′）は複数のコンポーネントを有し、前記ＯＳカーネルサブモジュールの少なくとも１つのコンポーネントはマイクロプロセッサ（２２′）であり、前記ＯＳモジュールカーネルサブモジュールはモジュールＢＵＳ（１８′）により前記インタフェース回路（５８）と通信し、前記モジュールＢＵＳはデータＢＵＳと、アドレスＢＵＳとを含み且つモジュールＢＵＳプロトコルに従って動作するような分散プロセス制御システムのオペレータステーション（ＯＳ）モジュール（５６）において、
ＯＳモジュールの周辺サブモジュール（５９）は、少なくとも１つはパーソナルコンピュータ（ＰＣ）（６６）である複数のコンポーネントを具備し、周辺サブモジュールの各コンポーネントは、データとアドレスとが多重化される第２のＢＵＳ（６０）を介して互いに通信すると共に、ＯＳモジュールのインタフェース回路（５８）と通信し、第２のＢＵＳは、カーネルサブモジュール（１６′）のモジュールＢＵＳプロトコルとは一致しない第２のＢＵＳプロトコルに従って動作するモジュールであって、
前記ＯＳモジュールのインタフェース回路（５８）は、複数のインタフェースレジスタ（８８）と、ＯＳモジュールのカーネルサブモジュール（１６′）及び周辺サブモジュール（５９）からの制御信号に対し、ＯＳモジュールのどちらのサブモジュールが前記インタフェースレジスタ（８８）のうち所定のレジスタに対しデータ及び／又はアドレスの書き込み又は読み取りを許されるかを判定する制御回路手段と、前記回路手段により制御され、前記制御回路手段の制御の下に前記インタフェースレジスタ（８８）の所定の１つ又は複数のレジスタに書き込まれるデータ及び／又はアドレスの供給源がカーネルモジュール（１６′）又は周辺モジュール（５９）のいずれであるかを判定するデータマルチプレクサ（１００）及びアドレスマルチプレクサ（１１０）と、制御回路手段の制御の下にデータが読み込まれた前記インタフェースレジスタ（８８）の任意のレジスタの内容がモジュールＢＵＳ（１８′）のデータＢＵＳ又は第２のＢＵＳ（６０）のいずれか一方を介して送信される出力マルチプレクサ（１０２）を具備することを特徴とするモジュール。
【請求項２】
インタフェース回路の制御回路手段はモジュールＢＵＳ状態機械手段（８６）と、第２のＢＵＳ状態機械手段（８５）と、アービタ回路手段（９０）とを具備し、モジュールＢＵＳ状態機械（８６）はカーネルサブモジュール（１６′）からの制御信号を受信し、第２のＢＵＳ状態機械（８５）は周辺サブモジュール（５９）からの制御信号を受信し、双方の状態機械は、互いに通信されると共にアービタ回路手段（９０）に通信される制御信号を発生し、アービタ回路手段は、モジュールＢＵＳ状態機械手段（８６）及び第２のＢＵＳ状態機械（８５）により発生される制御信号に応答して、所定時間内にどちらのＢＵＳがインタフェース回路（５８）のインタフェースレジスタ（８８）に対するアクセスを得るかを判定するための制御信号を発生する請求項１記載のモジュール。
【請求項３】
モジュールＢＵＳ（１８′）は２４ビットアドレスＢＵＳと、別の３２ビットデータＢＵＳとを具備することを特徴とする請求項１又は２記載のモジュール。
【請求項４】
第２のＢＵＳ（６０）は単一の３２ビットＢＵＳであることを特徴とする請求項１から３のいずれか１項に記載のモジュール。
【請求項５】
第２のＢＵＳ（６０）はペリフェラルコンポーネントインタフェース（ＰＣＩ）ＢＵＳであることを特徴とする請求項１から３のいずれか１項記載のモジュール。
【発明の詳細な説明】
関連出願の参照
本発明の譲受人に譲渡された出願であり且つ参考として本出願に取り入れられ、ここで十分に明示するように本出願の一部とされている。本出願と同一の日付で出願された名称「Ｃｏｎｔｒｏｌ  Ｃｉｒｃｕｉｔ」のＪａｙ  Ｗ．Ｇｕｓｔｉｎ他の米国特許出願。
発明の背景
（１）発明の分野
本発明は分散プロセス制御システムの分野にあり、特に、汎用オペレータステーションモジュールの周辺サブモジュールのいくつかの特別に設計されたハードウェアコンポーネント及びソフトウェアコンポーネントと市販のハードウェア及びソフトウェアとの置き換えによるそのようなシステムの汎用オペレータステーションモジュールの改良に関する。
（２）関連技術の説明
Ｈｏｎｅｙｗｅｌｌ  Ｉｎｃ．のＴＤＣ３０００のような分散プロセス制御システムはコンピュータプラント管理システムであり、その１つの型が１９８６年８月１９日発行の米国特許第４，６０７，２５６号の中で説明され且つ特許請求されている。そのようなプロセス制御システムは、それぞれ、監視すべき１つ又は複数のプロセスの全体操作の責任を負うオペレータに、機能を実行するために必要とされる情報と、監視すべきプロセスを制御するために、指令又は命令を含めて、プラント管理システムのサブシステムを制御するための情報とを送信する能力とを与えるための手段を構成する汎用オペレータステーションモジュールを含む。汎用オペレータモジュールと、ネットワークの他のモジュールとの通信は、全て、プラント管理システムのシステムの任意のデジタルプロセス制御サブシステム及びデータ収集サブシステムのデータハイウェイへのアクセスを汎用オペレータステーションモジュールに与えるネットワークのローカルコントロールネットワーク（ＬＣＮ）ＢＵＳを介して行われる。
従来のオペレータステーションモジュールのサブモジュールの全てのハードウェアコンポーネント及びソフトウェアコンポーネントは、キーボード，プリンタ等に対する入出力機能、大容量記憶装置、及びシステムを最適化するための汎用データ処理能力など、ＣＲＴに対してビデオ表示を生成する等のオペレータステーションモジュールに要求される機能を実行するために特別に設計されていた。市販のパーソナルコンピュータ（ＰＣ）、その関連周辺装置、関連オペレーティングシステムソフトウェアの性能は、近年、大幅に向上しており、それに伴ってコストダウンもはかられている。そこで、オペレータステーションモジュールの周辺サブモジュールの特殊な専用ハードウェアコンポーネントや専用ソフトウェアコンポーネントに代わるものとして、市販のＰＣ、周辺機器及びソフトウェアを汎用オペレータステーションモジュールの周辺サブモジュールに取り入れることが望ましいであろう。そのようにすることに伴う問題点は、市販のハードウェアやソフトウェアが、たとえば、ペリフェラルコンポーネントインタフェース（ＰＣＩ）ＢＵＳ及びシグナリングプロトコルを一例とする工業規格に基づく市販のＢＵＳプロトコルを使用して通信することである。残念ながら、ＰＣＩ  ＢＵＳ及びシグナリングプロトコルはモジュールＢＵＳのＢＵＳ及びシグナリングプロトコルとは相いれない。本発明はこの問題を解決する方法を提供する。
発明の概要
本発明は、以下の請求の範囲第１項に規定するオペレータステーション（ＯＳ）モジュールを提供する。
システムは従属請求の範囲第２項から第５項に規定するいずれか１つ又は複数の特徴を含む。
本発明は、周辺モジュールのコンポーネントが規格に従った市販の電子部品とそのようなハードウェアの関連ソフトウェアであるような汎用オペレータステーション（ＯＳ）モジュールのカーネルサブモジュールと周辺サブモジュールとの間でインタフェース回路を介する通信を可能にする改良されたインタフェース回路を提供する。改良されたインタフェース回路は、カーネルサブモジュールのハードウェアコンポーネント及び／又はソフトウェアコンポーネント、あるいはプロセス制御システムのその他のモジュールのいずれかの変更を必要とせずに通信できる。カーネルサブモジュールはそのモジュールＢＵＳを介してカーネルサブモジュールのコンポーネント及びインタフェース回路と通信するが、モジュールＢＵＳの構造とプロトコルに変更はない。同様に、周辺サブモジュールのコンポーネントはペリフェラルコンポーネントインタフェース（ＰＣＩ）ＢＵＳを介して互いに通信すると共に、インタフェース回路とも通信する。
インタフェース回路は、モジュールＢＵＳ及びモジュールＢＵＳと関連する制御信号線と通信するモジュールＢＵＳデータラッチ、グローバルデータマルチプレクサ及びモジュールＢＵＳ状態機械を含む。インタフェース回路は、一連のインタフェースレジスタ、すなわち、ローカルコントロールネットワークプロセッサ（ＬＣＮＰ）制御レジスタと、ペリフェラルインタフェースコントローラ（ＰＩＣ）及びディスプレイジェネレータ（ＤＧ）制御レジスタと、スモールコンピュータシステムインタフェース（ＳＣＳＩ）制御レジスタと、ワークステーションインタフェース（ＷＳＩ）制御レジスタと、ペリフェラルコンピュータインタコネクト（ＰＣＩ）コンフィギュレーションスペースレジスタとをさらに含む。ＰＣＩ  ＢＵＳは、ＰＣＩ  ＢＵＳと、ＰＣＩ状態機械と、ＰＣＩ  ＢＵＳとインタフェースレジスタとの通信を仲介するレジスタデータマルチプレクサとの間に通信経路を形成するＰＣＩインタフェースアドレス・データラッチに接続している。モジュールＢＵＳ状態機械及びＰＣＩ状態機械に接続するアービタ回路は、どちらのＢＵＳがインタフェース回路を介して送信された信号の供給源であるかを判定する。２つのバスからのアドレスはアドレスマルチプレクサに印加され、アドレスマルチプレクサはどのアドレスをどのインタフェース制御レジスタと、ＬＣＮＰ制御レジスタとに印加するかを判定する。なお、アドレスマルチプレクサからのアドレスは一連のインタフェースレジスタのうちＰＣＩコンフィギュレーションスペースレジスタには印加されないことに注意すべきである。
従って、本発明の目的は、カーネルサブモジュールのハードウェア及びソフトウェア又は分散プロセス制御システムのその他のモジュールのうちいずれかのモジュールの変更を必要とせずに、特別に設計された周辺サブモジュール及びその関連ソフトウェアを市販のハードウェア及びソフトウェアと置き換えることが可能であるような分散プロセス制御システムの改良された汎用オペレータステーションモジュールを提供することである。
本発明の利点は、カーネルサブモジュールのハードウェア及びソフトウェア又は分散プロセス制御システムのその他のモジュールのうちいずれかのモジュールの変更を必要とせずに、特別に設計された周辺サブモジュール及びその関連ソフトウェアを市販のハードウェア及びソフトウェアと置き換えることが可能であるような分散プロセス制御システムの改良された汎用オペレータステーションモジュールを提供することである。
本発明の別の利点は、モジュールのカーネルサブモジュールの変更も、分散プロセス制御システムのその他のモジュールの変更も必要とせずに、特別に設計された周辺サブモジュールと置き換えるために、カーネルサブモジュールを市販のハードウェア及びソフトウェアと通信させることができるような分散プロセス制御システムの汎用オペレータステーションの改良されたインタフェース回路を提供することである。
【図面の簡単な説明】
本発明のその他の目的、特徴及び利点は添付の図面と関連させた以下の本発明の好ましい実施形態の説明から容易に明白になるであろうが、開示の新規な概念の趣旨から逸脱せずに変形及び変更を実施できる。図面中、
図１は、従来の技術の汎用オペレータステーションモジュールのブロック線図；
図２は、本発明のインタフェース回路を取り入れた汎用オペレータステーションモジュールのブロック線図；
図３は、インタフェース回路のブロック線図である。
好ましい実施形態の説明
図１は、トークンパッシング分散プラントコントロールネットワークを含む分散プロセス制御システムの従来の技術による汎用オペレータステーション１０のブロック線図である。このネットワークにおいては、様々な能力や機能性を有する複数の物理モジュールが１９８６年８月１９日発行の米国特許第４，６０７，２５６号で説明され且つ特許請求されているようなローカルコントロールネットワーク（ＬＣＮ）ＢＵＳ１２を介して互いに通信する。ＬＣＮ  ＢＵＳ１２は高速、ビットシリアル、二重冗長ＢＵＳであり、このＢＵＳは２本の同軸ケーブルＬＣＮ  Ａ及びＬＣＮ  Ｂから構成されており、マンチェスタ符号化信号はこのＢＵＳを介してビットシリアルに送信される。ネットワークの各々のモジュールは他のモジュールと同等のものであり、各モジュールはカーネルサブモジュール１６のＬＣＮゲートアレイ１４を含む。このＬＣＮゲートアレイ１４の機能は、たとえば、ＬＣＮ  ＢＵＳ１２を介してモジュール１０へ送信されるデータを受信することと、受信したビットシリアルデータを、データ、オペランド及び命令を送信するための３２ビットのデータＢＵＳ１９を含むモジュールＢＵＳ１８に対し要求されるフォーマットに変換することである。モジュールＢＵＳ１８は、アドレスを送信するための２４ビットアドレスＢＵＳ２０をさらに含む。ＬＣＮゲートアレイ１４は、モジュールＢＵＳ１８からデータとアドレスを受信し、トークンパッシングネットワークでトークンをもつことによりモジュール１０が実行の権限を得たときに受信した情報をＬＣＮ  ＢＵＳ１２を介して識別されたモジュールへ送信することができるように情報を変換する機能も有する。
カーネルサブモジュール１６はマイクロプロセッサ２２と、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）２４とをさらに含む。ＬＣＮ  ＢＵＳ１２を介してＬＣＮゲートアレイ１４により受信されたデータとアドレスはメモリ２４に書き込まれる。適切なアプリケーションプログラムに従って動作するマイクロプロセッサ２２は、モジュール１０の周辺サブモジュール２６の機能性又は動作を制御するデータであるデータをインタフェース回路２５の制御レジスタのうちどれに書き込むべきかを判定する。インタフェース回路２５の制御レジスタは、（ＰＩＣ／ＤＧ）レジスタ２７（「ＰＩＣ」は「ペリフェラルインタフェースコントローラ」の頭文字であり、「ＤＧ」は「ディスプレイジェネレータ」の頭文字である）と、スモールコンピュータシステムインタフェース（ＳＣＳＩ）レジスタ２８と、ワークステーションインタフェース（ＷＳＩ）レジスタ３０とを含む。インタフェース回路２５のダイレクトメモリアクセス（ＤＭＡ）回路３２，３４のそれぞれの機能は、カーネルのメモリ２４からメモリ３６へ、また、メモリ２４からワークステーション３８のメモリへデータの大型ブロックを移動することである。ＷＳＩ  ＲＡＭ４０は、大きすぎてＷＳＩレジスタ３０には書き込まれないブロックのデータのメイルボックスを構成する。なお、カーネルサブモジュール１６のコンポーネントはモジュールＢＵＳ１８を介して互いに通信することに注意すべきである。
マイクロプロセッサ２２がいずれか一方の制御レジスタ２７又は２８にデータを書き込むと、マイクロプロセッサ２２は制御信号線（図示せず）を介して割り込みをマイクロプロセッサ４２へ送信する。それに応答して、マイクロプロセッサ４２はレジスタ２７に書き込まれたデータ及びアドレスを読み取る。レジスタ２７のデータがプリンタ４４に英数字文字を印刷させる指令である場合、マイクロコンピュータ４２は必要なデータと指令をＩ／Ｏコントローラ４６を介してプリンタ４４へ送信させる。データがビデオディスプレイジェネレータ４８にＣＲＴ５０にある情報を表示させる指令である場合には、必要なデータがレジスタ２７に書き込まれ、マイクロプロセッサ４２は、そのデータをレジスタ２７から読み取ると、ディスプレイジェネレータ４８にＣＲＴ５０に所望の１つ又は複数の画像を生成するために必要なデータを獲得させる。ＣＲＴ表示を生成するために必要とされるデータの量はＰＩＣ／ＤＧレジスタ２７の中の８つの１６ビットレジスタに書き込むことができるデータの量よりはるかに多いので、必要なデータはマイクロプロセッサ４２の制御の下でＤＭＡ３２を介してメモリ２４からメモリ３６へ移される。ビデオディスプレイジェネレータ４８が表示を生成するように命令を受けると、マイクロプロセッサ４２はＲＡＭ３６からの描画指令を解釈し、ビデオ表示情報をビデオディスプレイジェネレータ４８へ転送する。
ディスク５２へのデータの書き込みに関しては、必要な命令がＳＣＳＩレジスタ２８に書き込まれ、書き込むべきデータはＤＭＡ回路３２によりメモリ２４からメモリ３６へ移され、マイクロプロセッサ４２はＳＣＳＩ論理回路５４にデータをディスク５２に書き込ませる。
カーネル１６がデータ、オペランド及び命令をワークステーション３８へ送信すべき場合、必要な命令とアドレスはＷＳＩレジスタ３０と、おそらくはＷＳＩ  ＲＡＭ４０とに書き込まれる。ＷＳＩ  ＲＡＭ４０を介してワークステーション３８に印加される同期信号は、ワークステーション３８にレジスタ３０と、おそらくはＷＳＩ  ＲＡＭ４０とにあるデータを取り出させる。ワークステーション３８へ大型ブロックデータを送信すべき場合には、ＤＭＡ回路３４はメモリ２４からワークステーション３８のメモリヘデータを移動させる。
たとえば、ディスク５２からデータのブロックをシステムの別のモジュールへ送信すべき場合には、マイクロプロセッサ２２は必要な命令によって、レジスタ２８に書き込まれるべきマイクロプロセッサ４２の動作を制御する。そのデータのブロックはディスク５２からメモリ３６へ転送される。そこで、ＤＭＡ３２はデータをメモリ３６から読み取らせて、メモリ２４に書き込ませる。割り込み信号は、転送が完了した時点をマイクロプロセッサ２２に通知する。次に、マイクロプロセッサ２２は、モジュール１０がトークンを有するときにＬＣＮゲートアレイ１４がデータをＬＣＮ  ＢＵＳ１２を介してアドレス指定されたモジュールへ送信できるように、命令を含む必要なデータをＬＣＮゲートアレイ１４に提供し、そこで、所望のデータを含むメッセージをアドレス指定されたモジュールヘ送信する権限を得る。
キーボードデータは、一度に英数字文字１つずつ送信される。オペレータがキーを打つと、そのキーに対応する英数字文字を表わす１６ビットの２進データがマイクロプロセッサ４２の制御の下にレジスタ２７に書き込まれる。マイクロプロセッサ４２により必要なデータがレジスタ２７に書き込まれた後、カーネルサブモジュール１６のデータが制御レジスタ２７に存在していることをマイクロプロセッサ２２に通知するために、マイクロプロセッサ４２はマイクロプロセッサ２２へ割り込みを送信する。
図２を参照すると、モジュール５６のカーネルサブモジュール１６′は従来のモジュール１０のカーネルサブモジュール１６とほぼ同一であり、カーネルサブモジュール１６と同じ機能を有する。モジュール５６は、カーネルサブモジュール１６′をモジュール５６の周辺サブモジュール５９のコンポーネントと通信させるインタフェース回路５８を含む。インタフェース回路５８とカーネルサブモジュール１６′との接続はモジュールＢＵＳ１８′によって行われ、インタフェース回路５８と周辺サブモジュール５９のコンポーネントとの接続はペリフェラルコンポーネントインタコネクト（ＰＣＩ）ローカルＢＵＳ６０を介して行われる。なお、ＰＣＩバスは多くの市販製品で使用されていることに注意すべきである。ＰＣＩ  ＢＵＳ６０は、アドレス及びデータと、指令と、バイトレーンコントロールとが多重化される３２ビットＢＵＳである。
ディスク６２はＳＣＳＩコントローラ６４を介してＰＣＩ  ＢＵＳ６０に接続する。メモリ６８と、マイクロプロセッサ７０とを含むパーソナルコンピュータ（ＰＣ）６６は、ＰＣＩインタフェース回路７２を介してＢＵＳ６０に接続する。ＰＣＩ／ＩＳＡブリッジ回路７４は従来通りの又は一般的なＩ／Ｏコントローラ７６及びその関連周辺装置をＰＣＩ  ＢＵＳ６０に接続し、また、回路７４は音声Ｉ／Ｏコントローラ７８及びその関連周辺装置もＢＵＳ６０に接続する。同様に、図形コントローラ８０はＣＲＴ８２をＰＣＩ  ＢＵＳ６０に接続する。汎用オペレータステーションモジュール５６の周辺サブモジュール５９の全てのコンポーネントは、適切な工業規格に適合する市販のハードウェアコンポーネント及びソフトウェアコンポーネントである。周辺サブモジュール５９は基本的にはモジュール１０の周辺サブモジュール２６と同じ機能を実行する。しかし、たとえば、マイクロプロセッサ４２の能力と比較してＰＣ６６の能力が高いため、周辺サブモジュール５９は付加的な機能を与えることができる。その結果、ＰＣ６６は図１に示す従来の周辺サブモジュール２６のワークステーション３８の機能と、図１のモジュール１０のマイクロプロセッサ４２の機能とを実行することができ、また、実行する。
図３は、図２に示すモジュール５６のインタフェース回路５８のブロック線図である。カーネルサブモジュール１６′とインタフェース回路５８との接続は、３２ビットデータＢＵＳ１９′と、２４ビットアドレスＢＵＳ２０′と、割込み及び制御信号線とを含むモジュールＢＵＳ１８′によって行われる。カーネルサブモジュール１６′のモジュールＢＵＳ１８′とそのＢＵＳプロトコルは、従来のモジュール１０のモジュールＢＵＳ１８及びそのＢＵＳプロトコルとほぼ同一である。インタフェース回路５８と、モジュール５６の周辺サブモジュール５９のコンポーネントとの通信は、ＰＣＩ  ＢＵＳ６０と、適切な割り込み及び制御信号線とを介して行われる。
インタフェース回路５８の機能は、独自のシグナリングプロトコルを有するＰＣＩ  ＢＵＳ６０からの信号をモジュールＢＵＳ１８′の信号プロトコルに適合する信号に変換すると共に、モジュールＢＵＳ１８′からの信号をＰＣＩ  ＢＵＳ６０の信号プロトコルに適合する信号に変換することである。モジュールアドレスＢＵＳ２０′のアドレスはデータのアドレスの範囲、すなわち、オペランド、命令又は指令を規定する。それらの範囲の１つは、インタフェース回路２５の制御レジスタ２７，２８又は３０と同じ機能を有する制御レジスタ２７′，２８′又は３０′のような制御レジスタを選択するアドレスを含む。制御レジスタ２７′，２８′及び３０′は制御レジスタブロック８３に含まれている。各々の制御レジスタ２７′，２８′，３０′は、従来のモジュール１０の周辺サブモジュール２６のプリンタ４４、ディスク５２又はＣＲＴ５０などのコンポーネントをサブモジュール１６が制御するのと同様に、プリンタ８４、ディスク６２、ＣＲＴ８２などの周辺サブモジュール５９のコンポーネントの動作を制御するために、カーネルサブモジュール１６′により使用される。周辺サブモジュール５９により制御レジスタ２７′，２８′及び３０′に書き込まれたデータは、カーネルサブモジュール１６′により、モジュール１０のインタフェース回路２５の制御レジスタ２７，２８及び３０に書き込まれたデータと全く同じように処理される。
ＰＣＩプロトコル、より正確にはＰＣＩ  ＢＵＳ６０の信号はＰＣＩ状態機械８５により解釈され、モジュールＢＵＳプロトコル、より正確には、カーネルサブモジュール１６′からの制御信号はモジュールＢＵＳ状態機械（ＭＢＳＭ）８６により解釈される。ＦＲＡＭＥ＃、ＩＲＤＹ＃、Ｃ／ＢＥ〔３．．．０〕＃などの信号は、信号がアドレス指定されているＳＣＳＩコントローラ６４などのターゲットに、いつ、どの型のデータがＢＵＳ６０を介して送信されているかを通知する。ＰＣＩ状態機械８５の機能は、そのような信号を検出して、何の制御信号をレジスタブロック８３のどの制御レジスタ２７′，２８′又は３０′へ送信しなければならないかを判定すると共に、ＰＣＩ  ＢＵＳプロトコルにより要求されるＰＣＩ制御信号を発生することである。ＰＣＩ状態機械８５はそれに印加されるＰＣＩクロック信号と同期して、様々に異なる状態へ進む。ＰＣＩ状態機械８５は、ＰＣＩ  ＢＵＳ信号又はモジュールＢＵＳ状態機械８６からの制御信号を待ちつつ、ある状態にとどまっていても良い。
アービタ回路９０は、ＰＣＩ  ＢＵＳ６０又はモジュールＢＵＳ１８′のうちどちらのＢＵＳがインタフェースレジスタ８８の１つへのアクセスを有するかを判定する。レジスタ８８はローカルコントロールネットワークプロセッサ（ＬＣＮＰ）及びデバッグポート（ＤＰ）レジスタ９２と、レジスタブロック８３の制御レジスタ２７′，２８′及び３０′とを含む。さらに、アービタ９０はアドレスＢＵＳ９６及びデータＢＵＳ９８に対するＰＣＩアクセスを判定する。なお、モジュールＢＵＳ２０′はレジスタ９４と、ＰＣＩ  ＢＵＳ６０をいずれもアクセスしないことに注意すべきである。ＰＣＩ  ＢＵＳ６０によるレジスタ９４へのアクセスもアービタ９０により制御される。
モジュールＢＵＳ状態機械（ＭＢＳＭ）８６は、カーネルサブモジュール１６′にレジスタ９２の中の１つのレジスタ又はレジスタブロック８３の中の１つのレジスタに対して読み取り又は書き込みを実行させるモジュールＢＵＳ制御信号発生する。ＭＢＳＭ８６は、カーネルサブモジュール１６′のＤＲＡＭ２４′に対してダイレクトメモリアクセス動作を実行させるモジュールＢＵＳ制御信号を発生する。ＭＢＳＭ８６は、カーネルサブモジュール１６′によるインタフェースレジスタ８８のうちのいずれか１つのレジスタに対する全てのアクセスのタイミングを制御する。また、モジュールＢＵＳ状態機械８６は、モジュールＢＵＳ２０′を介するＤＲＡＭ２４′へのＤＭＡサイクルアクセスのタイミングも制御する。その結果、インタフェース回路５８では、従来のモジュール１０のインタフェース回路２５に含まれていた別個のＤＭＡ回路は不要になる。ＭＢＳＭ８６はそれに印加されるＰＣＩクロック信号と同期して様々に異なる状態へ進み、モジュールＢＵＳ１６′、ＰＣＩ状態機械８５及びアービタ９０からの制御信号に従って次の状態に変化するか又は所定の状態にとどまる。ＭＢＳＭ機械８６はＰＣＩ割り込みの生成をも制御する。アービタ状態機械９０、ＰＣＩターゲット状態機械８５、モジュールＢＵＳ状態機械８６及びアドレス復号論理回路の機能の詳細については、参考として本明細書に取入れられている前述の参照特許出願を参照のこと。
インタフェース回路５８の全ての内部ＢＵＳ機能はマルチプレクサにより処理される。総括してインタフェースレジスタ８８と呼ばれるレジスタ９２，８３及び９４の全てのデータ出力と、ＰＣＩ  ＢＵＳデータ及びモジュールＢＵＳデータとはグローバルデータマルチプレクサ１０２により選択され、グローバルデータマルチプレクサ１０２の出力はグローバルデータＢＵＳ１０３に印加される。グローバルデータＢＵＳ１０３はＰＣＩ  ＢＵＳ６０の出力側とモジュールデータＢＵＳ１９′の出力側に供給する。アービタ回路９０は、グローバルデータマルチプレクサに対する可能な４つの入力のうちどれがグローバルデータＢＵＳ１０３に印加されるグローバルデータマルチプレクサ１０２の出力になるかを選択する。
レジスタデータマルチプレクサ１００は、ＰＣＩ  ＢＵＳ６０から又はモジュールＢＵＳ１８′からレジスタ９２，２７′，２８′，３０′及び９４へのデータの流れを制御する。レジスタデータマルチプレクサ１００への２つの入力のどちらがデータＢＵＳ９８に印加されるかは、アービタ９０からの制御信号により判定される。
ＰＣＩ  ＢＵＳ６０は、アドレスとデータの双方が送信される多重化ＢＵＳである。ＰＣＩインタフェースアドレス／データラッチ１０４は２段階ラッチであり、第１の段階はアドレスとデータの双方により共有される。ＰＣＩ  ＢＵＳ６０は多重化バスであるので、アドレス段階の間にセットアップ及び保持時間の仕様に適合させ、続いて、次のクロック信号で第２の段階でアドレスを捕捉するために２段階アドレスラッチが要求される。アクセスがＰＣＩ書き込みであれば、サイクルの終了時を経るアドレス段階に続いて、データはクロックの立ち上がり端ごとに第１の段階により継続的にラッチされる。アクセスがＰＣＩ読み取りである場合には、アドレス段階の後、アドレス／データラッチの第１の段階は利用されない。
インタフェースレジスタ８８のアドレスの供給源としては２つ考えられる。その１つはＰＣＩ  ＢＵＳ６０であり、他方はモジュールアドレスＢＵＳ２０′である。アービタ回路９０は、どちらが供給源であるかを決定し、そのために、アドレスマルチプレクサ１１０へ信号を送信する。アドレスマルチプレクサは２４段の２対１マルチプレクサである。アービタ９０からの制御信号はＰＣＩアドレスの３２ビットのうち下位の２４ビット、あるいはモジュールアドレスＢＵＳ２０′からの２４ビットアドレスを選択する。
ＰＣＩによるＤＲＡＭ２４′からの読み取りの間、モジュールデータＢＵＳ１９′からのデータは、データ確認信号（ＤＴＡＣＫ信号）が受信されるまで有効であるにすぎない。ＤＴＡＣＫ信号が受信された時点でモジュールデータＢＵＳ１９′を解放するために、モジュールＢＵＳデータラッチ１１２はモジュールデータＢＵＳ１９′から受信した有効データを捕捉し、ＰＣＩ  ＢＵＳデータフェーズが終了するまで、そのデータを保持する。
ＰＣＩ  ＢＵＳ６０は、始動時に構成を規定しなければならないフレキシブルなＢＵＳである。これは、周辺サブモジュール５９のコンポーネントのＰＣＩコンフィギュレーションスペースレジスタ９４のレジスタに対する書き込み及び読み取りによって実現される。これらのレジスタの定義及び用途、並びにレジスタをプログラミングするために必要な信号の発生は、ＰＣＩ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ，Ｒｅｖｉｓｉｏｎ．２．０の中に記載されている。
ＬＣＮＰ制御レジスタ９２により実行される機能はいくつかある。その１つは、カーネルサブモジュール１６′のマイクロプロセッサ２２′をリセットする機能である。これは、ＰＣＩ  ＢＵＳ６０からＬＣＮＰ制御レジスタ９２の中の特定の１つのレジスタへの書き込みにより実行される。ＬＣＮＰ制御レジスタ９２はデバッグポートも構成する。デバッグポートに対し読み取り及び書き込みを実行するためのレジスタは、レジスタ９２の中に含まれている。ＬＣＮＰ制御レジスタ９２のもう１つの機能は、割り込みベクトルレジスタを構成することである。このレジスタのデータは、インタフェースレジスタ８８のうちどのレジスタがカーネルサブモジュール１６′のマイクロプロセッサ２２′によるデータの書き込みを受けたかに関する情報と、カーネルサブモジュール１６′のリセットを指示する情報とを含む。
ダイナミックＲＡＭ２４′に対する読み取り又は書き込み、インタフェースレジスタ２６′，２８′，３０′，９２及び９４の１つに対する読み取り又は書き込みのいずれかのために、ＰＣＩアドレスはＰＣＩインタフェースアドレス／データラッチ１０４と、ＰＣＩアドレスＢＵＳ１０６とにより送信される。アドレス復号論理回路１０８は、アドレスマルチプレクサ１１０により回路に印加されたＰＣＩアドレスを復号して、ＰＣＩ  ＢＵＳ６０がレジスタ２６′，２８′，３０′，９２をアクセスしているか又はＤＲＡＭ２４′をアクセスしているかを判定する。同様に、アドレス復号論理回路１０８はアドレスマルチプレクサ１１０によりその回路に印加されたモジュールＢＵＳアドレスを復号して、モジュールＢＵＳ１８′がレジスタ９２，２７′，２８′，３０′のどれをアクセスしているかを判定する。ＰＣＩコンフィギュレーションスペースレジスタ９４は、ＰＣＩラッチ１０４からＰＣＩアドレスＢＵＳ１０６を介してレジスタ９４に印加されるＰＣＩアドレスを内部復号するアドレス復号回路を含む。
モジュールＢＵＳ１８′は２４ビットアドレスＢＵＳ２０′を含み、ＰＣＩ  ＢＵＳ６０は３２ビットＢＵＳであって、アドレスとデータは同じＢＵＳで多重化される。ＰＣＩ  ＢＵＳ６０と、インタフェース回路５８のコンポーネントと、ＤＲＡＭ２４′との間のアドレス変換は、アドレスの下位２４ビットに関しては直接である。ＰＣＩ  ＢＵＳ６０のアドレスの上位８ビットは、インタフェース回路５８のインタフェースレジスタ８８のレジスタ、ＤＲＡＭ２４′及びカーネルモジュール１６′の状態及び制御レジスタのベースアドレスであるベースアドレスを含む。このアドレスは、構成規定の時点で、ベースアドレスを設定するためにＰＣＩ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ，Ｒｅｖｉｓｉｏｎ  ２．０に従ってＰＣ６６により選択され、その後、インタフェース回路５８へ通信される。ＢＵＳ１０６を介して送信されるＰＣＩアドレスの上位８ビットを構成規定されたベースアドレスと比較して、インタフェース回路５８は適切に応答する。
可能な１６００万個を越えるアドレスの中で、アドレスが４つの範囲の中に入れば、インタフェース回路５８はインタフェースレジスタ８８に対するアクセスを許される。ＬＤＣＮＰレジスタ９２のデバッグポートレジスタに関しては、アドレスの第１の範囲は＄Ｅ０００〜＄ＥＦＦ（１６進数）の範囲にある。制御レジスタ２７′，２８′及び３０′に関しては、アドレスは＄４３０００〜＄４５ＦＦＦ（１６進数）の範囲にある。ＬＣＮＰレジスタ９２の割り込みベクトルレジスタに関しては、第３のアドレスの範囲は＄５００００〜＄５０００３（１６進数）である。第４の範囲は＄８００００〜＄５０００３（１６進数）である。第４の範囲は＄８００００〜＄ＦＦＦＦＦＦ（１６進数）であり、カーネルサブモジュール１６′のＤＲＡＭ２４′のアドレスである。
ＰＣＩ状態機械８５は、印加されるＰＣＩアドレスを検査するための回路を含む。アドレスがＰＣＩコンフィギュレーションスペースレジスタ９４の上記の４つの範囲の１つにあれば、モジュールＢＵＳ２０′へのアクセスの要求がアービタ９０に通知される。ＰＣＩ  ＢＵＳ６０が制御レジスタ８８、ＤＲＡＭ２４′又はカーネルサブモジュール１６′をアクセスするときに、レジスタ８８に対するデータの読み取り又は書き込みを実行するために、カーネルサブモジュール１６′がインタフェース回路５８のインタフェースレジスタ８８をアクセスするのを阻止するように、モジュールＢＵＳ２０′はアービタ９０により制御される。モジュールＢＵＳ状態機械８６はカーネルサブモジュール１６′によるインタフェースレジスタ８８へのアクセスのタイミングを制御し、読み取り又は書き込みのサイクルが完了すると、ＭＢＳＭ８６はモジュールＢＵＳ２０′の制御をカーネルサブモジュール１６′のプロセッサ２２′に戻す。そのようなサイクルが完了したとき、ＭＢＳＭ８６は、サイクルが終了したことをＰＣＩ状態機械８５に通知し、そこで、ＰＣＩ状態機械８５はサイクル完了信号をＰＣＩ  ＢＵＳ６０を介してモジュール５６のパーソナリティサブモジュール５９のコンポーネントへ送信する。
カーネルサブモジュール１６′により開始されて、ディスク６２からデータを読み取るべき場合、マイクロプロセッサ２２′は、コントローラ６４のＳＣＳＩ指令、宛先バッファ、ディスク６２から読み取られるデータに対するＤＲＡＭ２４′の記憶場所；ターゲットとなるディスク、この場合にはディスク６２；並びにトランザクション状態及びチェックサムを含むデータ構造をＤＲＡＭ２４′に生成する。モジュールＢＵＳ状態機械８６は、ＳＣＳＩレジスタ２８′に対するアクセスを要求するアービタ９０に印加される適切な制御信号を発生する。アービタ回路９０がモジュールＢＵＳ１８′にそのようなアクセスを許可すると、マイクロプロセッサ２２′はＳＴＡＲＴ指令をＳＣＳＩレジスタ２８′の指令レジスタに書き込む。ＳＴＡＲＴ指令がレジスタ２８′に書き込まれると、ＬＣＮＰレジスタ９２の割り込みベクトルレジスタで１ビットがセットされ、ＰＣＩ割り込みが発行される。割り込みベクトルレジスタでセットされたビットは、割り込みの原因がカーネルサブモジュール１６′からＳＣＳＩレジスタへの指令の書き込みであったことを指示する。マイクロプロセッサ７０は、レジスタ９２の割り込みベクトルレジスタを読み取ることにより割り込みに応答し、その結果、マイクロプロセッサ７０はレジスタ２８′の中の指令レジスタを読み取る。始動指令によって、マイクロプロセッサ７０はＤＲＡＭ２４′からデータ構造を読み取る。マイクロプロセッサ７０はデータ構造中のデータを使用して、ディスク６２への読み取りアクセスを開始する。ディスク６２から読み取られたデータはＰＣＩインタフェースアドレス／ラッチ１０４と、レジスタデータマルチプレクサ１００と、データＢＵＳ９８と、ＤＭＡデータＢＵＳ１１４とを介してグローバルデータマルチプレクサ１０２へ送信されると共に、マルチプレクサ１０２を介してモジュールＢＵＳ１８′のデータＢＵＳ１９′へ送信されて、ＤＲＡＭ２４′の指定バッファエリアに格納される。データの転送が完了すると、マイクロプロセッサ７０はディスク読み取りトランザクションに関する状態情報を追加して、ＤＲＡＭ２４′のデータ構造を再構築する。次に、マイクロプロセッサ７０はレジスタ２８′の割り込みベクトルレジスタに書き込み、その結果、マイクロプロセッサ２２′に対する割り込みが発行される。マイクロプロセッサ２２′は、レジスタ２８′の割り込みレジスタを読み取った後、割り込み確認サイクルによって応答する。データ構造中のデータは、トランザクションがエラーを伴って完了したか又はエラーなく完了したかを指示する。
周辺サブモジュール５９により開始されるトランザクションの１例として、たとえば、マイクロプロセッサで実行中のアプリケーションプログラムはキーボード１１６のキーが打たれたことを検出する。適切なデータとアドレスが生成され、ＢＵＳ６０を介してＰＣＩインタフェース／アドレスデータラッチ１０４及びＰＣＩ状態機械８５へ送信され、ＰＣＩ状態機械８５はデータ及びアドレス信号をキー入力データをＰＩＣ／ＤＧレジスタ２７′のキーボード入力レジスタに書き込む要求として解釈する。ＰＣＩ状態機械８５はレジスタ２７′へのアクセスの要求を生成し、この要求はアービタ９０へ送信される。アービタ９０がＰＣＩ  ＢＵＳ６０にアクセスを許可すると、ＰＣＩアドレスはアドレスマルチプレクサ１１０を介してアドレス復号論理１０８へ送信され、アドレス復号論理１０８はアドレスをレジスタ２７′のキーボード入力レジスタに向かうべきものとして復号し、レジスタデータマルチプレクサ１００を介して送信されたデータをデータＢＵＳ９８に印加させると共に、レジスタ２７′のキーボード入力レジスタに書き込ませることができる。マイクロプロセッサ７０は、同様に、マイクロプロセッサ２２′に対する割り込みを生成するのに先立って、レジスタ２７′の動作状態レジスタに状態情報を書き込む。そこで、マイクロプロセッサ７０はレジスタ２７′の割り込みベクトルレジスタに割り込みを書き込み、その結果、割り込みはマイクロプロセッサ２２′へ送信される。レジスタ２７′の割り込みベクトルレジスタのデータは、割り込みの原因、すなわち、キー入力を表わす情報をマイクロプロセッサ２２′に提供する。そこで、マイクロプロセッサ２２′は割り込み確認サイクルを生成し、その結果、ＰＩＣ／ＤＧレジスタ２７′の割り込みベクトルレジスタが読み取られ、次に、レジスタ２７′のキーボード入力レジスタを読み取って、所望のキー入力データを得る。その後、マイクロプロセッサ２２′はレジスタ２７′の動作状態レジスタを読み取って、付加的な情報を得る。そのようにすることは、現在割り込みをクリアし且つマイクロプロセッサ７０に必要に応じてレジスタ２７′へ別の割り込みを送信させることができるという効果を有する。
好ましい実施形態では、ＰＣ６６はＭｏｔｏｒａｌａ  Ｐｏｗｅｒ  ＰＣ−ＮＴワークステーションであり、そのオペレーティングシステムはＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  ＮＴである。周辺サブモジュール５９の様々な周辺装置は市販されており、Ｍｏｔｏｒｏｌａ  Ｐｏｗｅｒ  ＰＣ−ＮＴパーソナルコンピュータと共に使用するのに適している。本発明は分散プロセス制御システムの汎用オペレータステーションモジュールを指向するものとして説明したが、そのようなシステムの他の種類のモジュールにも適用できる。
以上の説明から、本発明の趣旨から逸脱せずに説明した実施形態に対し様々な変形を実施できることは明白なはずである。
【図１】
0003859173.tif 000002
【図２】
0003859173.tif 000003
【図３Ａ】
0003859173.tif 000004
【図３Ｂ】
0003859173.tif 000005