JP4045434B2 - モジュール型計算機システム及びi/oモジュール - Google Patents
モジュール型計算機システム及びi/oモジュール Download PDFInfo
- Publication number
- JP4045434B2 JP4045434B2 JP2003118714A JP2003118714A JP4045434B2 JP 4045434 B2 JP4045434 B2 JP 4045434B2 JP 2003118714 A JP2003118714 A JP 2003118714A JP 2003118714 A JP2003118714 A JP 2003118714A JP 4045434 B2 JP4045434 B2 JP 4045434B2
- Authority
- JP
- Japan
- Prior art keywords
- module
- signal
- identification information
- unit
- connector
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/409—Mechanical coupling
- G06F13/4095—Mechanical coupling in incremental bus architectures, e.g. bus stacks
Description
【発明の属する技術分野】
本発明は、複数の機能モジュールを組み合わせて構築するモジュール型計算機システムに係り、より詳細には、産業用機器やロボット等に組み込まれるコントローラに好適なモジュール型計算機システムに関する。
【0002】
【従来の技術】
複数の機能モジュールを組み合わせて計算機システムを構築する方式が種々提案されている(例えば、非特許文献1)。この文献1によれば、例えば、プロセッサを搭載した演算処理モジュールと、この演算処理モジュールと周辺機器とのインターフェースデバイスを搭載したI/Oモジュールの基板を、バスを形成するコネクタを介して積層して構成している。このようなモジュール方式の計算機システムにおいて、演算処理モジュールに搭載されたプロセッサは、I/Oモジュール等のシステムデバイスを管理するため、例えばI/Oモジュールに搭載されたI/Oデバイスの種類を識別し、オペレーティングシステム(OS)がI/Oデバイスを駆動するために利用するデバイスドライバを特定する必要がある。つまり、オペレーティングシステム(OS)は、I/Oデバイスの識別コードに対応させてデバイスドライが設定されたテーブルを検索し、識別されたI/Oドライバのデバイスドライバを特定してメモリ上に展開することにより、I/Oデバイスを初期化したり、要求に応じてI/Oデバイスにアクセス処理をする。
【0003】
上記文献1においては、プロセッサが接続されたI/Oデバイスを識別するため、IDSEL信号を用いてI/Oモジュールを選択するとともに、I/Oモジュールに含まれるPCIデバイスに設けられたコンフィギュレーションレジスタの値を読み取ってPCIデバイスを認識するようにしている。この場合、プロセッサ側のPICデバイスとI/O側のPICデバイスとをPICバスにより接続し、IDSEL信号により対象のPICデバイスを物理的に指定するため、PCIバス仕様に準拠するコネクタをモジュール基板上に配置し、プロセッサ側のPICデバイスとI/O側のPICデバイスとの間で、IDSEL信号を個別に配線することになる。このようなPCI方式のモジュールは、I/Oデバイスを適切に初期化する機能であるプラグアンドプレイ機能を有し、かつ高機能であり、しかも柔軟な設定ができる利点がある。このようなモジュール構成でプラグアンドプレイ機能を有する従来の方式として、ISAバス方式のデバイス認識手法等が知られている。
【0004】
【非特許文献1】
PC/104-plus Specification Version1.2:PC/104 Embedded Consortium制定(2001年8月)
【発明が解決しようとする課題】
ところが、文献1に記載される従来のモジュール化手法は、産業用機器やロボット等に組み込まれるコントローラ(以下、組込みコントローラという。)に用いる計算機システムのように、任意のI/Oモジュールが組み込まれることについては配慮されていない。すなわち、従来のモジュール化技術は、具体的な用途を特定した専用計算機システムのように、組み込まれるI/Oデバイス等が特定されている場合は、設計時間や手間などはあまり問題とならないが、任意のI/Oモジュールが組み込まれる場合は、設計に時間がかかったり、製造等に手間がかかるという問題がある。
【0005】
すなわち、産業用機器やロボット等に組み込まれる組込みコントローラに用いる計算機システムの場合は、量産時のコストを最小とするために、一般に、必要最小限の部品のみで構成する要請が強い。しかも、コントローラが組み込まれる産業用機器の小型化の要請から、実装容積を極力小さくなければならないため、組み込むモジュールを可能な限り小型化できることが望まれる。これらのことから、組込みコントローラに用いる場合は、各モジュールをできるだけ単機能とし、必要に応じて種々の機能を有する複数のI/Oモジュール等を組み合わせて、所望の機能を備えた計算機システムを構築するのが望ましい。
【0006】
しかしながら、従来のPCI方式の場合は、PCIバスの信号線数に応じてコネクタのピンが多くなり、かつ各I/OモジュールにPCIバス制御を行うインテリジェント素子を設けなければならないから、基板の実装面積が増大して、小型化が制限されるという問題がある。また、各モジュールを接続するバスは、PCIバス等の特定された単一のバス方式を前提とするため、バス方式が違う複数のデバイスを同一バス上で利用すると、デバイスを認識してプラグアンドプレイ機能を実現することができない。
【0007】
したがって、組込みコントローラのように任意のI/Oモジュール等が組み込まれることを想定し、かつプラグアンドプレイ機能を持たせるには、特定のバス方式に限定されずに組み込まれたI/Oモジュールのデバイスを識別する手法が望まれる。
【0008】
また、従来のモジュール化手法によれば、プロセッサ側のPICデバイスとI/O側のPICデバイスとの間で、IDSEL信号を個別に配線する必要があるため、バス上に複数のIDSEL信号線を設け、モジュールに接続するIDSEL信号線をモジュール毎に個別に設定することになる。この設定は、一般に、手作業によりモジュール毎に行わなければならないため、作業工数や検査工数が増える。また、スイッチによる実装面積や価格が増大する問題があり、かつ誤設定を完全になくすことは困難である。
【0009】
そこで、本発明は、特定のバス方式に限定されることなく、計算機システムに組み込まれたI/Oモジュールのデバイスを識別することを課題とする。
【0010】
【課題を解決するための手段】
本発明は、上記課題を解決するため、演算処理モジュールにコネクタを介して層状に接続される各I/Oモジュールにモジュール排他選択部を設け、このモジュール排他選択部により演算処理モジュール側コネクタの同一位置の端子から入力されるモジュール選択信号のみを有効と判別するようにしたことを特徴とする。そして、演算処理モジュールから順次出力されるモジュール選択信号を、I/Oモジュールの接続順に応じて演算処理モジュール側コネクタの同一位置の端子に入力することにより、特定のバス方式に制約されることなく、簡単なモジュール選択信号及び簡単な接続構成ないし回路構成によって唯一の各I/Oモジュールを選択できる。また、モジュール排他選択部によって有効と判別された場合に出力されるモジュール選択有効信号に基づいて、自己のI/Oモジュールの識別情報をコネクタの所定端子に出力する識別情報出力部を設けることにより、演算処理モジュールは特定のバス方式に制約されることなく、前記コネクタの所定端子に対応する端子に接続された識別情報入力部によりI/Oモジュールの識別情報を獲得できる。例えば、接続順に従って出力するモジュール選択信号に対応したI/Oモジュールの識別情報を獲得できる。
【0011】
これにより、演算処理モジュールは、獲得したI/Oモジュールと識別情報の対応関係に従って、予め設定されたバス制御パラメータとI/Oモジュールのデバイスドライバとをメモリから読み出してI/Oモジュールにアクセスすることができる。また、本発明によれば、各I/Oモジュールの識別に係るモジュール排他選択部を同一の構成にできるから、モジュール毎に手作業による設定が不要で、同一回路のモジュールを組み合わせた場合でもデバイスを識別することができる。
【0012】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて説明する。
(第1実施の形態)
図1に、本発明のモジュール型計算機システムの第1実施形態の全体構成を示す。本実施形態の計算機システムは、演算処理モジュール1と、複数のI/Oモジュール2(図では、n個のI/Oモジュール2−1〜2−n)を有して構成される。演算処理モジュール1は、計算機システムの構成を管理するものであり、モジュール選択信号出力部10と、モジュールID入力部20と、設定パラメータテーブル50と、設定処理部60と、通信制御部70とを有して構成されている。
【0013】
モジュール選択信号出力部10は、I/Oモジュール2−1〜2−nのうち任意の1つを選択するためにモジュール選択信号30をコネクタの信号線110に出力する。モジュールID入力部20は、I/Oモジュール2からモジュールIDバス400に出力されるモジュールID信号40を取り込む。なお、モジュール選択信号出力部10は、モジュール選択信号30を駆動するための複数の出力バッファを有する。また、モジュールID入力部20は、モジュールID信号40の状態を取り込むために複数の入力バッファを有する。これらモジュール選択信号出力部10とモジュールID入力部20とは、具体的にはプロセッサとメモリ、複数のI/O接点入出力ピンにより構成される。モジュール選択信号出力部10とモジュールID入力部20とは、それぞれ個別、あるいは同一のプロセッサとメモリで制御される。プロセッサは、メモリに格納される命令列に従い複数のI/O接点入出力ピンを駆動し、あるいは読み取る。
【0014】
I/Oモジュール2は、一般に、演算処理モジュール1から入出力要求を受け付けて、演算・保持・計算機外部への入出力を実行する。I/Oモジュール2は、モジュール排他選択部100と、出力活性部200及びID生成部300とからなるID情報出力部と、I/Oデバイスである回路装置50とを有して構成されている。
【0015】
モジュール排他選択部100は、隣接する他のモジュールからモジュール選択信号30を入力し、そのモジュール選択信号30が自己のモジュールに対する選択信号か否かを判別し、その結果をモジュール選択有効信号130に反映する。例えば、自己のI/Oモジュールが選択された場合、モジュール排他選択部100は、モジュール選択有効信号130の電位を有効状態を表す高電位(Highレベル)にする。本明細書では、信号線の電位を有効状態に駆動することを「アサート」と称し、無効状態に駆動することを「ネゲート」と称する。I/Oモジュール2−1のモジュール排他選択部100は、他方に隣接するI/Oモジュール2−2にモジュール選択信号線の信号線120を介してモジュール選択信号30を出力する。本発明は、一のI/Oモジュールの信号線110に入力されるモジュール選択信号30と、一のI/Oモジュールの信号線120を介して他のI/Oモジュールに入力されるモジュール選択信号30とを異なる状態の信号とすることに特徴がある。この点については、後述する。
【0016】
ID生成部300は、I/Oモジュール2を特定するための識別コードであるIDを生成して、IDデータ信号140を出力する。出力活性部200は、モジュール選択有効信号130を受けて、その信号が有効状態の場合はIDデータ信号140をモジュールIDバス400に出力する。一方、モジュール選択有効信号130が無効状態での場合はモジュールIDバス400にIDデータ信号140を出力しない。これにより、モジュールIDバス400上には唯一選択されたI/Oモジュール2のIDデータ信号140のみが出力される。
【0017】
このように構成されることから、演算処理モジュール1は、I/Oモジュール2−1〜2−nのうち、任意のI/Oモジュールを選択するモジュール選択信号30を出力し、この信号により選択されたI/OモジュールからIDデータ信号140をモジュールIDバス400に出力させることにより、計算機システムに属する全てのI/Oモジュール2のID情報を対応付けて獲得することが可能となる。また、I/Oモジュール2は、モジュール選択信号30が入力される信号線110と、モジュール選択信号30を出力する信号線120と、モジュールIDバス400を、コネクタを介して隣接するI/Oモジュール2と接続しあうことにより、信号線の増大を抑えることができる。
【0018】
ここで、図1のモジュール排他選択部100の具体的な一実施例を図2を用いて説明する。本発明は、モジュール排他選択部100を同一回路で構成することを特徴とする。つまり、モジュール排他選択部100は、演算処理モジュール側コネクタの同一位置の端子に接続された信号線110からモジュール選択信号30が入力されるように構成されている。また、I/Oモジュール2が互いにコネクタを介して層状に連結されていても、演算処理モジュール1より任意の位置に接続されたI/Oモジュール2を選択ができることが、モジュール排他選択部100の特徴である。
【0019】
図2の実施例は、モジュール排他選択部100を配線方法によって実現している。演算モジュール側に隣接するI/Oモジュール2から信号線110を介してモジュール選択信号30が入力される。そのうちの信号線110−1をモジュール選択有効信号130とする。残りの信号線110−x(ただしx=2〜n)は、1本づつ信号線をずらして反演算モジュール側に隣接するI/Oモジュール2の信号線120−{x−1}に接続する。信号線120−nは、開放しても、信号線110−1と接続してもよい。すなわち、各I/Oモジュール2のモジュール排他選択部100は、演算処理モジュール側コネクタの同一位置の端子(信号線110−1)からモジュール選択信号30が入力されたときにモジュール選択有効信号130を有効状態にするように構成されている。したがって、本実施例のモジュール排他選択部100の場合は、演算処理モジュール1は信号線110−1〜nに対応させて、モジュール選択信号30−1〜nを順次出力することにより、I/Oモジュール2−1〜nを順次選択できる。例えば、演算処理モジュールに最も近いI/Oモジュール2−1を選択するために、モジュール選択信号出力部10はモジュール選択信号30−1をHighレベルに駆動し、他のモジュール選択信号30−2〜nをLowレベルとする。これにより、I/Oモジュール2−1のモジュール選択有効信号130はモジュール排他選択部100によりアサートされ、他のI/Oモジュール2−2〜nのモジュール選択有効信号130はモジュール排他選択部100によりネゲートされる。同様に、演算処理モジュール1からx番目に離れたモジュールを選択するには、モジュール選択信号出力部10はモジュール選択信号30−xのみをHighに駆動すればよい。
【0020】
次に、モジュール排他選択部100によりアサートされモジュール選択有効信号130により、I/Oモジュール2からIDデータ信号140をモジュールIDバス400に出力させる識別情報出力部の実施例を図3、図4を用いて説明する。図3は、ID生成部300の構成例を示し、図4は、出力活性部200の構成例を示す。図3に示すように、ID生成部300は、I/Oモジュール2の種類や機能を特定する識別情報のIDデータを生成するものであり、ID生成子310−1〜310−mを備え、各ID生成子からIDデータ信号140−1〜140−mが出力される。ID生成子310は、出力するレベルを個別に設定可能な回路であり、出力するレベルとしてはHighレベルあるいはLowレベルの2値、あるいは任意の電圧レベル(多値)であってもよい。多値の電圧レベルの場合は、ID情報の情報量を増すことに有効である。ID生成子310にて個別に出力レベルを設定することにより、IDデータ信号140の内容を変えることができる。。
2値を出力するID生成子310は、プルアップ/プルダウン抵抗、スイッチ、ジャンパーピン、フリップフロップ、SRAMやDRAM等の揮発メモリ、EEPROMやフラッシュメモリ等の不揮発メモリを用いることができる。また、多値を出力するID生成子310は、抵抗分圧回路、オペアンプなどを用いる。
【0021】
出力活性部200は、ID生成部300の各ID生成子から出力されるIDデータ信号140−1〜mを入力とする複数のゲート素子210を有して構成される。ゲート素子210はモジュール選択有効信号130が有効状態の時のみゲートが開かれる素子である。これにより、出力活性部200からは、モジュール選択有効信号130が有効状態のときに、IDデータ信号140がID出力信号150としてモジュールIDバス400に出力される。なお、モジュール選択有効信号130がネゲートされている場合には、ゲート素子210はハイ・インピーダンス状態となりID出力信号150は出力されない。ゲート素子210は、通常の3状態バッファや、MOS(Metal Oxide Semiconductor)のトランスファーゲートを用いることができる。トランスファーゲートを用いる場合は、任意の電圧レベル(素子にて定められる範囲)を、入力から出力へ伝達することが可能となる。
【0022】
ここで、演算処理モジュールによりI/OモジュールのIDデータ信号140を取得する際のタイミングチャートを図5に示す。同図は、演算処理モジュール1と2つのI/Oモジュール2−1、2−2の信号状態を図示しており、縦軸に信号の種類、横軸に時間を示す。まず、モジュール選択信号出力部10が信号線110−1を駆動するモジュール選択信号30−1をHighレベルにする。これにより、1番目に接続されたI/Oモジュール2−1のモジュール選択有効信号130がアサートされ、これにより出力活性部200のゲート素子210が開き、ID生成部300から0x01(0xは16進数を表すプレフィックス)が出力され、これがID出力信号150としてモジュールIDバス400に出力される。このとき、他のI/Oモジュール2からモジュールIDバス400にID出力信号150が出力されない。したがって、演算処理モジュール1のモジュールID入力部20は、1番目のI/Oモジュール2−1のID出力信号150がモジュールIDバス400を介して取得する。これにより、演算処理モジュール1は、1番目のI/Oモジュール2−1にIDとして0x01を有するI/Oモジュールが接続されていることを認識する。次に、モジュール選択信号出力部10は、2番目のI/Oモジュール2−2のIDを取得するために、モジュール選択信号30−2を駆動し、同様にしてモジュールID入力部20により2番目のI/Oモジュール2−2のIDである0x02を取得してI/Oモジュール2−2の種類を認識する。
【0023】
以上の動作を、モジュール選択信号30の駆動信号を変更しながら繰り返すことにより、演算処理モジュール1は、自身が管理すべき全てのI/Oモジュール2のID情報を取得することができる。このように、本実施の形態によれば、I/Oモジュール2を複数連結した場合でも、演算処理モジュール1のモジュール選択信号出力部10は、任意の位置にあるI/Oモジュール2のモジュール選択有効信号130を駆動することができる。また、同一回路構成のI/Oモジュール2を複数連結した場合であっても、任意の位置にあるI/Oモジュール2のモジュール選択有効信号130のみを駆動して、選択されたI/Oモジュール2の識別情報を取得できる。
【0024】
したがって、演算処理モジュール1は、計算機システムが組み立てられたとき、設定処理部60からモジュール選択信号出力部10に、接続されているI/Oモジュール2のID情報をモジュールIDバス400へ出力するように指令を出すと、回路装置510を有するI/Oモジュール2のIDがモジュールIDバス400を介してモジュールID入力部20に入力される。モジュールID入力部20はモジュールIDバスからIDを取得すると、設定処理部60へID情報を通知する。設定処理部60は、ID情報をキーとして設定パラメータテーブル50を検索し、回路装置510が接続されたシステムバス500用のパラメータを取得する。設定処理部60は取得したパラメータを通信制御部70へ設定し、回路装置510へアクセスするために初期化する。なお、通信制御部70はシステムバス信号80とシステムバス500とを制御するシーケンサを有している。また、設定処理部60は取得したIDに基づき、アクセス先の回路装置510に対応したデバイスドライバを用意する。デバイスドライバは、回路装置510に対して必要な初期設定をおこなう。このようにして、演算処理モジュール1は、回路装置510に応じてシステムバス500のパラメータを変更し、回路装置510へアクセスすることができる。また、回路装置510を初期化することができる。
【0025】
ここで、設定パラメータテーブル50の構成を図6に示す。図示のように、設定パラメータテーブル50は、IDと、バスのパラメータと、ソフトウェア名とを有して構成される。バスのパラメータは、例えば、バスのプロトコル、アドレス・データ・制御信号のセットアップ/ホールド時間などのタイミング、バス幅などがある。同図の例では、ID51、バスプロトコル52、バスのビット幅53、チップセレクト(CS)に対するアドレス信号のセットアップ時間54およびデバイスドライバ55を、列方向の要素として示している。また、行方向の要素は各IDの値に対応したそれぞれのパラメータのセットを示している。例えば、IDの値が0x02のI/Oモジュール2は、アクセスするためのバスプロトコルはPCカードバスに準拠し、バスのビット幅は16ビット、アドレスセットアップ時間は6ns、対応するデバイスドライバはCard.oであることを示している。なお、同図では行、列方向の要素を一部省略して示したが、実際の設定パラメータテーブル50では、バスアクセスに必要な全てのパラメータをテーブル化する。また、設定パラメータテーブル50は、メモリ上に構築するのが好適である。例えば、C言語で実装するには、各パラメータをメンバとする構造体を定義し、この構造体の配列を用意し、配列のインデックスとしてIDを用いると検索が容易となる。実際に計算機システムを構築する際、多くのID、すなわち多くのI/Oモジュール2をサポートすることは、保持するデバイスドライバの量や制御の複雑さが増大する点で現実的でない。そのため、実際には対応するIDが限られることになるが、配列を使う方法では対応しないIDが判るように実装することが必要であり、たとえば構造体の特定のメンバにマークをする必要がある。このようにして、IDをキーとして対応するバスパラメータやデバイスドライバを検索することが可能となる。
【0026】
次に、通信制御部70の実施例の構成を図7に示す。通信制御部70は、演算処理モジュール1がシステムバス信号80へのアクセスする場合に、システムバス信号80を制御する手順やタイミングを規定する。具体的には、バスアクセスのためのプロトコル(SRAMインターフェースやDRAMインターフェース、PCカードインターフェースなど)や、バス制御信号間のセットアップ/ホールド時間を制御する。設定処理部60は、パラメータ設定信号61を介してバスアクセスに関するパラメータをパラメータレジスタ71に設定する。パラメータレジスタ71は、必要に応じてバスシーケンサ72−A〜72−X(まとめて72とする)をシーケンサ切替信号73により切り替える。例えば、SRAMアクセスのためのバスプロトコルと、DRAMアクセスのためのバスプロトコルとは、アドレスやデータ信号、制御信号の扱いが大きく異なる。このような場合には、バスプロトコル毎にバスシーケンサを切り替えるほうが都合がよい。バスシーケンサ72は、パラメータレジスタ71からの指示に応じて、バスアクセス動作のタイミングを調節する。例えば、バスシーケンサ72は、回路装置510の要求する「チップセレクト信号に対するアドレスセットアップ時間規定」に応じて、アドレスを出力するタイミングを前後させる。
【0027】
次に、設定処理部60の動作を表すフローチャートを図8に示す。設定処理部60は、演算処理モジュール1が管理するI/Oモジュール2を特定し、必要なバスパラメータを設定し、デバイスである回路装置510の初期化を行う。これらの処理は、プロセッサとメモリにより実行されるのが適当である。その際プロセッサは、メモリに格納される命令列に従いこれらの処理を実行する。
【0028】
ここで、図8に示すバスの設定処理について説明する。設定処理部60は、I/Oモジュール2におけるモジュール選択有効信号130を有効とするようにモジュール選択信号出力部10に対して通知する(処理600)。次に、設定処理部60は、モジュールIDバス400上のIDを取得するよう、モジュールID入力部20へ指示を出す(処理601)。その結果取得されたIDを、設定処理部60はモジュールID入力部20から得る。設定処理部60は、得られたIDが有効なIDか否かを判定する(処理602)。モジュール選択信号出力部10が選択したI/Oモジュールが実在しない場合には、どのI/OモジュールもモジュールIDバス400を駆動しない状態、すなわちモジュールIDバス400上には無効なIDが存在する状態となる。そのため、設定処理部60は得られたIDが有効か判定する必要がある。得られたIDが無効なIDであった場合(処理602での“No”判定)は、全てのI/Oモジュールを検査したとして『バス設定終了』に至り、処理を終了する。得られたIDが有効なIDであった場合には、設定処理部60はIDをキーとして設定パラメータテーブル50から対応するパラメータを検索する(処理603)。この処理は、設定パラメータテーブル50からバスパラメータと回路装置510に対応したデバイスドライバの情報を得るためである。その結果、IDに対応した有効なデータが存在するか検査する(処理604)。対応するパラメータやデバイスドライバが存在しない場合、I/Oモジュールが存在しても初期化すべき手順が不明として、エラー処理をおこなう(処理607)。エラー処理後は『バス設定異常終了』に至り、処理を終了する。エラー処理の内容として、計算機の外部に音や光、コンソール出力で通知することが管理上有効である。この際に設定処理部60では、問題が発生したI/Oモジュール2の物理的な位置は把握できている。そこで、たとえばn番目のI/Oモジュール2で問題が発生したならば、音や光をn回断続させて通知するのが好適である。そして、バスパラメータが得られた場合、設定処理部60は通信処理部70に対してバスの初期化をおこなう(処理605)。通信処理部70は、バスプロトコルやバス幅、バスのアクセスタイミングなどを設定される。引き続き、必要に応じてデバイスドライバにより回路装置510の初期化をおこなう(処理606)。ただし、計算機で稼動するオペレーティングシステム(OS)によっては、デバイスドライバが呼び出される順序が規定されており、この時点での設定が困難な場合もある。その場合、設定処理部60は、OSが後に適切なデバイスドライバを呼び出せるよう、OSへI/Oモジュール2の設定を登録するにとどめる。処理606が終了すると、再び処理600へ復帰し、前述の処理を継続する。以上の処理を『バス設定終了』に至るまでおこなうことで、全てのI/Oモジュールに関するバスの設定を網羅できる。また、処理605と処理606に関して、例えば処理605でおこなう処理をデバイスドライバの初期化ルーチンに含めて実装することが考えられる。この場合、処理605のステップは不要となる。また、設定パラメータテーブル50に記載するのはIDとデバイスドライバのみでよい。処理605のバスパラメータの設定をデバイスドライバの処理に含めるか否かについては、利用するOSにあった適切な手段を選べばよい。
(第2実施の形態)
図9に、本発明のモジュール排他選択部の他の実施例を示す。本実施例のモジュール排他選択部100は、Dフリップフロップ101を用いて構成したことにある。図2の実施例の場合、計算機システムに接続するI/Oモジュール2の最大台数に応じて、信号線110、120の本数を用意しなければならない。例えば、信号線110、120がn本であれば、最大接続できるI/Oモジュール2はn台となるから、実装面積の増大やコストの増大が問題となる。
【0029】
この点、図9の実施例によれば、最大接続できるI/Oモジュール2の台数を制限せず、かつ入出力する信号線数を一定とすることができる。すなわち、本実施例のモジュール選択信号は、モジュール選択クロックの信号線110−ckとモジュール選択イネーブルの信号線110−enの2つの信号からなる。一方のモジュール選択クロックの信号線110−ckは、Dフリップフロップ101のクロック入力端子CLKと、モジュール選択クロック出力信号の信号線120−ckとに接続される。他方のモジュール選択イネーブルの信号線110−enは、Dフリップフロップ101のデータ入力端子Dに接続される。Dフリップフロップ101のデータ出力端子Qは、モジュール選択イネーブル出力信号の信号線120−enと、モジュール選択有効信号130とに接続される。モジュール選択クロック出力信号の信号線120−ckとモジュール選択イネーブル出力信号の信号線120−enは、隣接するI/Oモジュール2のモジュール選択クロックの信号線110−ckとモジュール選択イネーブルの信号線110−enとへそれぞれ接続される。Dフリップフロップ101は、クロック入力端子CLKに入力される信号が、LowレベルからHighレベルへ遷移する(立ち上がる)際に、データ入力端子Dの値を取り込みデータ出力端子Qへ出力する。データ出力端子Qの値は、クロック入力端子CLKで信号レベルの立ち上がり変化がない限り保持される。
【0030】
本実施例のモジュール選択動作に関するタイミングチャートを図10に示す。
図5と同様に、演算処理モジュール1と、2つのI/Oモジュール2との信号状態を図示する。縦軸に信号の種類、横軸に時間を示す。演算処理モジュール1のモジュール選択信号出力部10は、モジュール選択イネーブル信号30−enをHighにした後、モジュール選択クロック信号30−ckをLowレベルからHighレベルに遷移させる。その結果、1番目のI/Oモジュール2−1において、モジュール排他選択部100のDフリップフロップにモジュール選択イネーブルの信号線110−enのレベルが取り込まれ、モジュール選択イネーブル出力信号の信号線120−enと、モジュール選択有効信号130がアサートされる。1番目のI/Oモジュール2−1におけるIDデータ信号140には、1番目のI/Oモジュール2−1の種類に対応するIDである0x01が出力されている。結局、1番目のI/Oモジュール2−1のID出力信号150には0x01が出力される。この時、モジュールIDバス400には、1番目のI/Oモジュール2−1のみが値を出力する。演算処理モジュール1のモジュールID入力部20は、モジュールIDバス400の値をモジュールID信号40より取得する。
【0031】
このようにして、演算処理モジュール1は、1番目のI/Oモジュール2−1にはIDとして0x01を有するI/Oモジュールが接続されていると識別し、引き続き、モジュール選択信号出力部10は、モジュール選択イネーブル信号30−enをLowレベルに駆動する。さらに、モジュール選択信号出力部10は、モジュール選択クロック信号30−ckをLowレベルに戻した後、再びHighレベルに駆動する。その結果、1番目のI/Oモジュール2−1から出力されたモジュール選択イネーブル出力信号の信号線120−enのレベルが、2番目のI/Oモジュール2−2におけるモジュール排他選択部100のDフリップフロップ101に取り込まれる。その結果、1番目のI/Oモジュールにおけるモジュール選択有効信号130はネゲートされ、2番目のI/Oモジュールにおけるモジュール選択有効信号130はアサートされる。
【0032】
2番目のI/Oモジュール2−2におけるIDデータ信号140には、2番目のI/Oモジュール2−2の種類に対応するIDである0x02が出力されている。結局、2番目のI/Oモジュール2−1のID出力信号150には0x02が出力される。この時、モジュールIDバス400には、2番目のI/Oモジュール2−2のみが値を出力する。演算処理モジュール1のモジュールID入力部20は、モジュールIDバス400の値をモジュールID信号40より取得する。以下同様にして、演算処理モジュール1は、2番目のI/OモジュールにIDとして0x02を有するI/Oモジュールが接続されていることを認識する。同様にしてモジュール選択信号出力部10がモジュール選択クロック信号30−ckをトグル動作(LowレベルからHighレベル、さらにその逆に信号線を駆動)させることにより、モジュールID入力部20は、接続されているI/OモジュールのIDを次々に取得することが可能となる。
【0033】
最終的に、演算処理モジュール1から最遠端のI/Oモジュール2がIDを出力した後は、モジュールIDバスにはIDが出力されない。モジュールID入力部20は、その状態をモジュールIDバス400から判定し、I/Oモジュール2の検査を終了する。
(第3実施の形態)
図10に、モジュール排他選択部の他の実施例を示す。本実施例の特徴は、モジュール排他選択部100が、モジュール選択信号出力部10と通信してモジュール選択制御をすることにある。モジュール排他選択部100は、命令送受信部102と、モジュール選択信号スイッチ部103、制御実行部104を有する。命令送受信部102と制御実行部104との間は、制御要求や要求完了を通知するための要求通知信号105で接続されている。制御実行部104は、スイッチ動作を指示するためのスイッチ制御信号106により、モジュール選択信号スイッチ部103と接続する。命令送受信部102は、モジュール選択信号出力部10からの制御を信号線110−cmdより受信する。ここで信号線110−cmdは、単線でも複数線でもよい。単線であれば、信号線のレベル変化によるシリアル通信で、モジュール選択信号出力部10と命令送受信部102は通信する。複数線であれば、例えば複数のビット幅からなるコマンド信号とデータ信号により通信をおこなう。さらに、モジュール選択信号の信号線110−cmdとモジュール選択応答信号の信号線110−ackは個別に用意しなくてもよい。例えば、時分割で排他的に信号線の駆動をおこなえば、同一信号線で共用することが可能である。
【0034】
さて、モジュール選択信号の信号線110−cmdからの命令を受けた命令送受信部102は、受信した命令を解釈し必要な処理を制御実行部104に指示する。命令送受信部102は、指示した処理の結果を制御実行部104より受ける、あるいは自身で処理してモジュール選択応答信号の信号線110−ackによりモジュール選択信号出力部10へ応答する。命令送受信部102は、初期状態として設定未完了状態であり、設定完了フラグ107はクリア状態である。命令送受信部102は所定の処理が完了すると、モジュール選択信号出力部10より設定完了命令を受信する。設定完了命令を受けると、命令送受信部102は内部で保持する設定完了フラグ107をセットし設定完了状態となる。
【0035】
制御実行部104は、モジュール選択信号スイッチ部103を開閉制御、あるいはモジュール選択有効信号130を駆動制御する。制御実行部104は、これらの処理を実行するよう命令送受信部102より指示を受ける。
【0036】
モジュール選択信号スイッチ部103は、制御実行部104からのスイッチ開閉制御指示を、スイッチ制御信号106を介して受けると、モジュール選択入力信号の信号線110とモジュール選択出力信号の信号線の信号線120とを接続あるいは切断、すなわちスイッチの開閉制御をおこなう。スイッチ素子として、MOSのトランスファーゲートのような半導体スイッチや、リレーのような機械スイッチが挙げられる。モジュール選択信号スイッチ部103のスイッチの状態として、電源投入直後は開(切断)状態であるとする。なお、上記ではモジュール選択有効信号130の駆動制御を制御実行部104が指示を受けておこなうとしたが、命令送受信部102が直接モジュール選択有効信号130を駆動したり、スイッチ開閉制御をしたりしてもよい。
【0037】
図12に、本実施の形態のモジュール選択信号出力部10から発行される命令パケットの構造を示す。命令パケットは、あて先アドレス430とコマンド431から構成される。図12は、コマンドの一覧を示している。あて先アドレス430として、命令送受信部102が設定未完了状態の場合に応答を受ける特別なアドレスと、それ以外のアドレスがある。設定完了フラグ107がクリア状態の場合、命令送受信部102は設定未完了状態であり特別なアドレス(図12では0x00)に応答する。命令送受信部102は、全ての命令送受信部102の間で独立となるような固有アドレス108を有する。命令パケットのあて先アドレス430に固有アドレス108を指定することで、特定の固有アドレス108を有するI/Oモジュール2に対し、コマンド431を送付することが可能となる。命令送受信部102が受信するコマンドとして、例えば、命令送受信部102の固有アドレス108を通知させるIdentifyコマンド、モジュール選択有効信号130を制御するコマンド、モジュール選択信号スイッチ部103を制御するコマンド、設定完了フラグ107をセットするコマンドがある。
【0038】
図12では、あて先アドレス430として8ビットの数値を挙げたが、それに制限されるものではない。また命令パケットは、モジュール選択信号30の本数に限定されず、単線によるシリアル通信、あるいは複数線による他ビット幅通信のいずれで対応する。
【0039】
図13は、本実施の形態のモジュール選択動作に関するシーケンス図を示す。
本シーケンス図は、各構成要素が時系列にそって相互に作用する様子を表すものであり、上から下へ時間が経過することを表す。図13を用いて、複数接続されたI/Oモジュール2のID情報を取得するアルゴリズムを説明する。まず、全てのモジュール選択信号スイッチ部103は開(切断)状態にあるとする。また、全ての命令送受信部102における設定完了フラグ107はクリア状態である。
[処理1]モジュール選択信号出力部10は、直接に接続されているI/Oモジュール2を識別するために、Identify命令を送信する(手順451)。Identify命令は、あて先アドレス430として0x00、すなわち設定未完了状態のモジュールを対象とし、かつコマンド431にはIdentify要求を含む命令パケットで表される。はじめは、モジュール選択信号スイッチ103が開状態であるため、当該命令パケットは、演算処理モジュール1に隣接するI/Oモジュール2−1にのみ到達する。I/Oモジュール2−1における命令送受信部102は、受信した命令をデコードする(手順452)。Identify命令を受信した命令送受信部102は、自身が有する固有アドレスを応答する(手順453)。その結果、モジュール選択信号出力部10は、隣接しているI/Oモジュール2−1が有する固有アドレス108を取得する。
[処理2]次に、モジュール選択信号出力部10は、モジュール選択命令を送信する(手順454)。モジュール選択命令は、直前に取得した固有アドレス108をあて先アドレス430とし、モジュール選択有効要求を示す0x02をコマンド431に含む命令パケットである。命令送受信部102は、命令をデコードする(手順452)。その結果、命令送受信部102は自身に対するモジュール選択命令であると解釈する。そこでモジュール選択有効信号130をアサートするように、モジュール選択有効要求を制御実行部104へ指示する(手順455)。制御実行部104は、モジュール選択有効信号130をアサートし、その結果を命令送受信部102に返答する(手順456)。応答を得た命令送受信部102は、処理が終了した旨をモジュール選択信号出力部10へと返答する(手順457)。
[処理3]その後、モジュール選択信号出力部10はモジュールID入力部20に通知し、モジュールID入力部20はID情報を取得する。
[処理4]モジュール選択信号出力部10は、モジュール選択を解除する命令(コマンド431に「モジュール選択無効要求」を含める)を送信する。処理2と同様に、当該命令を受信した命令送受信部102は、モジュール選択有効信号130をネゲートするよう制御実行部104に指示する。制御実行部104はモジュール選択有効信号130をネゲートし、その結果を命令送受信部102に返答する。応答を得た命令送受信部102は、処理が終了した旨をモジュール選択信号出力部10へと返答する。
[処理5]モジュール選択信号出力部10は、設定完了命令(コマンド431に設定完了フラグセットを含める)を送信する。命令送受信部10は、自身が持つ設定完了フラグ107を1にセットし、応答をモジュール選択信号出力部10へ返答する。
[処理6]モジュール選択信号出力部10は、スイッチ閉命令(コマンド431に「モジュール選択信号スイッチ閉制御」を含める)を送信する(手順458)。命令をデコードした命令送受信部10は、モジュール選択信号スイッチ部103を閉じるよう制御実行部104へ指示する(手順459)。制御実行部104は、モジュール選択信号スイッチ部103を閉じた旨を命令送受信部10へ応答する(手順460)。そして、命令送受信部102はスイッチ閉が完了した旨をモジュール選択信号出力部10へ通知する(手順461)。全てのI/Oモジュール2に対して、モジュール選択信号出力部10は以上の処理1から処理6を繰り返す。処理1により、設定完了フラグが1にセットされていない命令送受信部102を有するI/Oモジュール2が反応し、固有アドレスを返答する。そしてモジュール選択信号出力部10は、処理2から処理6を順次実行する。
【0040】
以上を繰り返すことにより、演算処理モジュール1に隣接する順番に、I/Oモジュール2は自身の固有アドレスを報告し、当該I/OモジュールのID情報を出力する。よってモジュールID入力部20は、順番にID情報を取得することが可能となる。最終的にモジュールID入力部20が、全てのI/Oモジュール2のID情報を取得した時点で、本アルゴリズムは終了する。この時点でモジュール選択信号出力部10は、物理的なI/Oモジュール2の接続順と固有アドレス108との対応付けが完了している。また同様にI/Oモジュール2の接続順とID情報との対応付けも完了している。
(第4実施の形態)
図14に、本発明の計算機システムの実施の形態を示す。本実施の形態の特徴は、モジュール選択信号出力部10がモジュールIDクロック信号31を出力し、ID生成部300はモジュールIDクロック入力信号111を受けてID出力信号150を出力する点が挙げられる。
【0041】
まず、モジュール選択信号出力部10は、先に説明した実施の形態と同様の手順によりモジュール選択有効信号130をアサートさせる。その後、モジュール選択信号出力部10は、モジュールIDクロック信号31をトグルする。その結果、モジュールIDクロック入力信号111のトグルに同期して、ID出力信号150へID情報が出力される。本実施の形態によれば、モジュールID入力部20は、少ない本数(例えば1本)のモジュールIDバス400から多くのビットを有するID情報を取得することが可能となる。
【0042】
図15に本実施の形態のID生成部300の構成を示す。ID生成子310、セレクタ320、Dフリップフロップ330を一単位とし、これらが複数個(図12ではk個)連結して構成される。ID生成子310−1〜kは、図4と同様である。また、Dフリップフロップ330−1〜kは、図9と同様である。セレクタ320−1〜kは、モジュール選択有効信号130がアサートされている場合、”1”が付された入力信号を選択して出力し、モジュール選択有効信号130がネゲートされている場合、”0”が付された入力信号を選択して出力する素子である。モジュール選択有効信号130がアサートされている際に、モジュールIDクロック入力信号111をトグルすることにより、ID生成子310−1〜kの値が順にIDデータ信号140へ出力される。
【0043】
図16に、本実施の形態のID生成部300の動作を表すタイミングチャートをしめす。はじめにIDデータ信号140は、k番目のID生成子310−kの値を出力している。ID生成部300における各Dフリップフロップ330−1〜kは、ID生成子310−1〜kの値を出力しているものとする。モジュール選択有効信号130がアサートされると、IDデータ信号140の値は出力活性部200を介してモジュールIDバス400へ出力される(時点480)。次に、モジュール選択信号出力部10がモジュールIDクロック信号31をLowレベルからHighレベルへ駆動すると、各Dフリップフロップ330−1〜kはセレクタ320−1〜kの出力を保持しQ端子へ出力する(時点481)。この時点でセレクタ320−1〜kは全て”1”が付された入力信号を選択している。結局、ID生成部300では、前段のDフリップフロップの値を次段のDフリップフロップが取り込むシフト動作が行われる。その後、モジュールIDクロック信号31をモジュール選択信号出力部10がトグルすると、それに同期してIDデータ信号140へID生成子310の値が順次出力される(時点482〜485)。IDデータ信号140に出力された値は、出力活性部200を介してモジュールIDバス400へ出力される。全てのID生成子310の値を出力した後、モジュール選択有効信号130はネゲートされる。その後、モジュール選択信号出力部10は、モジュールIDクロック信号31をLowレベルからHighレベルへと駆動する(時点486)。この動作により、全てのDフリップフロップ330−1〜kはID生成子310−1〜kの値で初期化される。このようにして、ID生成部300はIDデータ信号140へID情報を出力する。
【0044】
なお、Dフリップフロップ330−1〜kの値を初期化するために、モジュール選択信号出力部10は、モジュール選択をする前にモジュールIDクロックを少なくとも1回はLowレベルからHighレベルへ駆動する必要がある。
(第5実施の形態)
図17に、本発明の計算機システムの他の実施の形態の構成を示す。本字実施の形態の特徴は、ID生成部300と出力活性部200とを兼ね備えたID出力部250を設けたことである。モジュール選択有効信号130がID出力部250に入力されると、ID出力部250で定められるID情報がID出力信号150を介してモジュールIDバス400へ出力される。ID出力部250は、駆動する必要のある信号線のみ、LowあるいはHighレベルへ駆動する。モジュール選択有効信号130がアサートされている場合にモジュールIDバスの複数信号線をLowレベルに駆動するID出力部250であれば、モジュールIDバス400はプルアップ抵抗によりレベルを保持する必要がある。また、モジュール選択有効信号130がアサートされている場合にモジュールIDバスの複数信号線をHighレベルに駆動するID出力部250であれば、モジュールIDバス400はプルダウン抵抗によりレベルを保持する必要がある
図18に、本実施の形態のID出力部250の具体的な構成を示す。図において、ID出力部250はダイオード260を有する。ダイオード260は、モジュール選択有効信号130からID出力信号150の各信号線に直列に配置される。図18ではダイオード260を全てのID出力信号線150に接続しているが、実際には出力すべきID情報に応じてダイオード260を挿入あるいは削除する。ダイオード260を削除する場合には、当該信号線は開放となる。これにより、モジュール選択有効信号130の挙動如何にかかわらず、該当するID出力信号150はハイ・インピーダンス状態となる。
【0045】
ここで、モジュールIDバス400はプルダウン抵抗によりLowレベルが保持されているとする。モジュール選択有効信号130がアサートされると、ダイオード260からの出力がHighレベルとなる。そのため、ダイオード260が直列に接続されたID出力信号150の一部分はHighレベルを出力し、ダイオード260が接続されていない、開放されているID出力信号150の他の部分はLowレベルのままとなる。結果として、モジュールIDバス400は、モジュール選択有効信号130がアサートされると対応するID情報が出力される。
【0046】
図18において、ダイオード260の代わりにオープンコレクタ出力のトランジスタ(あるいはそれに相当するバッファ)を用いてもよい。その場合、モジュール選択有効信号130がアサートされると、トランジスタが挿入されたID出力信号150はLowレベルを出力する。この時モジュールIDバス400をプルアップ抵抗によってHighレベルに保持しておけば、同様にID情報をモジュールIDバス400へ出力することが可能である。
(第6実施の形態)
図19に、本発明を適用した計算機システムのモジュール実装方法の実施形態を示す。本実施形態では、1つの演算処理モジュール1と複数のI/Oモジュール2を積層する構成を表している。演算処理モジュール1はプリント基板上に回路を構成し、その片面にコネクタ90を実装する。コネクタ90は、I/Oモジュール2の片面にあるコネクタ91と結合するよう配置されている。同様にI/Oモジュール2はプリント基板上に回路を構成し、その片面にコネクタ91、他方の面にコネクタ92を実装する。コネクタ90は、演算処理モジュール1の入出力信号をI/Oモジュール2へ接続するための部品であり、その入出力信号にはモジュール選択信号30、モジュールID信号40、システムバス信号80を含む。コネクタ91は、演算処理モジュール1から、あるいは他のI/Oモジュールからの入出力信号をI/Oモジュール2内部の回路へ接続するための部品である。コネクタ91は、モジュール選択入力信号の信号線110、モジュールIDバス400、システムバス500を含む。コネクタ92は、I/Oモジュール2からの入出力信号を他のI/Oモジュールへ接続するための部品であり、モジュール選択出力信号の信号線の信号線120、モジュールIDバス400、システムバス500を含む。コネクタ92とコネクタ91とは互いに嵌合するよう構成される。同様に、コネクタ90とコネクタ91とは互いに嵌合する。
【0047】
このように構成することにより、I/Oモジュール2は演算処理モジュール1とも他のI/Oモジュール2とも接続することが可能となる。よって、演算処理モジュール1に対して、必要な個数だけI/Oモジュール2を積層して接続することができ、柔軟に計算機システムを構成することが可能となる。
(第7実施の形態)
図20に、本発明を適用した計算機システムのモジュール実装方法の他の実施の形態を示す。本実施の形態は、1つの演算処理モジュール1と複数のI/Oモジュール2をバックボード93上に接続する構成を表している。
【0048】
バックボード93は、コネクタ94とコネクタ95−1〜95−nを有し、それらのコネクタはそれぞれ基板を挿入保持するスリットを有し、演算処理モジュール1の基板上の接点やI/Oモジュール2の基板上の接点と、電気的に接続するための電極を有する。コネクタ94、95−1〜95−nは、スリットに挿入された基板の接点と、バックボード上の配線とを接続する。コネクタ94とコネクタ95−1との間は、モジュール選択信号30とモジュール選択入力信号の信号線110、モジュールID信号40とモジュールIDバス400、システムバス信号80とシステムバス500が、それぞれ接続するようバックボード93上で配線する。また、コネクタ95−jとコネクタ95−{j+1}(ただしj=1〜n−1)との間は、コネクタ95−jのモジュール選択出力信号の信号線120とコネクタ95−{j+1}のモジュール選択入力信号の信号線110、コネクタ95−jのモジュールIDバス400とコネクタ95−{j+1}のモジュールIDバス400、コネクタ95−jのシステムバス500とコネクタ95−{j+1}のシステムバス500が、それぞれ接続するようにバックボード94上で配線する。コネクタ94に演算処理モジュール1を挿入し、95−1〜95−nには演算処理モジュール1からの配線が連結するようにI/Oモジュール2を挿入することで、計算機を構成する。
【0049】
なお、図20では基板を直接コネクタのスリットに挿入する構成を示したが、基板上とバックボード93の両方にコネクタを実装してもよい。その場合、それぞれのコネクタは勘合するよう構成する。基板上のコネクタをバックボード上のコネクタに結合することで、計算機を構成する。
【0050】
また、バックボード93と演算処理モジュール1とは同一基板に形成しても良い。その場合、演算処理モジュール1上にコネクタ95を実装し、コネクタ95にI/Oモジュール2を接続する構成となる。このような構成とすることで、バックボードを個別に用意することなく、拡張性を確保することができる。
【0051】
以上説明したように、本発明の各実施の形態によれば、プロセッサがバスに接続される複数のデバイスをバス方式によらずに認識し、任意のバス方式を持つデバイスへアクセスできる。また、モジュール毎に手作業による設定を不要とし、同一回路のモジュールを組み合わせた場合でも、プロセッサはデバイスを認識することが可能となる。
【0052】
【発明の効果】
以上述べたように、本発明によれば、特定のバス方式に制約されることなく、演算処理モジュールに接続されたI/Oモジュールの種類等を識別でき、そのI/Oモジュールのデバイスにアクセス可能にすることができる。
【図面の簡単な説明】
【図1】本発明に係る計算機システムの第1実施形態の全体構成図である。
【図2】第1実施形態のモジュール排他選択部の詳細構成図である。
【図3】第1実施形態のID生成部の詳細構成図である。
【図4】第1実施形態の出力活性部の詳細構成図である。
【図5】第1実施の形態の動作を説明するタイミングチャートである。
【図6】第1実施形態の設定パラメータテーブルの構成を示す図である。
【図7】第1実施形態の通信制御部の構成を示す図である。
【図8】第1実施形態のバスの初期化の手順を示すフローチャートである。
【図9】本発明の計算機システムの第2実施形態に係るモジュール排他選択部の詳細構成である。
【図10】第2実施形態の動作を説明するタイミングチャートである。
【図11】本発明の計算機システムの第3実施形態に係るモジュール排他選択部の詳細構成である。
【図12】第3実施形態のモジュール選択信号出力部から発行される命令パケットの構成図である。
【図13】第3実施形態の処理手順を示すフローチャートである。
【図14】本発明の計算機システムの第4実施形態に係る全体構成図である。
【図15】第4実施形態のID生成部に係る詳細構成図である。
【図16】第4実施形態の動作を説明するタイミングチャートである。
【図17】本発明の計算機システムの第5実施形態に係る全体構成図である。
【図18】第5実施形態のID出力部に係る詳細構成図である。
【図19】本発明に係る計算機システムのモジュール実装方法の一実施形態を示す図である。
【図20】本発明に係る計算機システムのモジュール実装方法の他の実施形態を示す図である。
【符号の説明】
1…演算処理モジュール、2…I/Oモジュール、10…モジュール選択信号出力部、20…モジュールID入力部、30…モジュール選択信号、40…モジュールID信号、50…設定パラメータテーブル、60…設定処理部、70…通信制御部、80…システムバス信号、90〜92…コネクタ、93…バックボード、94〜95…コネクタ、100…モジュール排他選択部、110…信号線、120…信号線、130…モジュール選択有効信号、140…ID、210…ゲート素子、250…ID出力部、300…ID生成部、400…モジュールIDバス、500…システムバス、510…回路装置
Claims (9)
- プロセッサが搭載された演算処理モジュールと複数のI/Oモジュールとをバスを形成するコネクタを介して層状に接続して構成されるモジュール型計算機システムにおいて、
前記各I/Oモジュールは、演算処理モジュール側コネクタの同一位置の端子から入力されるモジュール選択信号を有効とするモジュール排他選択部と、該モジュール排他選択部から出力されるモジュール選択有効信号に基づいて自己のI/Oモジュールの識別情報を前記コネクタの所定端子に出力する識別情報出力部とを備えてなり、
前記演算処理モジュールは、前記I/Oモジュールが接続されるコネクタ端子に前記モジュール選択信号を出力するモジュール選択信号出力部と、前記I/Oモジュールの前記識別情報出力部から前記コネクタの所定端子に出力される前記識別情報を取込む識別情報入力部とを備えてなり、
前記モジュール選択信号出力部は、前記演算処理モジュールに接続された複数の前記I/Oモジュールに前記モジュール選択信号を順次出力し、
前記識別情報入力部は、取込んだ前記識別情報を前記モジュール選択信号の出力順に従って前記I/Oモジュールに対応付けて認識し、
前記演算処理モジュールは、前記識別情報入力部により認識された前記I/Oモジュールと前記識別情報との対応に従って、メモリから予め設定されたバス制御パラメータと前記I/Oモジュールのデバイスドライバとを読み出して、前記I/Oモジュールにアクセスすることを特徴とするモジュール型計算機システム。 - プロセッサが搭載された演算処理モジュールと複数のI/Oモジュールとをバスを形成するコネクタを介して層状に接続して構成されるモジュール型計算機システムにおいて、
前記各I/Oモジュールは、演算処理モジュール側コネクタから入力されるモジュール選択信号が自己のモジュールを選択する信号か否か判別し、自己のモジュールを選択する信号のときは前記モジュール選択信号の有効信号を出力し、演算処理モジュール側コネクタから入力されるモジュール選択信号が他のモジュールを選択する信号のときは、当該モジュール選択信号を反演算処理モジュール側コネクタの端子のうち、前記自己のモジュールを選択する信号が入力された前記演算処理モジュール側コネクタの端子と同一位置の端子に伝送するモジュール排他選択部と、前記有効信号に基づいて自己のモジュールの識別情報を前記コネクタの所定端子に出力する識別情報出力部とを有し、
前記演算処理モジュールは、前記I/Oモジュールが接続されるコネクタ端子に前記モジュール選択信号を出力するモジュール選択信号出力部と、前記I/Oモジュールの前記識別情報出力部から前記コネクタの所定端子に出力される前記識別情報を取込む識別情報入力部とを備えてなり、
前記モジュール選択信号出力部は、前記演算処理モジュールに接続された複数の前記I/Oモジュールに前記モジュール選択信号を順次出力し、
前記識別情報入力部は、取込んだ前記識別情報を前記モジュール選択信号の出力順に従って前記I/Oモジュールに対応付けて認識し、
前記演算処理モジュールは、前記識別情報入力部により認識された前記I/Oモジュールと前記識別情報との対応に従って、メモリから予め設定されたバス制御パラメータと前記I/Oモジュールのデバイスドライバとを読み出して、前記I/Oモジュールにアクセスすることを特徴とするモジュール型計算機システム。 - 前記モジュール排他選択部は、演算処理モジュール側の複数のコネクタ端子に接続された複数の配線を有し、該配線の1つを前記識別情報出力部に接続し、他の配線の1つを反演算処理モジュール側の複数のコネクタ端子のうち、前記自己のモジュールを選択するモジュール選択信号が入力された前記コネクタ端子と同一位置のコネクタ端子に接続して構成されることを特徴とする請求項2に記載のモジュール型計算機システム。
- 前記モジュール排他選択部は、D型フリップフロップのD端子を演算処理モジュール側のコネクタ端子の1つに接続し、前記D型フリップフロップのQ端子を前記識別情報出力部と反演算処理モジュール側のコネクタ端子のうち、前記D端子が接続された前記コネクタ端子と同一位置の端子に接続し、クロック端子を演算処理モジュール側と反演算処理モジュール側とのコネクタ端子が共通接続される端子に接続して構成されることを特徴とする請求項2に記載のモジュール型計算機システム。
- 前記演算処理モジュールは、前記クロック端子が接続された前記コネクタ端子をクロック信号により駆動するとともに、前記D端子が接続されたコネクタ端子をイネーブル信号により駆動することを特徴とする請求項4に記載のモジュール型計算機システム。
- 前記識別情報出力部は、自己のモジュールの識別情報を生成する識別情報生成部と、該識別情報生成部で生成された前記識別情報を前記有効信号に基づいて前記コネクタの所定端子に出力する出力活性部とを有して構成されることを特徴とする請求項2に記載のモジュール型計算機システム。
- 前記出力活性部は、前記識別情報を入力とし、前記有効信号により開かれるゲート素子を有して構成されることを特徴とする請求項6に記載のモジュール型計算機システム。
- 前記識別情報生成部は、前記有効信号とクロック信号に基づいてシリアル信号の前記識別情報を生成することを特徴とする請求項6に記載のモジュール型計算機システム。
- 前記識別情報出力部は、前記有効信号により駆動される配線と前記コネクタの複数の所定端子とを前記識別情報に応じてPN接合素子を介して接続して構成されることを特徴とする請求項2に記載のモジュール型計算機システム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003118714A JP4045434B2 (ja) | 2003-04-23 | 2003-04-23 | モジュール型計算機システム及びi/oモジュール |
US10/759,193 US7272665B2 (en) | 2003-04-23 | 2004-01-20 | Modular computer system and I/O module |
US11/782,286 US7941567B2 (en) | 2003-04-23 | 2007-07-24 | Modular computer system and I/O module |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003118714A JP4045434B2 (ja) | 2003-04-23 | 2003-04-23 | モジュール型計算機システム及びi/oモジュール |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007122787A Division JP4453107B2 (ja) | 2007-05-07 | 2007-05-07 | モジュール型計算機システム及びi/oモジュール |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004326342A JP2004326342A (ja) | 2004-11-18 |
JP4045434B2 true JP4045434B2 (ja) | 2008-02-13 |
Family
ID=33296376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003118714A Expired - Fee Related JP4045434B2 (ja) | 2003-04-23 | 2003-04-23 | モジュール型計算機システム及びi/oモジュール |
Country Status (2)
Country | Link |
---|---|
US (2) | US7272665B2 (ja) |
JP (1) | JP4045434B2 (ja) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006060109A (ja) * | 2004-08-23 | 2006-03-02 | Matsushita Electric Ind Co Ltd | 半導体装置の識別コード作成方法および半導体装置の識別方法並びに半導体装置 |
JP4293141B2 (ja) | 2005-02-18 | 2009-07-08 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
JP4927339B2 (ja) | 2005-02-23 | 2012-05-09 | 株式会社日立製作所 | 記憶制御装置及びその制御方法 |
US7685333B2 (en) * | 2005-03-22 | 2010-03-23 | Sigmatel, Inc | Method and system for communicating with memory devices utilizing selected timing parameters from a timing table |
JP4654116B2 (ja) | 2005-11-15 | 2011-03-16 | 株式会社日立産機システム | 計算機システム |
CN100456274C (zh) * | 2006-03-29 | 2009-01-28 | 深圳迈瑞生物医疗电子股份有限公司 | 易于扩展的多cpu系统 |
US7742833B1 (en) | 2006-09-28 | 2010-06-22 | Rockwell Automation Technologies, Inc. | Auto discovery of embedded historians in network |
US7672740B1 (en) | 2006-09-28 | 2010-03-02 | Rockwell Automation Technologies, Inc. | Conditional download of data from embedded historians |
US7913228B2 (en) * | 2006-09-29 | 2011-03-22 | Rockwell Automation Technologies, Inc. | Translation viewer for project documentation and editing |
US8181157B2 (en) | 2006-09-29 | 2012-05-15 | Rockwell Automation Technologies, Inc. | Custom language support for project documentation and editing |
US7933666B2 (en) * | 2006-11-10 | 2011-04-26 | Rockwell Automation Technologies, Inc. | Adjustable data collection rate for embedded historians |
US7974937B2 (en) * | 2007-05-17 | 2011-07-05 | Rockwell Automation Technologies, Inc. | Adaptive embedded historians with aggregator component |
US7823004B2 (en) * | 2007-08-01 | 2010-10-26 | Hewlett-Packard Development Company, L.P. | Clock source selection for modular computer system as a function of modulo difference |
US7930261B2 (en) | 2007-09-26 | 2011-04-19 | Rockwell Automation Technologies, Inc. | Historians embedded in industrial units |
US7917857B2 (en) | 2007-09-26 | 2011-03-29 | Rockwell Automation Technologies, Inc. | Direct subscription to intelligent I/O module |
US7930639B2 (en) * | 2007-09-26 | 2011-04-19 | Rockwell Automation Technologies, Inc. | Contextualization for historians in industrial systems |
US7962440B2 (en) | 2007-09-27 | 2011-06-14 | Rockwell Automation Technologies, Inc. | Adaptive industrial systems via embedded historian data |
US7882218B2 (en) * | 2007-09-27 | 2011-02-01 | Rockwell Automation Technologies, Inc. | Platform independent historian |
US7809656B2 (en) * | 2007-09-27 | 2010-10-05 | Rockwell Automation Technologies, Inc. | Microhistorians as proxies for data transfer |
US20090089671A1 (en) * | 2007-09-28 | 2009-04-02 | Rockwell Automation Technologies, Inc. | Programmable controller programming with embedded macro capability |
US7806303B1 (en) * | 2007-10-11 | 2010-10-05 | Mark Hastings | Sealable pour spout |
JP4982778B2 (ja) * | 2008-07-04 | 2012-07-25 | 学校法人慶應義塾 | 電子回路装置 |
US9126066B2 (en) | 2010-04-08 | 2015-09-08 | Fire Research Corp. | Smart connector for integration of a foam proportioning system with fire extinguishing equipment |
AT510476A1 (de) * | 2010-09-30 | 2012-04-15 | Entner Electronics Kg | Elektronisches system |
WO2012081270A1 (ja) * | 2010-12-14 | 2012-06-21 | 株式会社日立製作所 | 計算機システム及び管理サーバ |
EP2745180A4 (en) | 2011-08-16 | 2015-09-02 | Unmanned Innovation Inc | MODULAR FLIGHT MANAGEMENT SYSTEM INCORPORATING AN AUTOMATIC PILOT |
CN102738894A (zh) * | 2012-06-06 | 2012-10-17 | 中国电力科学研究院 | 一种基于总线接口的模块化智能配电终端 |
CN103729996A (zh) * | 2012-10-16 | 2014-04-16 | 苏州工业园区新宏博通讯科技有限公司 | 模块化直流电参量采集终端 |
US8990442B2 (en) * | 2012-11-20 | 2015-03-24 | Intel Corporation | Configuring signals based on device conditions |
US20170004105A1 (en) * | 2015-07-02 | 2017-01-05 | Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd | Add-on device and server using the same |
KR20200093823A (ko) * | 2019-01-29 | 2020-08-06 | 삼성전자주식회사 | 해시 솔루션을 위한 반도체 메모리 장치 및 이의 구동방법 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4727475A (en) * | 1984-05-18 | 1988-02-23 | Frederick Kiremidjian | Self-configuring modular computer system with automatic address initialization |
JP3319624B2 (ja) | 1993-02-24 | 2002-09-03 | 株式会社日立製作所 | 情報機器用モジュールおよびこれに用いられるコネクタ |
US5655148A (en) * | 1994-05-27 | 1997-08-05 | Microsoft Corporation | Method for automatically configuring devices including a network adapter without manual intervention and without prior configuration information |
US6763454B2 (en) * | 1994-05-27 | 2004-07-13 | Microsoft Corp. | System for allocating resources in a computer system |
US5790782A (en) * | 1996-11-15 | 1998-08-04 | Digital Equipment Corporation | Automatic disk drive shelf address assignment and error detection method and apparatus |
US5999989A (en) * | 1997-06-17 | 1999-12-07 | Compaq Computer Corporation | Plug-and-play |
JP2000031614A (ja) | 1997-11-04 | 2000-01-28 | Seiko Epson Corp | メモリモジュールおよびメモリモジュールの積層体ならびにメモリモジュールを具備するメモリカードおよびコンピュータ |
US20020065950A1 (en) * | 2000-09-26 | 2002-05-30 | Katz James S. | Device event handler |
-
2003
- 2003-04-23 JP JP2003118714A patent/JP4045434B2/ja not_active Expired - Fee Related
-
2004
- 2004-01-20 US US10/759,193 patent/US7272665B2/en not_active Expired - Fee Related
-
2007
- 2007-07-24 US US11/782,286 patent/US7941567B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US7272665B2 (en) | 2007-09-18 |
US7941567B2 (en) | 2011-05-10 |
US20040215841A1 (en) | 2004-10-28 |
JP2004326342A (ja) | 2004-11-18 |
US20070266184A1 (en) | 2007-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4045434B2 (ja) | モジュール型計算機システム及びi/oモジュール | |
US6002638A (en) | Memory device having a switchable clock output and method therefor | |
CA1189978A (en) | Interchangeable interface circuitry arrangements for use with a data processing system | |
US7774511B2 (en) | Addressing multiple devices on a shared bus | |
CN101539900B (zh) | 解决具有相同定址地址的两i2c从属装置间产生冲突的装置 | |
CN104054064B (zh) | 基于接口耦合的灵活的端口配置 | |
CN110781130A (zh) | 一种片上系统 | |
US6799238B2 (en) | Bus speed controller using switches | |
JP4453107B2 (ja) | モジュール型計算機システム及びi/oモジュール | |
CN116032746B (zh) | 资源池的信息处理方法及装置、存储介质及电子装置 | |
JPH07250069A (ja) | 双方向シリアル通信機能を有する制御機器及びシリアルポート用アダプタ | |
US7266680B1 (en) | Method and apparatus for loading configuration data | |
JP2003223412A (ja) | 半導体集積回路 | |
JP2022515191A (ja) | プログラミング用積み木 | |
US6724680B1 (en) | Single integrated circuit flash memory controller for activating external ROM sharing a common USB port | |
CN100525259C (zh) | 组合异类硬件接口以用于下一代pvdm设备的方法和装置 | |
US20090213872A1 (en) | Integrated universal input-output interface circuit | |
CN116346117B (zh) | Iic口扩展电路、传输方法、系统、计算机设备及介质 | |
US20230116107A1 (en) | Processor and booting method thereof | |
CN113204508A (zh) | 一种复杂可编程逻辑器件扫描方法和装置 | |
CN116010326A (zh) | 信号控制电路和信号控制方法 | |
JP3852340B2 (ja) | 光伝送装置及び光データリンク制御方法 | |
JPH1168786A (ja) | 通信装置及びアドレス設定方法 | |
EP3306482A1 (en) | Custom ic | |
JP2004341894A (ja) | 半導体装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050221 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060523 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060606 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060807 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070306 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070507 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070510 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20070803 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071106 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101130 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4045434 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101130 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111130 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111130 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121130 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121130 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131130 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |