(57)【要約】【課題】  ライブロックが発生しないようにしたスレーブ装置と、ライブロックが発生する危険性はあるが、優先順位が高いマスタ装置が優先的に使用できるスレーブ装置とを混在させたバスシステムを提供する。【解決手段】  バスアービタ3は、複数のマスタ装置がバス使用要求があった場合、固定的に定められている優先順位に従ってバス使用権を与えるマスタ装置を決定する。スレーブ装置2-1〜2-nの内、一部のスレーブ装置は、或るマスタ装置1-iから処理要求が送られてきたとき、他のマスタ装置1-jからの処理要求に従った処理を実行中であれば、そのマスタ装置1-iのマスタ番号を保持しておき、上記処理要求に従った処理が完了した後、保持しているマスタ番号に従って、次に優先的に処理要求を受け付ける優先マスタ装置を決定する。【選択図】      図２９
2006201999.tif 000002
【特許請求の範囲】
【請求項１】
バスに接続された複数のマスタ装置と、前記バスに接続された１または複数のスレーブ装置と、バスアービタとを備えたバスシステムにおいて、
前記バスアービタが、
バス使用要求を出力した複数のマスタ装置の中から予め固定的に定められている第一の優先順位に基づいてバス使用権を与えるマスタ装置を決定する調停手段を備え、
前記スレーブ装置が、
前記バスを介して入力された処理要求の入力順序に基づいてマスタ装置に対する第二の優先順位を決定する構成と、前記バスを介してバス使用権を獲得したマスタ装置から処理要求が送られてきたとき、前記第二の優先順位に基づいて前記マスタ装置から送られてきた処理要求を処理するか否かを決定すると共に要求元のマスタ装置に対して待機レスポンスを返す構成と、処理要求に従った処理が完了した後、少なくとも前記処理が完了した処理要求の要求元のマスタ装置及び待機レスポンスを返したマスタ装置の内の、第二の優先順位が最も高いマスタ装置に待機解除通知を返す構成とを有する要求管理手段を備え、
前記各マスタ装置が、
自装置内に処理要求が発生したとき、前記バスアービタに対してバス使用要求を出力し、前記バスアービタによりバス使用権が与えられたとき、スレーブ装置に処理要求を出力し、スレーブ装置から待機レスポンスが送られてきたとき、前記バスを開放すると共にバス使用要求の出力が不可能な待機状態となり、スレーブ装置から待機解除通知が送られてきたときバス使用要求が出力可能な状態に復帰する制御手段を備えたことを特徴とするバスシステム。
【請求項２】
バスに接続された複数のマスタ装置と、前記バスに接続された複数のスレーブ装置と、バスアービタとを備えたバスシステムにおいて、
前記バスアービタが、
バス使用要求を出力した複数のマスタ装置の中から予め固定的に定められているマスタ装置の優先順位に基づいてバス使用権を与えるマスタ装置を決定する調停手段を備え、
前記複数のスレーブ装置の内の一部のスレーブ装置が、
バス使用権を獲得したマスタ装置から前記バスを介して処理要求が送られてきたとき、他の処理要求に従った処理を実行中でなく、且つ前記マスタ装置が優先マスタ装置であれば、前記処理要求に従った処理を開始すると共に前記マスタ装置に待機レスポンスを返し、他の処理要求に従った処理を実行中であるか、或いは前記マスタ装置が優先マスタ装置でなければ、前記マスタ装置のマスタ番号を保持すると共に前記マスタ装置に待機レスポンスを返し、処理要求に従った処理が完了した後、前記保持しているマスタ番号の保持順に基づいて優先マスタ装置を決定すると共に、少なくとも前記処理が完了した処理要求の要求元のマスタ装置及び前記優先マスタ装置に待機解除通知を返す要求管理手段を備え、
前記各マスタ装置が、
自装置内に処理要求が発生したとき、前記バスアービタに対してバス使用要求を出力し、前記バスアービタによりバス使用権が与えられたとき、スレーブ装置に処理要求を出力し、スレーブ装置から待機レスポンスが送られてきたとき、前記バスを開放すると共にバス使用要求の出力が不可能な待機状態となり、スレーブ装置から待機解除通知が送られてきたときバス使用要求が出力可能な状態に復帰する制御手段を備えたことを特徴とするバスシステム。
【請求項３】
請求項２記載のバスシステムにおいて、
前記複数のスレーブ装置の内の一部のスレーブ装置が、
複数のマスタ番号を格納可能なマスタ番号保持レジスタと、
処理要求に従った処理を実行する処理手段と、
バス使用権を獲得したマスタ装置から前記バスを介して処理要求が送られてきたとき、前記処理手段が処理を実行中でなく、且つ前記マスタ装置が優先マスタ装置であれば、前記処理手段に前記処理要求に従った処理を実行させると共に前記マスタ装置に待機レスポンスを返し、前記処理手段が処理を実行中であるか、或いは前記マスタ装置が優先マスタ装置でなければ、前記マスタ装置のマスタ番号を処理要求の発生順に前記マスタ番号保持レジスタに格納すると共に前記マスタ装置に待機レスポンスを返し、前記処理手段が処理要求に従った処理を完了した後、前記マスタ番号保持レジスタに格納されているマスタ番号の格納順に基づいて優先マスタ装置を決定すると共に、少なくとも前記処理が完了した処理要求の要求元のマスタ装置及び前記優先マスタ装置に待機解除通知を返す要求管理手段とを備えたことを特徴とするバスシステム。
【請求項４】
請求項３記載のバスシステムにおいて、
前記要求管理手段が、
前記処理手段による処理が完了した場合、前記マスタ番号保持レジスタにマスタ番号が格納されているマスタ装置の内の、マスタ番号の格納順が最も古いマスタ装置を優先マスタ装置に決定すると共に、前記マスタ番号保持レジスタの内容を消去する構成を有することを特徴とするバスシステム。
【請求項５】
請求項３記載のバスシステムにおいて、
前記要求管理手段が、
前記処理手段による処理が完了した場合、前記マスタ番号保持レジスタに保持されている未選択のマスタ番号の内の、最も格納順が古いマスタ番号を選択し、該選択したマスタ番号のマスタ装置を優先マスタ装置とする構成を有することを特徴とするバスシステム。
【請求項６】
請求項３記載のバスシステムにおいて、
前記複数のスレーブ装置の内の一部のスレーブ装置が、
動作モードを第１モードにするのか、第２モードにするのかを設定するモード設定手段を備え、且つ、
前記要求管理手段が、
前記モード設定手段により第１モードが設定されている場合は、前記処理手段による処理が完了した場合、前記マスタ番号保持レジスタにマスタ番号が格納されているマスタ装置の内の、マスタ番号の格納順が最も古いマスタ装置を優先マスタ装置に決定すると共に、前記マスタ番号保持レジスタの内容を消去し、前記モード設定手段により第２モードが設定されている場合は、前記処理手段による処理が完了した場合、前記マスタ番号保持レジスタに保持されている未選択のマスタ番号の内の、最も格納順が古いマスタ番号を選択し、該選択したマスタ番号のマスタ装置を優先マスタ装置とする構成を有することを特徴とするバスシステム。
【請求項７】
請求項６記載のバスシステムにおいて、
前記モード設定手段が、第１モード及び第２モードに加え、第３モードも設定可能な構成を有し、且つ、
前記要求管理手段が、前記モード設定手段により第３モードが設定されている場合は、バス使用権を獲得したマスタ装置から前記バスを介して処理要求が送られてきたとき、前記処理手段が処理を実行中でなければ、前記処理手段に前記処理要求に従った処理を開始させると共に前記マスタ装置に待機レスポンスを返し、処理を実行中であれば、前記マスタ装置に待機レスポンスを返し、前記処理手段が処理要求に従った処理を完了したとき、前記処理要求の要求元のマスタ装置に待機解除通知を返す構成を有することを特徴とするバスシステム。
【請求項８】
バス使用権を獲得したマスタ装置からバスを介して処理要求が送られてきたとき、他の処理要求に従った処理を実行中でなく、且つ前記マスタ装置が優先マスタ装置であれば、前記処理要求に従った処理を開始すると共に前記マスタ装置に待機レスポンスを返し、他の処理要求に従った処理を実行中であるか、或いは前記マスタ装置が優先マスタ装置でなければ、前記マスタ装置のマスタ番号を保持すると共に前記マスタ装置に待機レスポンスを返し、処理要求に従った処理が完了した後、前記保持しているマスタ番号の保持順に基づいて優先マスタ装置を決定すると共に、少なくとも前記処理が完了した処理要求の要求元のマスタ装置及び前記優先マスタ装置に待機解除通知を返す要求管理手段を備えたことを特徴とするスレーブ装置。
【請求項９】
請求項８記載のスレーブ装置において、
複数のマスタ番号を格納可能なマスタ番号保持レジスタと、
処理要求に従った処理を実行する処理手段と、
バス使用権を獲得したマスタ装置からバスを介して処理要求が送られてきたとき、前記処理手段が処理を実行中でなく、且つ前記マスタ装置が優先マスタ装置であれば、前記処理手段に前記処理要求に従った処理を実行させると共に前記マスタ装置に待機レスポンスを返し、前記処理手段が処理を実行中であるか、或いは前記マスタ装置が優先マスタ装置でなければ、前記マスタ装置のマスタ番号を処理要求の発生順に前記マスタ番号保持レジスタに格納すると共に前記マスタ装置に待機レスポンスを返し、前記処理手段が処理要求に従った処理を完了した後、前記マスタ番号保持レジスタに格納されているマスタ番号の格納順に基づいて優先マスタ装置を決定すると共に、少なくとも前記処理が完了した処理要求の要求元のマスタ装置及び前記優先マスタ装置に待機解除通知を返す要求管理手段とを備えたことを特徴とするスレーブ装置。
【請求項１０】
請求項９記載のスレーブ装置において、
前記要求管理手段が、
前記処理手段による処理が完了した場合、前記マスタ番号保持レジスタにマスタ番号が格納されているマスタ装置の内の、マスタ番号の格納順が最も古いマスタ装置を優先マスタ装置に決定すると共に、前記マスタ番号保持レジスタの内容を消去する構成を有することを特徴とするスレーブ装置。
【請求項１１】
請求項９記載のスレーブ装置において、
前記要求管理手段が、
前記処理手段による処理が完了した場合、前記マスタ番号保持レジスタに保持されている未選択のマスタ番号の内の、最も格納順が古いマスタ番号を選択し、該選択したマスタ番号のマスタ装置を優先マスタ装置とする構成を有することを特徴とするスレーブ装置。
【請求項１２】
請求項９記載のスレーブ装置において、
前記複数のスレーブ装置の内の一部のスレーブ装置が、
動作モードを第１モードにするのか、第２モードにするのかを設定するモード設定手段を備え、且つ、
前記要求管理手段が、
前記モード設定手段により第１モードが設定されている場合は、前記処理手段による処理が完了した場合、前記マスタ番号保持レジスタにマスタ番号が格納されているマスタ装置の内の、マスタ番号の格納順が最も古いマスタ装置を優先マスタ装置に決定すると共に、前記マスタ番号保持レジスタの内容を消去し、前記モード設定手段により第２モードが設定されている場合は、前記処理手段による処理が完了した場合、前記マスタ番号保持レジスタに保持されている未選択のマスタ番号の内の、最も格納順が古いマスタ番号を選択し、該選択したマスタ番号のマスタ装置を優先マスタ装置とする構成を有することを特徴とするスレーブ装置。
【請求項１３】
請求項１２記載のスレーブ装置において、
前記モード設定手段が、第１モード及び第２モードに加え、第３モードも設定可能な構成を有し、且つ、
前記要求管理手段が、前記モード設定手段により第３モードが設定されている場合は、バス使用権を獲得したマスタ装置から前記バスを介して処理要求が送られてきたとき、前記処理手段が処理を実行中でなければ、前記処理手段に前記処理要求に従った処理を開始させると共に前記マスタ装置に待機レスポンスを返し、処理を実行中であれば、前記マスタ装置に待機レスポンスを返し、前記処理手段が処理要求に従った処理を完了したとき、前記処理要求の要求元のマスタ装置に待機解除通知を返す構成を有することを特徴とするスレーブ装置。
【請求項１４】
バスに接続された複数のマスタ装置と、前記バスに接続された複数のスレーブ装置と、バスアービタとを備えたバスシステムにおいて、
前記バスアービタが、
バス使用要求を出力した複数のマスタ装置の中から予め固定的に定められているマスタ装置の優先順位に基づいてバス使用権を与えるマスタ装置を決定する調停ステップを実行し、
前記複数のスレーブ装置の内の一部のスレーブ装置が、
バス使用権を獲得したマスタ装置から前記バスを介して処理要求が送られてきたとき、他の処理要求に従った処理を実行中でなく、且つ前記マスタ装置が優先マスタ装置であれば、前記処理要求に従った処理を開始すると共に前記マスタ装置に待機レスポンスを返し、他の処理要求に従った処理を実行中であるか、或いは前記マスタ装置が優先マスタ装置でなければ、前記マスタ装置のマスタ番号を保持すると共に前記マスタ装置に待機レスポンスを返し、処理要求に従った処理が完了した後、前記保持しているマスタ番号の保持順に基づいて優先マスタ装置を決定すると共に、少なくとも前記処理が完了した処理要求の要求元のマスタ装置及び前記優先マスタ装置に待機解除通知を返す要求管理ステップを実行し、
前記各マスタ装置が、
自装置内に処理要求が発生したとき、前記バスアービタに対してバス使用要求を出力し、前記バスアービタによりバス使用権が与えられたとき、スレーブ装置に処理要求を出力し、スレーブ装置から待機レスポンスが送られてきたとき、前記バスを開放すると共にバス使用要求の出力が不可能な待機状態となり、スレーブ装置から待機解除通知が送られてきたときバス使用要求が出力可能な状態に復帰する制御ステップを実行することを特徴とするバスシステム制御方法。
【請求項１５】
コンピュータを、
バス使用権を獲得したマスタ装置からバスを介して処理要求が送られてきたとき、他の処理要求に従った処理を実行中でなく、且つ前記マスタ装置が優先マスタ装置であれば、前記処理要求に従った処理を開始すると共に前記マスタ装置に待機レスポンスを返し、他の処理要求に従った処理を実行中であるか、或いは前記マスタ装置が優先マスタ装置でなければ、前記マスタ装置のマスタ番号を保持すると共に前記マスタ装置に待機レスポンスを返し、処理要求に従った処理が完了した後、前記保持しているマスタ番号の保持順に基づいて優先マスタ装置を決定すると共に、少なくとも前記処理が完了した処理要求の要求元のマスタ装置及び前記優先マスタ装置に待機解除通知を返す要求管理手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数台のマスタ装置と、複数台のスレーブ装置と、バスアービタとを備えたバスシステムに関し、特に、ライブロックが発生しないようにしたスレーブ装置と、ライブロックが発生する可能性はあるが、優先順位が高いマスタ装置が、優先的に使用できるスレーブ装置とを混在させたバスシステムに関する。
【背景技術】
【０００２】
データ処理装置の分野においては、従来から図２９に示すようなバスシステムが使用されている。図２９に示したバスシステムは、内部バス４に接続された複数台のマスタ装置１−１〜１−ｍ及びスレーブ装置２−１〜２−ｎと、各マスタ装置１−１〜１−ｍからのバス使用要求を調停するバスアービタ３とから構成されている。
【０００３】
ところで、バスアービタ３としては、従来から種々の方式のものが知られており、例えば、複数のマスタ装置からバス使用要求があった場合、予め固定的に定められている各マスタ装置の優先順位に従ってバス使用権を与えるマスタ装置を決定する優先順位方式のバスアービタが知られている。バスアービタ３として、このような優先順位方式のバスアービタを使用した場合、バスシステムの動作は次のようになる。
【０００４】
各マスタ装置１−１〜１−ｍは、スレーブ装置２−１〜２−ｎに対して処理要求（リード要求やライト要求）を送出する際、それに先立ってバスアービタ３に対してバス使用要求を出力する。
【０００５】
バスアービタ３は、複数のマスタ装置（例えば、マスタ装置１−１，１−２，１−３）から同時にバス使用要求が入力されると、予め固定的に定められているマスタ装置１−１〜１−ｍの優先順位（例えば、マスタ装置１−１＞マスタ装置１−２＞…＞マスタ装置１−ｍ）に基づいてバス使用権を与えるマスタ装置を決定し、そのマスタ装置に対してバス使用許可信号を出力する。この例の場合には、バス使用要求を出力したマスタ装置１−１，１−２，１−３の内、マスタ装置１−１の優先順位が最も高いので、バスアービタ３は、マスタ装置１−１に対してバス使用許可信号を出力する。
【０００６】
これにより、マスタ装置１−１は、スレーブ装置２−ｋ（１＜ｋ＜ｎ）に対して処理要求を出力し、スレーブ装置２−ｋは、マスタ装置１−１からの処理要求に従った処理を実行する。
【０００７】
上記処理が完了した後、マスタ装置１−１，１−２，１−３が再びバスアービタ３に対してバス使用要求を出力すると、この場合も優先順位が最も高いマスタ装置１−１にバス使用権が与えられ、マスタ１−１の処理要求が処理される。このように、バスアービタ３として優先順位方式のバスアービタを使用した場合には、優先順位の高いマスタ装置がスレーブ装置を優先的に使用することが可能になる。
【０００８】
また、優先順位方式のバスアービタ以外にも、複数個の優先順位パターンを用意しておき、調停処理を行う毎に、使用する優先順位パターンを切り替えるラウンドロビン方式のバスアービタも従来から知られている（例えば、特許文献１参照）。バスアービタ３として、このようなラウンドロビン方式のバスアービタを使用した場合の、バスシステムの動作は、次のようになる。
【０００９】
バスアービタ３は、マスタ装置１−１，１−２，１−３からバス使用要求が送られてくると、第１の優先順位パターン（マスタ装置１−１＞マスタ装置１−２＞マスタ装置１−３とする）を使用してバス使用権を与えるマスタ装置を決定し、そのマスタ装置にバス使用許可信号を出力する。この場合、マスタ装置１−１にバス使用権が与えられる。その後、バスアービタは、調停に使用する優先順位パターンを、第１の優先順位パターンから第２の優先順位パターン（マスタ装置１−２＞マスタ装置１−３＞マスタ装置１−１とする）に変更する。
【００１０】
バス使用権を獲得したマスタ装置１−１は、スレーブ装置２−ｋに処理要求を出し、スレーブ装置２−ｋは、マスタ装置１−１からの処理要求を処理する。
【００１１】
上記処理が完了した後、マスタ装置１−１，１−２，１−３が再びバスアービタ３に対してバス使用要求を出力すると、バスアービタ３は、第２の優先順位パターンを用いて、バス使用権を与えるマスタ装置を決定する。第２の優先順位パターンは、前述したように、マスタ装置１−２＞マスタ装置１−３＞マスタ装置１−１となっているので、マスタ装置１−２にバス使用権が与えられる。その後、バスアービタ３は、調停に使用する優先順位パターンを第３の優先順位パターン（マスタ装置１−３＞マスタ装置１−１＞マスタ装置１−２とする）に変更する。バス使用権を獲得したマスタ装置１−２は、スレーブ装置２−ｋに処理要求を出し、スレーブ装置２−ｋは、マスタ装置１−２からの処理要求を処理する。このように、ラウンドロビン方式のバスアービタを使用すると、各マスタ装置がスレーブ装置を均等に使用することが可能になる。
【特許文献１】特開平１１−７３３９７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上述したように、優先順位方式のバスアービタを採用したバスシステムでは、優先順位の高いマスタ装置が、優先的にスレーブ装置を利用することができるが、優先度の低いマスタ装置の処理要求が長時間受け付けられないというライブロックが発生する場合があるという問題がある。一方、ラウンドロビン方式のバスアービタを採用したバスシステムでは、ライブロックの発生を防止することができるが、特定のマスタ装置に優先的にスレーブ装置を利用させることができないという問題がある。このように、従来の技術では、バスアービタの仕様が、内部バスに接続されている全てのスレーブ装置に及ぶため、ライブロックを発生しないようにしたスレーブ装置と、優先順位が高いマスタ装置が優先的に使用できるスレーブ装置とを混在させたバスシステムを実現することはできなかった。
【００１３】
〔発明の目的〕
そこで、本発明の目的は、ライブロックが発生しないようにしたスレーブ装置を提供することにある。
【課題を解決するための手段】
【００１４】
本発明にかかる第１のバスシステムは、
バスに接続された複数のマスタ装置と、前記バスに接続された１または複数のスレーブ装置と、バスアービタとを備えたバスシステムにおいて、
前記バスアービタが、
バス使用要求を出力した複数のマスタ装置の中から予め固定的に定められている第一の優先順位に基づいてバス使用権を与えるマスタ装置を決定する調停手段を備え、
前記スレーブ装置が、
前記バスを介して入力された処理要求の入力順序に基づいてマスタ装置に対する第二の優先順位を決定する構成と、前記バスを介してバス使用権を獲得したマスタ装置から処理要求が送られてきたとき、前記第二の優先順位に基づいて前記マスタ装置から送られてきた処理要求を処理するか否かを決定すると共に要求元のマスタ装置に対して待機レスポンスを返す構成と、処理要求に従った処理が完了した後、少なくとも前記処理が完了した処理要求の要求元のマスタ装置及び待機レスポンスを返したマスタ装置の内の、第二の優先順位が最も高いマスタ装置に待機解除通知を返す構成とを有する要求管理手段を備え、
前記各マスタ装置が、
自装置内に処理要求が発生したとき、前記バスアービタに対してバス使用要求を出力し、前記バスアービタによりバス使用権が与えられたとき、スレーブ装置に処理要求を出力し、スレーブ装置から待機レスポンスが送られてきたとき、前記バスを開放すると共にバス使用要求の出力が不可能な待機状態となり、スレーブ装置から待機解除通知が送られてきたときバス使用要求が出力可能な状態に復帰する制御手段を備えたことを特徴とする。
【００１５】
本発明にかかる第２のバスシステムは、
バスに接続された複数のマスタ装置と、前記バスに接続された複数のスレーブ装置と、バスアービタとを備えたバスシステムにおいて、
前記バスアービタが、
バス使用要求を出力した複数のマスタ装置の中から予め固定的に定められているマスタ装置の優先順位に基づいてバス使用権を与えるマスタ装置を決定する調停手段を備え、
前記複数のスレーブ装置の内の一部のスレーブ装置が、
バス使用権を獲得したマスタ装置から前記バスを介して処理要求が送られてきたとき、他の処理要求に従った処理を実行中でなく、且つ前記マスタ装置が優先マスタ装置であれば、前記処理要求に従った処理を開始すると共に前記マスタ装置に待機レスポンスを返し、他の処理要求に従った処理を実行中であるか、或いは前記マスタ装置が優先マスタ装置でなければ、前記マスタ装置のマスタ番号を保持すると共に前記マスタ装置に待機レスポンスを返し、処理要求に従った処理が完了した後、前記保持しているマスタ番号の保持順に基づいて優先マスタ装置を決定すると共に、少なくとも前記処理が完了した処理要求の要求元のマスタ装置及び前記優先マスタ装置に待機解除通知を返す要求管理手段を備え、
前記各マスタ装置が、
自装置内に処理要求が発生したとき、前記バスアービタに対してバス使用要求を出力し、前記バスアービタによりバス使用権が与えられたとき、スレーブ装置に処理要求を出力し、スレーブ装置から待機レスポンスが送られてきたとき、前記バスを開放すると共にバス使用要求の出力が不可能な待機状態となり、スレーブ装置から待機解除通知が送られてきたときバス使用要求が出力可能な状態に復帰する制御手段を備えたことを特徴とする。
【００１６】
本発明にかかる第３のバスシステムは、第２のバスシステムにおいて、
前記複数のスレーブ装置の内の一部のスレーブ装置が、
複数のマスタ番号を格納可能なマスタ番号保持レジスタと、
処理要求に従った処理を実行する処理手段と、
バス使用権を獲得したマスタ装置から前記バスを介して処理要求が送られてきたとき、前記処理手段が処理を実行中でなく、且つ前記マスタ装置が優先マスタ装置であれば、前記処理手段に前記処理要求に従った処理を実行させると共に前記マスタ装置に待機レスポンスを返し、前記処理手段が処理を実行中であるか、或いは前記マスタ装置が優先マスタ装置でなければ、前記マスタ装置のマスタ番号を処理要求の発生順に前記マスタ番号保持レジスタに格納すると共に前記マスタ装置に待機レスポンスを返し、前記処理手段が処理要求に従った処理を完了した後、前記マスタ番号保持レジスタに格納されているマスタ番号の格納順に基づいて優先マスタ装置を決定すると共に、少なくとも前記処理が完了した処理要求の要求元のマスタ装置及び前記優先マスタ装置に待機解除通知を返す要求管理手段とを備えたことを特徴とする。
【００１７】
本発明にかかる第４のバスシステムは、第３のバスシステムにおいて、
前記要求管理手段が、
前記処理手段による処理が完了した場合、前記マスタ番号保持レジスタにマスタ番号が格納されているマスタ装置の内の、マスタ番号の格納順が最も古いマスタ装置を優先マスタ装置に決定すると共に、前記マスタ番号保持レジスタの内容を消去する構成を有することを特徴とする。
【００１８】
本発明にかかる第５のバスシステムは、第３のバスシステムにおいて、
前記要求管理手段が、
前記処理手段による処理が完了した場合、前記マスタ番号保持レジスタに保持されている未選択のマスタ番号の内の、最も格納順が古いマスタ番号を選択し、該選択したマスタ番号のマスタ装置を優先マスタ装置とする構成を有することを特徴とする。
【００１９】
本発明にかかる第６のバスシステムは、第３のバスシステムにおいて、
前記複数のスレーブ装置の内の一部のスレーブ装置が、
動作モードを第１モードにするのか、第２モードにするのかを設定するモード設定手段を備え、且つ、
前記要求管理手段が、
前記モード設定手段により第１モードが設定されている場合は、前記処理手段による処理が完了した場合、前記マスタ番号保持レジスタにマスタ番号が格納されているマスタ装置の内の、マスタ番号の格納順が最も古いマスタ装置を優先マスタ装置に決定すると共に、前記マスタ番号保持レジスタの内容を消去し、前記モード設定手段により第２モードが設定されている場合は、前記処理手段による処理が完了した場合、前記マスタ番号保持レジスタに保持されている未選択のマスタ番号の内の、最も格納順が古いマスタ番号を選択し、該選択したマスタ番号のマスタ装置を優先マスタ装置とする構成を有することを特徴とする。
【００２０】
本発明にかかる第７のバスシステムは、第６のバスシステムにおいて、
前記モード設定手段が、第１モード及び第２モードに加え、第３モードも設定可能な構成を有し、且つ、
前記要求管理手段が、前記モード設定手段により第３モードが設定されている場合は、バス使用権を獲得したマスタ装置から前記バスを介して処理要求が送られてきたとき、前記処理手段が処理を実行中でなければ、前記処理手段に前記処理要求に従った処理を開始させると共に前記マスタ装置に待機レスポンスを返し、処理を実行中であれば、前記マスタ装置に待機レスポンスを返し、前記処理手段が処理要求に従った処理を完了したとき、前記処理要求の要求元のマスタ装置に待機解除通知を返す構成を有することを特徴とする。
【００２１】
本発明にかかる第１のスレーブ装置は、
バス使用権を獲得したマスタ装置からバスを介して処理要求が送られてきたとき、他の処理要求に従った処理を実行中でなく、且つ前記マスタ装置が優先マスタ装置であれば、前記処理要求に従った処理を開始すると共に前記マスタ装置に待機レスポンスを返し、他の処理要求に従った処理を実行中であるか、或いは前記マスタ装置が優先マスタ装置でなければ、前記マスタ装置のマスタ番号を保持すると共に前記マスタ装置に待機レスポンスを返し、処理要求に従った処理が完了した後、前記保持しているマスタ番号の保持順に基づいて優先マスタ装置を決定すると共に、少なくとも前記処理が完了した処理要求の要求元のマスタ装置及び前記優先マスタ装置に待機解除通知を返す要求管理手段を備えたことを特徴とする。
【００２２】
本発明にかかる第２のスレーブ装置は、第１のスレーブ装置において、
複数のマスタ番号を格納可能なマスタ番号保持レジスタと、
処理要求に従った処理を実行する処理手段と、
バス使用権を獲得したマスタ装置からバスを介して処理要求が送られてきたとき、前記処理手段が処理を実行中でなく、且つ前記マスタ装置が優先マスタ装置であれば、前記処理手段に前記処理要求に従った処理を実行させると共に前記マスタ装置に待機レスポンスを返し、前記処理手段が処理を実行中であるか、或いは前記マスタ装置が優先マスタ装置でなければ、前記マスタ装置のマスタ番号を処理要求の発生順に前記マスタ番号保持レジスタに格納すると共に前記マスタ装置に待機レスポンスを返し、前記処理手段が処理要求に従った処理を完了した後、前記マスタ番号保持レジスタに格納されているマスタ番号の格納順に基づいて優先マスタ装置を決定すると共に、少なくとも前記処理が完了した処理要求の要求元のマスタ装置及び前記優先マスタ装置に待機解除通知を返す要求管理手段とを備えたことを特徴とする。
【００２３】
本発明にかかる第３のスレーブ装置は、第２のスレーブ装置において、
前記要求管理手段が、
前記処理手段による処理が完了した場合、前記マスタ番号保持レジスタにマスタ番号が格納されているマスタ装置の内の、マスタ番号の格納順が最も古いマスタ装置を優先マスタ装置に決定すると共に、前記マスタ番号保持レジスタの内容を消去する構成を有することを特徴とする。
【００２４】
本発明にかかる第４のスレーブ装置は、第２のスレーブ装置において、
前記要求管理手段が、
前記処理手段による処理が完了した場合、前記マスタ番号保持レジスタに保持されている未選択のマスタ番号の内の、最も格納順が古いマスタ番号を選択し、該選択したマスタ番号のマスタ装置を優先マスタ装置とする構成を有することを特徴とする。
【００２５】
本発明にかかる第５のスレーブ装置は、第２のスレーブ装置において、
前記複数のスレーブ装置の内の一部のスレーブ装置が、
動作モードを第１モードにするのか、第２モードにするのかを設定するモード設定手段を備え、且つ、
前記要求管理手段が、
前記モード設定手段により第１モードが設定されている場合は、前記処理手段による処理が完了した場合、前記マスタ番号保持レジスタにマスタ番号が格納されているマスタ装置の内の、マスタ番号の格納順が最も古いマスタ装置を優先マスタ装置に決定すると共に、前記マスタ番号保持レジスタの内容を消去し、前記モード設定手段により第２モードが設定されている場合は、前記処理手段による処理が完了した場合、前記マスタ番号保持レジスタに保持されている未選択のマスタ番号の内の、最も格納順が古いマスタ番号を選択し、該選択したマスタ番号のマスタ装置を優先マスタ装置とする構成を有することを特徴とする。
【００２６】
本発明にかかる第６のスレーブ装置は、第５のスレーブ装置において、
前記モード設定手段が、第１モード及び第２モードに加え、第３モードも設定可能な構成を有し、且つ、
前記要求管理手段が、前記モード設定手段により第３モードが設定されている場合は、バス使用権を獲得したマスタ装置から前記バスを介して処理要求が送られてきたとき、前記処理手段が処理を実行中でなければ、前記処理手段に前記処理要求に従った処理を開始させると共に前記マスタ装置に待機レスポンスを返し、処理を実行中であれば、前記マスタ装置に待機レスポンスを返し、前記処理手段が処理要求に従った処理を完了したとき、前記処理要求の要求元のマスタ装置に待機解除通知を返す構成を有することを特徴とする。
【００２７】
本発明にかかるバス制御方法は、
バスに接続された複数のマスタ装置と、前記バスに接続された複数のスレーブ装置と、バスアービタとを備えたバスシステムにおいて、
前記バスアービタが、
バス使用要求を出力した複数のマスタ装置の中から予め固定的に定められているマスタ装置の優先順位に基づいてバス使用権を与えるマスタ装置を決定する調停ステップを実行し、
前記複数のスレーブ装置の内の一部のスレーブ装置が、
バス使用権を獲得したマスタ装置から前記バスを介して処理要求が送られてきたとき、他の処理要求に従った処理を実行中でなく、且つ前記マスタ装置が優先マスタ装置であれば、前記処理要求に従った処理を開始すると共に前記マスタ装置に待機レスポンスを返し、他の処理要求に従った処理を実行中であるか、或いは前記マスタ装置が優先マスタ装置でなければ、前記マスタ装置のマスタ番号を保持すると共に前記マスタ装置に待機レスポンスを返し、処理要求に従った処理が完了した後、前記保持しているマスタ番号の保持順に基づいて優先マスタ装置を決定すると共に、少なくとも前記処理が完了した処理要求の要求元のマスタ装置及び前記優先マスタ装置に待機解除通知を返す要求管理ステップを実行し、
前記各マスタ装置が、
自装置内に処理要求が発生したとき、前記バスアービタに対してバス使用要求を出力し、前記バスアービタによりバス使用権が与えられたとき、スレーブ装置に処理要求を出力し、スレーブ装置から待機レスポンスが送られてきたとき、前記バスを開放すると共にバス使用要求の出力が不可能な待機状態となり、スレーブ装置から待機解除通知が送られてきたときバス使用要求が出力可能な状態に復帰する制御ステップを実行することを特徴とする。
【００２８】
本発明にかかるプログラムは、
コンピュータを、
バス使用権を獲得したマスタ装置からバスを介して処理要求が送られてきたとき、他の処理要求に従った処理を実行中でなく、且つ前記マスタ装置が優先マスタ装置であれば、前記処理要求に従った処理を開始すると共に前記マスタ装置に待機レスポンスを返し、他の処理要求に従った処理を実行中であるか、或いは前記マスタ装置が優先マスタ装置でなければ、前記マスタ装置のマスタ番号を保持すると共に前記マスタ装置に待機レスポンスを返し、処理要求に従った処理が完了した後、前記保持しているマスタ番号の保持順に基づいて優先マスタ装置を決定すると共に、少なくとも前記処理が完了した処理要求の要求元のマスタ装置及び前記優先マスタ装置に待機解除通知を返す要求管理手段として機能させる。
【００２９】
〔作用〕
バスアービタは、複数のマスタ装置ａ，ｂ，ｃ（優先順位がａ＞ｂ＞ｃであるとする）からバス使用要求があると、その内の最も優先順位の高いマスタ装置ａにバス使用権を与える。バス使用権を獲得したマスタ装置ａは、スレーブ装置に対して処理要求を送る。スレーブ装置は、マスタ装置ａからの処理要求に従った処理を開始すると共に、マスタ装置ａに待機レスポンスを返す。これにより、マスタ装置ａは、バスを開放し、待機状態となる。
【００３０】
バスが開放されるとバスアービタは、バスアービタに対してバス使用要求を出しているマスタ装置ｂ，ｃのうち、優先順位が高い方のマスタ装置ｂにバス使用権を与える。バス使用権を獲得したマスタ装置ｂは、スレーブ装置に処理要求を送る。スレーブ装置は、マスタ装置ａからの処理要求を処理中なので、マスタ装置ｂに待機レスポンスを返すと共に、マスタ装置ｂのマスタ番号を保持する。マスタ装置ｂは、待機レスポンスが返されると、バスを開放し、待機状態となる。
【００３１】
バスが開放されると、マスタ装置ｃがバスの使用権を獲得し、スレーブ装置に処理要求を送る。スレーブ装置は、マスタ装置ａからの処理要求を処理中なので、マスタ装置ｃに待機レスポンスを返すと共に、マスタ装置ｃのマスタ番号を保持する。マスタ装置ｃは、待機レスポンスが返されると、バスを開放し、待機状態となる。
【００３２】
その後、マスタ装置ａからの処理要求に対する処理が完了すると、スレーブ装置は、保持しているマスタ装置ｂ，ｃのマスタ番号に基づいて、マスタ装置ｂを優先マスタ装置にすることを決定する。更に、スレーブ装置は、各マスタ装置ａ，ｂ，ｃに待機解除通知を送る。
【００３３】
その後、各マスタ装置ａ，ｂ，ｃが、バスアービタに対してバス使用要求を行うと、優先順位の高いマスタ装置ａにバス使用権が与えられ、マスタ装置ａがスレーブ装置に対して処理要求を送る。しかし、スレーブ装置は、処理要求の要求元のマスタ装置ａが優先マスタ装置ｂでないので、上記処理要求は処理せず、要求元のマスタ装置ａに待機レスポンス返す。
【００３４】
その後、バス使用権を獲得したマスタ装置ｂから処理要求を送られてくると、マスタ装置ｂが優先マスタ装置なので、上記処理要求を処理する。
【発明の効果】
【００３５】
本発明によれば、ライブロックが発生しないスレーブ装置を実現することが可能になる。その理由は、スレーブ装置自身が、バスを介して入力された処理要求の入力順序に基づいてマスタ装置に対する第二の優先順位を決定する構成を有する要求管理手段を備えているからである。つまり、バスアービタによって決まる第一の優先順位と異なる、処理要求の入力順によって決まる第二の優先順位に従って各マスタ装置からの処理要求を処理するようにしているからである。
【発明を実施するための最良の形態】
【００３６】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００３７】
〔第１の実施の形態の構成〕
本発明にかかるバスシステムの第１の実施の形態は、図２９に示すバスシステムにおいて、マスタ装置１−１〜１−ｍ，スレーブ装置２−１〜２−ｎ及びバスアービタ３として、それぞれ図１，図２，図４に示す構成を有するマスタ装置，スレーブ装置，バスアービタを使用することにより実現される。
【００３８】
図１を参照すると、マスタ装置１−１〜１−ｍは、制御手段１１と、リード要求手段１２と、ライト要求手段１３と、応答受信手段１４と、バス獲得手段１５とを備えている。
【００３９】
リード要求手段１２は、制御手段１１の指示に従って、自マスタ装置を特定するマスタ番号（本実施の形態では、マスタ装置１−１〜１−ｍにそれぞれマスタ番号Ｍ１〜Ｍｍが付与されているとする）および処理の依頼先となるスレーブ装置を特定するスレーブ番号（本実施の形態では、スレーブ装置２−１〜２−ｎにそれぞれスレーブ番号ＳＬ１〜ＳＬｎが付与されているとする）を含んだリード要求を内部バス４へ出力する機能や、スレーブ装置から内部バス４を介して送られてくるリードデータを制御手段１１に渡す機能を有する。
【００４０】
ライト要求手段１３は、制御手段１１の指示に従って、自マスタ装置のマスタ番号および処理の依頼先となるスレーブ装置のスレーブ番号を含んだライト要求を内部バス４へ出力する機能や、制御手段１１の指示に従ってライトデータを内部バス４へ出力する機能を有する。
【００４１】
応答受信手段１４は、内部バス４を介してスレーブ装置２−１〜２−ｎから送られてくる待機レスポンスや待機解除通知を制御手段１１に渡す機能を有する。
【００４２】
バス獲得手段１５は、制御手段１１の指示に従ってバスアービタ３に対してバス使用要求を送信する機能や、バスアービタ３によってバス使用権が与えられたか否かを制御手段１１に通知する機能を有する。
【００４３】
制御手段１１は、各手段１２〜１５を制御する機能を有する。
【００４４】
なお、マスタ装置１−１〜１−ｍは、ＣＰＵ（コンピュータ）によって実現可能なものであり、コンピュータによって実現する場合は、例えば、次のようにする。コンピュータをマスタ装置として機能させるためのプログラムを記録したディスク，半導体メモリ，その他の記録媒体を用意し、上記プログラムをコンピュータに読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に制御手段１１，リード要求手段１２，ライト要求手段１３，応答受信手段１４およびバス獲得手段１５を実現する。
【００４５】
図２を参照すると、スレーブ装置２−１〜２−ｎは、要求管理手段２０と、リード処理手段２１と、リードバッファ有効フラグレジスタ２１１と、ライト処理手段２２と、リード用マスタ番号保持レジスタ２３と、ライト用マスタ番号保持レジスタ２４と、リード処理フラグ保持レジスタ２５と、ライト処理フラグ保持レジスタ２６と、ライトバッファ２７と、リードバッファ２８と、モード設定手段２９とを備えている。
【００４６】
要求管理手段２０は、要求種別判定手段２０１と、リード要求元管理手段２０２と、ライト要求元管理手段２０３と、リード用格納位置保持部２０４と、リード用読み出し位置保持部２０５と、ライト用格納位置保持部２０６と、ライト用読み出し位置保持部２０７とを備えている。
【００４７】
リード用マスタ番号保持レジスタ２３は、図３に示すように、１６個のエントリ＃０〜＃１５から構成される。各エントリ＃０〜＃１５には、それぞれエントリ番号「０」〜「１５」が付与されている。ライト用マスタ番号保持レジスタ２４もリード用マスタ番号保持レジスタ２３と同様に、１６個のエントリから構成される。
【００４８】
リード処理フラグレジスタ２５には、リード処理手段２１がリード処理を実行中であるか否かを示すリード処理フラグ（リード処理中は“１”となり、リード処理中でない場合は“０”となる）が格納される。ライト処理フラグレジスタ２６には、ライト処理手段２２がライト処理を実行中であるか否かを示すライト処理フラグ（ライト処理中は“１”となり、ライト処理中でない場合は“０”となる）が格納される。
【００４９】
リード用格納位置保持部２０４には、リード要求元管理手段２０２がマスタ番号をリード用マスタ番号保持レジスタ２３に格納する際の格納位置（エントリ番号）が保持される。
【００５０】
リード用読み出し位置保持部２０５には、リード要求元管理手段２０２が優先マスタ装置のマスタ番号をリード用マスタ番号保持レジスタ２３から読み出す際の読み出し位置（エントリ番号）が保持される。
【００５１】
ライト用格納位置保持部２０６には、ライト要求元管理手段２０３がマスタ番号をライト用マスタ番号保持レジスタ２４に格納する際の格納位置が保持される。
【００５２】
ライト用読み出し位置保持部２０７には、ライト要求元管理手段２０３が優先マスタ装置のマスタ番号をライト用マスタ番号保持レジスタ２４から読み出す際の読み出し位置が保持される。
【００５３】
リードバッファ有効フラグ保持レジスタ２１１には、リードバッファ２８に有効なリードデータが格納されているか否かを示すリードバッファ有効フラグ（有効なリードデータが格納されている場合は“１”となり、格納されていない場合は“０”となる）が格納されている。
【００５４】
モード設定手段２９は、例えば、３つの状態を取ることができるスイッチ等により実現されるものであり、動作モードを第１，第２，第３モードの何れにするのかを指定する。「第１モード」は、或るマスタ装置からの処理要求に従った処理を実行中に、他のマスタ装置から処理要求が入力された場合、最初に処理要求を出力したマスタ装置だけを優先させるモードである。「第２モード」は、或るマスタ装置からの処理要求に従った処理を実行中に、他のマスタ装置から処理要求が入力された場合、処理要求の入力順に優先させるマスタ装置を切り替えていくモードである。「第３モード」は、バスアービタ３の持つマスタ装置の優先順位に従って処理を行うモードである。
【００５５】
要求種別判定手段２０１は、内部バス４を介して自スレーブ装置に送られてきた処理要求がリード要求なのかライト要求なのかを判定し、リード要求であればリード要求元管理手段２０２に渡し、ライト要求であればライト要求元管理手段２０３に渡す機能を有する。
【００５６】
リード要求元管理手段２０２は、次のような機能を有する。
【００５７】
・リード処理手段２１がリード処理を実行している時に（リード処理フラグが“１”の時に）、要求種別判定手段２０１からリード要求が渡された場合、および、リード処理手段２１がリード処理を実行していない時に（リード処理フラグが“０”の時に）、要求種別判定手段２０１からリード要求が渡され、且つそのリード要求が優先マスタ装置（リード用読み出し位置保持部２０５が指し示しているリード用マスタ番号保持レジスタ２３中のエントリに格納されているマスタ番号のマスタ装置）以外のマスタ装置からのものである場合は、リード用マスタ番号保持レジスタ２３にリード要求元のマスタ番号を格納すると共に、待機レスポンスをリード要求元のマスタ装置に返す。なお、マスタ番号の格納位置は、リード用格納位置保持部２０４に保持されているエントリ番号のエントリとする。また、マスタ番号を格納後、リード要求元管理手段２０２は、リード用格納位置保持部２０４に保持されているエントリ番号を＋１する。但し、エントリ番号が「１５」である場合には、「０」に更新する。
【００５８】
・リード処理手段２１がリード処理を実行していないときに、要求種別判定手段２０１からリード要求が渡され、その要求元が優先マスタ装置である場合には、リードバッファ有効フラグレジスタ２１１を参照することにより、リードバッファ２８に有効なリードデータが格納されているか否かを調べる。そして、有効なリードデータが格納されていない場合（リードバッファ有効フラグが“０”の場合）は、リード要求をリード処理手段２１に渡すと共に要求元に待機レスポンスを返し、有効なリードデータが格納されている場合には、リード処理手段２１に対してリードデータの転送を指示する。
【００５９】
・リード処理手段２１に対してリードデータの転送を指示した後、モード設定手段２９に設定されている動作モードに応じて次のような処理を行う。動作モードが「第１モード」の場合は、リード用読み出し位置保持部２０５に保持されているエントリ番号をインクリメントすることにより、優先マスタ装置を変更する処理と、リード処理を待機中のマスタ装置に待機解除通知を送信する処理と、リード用格納位置保持部２０４に保持されているエントリ番号をリード用読み出し位置保持部２０５に保持されているエントリ番号の次のエントリ番号とすることにより、リード用マスタ番号保持レジスタ２３に登録されているマスタ番号を優先マスタ装置のマスタ番号のみにする処理とを行う。動作モードが「第２モード」の場合は、リード用読み出し位置保持部２０５に保持されているエントリ番号をインクリメントすることにより、優先マスタ装置を変更する処理と、優先マスタ装置に待機解除通知を送信する処理とを行う。動作モードが「第３モード」の場合は、リード処理を待機中のマスタ装置に待機解除を送信する処理と、リード用格納位置保持部２０４とリード用読み出し位置保持部２０５とに同一のエントリ番号（本実施の形態では、エントリ番号＃０とする）を格納することにより、リード用マスタ番号保持レジスタ２３に格納されているマスタ番号を全て削除する処理を行う。
【００６０】
・リード処理手段２１からリード処理の完了が通知された時、優先マスタ装置に待機解除を返す。以上が、リード要求元管理手段２０２が備えている主な機能である。
【００６１】
ライト要求元管理手段２０３は、次のような機能を有する。電源投入直後やリセット直後、あるいはアイドル時などの初期状態にあるときにライト要求があった場合には、ライト要求をライト処理手段２２に渡すが、初期状態にない場合には次のような動作となる。
【００６２】
・ライト処理手段２２がライト処理を実行している時（ライト処理フラグが“１”の時）に、要求種別判定手段２０１からライト要求が渡された場合、ライト用マスタ番号保持レジスタ２４にライト要求元のマスタ番号を格納すると共に、待機レスポンスをライト要求元のマスタ装置に返す。なお、マスタ番号の格納位置は、ライト用格納位置保持部２０６に保持されているエントリ番号のエントリとする。また、マスタ番号を格納後、ライト要求元管理手段２０３は、ライト用格納位置保持部２０７に保持されているエントリ番号を＋１する。但し、ライト用格納位置保持部２０７に保持されているエントリ番号が「１５」の場合には「０」に更新する。
【００６３】
・ライト処理手段２２がライト処理を実行していない時（ライト処理フラグが“０”の時）に、要求種別判定手段２０１からライト要求が渡された場合は、モード設定手段２９に設定されている動作モードに応じて次のような処理を行う。動作モードが「第１モード」の場合および「第２モード」の場合は、ライト要求の要求元が優先マスタ装置（ライト用読み出し位置保持部２０７が指し示しているライト用マスタ番号保持レジスタ２４中のエントリに格納されているマスタ番号のマスタ装置）であるか否かを調べる。そして、優先マスタ装置である場合は、ライト要求をライト処理手段２２に渡し、優先マスタ装置でない場合は、ライト用マスタ番号保持レジスタ２４のエントリの内の、ライト用格納位置保持部２０６が指し示しているエントリに、ライト要求元のマスタ番号を格納する。また、動作モードが「第３モード」の場合は、ライト要求をライト処理手段２２に渡す。
【００６４】
・ライト処理手段２２からライト処理完了が通知されたとき、モード設定手段２９に設定されている動作モードに応じた処理を行う。動作モードが「第１モード」の場合は、ライト処理を待機中のマスタ装置に待機解除を送信する処理や、ライト用格納位置保持部２０６に保持されているエントリ番号をライト用読み出し位置保持部２０７が保持しているエントリ番号の次のエントリ番号に更新することにより、ライト用マスタ番号保持レジスタ２４に格納されているマスタ番号を優先マスタ装置のマスタ番号のみにする処理を行う。動作モードが「第２モード」の場合は、優先マスタ装置に待機解除通知を送信する処理を行う。動作モードが「第３モード」の場合は、ライト処理を待機中のマスタ装置に待機解除通知を送信する処理や、ライト用格納位置保持部２０６とライト用読み出し位置保持部２０７に同一エントリ番号（本実施の形態では、エントリ番号＃０）を格納することにより、ライト用マスタ番号保持レジスタ２４に格納されているマスタ番号を全て削除する処理を行う。
【００６５】
リード処理手段２１は、リード要求元管理手段２０２から渡されたリード要求に従ってメモリ（図示せず）からデータを読み込み、読み込んだデータをリードバッファ２８に格納する機能や、リードバッファ２８へのデータの格納が完了したとき、リード要求元管理手段２０２に対してリード処理の完了を通知する機能や、リード要求元管理手段２０２からリードデータの転送が指示されたとき、リードバッファ２８に格納されているリードデータを内部バス４へ出力する機能や、リード要求元管理手段２０２からリード要求が渡されたとき、リード処理フラグレジスタ２５に設定されているリード処理フラグを“１”にし、リード処理が完了したときリード処理フラグを“０”にする機能を有する。
【００６６】
ライト処理手段２２は、ライト要求元管理手段２０３からライト要求が渡されたとき、内部バス４にライト許可を出力することにより、ライト要求元のマスタ装置にライトデータの転送動作を行わせる機能や、ライトバッファ２７に格納されたライトデータをライト要求に従ってメモリ（図示せず）に格納する機能や、ライト処理の完了をライト要求元管理手段２０３に通知する機能や、ライト要求元管理手段２０３からライト要求が渡されたとき、ライト処理フラグレジスタ２６に格納されているライト処理フラグを“１”にし、ライト処理が完了したときライト処理フラグを“０”にする機能を有する。
【００６７】
なお、スレーブ装置２−１〜２−ｎは、ＣＰＵ（コンピュータ）によって実現可能なものであり、コンピュータによって実現する場合は、例えば、次のようにする。コンピュータをスレーブ装置として機能させるためのプログラムを記録したディスク，半導体メモリ，その他のメモリを用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に、要求管理手段２０、リード処理手段２１およびライト処理手段２２を実現する。
【００６８】
図４を参照するとバスアービタ３は、調停手段３１と、優先順位保持部３２とを備えている。
【００６９】
優先順位保持部３２には、各マスタ装置１−１〜１−ｍの優先順位が格納されている。なお、本実施の形態では、マスタ装置の優先順位は、マスタ装置１−１＞マスタ装置１−２＞…＞マスタ装置１−ｍ（マスタ装置１−１が最も優先順位が高く、マスタ装置１−ｍが最も優先順位が低い）となっている。調停手段３１は、複数のマスタ装置から同時にバス使用要求があった場合、最も優先順位が高いマスタ装置にバス使用権を与える機能を有する。
【００７０】
〔実施の形態の動作〕
次に本実施の形態の動作について詳細に説明する。なお、以下の説明では、スレーブ装置２−１，２−２，２−３の動作モードがそれぞれ「第１モード」，「第２モード」，「第３モード」になっているとする。
【００７１】
〔第１モードの動作〕
【００７２】
今、例えば、３台のマスタ装置１−１，１−２，１−３において、スレーブ装置２−１（動作モード＝「第１モード」）に対するリード要求Ｒ１１，Ｒ２１，Ｒ３１が同時に発生したとする。各マスタ装置１−１〜１−３内の制御手段１１は、バス獲得手段１５を用いてバスアービタ３にバス使用要求を送る。バスアービタ３内の調停手段３１は、マスタ装置１−１〜１−３からバス使用要求が送られてくると、最も優先順位が高いマスタ装置１−１にバス使用権を与える。
【００７３】
マスタ装置１−１内の制御手段１１は、バス使用権を獲得すると、リード要求手段１２を用いて内部バス４上にリード要求Ｒ１１を出力する（図５参照）。このリード要求Ｒ１１には、マスタ装置１−１のマスタ番号Ｍ１と、スレーブ装置２−１のスレーブ番号ＳＬ１と、リードアドレスとが含まれている。
【００７４】
スレーブ装置２−１内の要求種別判定手段２０１は、マスタ装置１−１からの処理要求がリード要求であることを認識すると（図１１のステップＳ1111がＹＥＳ）、リード要求Ｒ１１をリード要求元管理手段２０２に渡す。
【００７５】
リード要求元管理手段２０２は、要求種別判定手段２０１からリード要求Ｒ１１が渡されると、それが電源投入後に最初に入力されたリード要求であるか否かを判断する（ステップＳ1112）。今、リード要求Ｒ１１が前述したような初期状態時に入力されたリード要求であるとすると、リード要求元管理手段２０２は、リード要求Ｒ１１をリード処理手段２１に渡す（ステップＳ1112がＹＥＳ，Ｓ1113）。
【００７６】
リード処理手段２１は、リード要求Ｒ１１が渡されると、図１６のフローチャートに示す処理を開始する。同図に示すように、リード処理手段２１は、リード要求Ｒ１１が渡されると、リード処理フラグレジスタ２５中のリード処理フラグを“１”にしてリード処理中であることを表示した後、リード要求Ｒ１１に従ってメモリからデータを読み込み、読み込んだデータをリードバッファ２８に格納する（ステップＳ161，Ｓ162）。なお、ライト処理手段２２が上記メモリに対してデータの書き込み処理を行っている場合は、ライト処理手段２２による書き込み処理が完了した後、上記メモリからデータを読み込む。その後、リード処理手段２１は、リード処理フラグを“０”にしてリード処理が完了したことを表示し、更に、リードバッファ有効フラグレジスタ２１１中のリードバッファ有効フラグを“１”とすることにより、リードバッファ２８に有効なリードデータが格納されていることを表示する（ステップＳ163，Ｓ164）。以上の処理が終了すると、リード要求手段２１は、リード要求元管理手段２０２に対してリード処理が完了したことを通知する（ステップＳ165）。なお、リード処理手段２１において上述した処理が行われている間も、リード要求元管理手段２０２においては以下の処理が並行して行われている。
【００７７】
リード要求元管理手段２０２は、図１１のステップＳ1113においてリード処理手段２１にリード要求Ｒ１１を渡すと、リード用格納位置保持部２０４からマスタ番号の格納位置（エントリ番号）を取得する（ステップＳ1114）。なお、電源投入時（初期状態）には、リード用格納位置保持部２０４には、エントリ番号「０」が保持されているとする。また、リード用読み出し位置保持部２０５，ライト用格納位置保持部２０６，ライト用読み出し位置保持部２０７にも電源投入時にはエントリ番号「０」が保持されているとする。
【００７８】
リード要求元管理手段２０２は、リード用格納位置保持部２０４からエントリ番号「０」を取得すると、リード用マスタ番号保持レジスタ２３のエントリ番号「０」のエントリ＃０にリード要求元のマスタ装置１−１のマスタ番号Ｍ１を書き込む（ステップＳ1115）。その後、リード要求元管理手段２０２は、リード用格納位置保持部２０４に保持されているエントリ番号「０」を＋１し、「１」にする（ステップＳ1116）。この時点でのリード用マスタ番号保持レジスタ２３の内容、リード用格納位置保持部２０４が示すマスタ番号の格納位置Ｗ、及びリード用読み出し位置保持部２０５が示すマスタ番号の読み出し位置Ｒは、図１９（Ａ）に示すものとなる。その後、リード要求元管理手段２０２は、リード要求元のマスタ装置１−１に待機レスポンスを返す（ステップＳ1117）。
【００７９】
マスタ装置１−１内の制御手段１１は、応答受信手段１４を介して待機レスポンスを受信すると、内部バス４を開放し、待機状態になる。待機状態中は、バスアービタ３に対してバス使用要求を出力不可能な状態になる。内部バス４が開放されると、バスアービタ３は、バス使用要求を出力しているマスタ装置１−２，１−３の内の優先順位が高いマスタ装置１−２にバス使用権を与える。マスタ装置１−２は、バス使用権を獲得すると、内部バス４にリード要求Ｒ２１を出力する。このリード要求には、マスタ装置１−２のマスタ番号Ｍ２と、スレーブ装置２−１のスレーブ番号ＳＬ１と、リードアドレスとが含まれている。
【００８０】
スレーブ装置２−１内の要求種別判定手段２０１は、マスタ装置１−２が内部バス４上に出力したリード要求Ｒ２１を取り込むと（Ｓ1111がＹＥＳ）、それをリード要求元管理手段２０２に渡す。
【００８１】
リード要求元管理手段２０２は、リード要求Ｒ２１が最初のリード要求でないので（ステップＳ1112がＮＯ）、リード処理フラグレジスタ２５を参照することにより、リード処理手段２１がリード処理を実行中であるか否かを調べる（ステップＳ1118）。この時点で、リード処理手段２１によるリード要求Ｒ１１の処理が完了していないとすると、ステップＳ1118の判断結果がＹＥＳとなるので、リード要求元管理手段２０２は、前述したステップＳ1114〜Ｓ1117の処理を行う。ステップＳ1114〜Ｓ1116の処理が行われることにより、リード用マスタ番号保持レジスタ２３の内容、リード用格納位置保持部２０４が指し示す格納位置Ｗ、及びリード用読み出し位置保持部２０５が指し示す読み出し位置Ｒは、図１９（Ｂ）に示すものとなる。また、ステップＳ1117の処理が行われることにより、リード要求Ｒ２１の要求元のマスタ装置１−２が待機状態となる。
【００８２】
その後、マスタ装置１−３がバス使用権を獲得し、内部バス４にリード要求Ｒ３１（マスタ装置１−３のマスタ番号Ｍ３と、スレーブ装置２−１のスレーブ番号ＳＬ１と、リードアドレスとを含む）を出力すると、スレーブ装置２−１内の要求種別判定手段２０１がリード要求Ｒ３１を取り込み、それをリード要求元管理手段２０２に渡す（ステップＳ1111がＹＥＳ）。
【００８３】
リード要求元管理手段２０２は、リード要求Ｒ３１が最初のリード要求でないので（ステップＳ1112がＮＯ）、リード処理フラグレジスタ２５を参照することにより、リード処理手段２１がリード処理を実行中であるか否かを調べる（ステップＳ1118）。この時点で、リード処理手段２１によるリード要求Ｒ１１の処理が完了していないとすると、ステップＳ1118の判断結果がＹＥＳとなるので、リード要求元管理手段２０２は、前述したステップＳ1114〜Ｓ1117の処理を行う。この結果、リード用マスタ番号保持レジスタ２３の内容、リード用格納位置保持部２０４が指し示す格納位置Ｗ、及びリード用読み出し位置保持部２０５が指し示す読み出し位置Ｒは、図１９（Ｃ）に示すものとなる。また、リード要求Ｒ３１の要求元のマスタ装置１−３が待機状態となる。
【００８４】
その後、リード処理手段２１がリード要求Ｒ１１に対する処理を完了し、リード要求元管理手段２０２に対してリード処理の完了を通知したとする。
【００８５】
リード要求元管理手段２０２は、リード処理手段２１からリード処理の完了が通知されると、図１４のフローチャートに示す処理を行う。ステップＳ141では、リード用読み出し位置保持部２０５からリード用読み出し位置（この例の場合、エントリ番号「０」）を取得する。ここで、リード用読み出し位置保持部２０５によって指し示されているリード用マスタ番号保持レジスタ２３のエントリには、優先マスタ装置のマスタ番号が登録されている。次のステップＳ142では、リード用マスタ番号保持レジスタ２３のエントリ番号「０」のエントリ＃０に登録されているマスタ番号を入力する。この例の場合、リード用マスタ番号保持レジスタ２３の内容は、図１９（Ｃ）に示すものとなっているので、リード要求元管理手段２０２は、優先マスタ装置のマスタ番号として「Ｍ１」を入力することになる。次のステップＳ143では、リード要求元管理手段２０２は、マスタ番号「Ｍ１」の優先マスタ装置１−１に対して待機解除通知を送る。
【００８６】
優先マスタ装置１−１内の制御手段１１は、応答受信手段１４を介して待機解除通知を受信すると、バス使用要求を出力可能な状態に復帰するので、バスアービタ３にバス使用要求を送り、バスアービタ３の調停によってバス使用権を獲得すると、待機中のリード要求Ｒ１１を内部バス４に出力する。
【００８７】
スレーブ装置２−１内の要求種別判定手段２０１は、マスタ装置１−１からのリード要求Ｒ１１をリード要求元管理手段２０２に渡す（図１１のステップＳ1111がＹＥＳ）。リード要求元管理手段２０２は、リード要求Ｒ１１が渡されると、それが最初のリード要求でないので、リード処理フラグレジスタ２５を参照し、リード処理手段２１がリード処理を実行しているか否かを調べる（ステップＳ1118）。この例では、リード処理手段２１は、リード要求Ｒ１１に対する処理を既に完了し、リード処理フラグレジスタ２５中のリード処理フラグを“０”にしているので、ステップＳ1118の判断結果はＮＯとなる。
【００８８】
ステップＳ1118の判断結果がＮＯとなると、現在の動作モードが「第３モード」でないので（ステップＳ1118-1がＮＯ）、リード要求元管理手段２０２は、リード用マスタ番号保持レジスタ２３のエントリの内の、リード用読み出し位置保持部２０５が指し示しているエントリから優先マスタ装置のマスタ番号を読み込む（ステップＳ1119，Ｓ1120）。この時点では、リード用読み出し位置保持部２０５にはエントリ番号「０」が登録され、また、リード用マスタ番号保持レジスタ２３の内容は図１９（Ｃ）に示すものであるので、リード要求元管理手段２０２は、優先マスタ装置のマスタ番号として「Ｍ１」を取得することになる。
【００８９】
その後、リード要求元管理手段２０２は、ステップＳ1120で取得した優先マスタ装置のマスタ番号「Ｍ１」と、要求種別判定手段２０１から渡されたリード要求Ｒ１１中のマスタ番号とが一致するか否かを調べる（ステップＳ1121）。この例の場合、リード要求Ｒ１１に含まれているマスタ番号は「Ｍ１」であるので、ステップＳ1121の判断結果はＹＥＳとなる。ステップＳ1121の判断結果がＹＥＳとなると、リード要求元管理手段２０２は、リードバッファ有効フラグレジスタ２１１を参照することにより、リードバッファ２８に有効なリードデータが格納されているか否かを調べる（ステップＳ1122）。この例の場合、リードバッファ有効フラグレジスタ２１１中のリードバッファ有効フラグは、“１”となっており、有効なリードデータが格納されていることを示しているので（ステップＳ1122がＹＥＳ）、リード要求元管理手段２０２はリード処理手段２１に対してリードデータの転送を指示した後、リードバッファ有効フラグを“０”とし、リードバッファ２８に有効なリードデータが格納されていないことを表示する（ステップＳ1123，Ｓ1124）。
【００９０】
一方、リード処理手段２１は、リード要求元管理手段２０２から転送指示が入力されると、図１７のフローチャートに示すように、リードバッファ２８に格納されているリードデータをマスタ装置１−１へ転送する（ステップＳ171）。また、マスタ装置１−１内の制御手段１１は、応答受信手段１４を介してリードデータを受信すると、内部バス４を開放する。
【００９１】
リード要求元管理手段２０２は、図１１のステップＳ1124の処理が終了すると、図１２のフローチャートに示す処理を行う。ステップＳ120では、モード設定手段２９によって設定されている動作モードが、「第１モード」，「第２モード」，「第３モード」の何れであるかを調べる。この例の場合、モード設定手段２９には、動作モードとして「第１モード」が設定されているので、リード要求元管理手段２０２は、リード処理を待機中のマスタ装置１−２，１−３に対して待機解除通知を送る（ステップＳ121）。なお、リード処理を待機中のマスタ装置は、リード用マスタ番号保持レジスタ２３，リード用格納位置保持部２０４，リード用読み出し位置保持部２０５の内容に基づいて求めることができる。即ち、リード用マスタ番号保持レジスタ２３中のエントリの内の、リード用読み出し位置保持部２０５が指し示しているエントリ＃０の次のエントリ＃１からリード用格納位置保持部２０４が指し示しているエントリ＃３の１つ前のエントリ＃２までに、マスタ番号Ｍ２，Ｍ３が格納されているマスタ装置１−２，１−３が、リード処理を待機しているマスタ装置となる（図１９（Ｃ）参照）。
【００９２】
その後、リード要求元管理手段２０２は、リード用読み出し位置保持部２０５に格納されているエントリ番号「０」を＋１して「１」に更新し、更に、リード用格納位置保持部２０４にリード用読み出し位置保持部２０５に格納されているエントリ番号「１」の次のエントリ番号「２」を格納する（ステップＳ122，Ｓ123）。この結果、リード用マスタ番号保持レジスタ２３の内容、リード用格納位置保持部２０４が指し示す格納位置Ｗ、及びリード用読み出し位置保持部２０５が指し示すリード位置Ｒは、図１９（Ｄ）に示すものとなる。即ち、上記したステップＳ122の処理を行うことにより、優先マスタ装置のマスタ番号が「Ｍ２」に変更されると共に、リード処理が完了したマスタ装置１−１のマスタ番号「Ｍ１」が消去されることになる。また、上記したステップＳ123の処理を行うことにより、マスタ装置１−３のマスタ番号「Ｍ３」が消去されることになる。
【００９３】
一方、待機解除通知を受信したマスタ装置１−２，１−３及び既に待機解除されているマスタ装置１−１は、バスアービタ３に対してバス使用要求を出力し、バスアービタ３は、優先順位が最も高いマスタ装置１−１にバス使用権を与える。マスタ装置１−１は、バス使用権を獲得すると、リード要求Ｒ１２（マスタ番号Ｍ１，スレーブ番号ＳＬ１，リードアドレスを含む）を内部バス４に出力する。
【００９４】
スレーブ装置２−１内の要求種別判定手段２０１は、リード要求Ｒ１２をリード要求元管理手段２０２に渡す（図１１のステップＳ1111がＹＥＳ）。リード要求元管理手段２０２は、リード要求Ｒ１２が最初のリード要求でもなく（ステップＳ1112がＮＯ）、リード処理手段２１がリード処理を実行中でもなく（ステップＳ1118がＮＯ）、動作モードが「第３モード」でもないので（ステップＳ1118-1がＮＯ）、リード用マスタ番号保持レジスタ２３のエントリ番号「１」のエントリ＃１に登録されている優先マスタ装置のマスタ番号Ｍ２と、リード要求Ｒ１２中のマスタ番号Ｍ１とを比較する（ステップＳ1119〜Ｓ1121）。この例の場合、両者が不一致なので（ステップＳ1121がＮＯ）、リード要求元管理手段２０２は、前述したステップＳ1114〜Ｓ1117の処理を行う。これにより、リード用マスタ番号保持レジスタ２３の内容、リード用格納位置保持部２０４が指し示す格納位置Ｗ、およびリード用読み出し位置保持部２０５が指し示す読み出し位置Ｒは、図１９（Ｅ）に示すものとなる。また、リード要求元のマスタ装置１−１に待機レスポンスが返される。マスタ装置１−１は、待機レスポンスが返されると、内部バス４を開放し、待機状態となる。
【００９５】
その後、バスアービタ３は、バス使用要求を出力しているマスタ装置１−２，１−３のうち、優先順位が高いマスタ装置１−２にバス使用権を与える。マスタ装置１−２は、バス使用権を獲得すると、リード要求Ｒ２１をスレーブ装置２−１に送信する。
【００９６】
スレーブ装置２−１内の要求種別判定手段２０１は、マスタ装置１−２からのリード要求Ｒ２１をリード要求元管理手段２０２に渡す（図１１のステップＳ1111がＹＥＳ）。リード要求元管理手段２０２は、リード要求Ｒ２１が最初のリード要求でもなく（ステップＳ1112がＮＯ）、リード処理手段２１がリード処理中でもなく（ステップＳ1118がＮＯ）、動作モードが「第３モード」でもないので（ステップＳ1118-1がＮＯ）、リード用マスタ番号保持レジスタ２３のエントリ番号「１」のエントリ＃１の格納されている優先マスタ装置のマスタ番号Ｍ２とリード要求２１中のマスタ装置Ｍ２とを比較する（ステップＳ1119〜Ｓ1121）。この例の場合、両者が共に「Ｍ２」であるので（ステップＳ1121がＹＥＳ）、リード要求元管理手段２０２は、リードバッファ有効フラグレジスタ２１１を参照し、リードバッファ２８に有効なリードデータが格納されているか否かを調べる（ステップＳ1122）。この例の場合、リードバッファ有効フラグは“０”となっており、リードバッファ２８に有効なデータが格納されていないことを示しているので（ステップＳ1122がＮＯ）、リード要求元管理手段２０２は、リード要求Ｒ２１をリード処理手段２１に渡した後（ステップＳ1113）、前述したステップＳ1114〜Ｓ1117の処理を行う。
【００９７】
リード処理手段２１は、リード要求Ｒ２１が渡されると、前述した図１６のフローチャートに示す処理を行う。また、ステップＳ1114〜Ｓ1116の処理が行われることにより、リード用マスタ番号保持レジスタ２３の内容、リード用格納位置保持部２０４が指し示す格納位置Ｗ、およびリード用読み出し位置保持部２０５が指し示す読み出し位置Ｒは、図１９（Ｆ）に示すものとなる。また、ステップＳ1117の処理が行われることにより、マスタ装置１−２に待機レスポンスが返される。マスタ装置１−２は、待機レスポンスが返されると、内部バス４を開放し、待機状態となる。
【００９８】
内部バス４が開放されると、待機状態になっていないマスタ装置１−３がバス使用権を獲得し、リード要求Ｒ３１をスレーブ装置２−１に対して出力する。
【００９９】
スレーブ装置２−１内の要求種別判定手段２０１は、リード要求Ｒ３１をリード要求元管理手段２０２に渡す（図１１のステップＳ1111がＹＥＳ）。リード要求元管理手段２０２は、リード要求Ｒ２１が最初のリード要求でなく（ステップＳ1112がＮＯ）、且つ、リード処理手段２１がリード処理を実行中なので（ステップＳ1118がＹＥＳ）、前述したステップＳ1114〜Ｓ1117の処理を行う。この結果、リード用マスタ番号保持レジスタ２３の内容、リード用格納位置保持部２０４が指し示す格納位置Ｗ、およびリード用読み出し位置保持部２０５が指し示す読み出し位置Ｒは、図１９（Ｇ）に示すものとなる。また、リード要求元のマスタ装置１−３へ待機レスポンスが返される。
【０１００】
その後、リード処理手段２１がリード要求Ｒ２１に従ったリード処理を完了し、リード要求元管理手段２０２に対してリード処理の完了を通知すると、リード要求元管理手段２０２は、図１４のステップＳ141〜Ｓ143の処理を行い、優先マスタ装置１−２に待機解除通知を返す。これにより、マスタ装置１−２は、バス使用権を獲得した後、リード要求Ｒ２１をスレーブ装置２−１へ送信する。
【０１０１】
スレーブ装置２−１内の要求種別判定手段２０１は、リード要求Ｒ２１をリード要求元管理手段２０２に渡す（図１１のステップＳ1111がＹＥＳ）。リード要求元管理手段２０２は、リード要求Ｒ２１が最初のリード要求でなく、リード処理手段２１がリード処理を実行中でなく、且つ「第３モード」でないので（ステップＳ1112，Ｓ1118，Ｓ1118-1が共にＮＯ）、リード用マスタ番号保持レジスタ２３のエントリ＃１に格納されている優先マスタ装置のマスタ番号Ｍ２と、リード要求Ｍ２とが一致するか否かを調べる（ステップＳ1121）。この場合、両者が一致するので（ステップＳ1121がＹＥＳ）、リードバッファ有効フラグレジスタ２１１を参照してリードバッファ２８に有効なデータが格納されているか否かを調べる（ステップＳ1122）。この例の場合、リードバッファ有効フラグレジスタ２１１には“１”が設定されているので（ステップＳ1122がＹＥＳ）、リード要求元管理手段２０２は、リード処理手段２１に対してリードデータの転送を指示した後、リードバッファ有効フラグを“０”に変更する（ステップＳ1123，Ｓ1124）。
【０１０２】
リード処理手段２１は、リードデータの転送が指示されると、図１７のフローチャートに示すように、リードバッファ２８に格納されているリードデータをマスタ装置１−２へ転送する（ステップＳ171）。
【０１０３】
一方、リード要求元管理手段２０２は、図１１のステップＳ1124の処理が終了すると、図１２のフローチャートに示す処理を行う。この場合、動作モードが「第１モード」に設定されているので（ステップＳ120）、リード要求元管理手段２０２は、前述したステップＳ121〜Ｓ123の処理を行う。これにより、リード用マスタ番号保持レジスタ２３の内容、リード用格納位置保持部２０４が指し示す格納位置Ｗ、およびリード用読み出し位置保持部２０５が指し示す読み出し位置Ｒは、図１９（Ｈ）に示すものとなる。即ち、優先マスタ装置のマスタ番号が「Ｍ１」に変更され、他のマスタ番号は全て消去されることになる。また、リード処理を待機中のマスタ装置１−１，１−３に待機解除が送られる。
【０１０４】
次に、３台のマスタ装置１−１，１−２，１−３において、同時にスレーブ装置２−１に対するライト要求Ｗ１１，Ｗ２１，Ｗ３１が発生した場合を例にとって、動作モードが「第１モード」の時の動作を説明する。
【０１０５】
マスタ装置１−１〜１−３は、ライト要求Ｗ１１，Ｗ２１，Ｗ３１が発生すると、バスアービタ３にバス使用要求を送り、バスアービタ３は、最も優先順位が高いマスタ装置１−１にバス使用権を与える。
【０１０６】
マスタ装置１−１内の制御手段１１は、バス使用権を獲得すると、ライト要求手段１３を使用して内部バス４上へライト要求Ｗ１１を出力する（図６参照）。このライト要求Ｗ１１には、マスタ番号Ｍ１と、スレーブ番号ＳＬ１と、ライトアドレスとが含まれている。
【０１０７】
スレーブ装置２−１内の要求種別判定手段２０１は、マスタ装置１−１からライト要求Ｗ１１が送られてくると（図１１のステップＳ1111がＮＯ）、それをライト要求元管理手段２０３に渡す。
【０１０８】
ライト要求元管理手段２０３は、ライト要求Ｗ１１が渡されると、それが電源投入後に渡された最初のライト要求であるか否かを判断する（図１３のステップＳ1301）。今、例えば、ライト要求Ｗ１１が最初のライト要求であるとすると（ステップＳ1301がＹＥＳ）、ライト要求元管理手段２０３は、ライト要求Ｗ１１をライト処理手段２２に渡す（ステップＳ1302）。
【０１０９】
ライト処理手段２２はライト要求Ｗ１１が渡されると、図１８のフローチャートに示す処理を実行する。図１８のステップＳ181では、ライト処理フラグレジスタ２６中のライト処理フラグを“１”に変更することにより、ライト処理中であることを表示し、次のステップＳ182では、ライト要求元のマスタ装置１−１にライト許可を返す。
【０１１０】
これにより、マスタ装置１−１内の制御手段１１は、ライト要求手段１３を利用して内部バス４にライトデータを出力し、その後、バスを開放する。
【０１１１】
マスタ装置１−１が出力したライトデータは、スレーブ装置２−１内のライトバッファ２７に格納される。ライト処理手段２２は、ライトバッファ２７に格納されているライトデータを、ライト要求Ｗ１１に従ってメモリに書き込む（ステップＳ183）。但し、リード処理手段２１が上記メモリからデータを読み出している場合は、リード処理手段２１の処理が終わるのを待って、データの書き込みを行う。
【０１１２】
また、バスアービタ３は、バス使用要求を出力しているマスタ装置１−２，１−３の内、優先順位が高いマスタ装置１−２にバス使用権を与える。バス使用権を獲得したマスタ装置１−２は、ライト要求Ｗ２１を内部バス４に出力する。このライト要求Ｗ２１には、マスタ番号Ｍ２と、スレーブ番号ＳＬ１と、ライトアドレスとが含まれている。
【０１１３】
スレーブ装置２−１内の要求種別判定手段２０１は、マスタ装置１−２からのライト要求Ｗ２１を受信すると、それをライト要求元管理手段２０３に渡す（図１１のステップＳ1111がＮＯ）。ライト要求元管理手段２０３はライト要求Ｗ２１が渡されると、それが最初のライト要求でないので（図１３のステップＳ1301がＮＯ）、ライト処理フラグレジスタ２６を参照することにより、ライト処理手段２２がライト処理を実行中であるか否かを判断する（ステップＳ1303）。今、ライト処理手段２２が、ライト要求Ｗ１１に従って図１８のステップＳ183の処理を行っているとすると、ライト処理フラグは“１”になっているので、ライト要求元管理手段２０３は、ライト用格納位置保持部２０６からマスタ番号の格納位置（初期状態においてはエントリ番号「０」になっている）を取得し、ライト用マスタ番号保持レジスタ２４のエントリ＃０にライト要求Ｗ２１の要求元のマスタ番号Ｍ２を格納する（ステップＳ1310，Ｓ1311）。その後、ライト要求元管理手段２０３は、ライト用格納位置保持部２０６に格納されているエントリ番号「０」を＋１して「１」に更新する（ステップＳ1312）。この結果、ライト用マスタ番号保持レジスタ２４の内容、ライト用格納位置保持部２０６が指し示す格納位置Ｗ、およびライト用読み出し位置保持部２０７が指し示す読み出し位置Ｒは、図２０（Ａ）に示すものとなる。その後、ライト要求元管理手段２０３は、ライト要求Ｗ２１の要求元のマスタ装置１−２に待機レスポンスを返す（ステップＳ1313）。
【０１１４】
これにより、マスタ装置１−２は、内部バス４を開放し、待機状態となる。また、内部バスが開放されることにより、マスタ装置１−３がバス使用権を獲得し、ライト要求Ｗ３１を内部バス４に出力する。ライト要求Ｗ３１には、マスタ番号Ｍ３，スレーブ番号ＳＬ１及びライトアドレスが含まれている。
【０１１５】
スレーブ装置２−１内の要求種別判定手段２０１は、マスタ装置１−３からのライト要求Ｗ３１を受信すると、それをライト要求元管理手段２０３に渡す（図１１のステップＳ1111がＮＯ）。ライト要求元管理手段２０３は、ライト要求Ｗ３１が最初のライト要求でないので（図１３のステップＳ1301がＮＯ）、ライト処理フラグレジスタ２６を参照することにより、ライト処理手段２２がライト処理を実行中であるか否かを調べる（ステップＳ1303）。今、例えば、ライト処理手段２２が、マスタ装置１−１からのライト要求Ｗ１１に従ったライト処理を実行中であるとすると（ステップＳ1303がＹＥＳ）、ライト要求元管理手段２０３は、前述したステップＳ1310〜Ｓ1313の処理を行う。これにより、ライト用マスタ番号保持レジスタ２４の内容、ライト用格納位置保持部２０６が指し示す格納位置Ｗ、ライト用読み出し位置保持部２０７が指し示す書き込み位置Ｒは、図２０（Ｂ）に示すものとなる。また、マスタ装置１−３に待機レスポンスが返される。マスタ装置１−３は、待機レスポンスが返されると、内部バス４を開放し、待機状態となる。
【０１１６】
その後、ライト処理手段２２がライト要求Ｗ１１に従ったライト処理を完了し、ライト要求元管理手段２０３に対してライト処理完了を通知したとする（図１８のステップＳ185）。
【０１１７】
ライト要求元管理手段２０３は、ライト処理手段２２からライト処理完了が通知されると、図１５のフローチャートに示す処理を行う。ライト要求元管理手段２０３は、ステップＳ151において、モード設定手段２９によって設定されている動作モードが「第１モード」であることを認識すると、待機中のマスタ装置１−２，１−３に待機解除通知を送信する（ステップＳ１５２）。その後、ライト要求元管理手段２０３は、ライト用格納位置保持部２０６に登録されているエントリ番号「２」を、ライト用読み出し位置保持部２０７に登録されているエントリ番号「０」の次のエントリ番号「１」に変更する（ステップＳ153）。この結果、ライト用格納位置保持部２０６が指し示す格納位置Ｗは、図２０（Ｃ）に示すように、エントリ＃２からエントリ＃1に変更される。即ち、ステップＳ153の処理を行うことにより、優先マスタ装置１−２以外のマスタ装置のマスタ番号は、ライト用マスタ番号保持レジスタ２４から消去されることになる。
【０１１８】
その後、マスタ装置１−１において、第２番目のライト要求Ｗ１２が発生したとする。マスタ装置１−１及び待機解除通知を受信したマスタ装置１−２，１−３は、バスアービタ３に対してバス使用要求を送信し、バスアービタ３は優先順位が高いマスタ装置１−１にバス使用権を与える。
【０１１９】
マスタ装置１−１は、バス使用権を獲得すると、ライト要求Ｗ１２をスレーブ装置２−１へ送信する。
【０１２０】
スレーブ装置２−１内のライト要求元管理手段２０３は、要求種別判定手段２０１を介してマスタ装置１−１からのライト要求Ｗ１２を受け取ると（図１１のステップＳ1111がＮＯ）、それが最初のライト要求でなく（ステップＳ1301がＮＯ）、且つ、ライト処理手段２２がライト処理を実行していないので（ステップＳ1303がＮＯ）、現在の動作モードを調べる（ステップＳ1304）。この例の場合、モード設定手段２９は、動作モードとして「第１モード」を設定しているので、ライト要求元管理手段２０３は、ライト用読み出し位置保持部２０７に格納されているエントリ番号「０」が指し示しているライト用マスタ番号保持レジスタ２４のエントリ＃０から優先マスタ装置のマスタ番号Ｍ２を取得する（ステップＳ1305，Ｓ1306）。その後、ライト要求元管理手段２０３は、ステップＳ1306で取得したマスタ番号Ｍ２とライト要求Ｗ１２の要求元のマスタ番号Ｍ１とが不一致であるので（ステップＳ1307がＮＯ）、前述したステップＳ1310〜1313の処理を行う。この結果、ライト用マスタ番号保持レジスタ２４の内容、ライト用格納位置保持部２０６が指し示す格納位置Ｗ、及びライト用読み出し位置保持部２０７が指し示す読み出し位置Ｒは、図２０（Ｄ）に示すものとなる。また、ライト要求元のマスタ装置１−１へ待機レスポンスが送られる。
【０１２１】
マスタ装置１−１は、待機レスポンスが送られてくると、内部バス４を開放し、待機状態となる。内部バス４が開放されると、バスアービタ３は、バス使用要求を出力しているマスタ装置１−２，１−３の内、優先順位が高いマスタ装置１−２にバス使用権を与える。マスタ装置１−２は、バス使用権を獲得すると、スレーブ装置２−１に対してライト要求Ｗ２１を送信する。
【０１２２】
スレーブ装置２−１内のライト要求元管理手段２０３は、要求種別判定手段２０１を介してライト要求Ｗ２１を受信すると（図１１のステップＳ1111がＮＯ）、ライト要求Ｗ２１が最初のライト要求ではなく（ステップＳ1301がＮＯ）、且つ、ライト処理手段２２がライト処理を実行中でないので（ステップＳ1303がＮＯ）、モード設定手段２９に設定されている動作モードを調べる（ステップＳ1304）。この場合、「第１モード」が設定されているので、ライト要求元管理手段２０３は、ライト用読み出し位置保持部２０７が指し示している、ライト用マスタ番号保持レジスタ２４中のエントリ＃０から優先マスタ装置のマスタ番号Ｍ２を取得し（図２０（Ｄ）参照）、ライト要求Ｗ２１中のマスタ番号Ｍ２と比較する（ステップＳ1307）。この場合、両者が一致するので、ライト要求元管理手段２０３は、ライト要求Ｗ２１をライト処理手段２２に渡す（ステップＳ1308）。これにより、ライト処理手段２２は、前述した図１８のステップＳ181〜Ｓ185の処理を実行し、マスタ装置１−２から送られてきたデータをメモリに書き込む。また、ライト要求元管理手段２０３は、ステップＳ1308を実行後、ライト用読み出し位置保持部２０７に格納されているエントリ番号「０」を＋１し、「１」に更新する（ステップＳ1309）。これにより、ライト用読み出し位置保持部２０７が指し示す読み出し位置Ｒは、図２０（Ｅ）に示すように、エントリ＃０からエントリ＃１に変更される。即ち、優先マスタ装置が、マスタ装置１−２からマスタ装置１−１に変更される。
【０１２３】
ライトデータの転送処理を終えたマスタ装置１−２が内部バス４を開放すると、マスタ装置１−３がバス使用権を獲得し、スレーブ装置２−１に対してライト要求Ｗ３１を出力する。
【０１２４】
スレーブ装置２−１内のライト要求元管理手段２０３は、要求種別判定手段２０１を介してライト要求Ｗ３１を受け取ると（図１１のステップＳ1111がＮＯ）、ライト要求Ｗ３１が最初のライト要求ではなく（図１３のステップＳ1301がＮＯ）、且つライト処理手段２２がライト処理を実行中であるので（ステップＳ1303がＹＥＳ）、前述したステップＳ1310〜Ｓ1313の処理を行う。この結果、ライト用マスタ番号保持レジスタ２４に内容、ライト用格納位置保持部２０６が指し示す格納位置Ｗ、及びライト用読み出し位置保持部２０７が指し示す読み出し位置Ｒは、図２０（Ｆ）に示すものとなる。
【０１２５】
その後、ライト処理手段２２がライト要求Ｗ２１に対する処理を完了すると、ライト要求元管理手段２０３は、前述した図１５のステップＳ151〜Ｓ153の処理を行う。これにより、待機中のマスタ装置１−１，１−３に対して待機解除通知が送られ、ライト用格納位置保持部２０６が指し示す書き込み位置が、図２０（Ｇ）に示すように、エントリ＃３からエントリ＃２に変更される。
【０１２６】
〔第２モードの動作〕
【０１２７】
今、例えば、３台のマスタ装置１−１，１−２，１−３において、動作モードが「第２モード」となっているスレーブ装置２−２に対するリード要求Ｒ１１，Ｒ２１，Ｒ３１が同時に発生したとする。各マスタ装置１−１〜１−３内の制御手段１１は、バスアービタ３にバス使用要求を送り、バスアービタ３は最も優先順位の高いマスタ装置１−１にバス使用権を与える。
【０１２８】
マスタ装置１−１は、バス使用権を獲得すると、スレーブ装置２−２に対してリード要求Ｒ１１を送信する（図７参照）。このリード要求Ｒ１１には、マスタ番号Ｍ１，スレーブ番号ＳＬ２，リードアドレスが含まれている。
【０１２９】
スレーブ装置２−２内の要求種別判定手段２０１は、マスタ装置１−１からの処理要求がリード要求であることを認識すると（図１１のステップＳ1111がＹＥＳ）、リード要求Ｒ１１をリード要求元管理手段２０２に渡す。
【０１３０】
リード要求元管理手段２０２は、要求種別判定手段２０１からリード要求Ｒ１１が渡されると、それが電源投入後に最初に入力されたリード要求であるか否かを判断する（ステップＳ1112）。今、リード要求Ｒ１１が電源投入後に最初に入力されたリード要求であるとすると、リード要求元管理手段２０２は、リード要求Ｒ１１をリード処理手段２１に渡す（ステップＳ1112がＹＥＳ，Ｓ1113）。
【０１３１】
リード処理手段２１は、リード要求Ｒ１１が渡されると、前述した図１６のフローチャートのステップＳ161〜165に示す処理を実行し、リード要求Ｒ１１によって要求されたデータをメモリから読み出し、リードバッファ２８に格納する。なお、リード処理手段２１において上述した処理が行われている間も、リード要求元管理手段２０２において以下の処理が並行して行われている。
【０１３２】
リード要求元管理手段２０２は、図１１のステップＳ1113においてリード処理手段２１にリード要求Ｒ１１を渡すと、リード用格納位置保持部２０４からマスタ番号の格納位置（初期状態においてはエントリ番号「０」になっている）を取得する（ステップＳ1114）。
【０１３３】
リード要求元管理手段２０２は、リード用格納位置保持部２０４からエントリ番号「０」を取得すると、リード用マスタ番号保持レジスタ２３のエントリ番号「０」のエントリ＃０にリード要求元のマスタ装置１−１のマスタ番号Ｍ１を書き込む（ステップＳ1115）。その後、リード要求元管理手段２０２は、リード用格納位置保持部２０４に保持されているエントリ番号「０」を＋１し、「１」にする（ステップＳ1116）。この時点でのリード用マスタ番号保持レジスタ２３の内容、リード用格納位置保持部２０４が示すマスタ番号の格納位置Ｗ、及びリード用読み出し位置保持部２０５が示すマスタ番号の読み出し位置Ｒは、図２１（Ａ）に示すものとなる。その後、リード要求元管理手段２０２は、リード要求元のマスタ装置１−１に待機レスポンスを返す（ステップＳ1117）。
【０１３４】
マスタ装置１−１は、待機レスポンスを受信すると、内部バス４を開放し、待機状態となる。内部バス４が開放されると、バスアービタ３は、バス使用要求を出力しているリード要求Ｒ２１，Ｒ３１の内、優先順位の高いマスタ装置１−２にバス使用権を与える。マスタ装置１−２は、バス使用権を獲得すると、内部バス４にリード要求Ｒ２１を出力する。このリード要求Ｒ２１には、マスタ装置１−２のマスタ番号Ｍ２と、スレーブ装置２−２のスレーブ番号ＳＬ２と、リードアドレスとが含まれている。
【０１３５】
スレーブ装置２−２内の要求種別判定手段２０１は、マスタ装置１−２が内部バス４上に出力したリード要求Ｒ２１を取り込むと（Ｓ1111がＹＥＳ）、それをリード要求元管理手段２０２に渡す。
【０１３６】
リード要求元管理手段２０２は、リード要求Ｒ２１が最初のリード要求でないので（ステップＳ1112がＮＯ）、リード処理フラグレジスタ２５を参照することにより、リード処理手段２１がリード処理を実行中であるか否かを調べる（ステップＳ1118）。この時点で、リード処理手段２１によるリード要求Ｒ１１の処理が完了していないとすると、ステップＳ1118の判断結果がＹＥＳとなるので、リード要求元管理手段２０２は、前述したステップＳ1114〜Ｓ1117の処理を行う。この結果、リード用マスタ番号保持レジスタ２３の内容、リード用格納位置保持部２０４が指し示す格納位置Ｗ、及びリード用読み出し位置保持部２０５が指し示す読み出し位置Ｒは、図２１（Ｂ）に示すものとなる。また、リード要求Ｒ２１の要求元のマスタ装置１−２も待機状態となる。
【０１３７】
その後、マスタ装置１−３がバス使用権を獲得し、内部バス４にリード要求Ｒ３１（マスタ装置１−３のマスタ番号Ｍ３と、スレーブ装置２−２のスレーブ番号ＳＬ２と、リードアドレスとを含む）を出力すると、スレーブ装置２−２内の要求種別判定手段２０１がリード要求Ｒ３１を取り込み、それをリード要求元管理手段２０２に渡す（ステップＳ1111がＹＥＳ）。
【０１３８】
リード要求元管理手段２０２は、リード要求Ｒ３１が最初のリード要求でないので（ステップＳ1112がＮＯ）、リード処理フラグレジスタ２５を参照することにより、リード処理手段２１がリード処理を実行中であるか否かを調べる（ステップＳ1118）。この時点で、リード処理手段２１によるリード要求Ｒ１１の処理が完了していないとすると、ステップＳ1118の判断結果がＹＥＳとなるので、リード要求元管理手段２０２は、前述したステップＳ1114〜Ｓ1117の処理を行う。この結果、リード用マスタ番号保持レジスタ２３の内容、リード用格納位置保持部２０４が指し示す格納位置Ｗ、及びリード用読み出し位置保持部２０５が指し示す読み出し位置Ｒは、図２１（Ｃ）に示すものとなる。また、リード要求Ｒ２１の要求元のマスタ装置１−２も待機状態となる。
【０１３９】
その後、リード処理手段２１がリード要求Ｒ１１に対する処理を完了し、リード要求元管理手段２０２に対してリード処理の完了を通知したとする。
【０１４０】
リード要求元管理手段２０２は、リード処理手段２１からリード処理の完了が通知されると、前述した図１４のフローチャートのステップＳ141〜143の処理を行い、優先マスタ装置１−１に対して待機解除通知を送る。
【０１４１】
優先マスタ装置１−１待機解除通知を受信すると、バスアービタ３に対してバス使用要求を送り、バスアービタ３によってバス使用権を獲得すると、待機中のリード要求Ｒ１１を内部バス４に出力する。
【０１４２】
スレーブ装置２−２内の要求種別判定手段２０１は、マスタ装置１−１からのリード要求Ｒ１１をリード要求元管理手段２０２に渡す（図１１のステップＳ1111がＹＥＳ）。リード要求元管理手段２０２は、リード要求Ｒ１１が渡されると、それが最初のリード要求でないので、リード処理フラグレジスタ２５を参照し、リード処理手段２１がリード処理を実行しているか否かを調べる（ステップＳ1118）。この例では、リード処理手段２１は、リード要求Ｒ１１に対する処理を既に完了し、リード処理フラグレジスタ２５中のリード処理フラグを“０”にしているので、ステップＳ1118の判断結果はＮＯとなる。
【０１４３】
ステップＳ1118の判断結果がＮＯとなると、「第３モード」でないので（ステップＳ1118-1がＮＯ）、リード要求元管理手段２０２は、リード用マスタ番号保持レジスタ２３のエントリの内の、リード用読み出し位置保持部２０５が指し示しているエントリから優先マスタ装置のマスタ番号を読み込む（ステップＳ1119，Ｓ1120）。この時点では、リード用読み出し位置保持部２０５にはエントリ番号「０」が登録され、また、リード用マスタ番号保持レジスタ２３の内容は図２１（Ｃ）に示すものであるので、リード要求元管理手段２０２は、優先マスタ装置のマスタ番号として「Ｍ１」を取得することになる。
【０１４４】
その後、リード要求元管理手段２０２は、ステップＳ1120で取得した優先マスタ装置のマスタ番号「Ｍ１」と、要求種別判定手段２０１から渡されたリード要求Ｒ１１中のマスタ番号とが一致するか否かを調べる（ステップＳ1121）。この例の場合、リード要求Ｒ１１に含まれているマスタ番号は「Ｍ１」であるので、ステップＳ1121の判断結果はＹＥＳとなる。ステップＳ1121の判断結果がＹＥＳとなると、リード要求元管理手段２０２は、リードバッファ有効フラグレジスタ２１１を参照することにより、リードバッファ２８に有効なリードデータが格納されているか否かを調べる（ステップＳ1122）。この例の場合、リードバッファ有効フラグレジスタ２１１中のリードバッファ有効フラグは、“１”となっており、有効なリードデータが格納されていることを示しているので（ステップＳ1122がＹＥＳ）、リード要求元管理手段２０２はリード処理手段２１に対してリードデータの転送を指示した後、リードバッファ有効フラグを“０”とし、リードバッファ２８に有効なリードデータが格納されていないことを表示する（ステップＳ1123，Ｓ1124）。
【０１４５】
一方、リード処理手段２１は、リード要求元管理手段２０２から転送指示が入力されると、図１７のフローチャートに示すように、リードバッファ２８に格納されているリードデータをマスタ装置１−１へ転送する（ステップＳ171）。また、マスタ装置１−１内の制御手段１１は、リードデータを受信すると、内部バス４を開放する。
【０１４６】
リード要求元管理手段２０２は、図１１のステップＳ1124の処理が終了すると、図１２のフローチャートに示す処理を行う。ステップＳ120では、モード設定手段２９によって設定されている動作モードが、「第１モード」，「第２モード」，「第３モード」の何れであるかを調べる。この例の場合、モード設定手段２９には、動作モードとして「第２モード」が設定されているので、ステップＳ124〜Ｓ126の処理を行う。ステップＳ124では、リード用読み出し位置保持部２０５に保持されているエントリ番号「０」を＋１して「１」の変更し、ステップＳ125では、リード用マスタ番号保持レジスタ２３のエントリ＃１から優先マスタ装置１−２のマスタ番号Ｍ２を入力し、ステップＳ126では、優先マスタ装置１−２に待機解除通知を送る。この時点での、リード用マスタ番号保持レジスタ２３の内容、リード用格納位置保持部２０４が指し示す格納位置Ｗ、及びリード用読み出し位置保持部２０５が指し示すリード位置Ｒは、図２１（Ｄ）に示すものとなる。即ち、上記したステップＳ124の処理を行うことにより、優先マスタ装置のマスタ番号が「Ｍ１」から「Ｍ２」に変更されることになる。
【０１４７】
一方、待機解除通知を受信したマスタ装置１−２及び既に待機解除されているマスタ装置１−１は、バスアービタ３に対してバス使用要求を出力し、バスアービタ３は、優先順位が最も高いマスタ装置１−１にバス使用権を与える。マスタ装置１−１は、バス使用権を獲得すると、リード要求Ｒ１２を内部バス４に出力する。
【０１４８】
スレーブ装置２−２内の要求種別判定手段２０１は、リード要求Ｒ１２をリード要求元管理手段２０２に渡す（図１１のステップＳ1111がＹＥＳ）。リード要求元管理手段２０２は、リード要求Ｒ１２が最初のリード要求でもなく（ステップＳ1112がＮＯ）、リード処理手段２１がリード処理を実行中でもなく（ステップＳ1118がＮＯ）、動作モードが「第３モード」でもないので（ステップＳ1118-1がＮＯ）、リード用マスタ番号保持レジスタ２３のエントリ番号「１」のエントリ＃１に登録されている優先マスタ装置のマスタ番号Ｍ２と、リード要求Ｒ１２中のマスタ番号Ｍ１とを比較する（ステップＳ1119〜Ｓ1121）。この例の場合、両者が不一致なので（ステップＳ1121がＮＯ）、リード要求元管理手段２０２は、前述したステップＳ1114〜Ｓ1117の処理を行う。これにより、リード用マスタ番号保持レジスタ２３の内容、リード用格納位置保持部２０４が指し示す格納位置Ｗ、およびリード用読み出し位置保持部２０５が指し示す読み出し位置Ｒは、図２１（Ｅ）に示すものとなる。また、リード要求元のマスタ装置１−１に待機レスポンスが返される。マスタ装置１−１は、待機レスポンスが返されると、内部バス４を開放し、待機状態となる。
【０１４９】
その後、待機解除状態にあるマスタ装置１−２がバス使用権を獲得し、リード要求Ｒ２１をスレーブ装置２−２に送信する。
【０１５０】
スレーブ装置２−２内の要求種別判定手段２０１は、マスタ装置１−２からのリード要求Ｒ２１をリード要求元管理手段２０２に渡す（図１１のステップＳ1111がＹＥＳ）。リード要求元管理手段２０２は、リード要求Ｒ２１が最初のリード要求でもなく（ステップＳ1112がＮＯ）、リード処理手段２１がリード処理中でもなく（ステップＳ1118がＮＯ）、「第３モード」でもないので（ステップＳ1118-1がＮＯ）、リード用マスタ番号保持レジスタ２３のエントリ番号「１」のエントリ＃１の格納されている優先マスタ装置のマスタ番号Ｍ２とリード要求２１中のマスタ装置Ｍ２とを比較する（ステップＳ1119〜Ｓ1121）。この例の場合、両者が共に「Ｍ２」であるので（ステップＳ1121がＹＥＳ）、リード要求元管理手段２０２は、リードバッファ有効フラグレジスタ２１１を参照し、リードバッファ２８に有効なリードデータが格納されているか否かを調べる（ステップＳ1122）。この例の場合、リードバッファ有効フラグは“０”となっており、リードバッファ２８に有効なデータが格納されていないことを示しているので（ステップＳ1122）、リード要求元管理手段２０２は、リード要求Ｒ２１をリード処理手段２１に渡した後（ステップＳ1113）、ステップＳ1114〜Ｓ1117の処理を行う。
【０１５１】
リード処理手段２１は、リード要求Ｒ２１が渡されると、前述した図１６のフローチャートに示す処理を行う。また、ステップＳ1114〜Ｓ1116の処理が行われることにより、リード用マスタ番号保持レジスタ２３の内容、リード用格納位置保持部２０４が指し示す格納位置Ｗ、およびリード用読み出し位置保持部２０５が指し示す読み出し位置Ｒは、図２１（Ｆ）に示すものとなる。また、ステップＳ1117の処理が行われることにより、マスタ装置１−２に待機レスポンスが返される。マスタ装置１−２は、待機レスポンスが返されると、内部バス４を開放し、待機状態となる。
【０１５２】
そのリード処理手段２１がリード要求Ｒ２１に従った処理を完了すると、リード要求元管理手段２０２は、優先マスタ装置１−２に待機解除通知を送信する（図１４のステップＳ141〜Ｓ143）。これにより、マスタ装置１−２は、バスアービタ３にバス使用要求を送り、バスアービタ３の調停によってバス使用権を獲得すると、待機中のリード要求Ｒ２１をスレーブ装置２−２へ送信する。
【０１５３】
スレーブ装置２−２内の要求種別判定手段２０１は、リード要求Ｒ２１をリード要求元管理手段２０２に渡す（図１１のステップＳ1111がＹＥＳ）。リード要求元管理手段２０２は、リード要求Ｒ２１が最初のリード要求でなく（ステップＳ1112がＮＯ）、リード処理手段２１がリード処理を実行中でなく（ステップＳ1118がＮＯ）、「第３モード」でないので（ステップＳ1118-1がＮＯ）、リード用マスタ番号保持レジスタ２３のエントリ＃１から優先マスタ装置１−２のマスタ番号Ｍ２を入力し、リード要求Ｒ２１中のマスタ番号Ｍ２と一致するか否かを調べる（ステップＳ1121）。この例の場合、両者は一致するので、リード要求元管理手段２０２は、リードバッファ有効フラグレジスタ２１１を参照することにより、リードバッファ２８に有効なデータが格納されていか否かを調べる（ステップＳ1122）。この時点では、リードバッファ有効フラグが“１”がなっているので、リード要求元管理手段２０２は、リード処理手段２１に対してリードデータの転送を指示した後、リードバッファ有効フラグを“０”に変更する（ステップＳ1123，Ｓ1124）。
【０１５４】
リード処理手段２１は、リードデータの転送が指示されると、リードバッファ２８に格納されているデータをマスタ装置１−２へ転送する（図１７のステップＳ171）。
【０１５５】
一方、リード要求元管理手段２０２は、図１１のステップＳ1124の処理が終了すると、図１２のステップＳ120，Ｓ124〜Ｓ126の処理を行う。これにより、リード用読み出し位置保持部２０５が指し示す優先マスタ装置のマスタ番号が、図２１（Ｇ）に示すように、「Ｍ２」から「Ｍ３」に更新されると共に、優先マスタ装置１−３に待機解除通知が送られる。
【０１５６】
マスタ装置１−３は、待機解除通知を受信すると、バスアービタ３にバス使用要求を送り、バスアービタ３の調停によってバス使用権を獲得すると、待機中のリード要求Ｒ３１をスレーブ装置２−２へ送信する。
【０１５７】
スレーブ装置２−２内の要求種別判定手段２０１は、リード要求Ｒ３１を受信すると、それをリード要求元管理手段２０２に渡す（図１１のステップＳ1111がＹＥＳ）。リード要求元管理手段２０２は、リード要求Ｒ３１が渡されると、それが最初のリード要求でなく（ステップＳ1112がＮＯ）、リード処理手段２１がリード処理を実行中でなく（ステップＳ1118がＮＯ）、「第３モード」でないので（ステップＳ1118-1がＮＯ）、リード要求Ｒ３１中のマスタ番号Ｍ３と、リード用読み出し位置保持部２０５が指し示している優先マスタ装置のマスタ番号とが一致しているか否かを調べる（ステップＳ1119〜Ｓ1121）。この場合、リード用読み出し位置保持部２０５は、図２１（Ｇ）に示すようにリード用マスタ番号保持レジスタ２３のエントリ＃２を指し示しており、このエントリ＃２にはマスタ番号「Ｍ３」が登録されているので、両者は一致する。そして、両者が一致することを認識すると、リード要求元管理手段２０２は、リードバッファ有効フラグレジスタ２１１を参照することによりリードバッファ２８に有効なデータが格納されているか否かを調べる（ステップＳ1122）。この場合、リードバッファ有効フラグは“０”となっているので、リード要求元管理手段２０２は、前述したステップＳ1113〜Ｓ1117の処理を行う。これにより、リード用マスタ番号保持レジスタ２３に内容、リード用格納位置保持部２０４が指し示す格納位置Ｗ、及びリード用読み出し位置保持部２０５が指し示す読み出し位置Ｒは、図２１（Ｈ）に示すものとなり、また、マスタ装置１−３に待機レスポンスが送られ、マスタ装置１−３は、内部バス４を開放し、待機状態となる。
【０１５８】
その後、リード処理手段２１がリード要求Ｒ３１に従った処理を完了すると、リード要求元管理手段２０２は、図１４のフローチャートのステップＳ141〜Ｓ143の処理を行い、優先マスタ装置１−３に待機解除を送信する。これにより、マスタ装置１−３は、バスアービタ３にバス使用要求を出力し、バスアービタ３の調停によってバス使用権を獲得すると、待機中のリード要求Ｒ３１をスレーブ装置２−２へ送信する。
【０１５９】
スレーブ装置２−２内のリード要求元管理手段２０２は、要求種別判定手段２０１を介してリード要求Ｒ３１を受け取ると（図１１のステップＳ1111がＹＥＳ）、リード要求Ｒ３１は最初のリード要求でなく（ステップＳ1112がＮＯ）、リード処理手段２１がリード処理を実行しておらず（ステップＳ1118がＮＯ）、「第３モード」でないので（ステップＳ1118-1がＮＯ）、リード用読み出し位置保持部２０５によって指し示されている優先マスタ装置のマスタ番号とリード要求Ｒ３１中のマスタ番号Ｍ３とを比較する（ステップＳ1121）。この場合、図２１（Ｈ）に示すように、リード用読み出し位置保持部２０５は、エントリ＃２を指し示しており、このエントリ＃２にはマスタ番号Ｍ３が格納されている。従って、ステップＳ1121の判断結果がＹＥＳとなるので、リード要求元管理手段２０２は、リードバッファ有効フラグレジスタ２１１を参照することにより、リードバッファ２８に有効なデータが格納されているか否かを調べる（ステップＳ1122）。この場合、リードバッファ有効フラグは“１”になっているので（ステップＳ1122がＹＥＳ）、リード要求元管理手段２０２は、リード処理手段２１に対してデータの転送を指示した後、リードバッファ有効フラグを“０”に変更する（ステップＳ1123，Ｓ1124）。
【０１６０】
リード処理手段２１は、データの転送が指示されると、リードバッファ２８に格納されているデータをマスタ装置１−３へ転送する（図１７のステップＳ171）。これにより、マスタ装置１−３は内部バス４を開放する。
【０１６１】
一方、スレーブ装置２−２内のリード要求元管理手段２０２は、図１１のステップＳ1124の処理が終了すると、図１２のステップＳ120，Ｓ124〜Ｓ126の処理を行う。これにより、図２０（Ｉ）に示すように、リード用読み出し位置保持部２０５が指し示す優先マスタ装置のマスタ番号が「Ｍ３」から「Ｍ１」に変更され、新たな優先マスタ装置１−１に待機解除通知が送られる。
【０１６２】
次に、３台のマスタ装置１−１，１−２，１−３において、同時にスレーブ装置２−２に対するライト要求Ｗ１１，Ｗ２１，Ｗ３１が発生した場合を例にとって、動作モードが「第２モード」の時の動作を説明する。
【０１６３】
マスタ装置１−１〜１−３は、ライト要求Ｗ１１，Ｗ２１，Ｗ３１が発生すると、バスアービタ３にバス使用要求を送り、バスアービタ３は、最も優先順位が高いマスタ装置１−１にバス使用権を与える。
【０１６４】
マスタ装置１−１内の制御手段１１は、バス使用権を獲得すると、内部バス４上へライト要求Ｗ１１を出力する（図８参照）。
【０１６５】
スレーブ装置２−２内のライト要求元管理手段２０３は、要求種別判定手段２０１を介してライト要求Ｗ１１を受信すると（図１１のステップＳ1111がＮＯ）、それが電源投入後に渡された最初のライト要求であるか否かを判断する（図１３のステップＳ1301）。今、例えば、ライト要求Ｗ１１が最初のライト要求であるとすると（ステップＳ1301がＹＥＳ）、ライト要求元管理手段２０３は、ライト要求Ｗ１１をライト処理手段２２に渡す（ステップＳ1302）。
【０１６６】
ライト処理手段２２はライト要求Ｗ１１が渡されると、前述した図１８のステップＳ181〜185の処理を実行し、マスタ装置１−１から送られてきたライトデータをメモリに書き込む。また、マスタ装置１−１は、ライトデータの転送処理が完了すると、内部バス４を開放する。
【０１６７】
マスタ装置１−１がバスを開放すると、バスアービタ３は、バス使用要求を出力しているマスタ装置１−２，１−３の内、優先順位が高いマスタ装置１−２にバス使用権を与える。バス使用権を獲得したマスタ装置１−２は、ライト要求Ｗ２１を内部バス４に出力する。
【０１６８】
スレーブ装置２−２内のライト要求元管理手段２０３は、要求種別判定手段２０１を介してライト要求Ｗ２１を受信すると（図１１のステップＳ1111がＮＯ）、ライト要求Ｗ２１が最初のライト要求でなく（図１３のステップＳ1301がＮＯ）、且つライト処理手段２２がライト処理を実行中であるので（ステップＳ1303がＹＥＳ）であるので、前述したステップＳ1310〜Ｓ1313の処理を実行する。この結果、ライト用マスタ番号保持レジスタ２４の内容、ライト用格納位置保持部２０６が指し示す格納位置Ｗ、およびライト用読み出し位置保持部２０７が指し示す読み出し位置Ｒは、図２２（Ａ）に示すものとなる。その後、ライト要求元管理手段２０３は、ライト要求Ｗ２１の要求元のマスタ装置１−２に待機レスポンスを返す（ステップＳ1313）。
【０１６９】
これにより、マスタ装置１−２は、内部バス４を開放し、待機状態となる。また、内部バス４が開放されることにより、マスタ装置１−３がバス使用権を獲得し、ライト要求Ｗ３１を内部バス４に出力する。
【０１７０】
スレーブ装置２−２内のライト要求元管理手段２０３は、要求種別判定手段２０１を介してライト要求Ｗ３１を受信すると（図１１のステップＳ1111がＮＯ）、ライト要求Ｗ３１が最初のライト要求でなく（図１３のステップＳ1301がＮＯ）、且つ、ライト処理手段２２がライト処理を実行中なので（ステップＳ1303がＹＥＳ）、前述したステップＳ1310〜Ｓ1313の処理を行う。これにより、ライト用マスタ番号保持レジスタ２４の内容、ライト用格納位置保持部２０６が指し示す格納位置Ｗ、ライト用読み出し位置保持部２０７が指し示す書き込み位置Ｒは、図２２（Ｂ）に示すものとなる。また、マスタ装置１−３に待機レスポンスが返される。マスタ装置１−３は、待機レスポンスが返されると、内部バス４を開放し、待機状態となる。
【０１７１】
その後、ライト処理手段２２がライト要求Ｗ１１に従ったライト処理を完了し、ライト要求元管理手段２０３に対してライト処理完了を通知したとする（図１８のステップＳ185）。
【０１７２】
ライト要求元管理手段２０３は、ライト処理手段２２からライト処理完了が通知されると、図１５のフローチャートに示す処理を行う。ライト要求元管理手段２０３は、ステップＳ151において、モード設定手段２９によって設定されている動作モードが「第２モード」であることを認識すると、ライト用読み出し位置保持部２０７に格納されているエントリ番号「０」に基づいて、ライト用マスタ番号保持レジスタ２４のエントリ＃０から優先マスタ装置のマスタ番号Ｍ２を入力し（ステップＳ154，Ｓ155）、上記マスタ番号Ｍ２によって特定されるマスタ装置１−２に待機解除通知を送信する（ステップＳ156）。
【０１７３】
その後、マスタ装置１−１において、第２番目のライト要求Ｗ１２が発生したとする。マスタ装置１−１及び待機解除通知を受信したマスタ装置１−２は、バスアービタ３に対してバス使用要求を送信し、バスアービタ３は優先順位が高いマスタ装置１−１にバス使用権を与える。マスタ装置１−１は、バス使用権を獲得すると、ライト要求Ｗ１２をスレーブ装置２−２へ送信する。
【０１７４】
スレーブ装置２−２内のライト要求元管理手段２０３は、要求種別判定手段２０１を介してマスタ装置１−１からのライト要求Ｗ１２を受け取ると（図１１のステップＳ1111がＮＯ）、それが最初のライト要求でなく（ステップＳ1301がＮＯ）、且つ、ライト処理手段２２がライト処理を実行していないので（ステップＳ1303がＮＯ）、現在の動作モードを調べる（ステップＳ1304）。この例の場合、モード設定手段２９は、動作モードとして「第２モード」を設定しているので、ライト要求元管理手段２０３は、ライト用読み出し位置保持部２０７に格納されているエントリ番号「０」が指し示しているライト用マスタ番号保持レジスタ２４のエントリ＃０から優先マスタ装置のマスタ番号Ｍ２を取得する（ステップＳ1305，Ｓ1306）。その後、ライト要求元管理手段２０３は、ステップＳ1306で取得したマスタ番号Ｍ２とライト要求Ｗ１２の要求元のマスタ番号Ｍ１とが不一致であるので、前述したステップＳ1310〜1313の処理を行う。この結果、ライト用マスタ番号保持レジスタ２４の内容、ライト用格納位置保持部２０６が指し示す格納位置Ｗ、及びライト用読み出し位置保持部２０７が指し示す読み出し位置Ｒは、図２２（Ｃ）に示すものとなる。また、ライト要求元のマスタ装置１−１へ待機レスポンスが送られる。
【０１７５】
マスタ装置１−１は、待機レスポンスが送られてくると、内部バス４を開放し、待機状態となる。内部バス４が開放されると、待機解除状態にあるマスタ装置１−２がバス使用権を獲得し、スレーブ装置２−２に対してライト要求Ｗ２１を送信する。
【０１７６】
スレーブ装置２−２内のライト要求元管理手段２０３は、要求種別判定手段２０１を介してライト要求Ｗ２１を受信すると（図１１のステップＳ1111がＮＯ）、ライト要求Ｗ２１が最初のライト要求ではなく（ステップＳ1301がＮＯ）、且つ、ライト処理手段２２がライト処理を実行中でないので（ステップＳ1303がＮＯ）、モード設定手段２９に設定されている動作モードを調べる（ステップＳ1304）。この場合、「第２モード」が設定されているので、ライト要求元管理手段２０３は、ライト用読み出し位置保持部２０７が指し示している、ライト用マスタ番号保持レジスタ２４中のエントリ＃０から優先マスタ装置のマスタ番号Ｍ２を取得し（図２２（Ｃ）参照）、ライト要求Ｗ２１中のマスタ番号Ｍ２と比較する（ステップＳ1307）。この場合、両者が一致するので（ステップＳ1307がＹＥＳ）、ライト要求元管理手段２０３は、ライト要求Ｗ２１をライト処理手段２２に渡す（ステップＳ1308）。これにより、ライト処理手段２２は、前述した図１８のステップＳ181〜Ｓ185の処理を実行し、マスタ装置１−２から送られてきたデータをメモリに書き込む。また、ライト要求元管理手段２０３は、ステップＳ1308を実行後、ライト用読み出し位置保持部２０７に格納されているエントリ番号「０」を＋１し、「１」に更新する（ステップＳ1309）。これにより、ライト用読み出し位置保持部２０７が指し示す読み出し位置Ｒは、図２２（Ｄ）に示すように、エントリ＃０からエントリ＃１に変更される。
【０１７７】
その後、ライト処理手段２２がライト要求Ｗ２１に対するライト処理を完了すると、前述した図１５のステップＳ151，Ｓ154〜Ｓ156の処理を行う。これにより、優先マスタ装置１−３に待機解除通知が送られる。待機解除通知を受けたマスタ装置１−３は、バス使用権を獲得した後、ライト要求Ｗ３１をスレーブ装置２−２へ送信する。
【０１７８】
スレーブ装置２−２内のライト要求元管理手段２０３は、要求種別判定手段２０１を介してライト要求Ｗ３１を受信すると（図１１のステップＳ1111がＮＯ）、ライト要求Ｗ３１が最初のライト要求ではなく（図１３のステップＳ1301がＮＯ）、ライト処理手段２２がライト処理を実行中でなく（ステップＳ1303がＮＯ）、且つ動作モードが「第２モード」であるので（ステップＳ1304）、ライト用読み出し位置保持部２０７が指し示しているライト用マスタ番号保持レジスタ２４のエントリ＃１に格納されている優先マスタ装置のマスタ番号Ｍ３（図２２（Ｄ）参照）と、ライト要求Ｗ３１中のマスタ番号Ｍ３とを比較する（ステップＳ1305〜Ｓ1307）。この場合、両者が一致するので（ステップＳ1307がＹＥＳ）、ライト要求元管理手段２０３は、マスタ装置１−３からのライト要求Ｗ３１をライト処理手段２２に渡す（ステップＳ1308）。ライト要求を渡されたライト処理手段２２は、前述した図１８のフローチャートに示す処理を実行する。また、ライト要求元管理手段２０３は、ステップＳ1308を実行後、ライト用読み出し位置保持部２０７に格納されているエントリ番号「１」を＋１し、「２」に更新する（ステップＳ1309）。この結果、ライト用読み出し位置保持部２０７が指し示す読み出し位置Ｒは、図２２（Ｅ）に示すように、エントリ＃１からエントリ＃２に変更される。即ち、マスタ番号Ｍ１のマスタ装置１−１が新たな優先マスタとなる。
【０１７９】
〔第３モードの動作〕
今、例えば、３台のマスタ装置１−１，１−２，１−３において、動作モードが「第３モード」となっているスレーブ装置２−３に対するリード要求Ｒ１１，Ｒ２１，Ｒ３１が発生したとする。各マスタ装置１−１〜１−３は、バスアービタ３にバス使用要求を送り、バスアービタ３は、最も優先順位が高いマスタ装置１−１にバス使用権を与える。マスタ装置１−１は、バス使用権を獲得すると、内部バス４上にリード要求Ｒ１１を出力する（図９参照）。
【０１８０】
スレーブ装置２−３内のリード要求元管理手段２０２は、要求種別判定手段２０１を介してリード要求Ｒ１１を受信すると（図１１のステップＳ1111がＹＥＳ）、それが電源投入後に最初に入力されたリード要求であるか否かを判断する（ステップＳ1112）。今、リード要求Ｒ１１が電源投入後に最初に入力されたリード要求であるとすると、リード要求元管理手段２０２は、リード要求Ｒ１１をリード処理手段２１に渡す（ステップＳ1112がＹＥＳ，Ｓ1113）。リード処理手段２１は、リード要求Ｒ１１が渡されると、前述した図１６のフローチャートに示す処理を実行する。
【０１８１】
リード要求元管理手段２０２は、ステップＳ1113を実行後、前述したステップＳ1114〜Ｓ1116の処理を行う。これにより、リード用マスタ番号保持レジスタ２３の内容、リード用格納位置保持部２０４が示すマスタ番号の格納位置Ｗ、及びリード用読み出し位置保持部２０５が示すマスタ番号の読み出し位置Ｒは、図２３（Ａ）に示すものとなる。その後、リード要求元管理手段２０２は、リード要求元のマスタ装置１−１に待機レスポンスを返す（ステップＳ1117）。
【０１８２】
マスタ装置１−１は、待機レスポンスを受信すると、内部バス４を開放し、待機状態となる。内部バス４が開放されると、バスアービタ３が、バス使用要求を出力しているマスタ装置１−２，１−３の内、優先順位の高いマスタ装置１−２にバス使用権を与える。マスタ装置１−２は、バス使用権を獲得すると、内部バス４にリード要求Ｒ２１を出力する。
【０１８３】
スレーブ装置２−３内のリード要求元管理手段２０２は、要求種別判定手段２０１を介してリード要求Ｒ２１を受信すると（Ｓ1111がＹＥＳ）、リード要求Ｒ２１が最初のリード要求でなく（ステップＳ1112がＮＯ）、且つリード処理手段２１がリード処理を実行中であるので（ステップＳ1118がＹＥＳ）、前述したステップＳ1114〜Ｓ1117の処理を行う。この結果、リード用マスタ番号保持レジスタ２３の内容、リード用格納位置保持部２０４が指し示す格納位置Ｗ、及びリード用読み出し位置保持部２０５が指し示す読み出し位置Ｒは、図２３（Ｂ）に示すものとなる。また、リード要求Ｒ２１の要求元のマスタ装置１−２も待機状態となる。
【０１８４】
その後、マスタ装置１−３がバス使用権を獲得し、内部バス４にリード要求Ｒ３１を出力すると、スレーブ装置２−３内の要求種別判定手段２０１がリード要求Ｒ３１を取り込み、それをリード要求元管理手段２０２に渡す（ステップＳ1111がＹＥＳ）。
【０１８５】
リード要求元管理手段２０２は、リード要求Ｒ３１が最初のリード要求でなく（ステップＳ1112がＮＯ）、且つ、リード処理手段２１がリード処理中なので（ステップＳ1118がＹＥＳ）、前述したステップＳ1114〜Ｓ1117の処理を行う。この結果、リード用マスタ番号保持レジスタ２３の内容、リード用格納位置保持部２０４が指し示す格納位置Ｗ、及びリード用読み出し位置保持部２０５が指し示す読み出し位置Ｒは、図２３（Ｃ）に示すものとなる。また、リード要求Ｒ３１の要求元のマスタ装置１−３も待機状態となる。
【０１８６】
その後、リード処理手段２１がリード要求Ｒ１１に対する処理を完了し、リード要求元管理手段２０２に対してリード処理の完了を通知したとする。
【０１８７】
リード要求元管理手段２０２は、リード処理手段２１からリード処理の完了が通知されると、図１４のフローチャートに示す処理を行い、優先マスタ装置１−１に待機解除通知を送信する。優先マスタ装置１−１は、待機解除通知を受信すると、バス使用権を獲得後、リード要求Ｒ１１を内部バス４に出力する。
【０１８８】
スレーブ装置２−３内のリード要求元管理手段２０２は、要求種別判定手段２０１を介してマスタ装置１−１からのリード要求Ｒ１１を受信すると（図１１のステップＳ1111がＹＥＳ）、リード要求Ｒ１１が最初のリード要求ではなく（ステップＳ1112がＮＯ）、リード処理手段２１がリード処理を実行中でないので（ステップＳ1118がＮＯ）、動作モードが「第３モード」であるか否かを調べる（ステップＳ1118-1）。この場合、「第３モード」なので、リードバッファ２８に有効なデータが格納されているか否かを調べる（ステップＳ1118-2）。この場合、有効なデータが格納されているので（ステップＳ1118-2がＹＥＳ）、リード要求元管理手段２０２はリード処理手段２１に対してリードデータの転送を指示した後、リードバッファ有効フラグを“０”とする（ステップＳ1123，Ｓ1124）。
【０１８９】
一方、リード処理手段２１は、リード要求元管理手段２０２から転送指示が入力されると、リードバッファ２８に格納されているリードデータをマスタ装置１−１へ転送する（図１７のステップＳ171）。また、マスタ装置１−１は、リードデータを受信すると、内部バス４を開放する。
【０１９０】
リード要求元管理手段２０２は、図１１のステップＳ1124の処理が終了すると、図１２のフローチャートに示す処理を行う。リード要求元管理手段２０２は、ステップＳ120で、動作モードが「第３モード」であることを認識すると、待機中のマスタ装置１−２，１−３に待機解除通知を送信する（ステップＳ127）。その後、リード要求元管理手段２０２は、リード用格納位置保持部２０４とリード用読み出し位置保持部２０５に同一のエントリ番号（本実施の形態では「０」とする）を格納する（ステップＳ128）。これにより、リード用マスタ番号保持レジスタ２３の内容、リード用格納位置保持部２０４が指し示す格納位置Ｗ、及びリード用読み出し位置保持部２０５が指し示すリード位置Ｒは、図２３（Ｄ）に示すものとなる。即ち、上記したステップＳ128の処理を行うことにより、リード用マスタ番号保持レジスタ２３に格納されていた全てのマスタ番号が削除されることになる。
【０１９１】
一方、待機解除通知を受信したマスタ装置１−２，１−３及び既に待機解除されているマスタ装置１−１は、バスアービタ３に対してバス使用要求を出力し、バスアービタ３は、優先順位が最も高いマスタ装置１−１にバス使用権を与える。マスタ装置１−１は、バス使用権を獲得すると、リード要求Ｒ１２を内部バス４に出力する。
【０１９２】
スレーブ装置２−３内のリード要求元管理手段２０２は、要求種別判定手段２０１を介してリード要求Ｒ１２を受信すると（ステップＳ1111がＹＥＳ）、リード要求Ｒ１２が最初のリード要求でもなく（ステップＳ1112がＮＯ）、リード処理手段２１がリード処理を実行中でもないので（ステップＳ1118がＮＯ）、動作モードが「第３モード」か否かを調べる（ステップＳ1181-1）。この場合、「第３モード」なので、リードバッファ２８に有効なデータが格納されているか否かを調べる（ステップＳ1181-2）。この場合、有効なデータが格納されていないので、ステップＳ1113〜Ｓ1117の処理を行う。これにより、リード用マスタ番号保持レジスタ２３の内容、リード用格納位置保持部２０４が指し示す格納位置Ｗ、およびリード用読み出し位置保持部２０５が指し示す読み出し位置Ｒは、図２３（Ｅ）に示すものとなる。また、リード要求元のマスタ装置１−１に待機レスポンスが返される。マスタ装置１−１は、待機レスポンスが返されると、内部バス４を開放し、待機状態となる。
【０１９３】
その後、バスアービタ３が、バス使用要求を出力しているマスタ装置１−２，１−３のうち、優先順位が高いマスタ装置１−２にバス使用権を与える。マスタ装置１−２は、バス使用権を獲得すると、リード要求Ｒ２１をスレーブ装置２−３に送信する。
【０１９４】
スレーブ装置２−３内のリード要求元管理手段２０２は、要求種別判定手段２０１を介してリード要求Ｒ２１を受信すると（ステップＳ1111がＹＥＳ）、それが最初のリード要求でなく（ステップＳ1112がＮＯ）、且つ、リード処理手段２１がリード処理中なので（ステップＳ1118がＹＥＳ）、前述したステップＳ1114〜Ｓ1117の処理を行う。これにより、リード用マスタ番号保持レジスタ２３の内容、リード用格納位置保持部２０４が指し示す格納位置Ｗ、及びリード用読み出し位置保持部２０５が指し示す読み出し位置Ｒは、図２３（Ｆ）に示すものとなる。また、マスタ装置１−２へ待機レスポンスが返され、マスタ装置１−２は内部バス４を開放し、待機状態となる。
【０１９５】
内部バス４が開放されると、待機状態になっていないマスタ装置１−３がバス使用権を獲得し、リード要求Ｒ３１をスレーブ装置２−３に対して出力する。
【０１９６】
スレーブ装置２−３内のリード要求元管理手段２０２は、要求種別判定手段２０１を介してリード要求Ｒ３１を受信すると（ステップＳ1111がＹＥＳ）、それが最初のリード要求でなく（ステップＳ1112がＮＯ）、且つ、リード処理手段２１がリード処理を実行中なので（ステップＳ1118がＹＥＳ）、前述したステップＳ1114〜Ｓ1117の処理を行う。この結果、リード用マスタ番号保持レジスタ２３の内容、リード用格納位置保持部２０４が指し示す格納位置Ｗ、およびリード用読み出し位置保持部２０５が指し示す読み出し位置Ｒは、図２３（Ｇ）に示すものとなる。また、リード要求元のマスタ装置１−３へ待機レスポンスが返される。
【０１９７】
その後、リード処理手段２１が、マスタ装置１−１から送られてきたリード要求Ｒ１２に従ったリード処理を完了し、リード要求元管理手段２０２に対してリード処理の完了を通知すると、リード要求元管理手段２０２は、図１４のステップＳ141〜Ｓ143の処理を行い、優先マスタ装置１−１に待機解除通知を返す。これにより、マスタ装置１−１は、バス使用権を獲得した後、リード要求Ｒ１２をスレーブ装置２−３へ送信する。
【０１９８】
スレーブ装置２−３内のリード要求元管理手段２０２は、要求種別判定手段２０１を介してマスタ装置１−１からのリード要求Ｒ１２を受信すると、ステップＳ1112がＮＯ、ステップＳ1118がＮＯ、ステップＳ1118-1がＹＥＳ、ステップＳ1118-2がＹＥＳとなるので、リード処理手段２１に対してリードデータの転送を指示した後、リードバッファ有効フラグを“０”に変更する（ステップＳ1123，Ｓ1124）。リード処理手段２１は、転送指示が与えられると、リードバッファ２８に格納されているリードデータをマスタ装置１−１へ転送する（図１７のステップＳ171）。一方、リード要求元管理手段２０２は、ステップＳ1124の処理を行った後、図１２のステップＳ120，Ｓ127，Ｓ128の処理を行う。これにより、リード用マスタ番号保持レジスタ２３の内容、リード用格納位置保持部２０４が指し示す格納位置Ｗ、及びリード用読み出し位置保持部２０５が指し示す読み出し位置Ｒは、図２３（Ｈ）に示すものとなる。即ち、リード用マスタ番号保持レジスタ２３に格納されているマスタ番号は、全て消去されたことになる。
【０１９９】
次に、３台のマスタ装置１−１，１−２，１−３において、同時にスレーブ装置２−３に対するライト要求Ｗ１１，Ｗ２１，Ｗ３１が発生した場合を例に挙げて、動作モードが「第３モード」の時の動作を説明する。
【０２００】
マスタ装置１−１〜１−３は、ライト要求Ｗ１１，Ｗ２１，Ｗ３１が発生すると、バスアービタ３にバス使用要求を送り、バスアービタ３は、最も優先順位が高いマスタ装置１−１にバス使用権を与える。マスタ装置１−１は、バス使用権を獲得すると、内部バス４上へライト要求Ｗ１１を出力する（図１０参照）。
【０２０１】
スレーブ装置２−３内のライト要求元管理手段２０３は、要求種別判定手段２０１を介してライト要求Ｗ１１を受信すると（図１１のステップＳ1111がＮＯ）、それが電源投入後に渡された最初のライト要求であるか否かを判断する（図１３のステップＳ1301）。今、例えば、ライト要求Ｗ１１が最初のライト要求であるとすると（ステップＳ1301がＹＥＳ）、ライト要求元管理手段２０３は、ライト要求Ｗ１１をライト処理手段２２に渡す（ステップＳ1302）。
【０２０２】
ライト処理手段２２はライト要求Ｗ１１が渡されると、前述した図１８のフローチャートに示す処理を実行する。また、マスタ装置１−１は、ライトデータを転送後、内部バス４を開放する。
【０２０３】
また、マスタ装置１−１がバスを開放すると、バスアービタ３は、バス使用要求を出力しているマスタ装置１−２，１−３の内、優先順位が高いマスタ装置１−２にバス使用権を与える。バス使用権を獲得したマスタ装置１−２は、ライト要求Ｗ２１を内部バス４に出力する。
【０２０４】
スレーブ装置２−３内のライト要求元管理手段２０３は、要求種別判定手段２０１を介してライト要求Ｗ２１を受信すると、それが最初のライト要求でなく（図１３のステップＳ1301がＮＯ）、且つライト処理手段２２がライト処理を実行中なので（ステップＳ1303がＹＥＳ）、前述したステップＳ1310〜Ｓ1312の処理を行う。この結果、ライト用マスタ番号保持レジスタ２４の内容、ライト用格納位置保持部２０６が指し示す格納位置Ｗ、およびライト用読み出し位置保持部２０７が指し示す読み出し位置Ｒは、図２４（Ａ）に示すものとなる。その後、ライト要求元管理手段２０３は、ライト要求Ｗ２１の要求元のマスタ装置１−２に待機レスポンスを返す（ステップＳ1313）。
【０２０５】
これにより、マスタ装置１−２は、内部バス４を開放し待機状態となる。また、内部バス４が開放されることにより、マスタ装置１−３がバス使用権を獲得し、ライト要求Ｗ３１を内部バス４に出力する。
【０２０６】
スレーブ装置２−３のライト要求元管理手段２０３は、要求種別判定手段２０１を介してライト要求Ｗ３１を受信すると、ステップＳ1301がＮＯ、ステップＳ1303がＹＥＳとなるので、前述したステップＳ1310〜Ｓ1312の処理を行う。これにより、ライト用マスタ番号保持レジスタ２４の内容、ライト用格納位置保持部２０６が指し示す格納位置Ｗ、ライト用読み出し位置保持部２０７が指し示す書き込み位置Ｒは、図２４（Ｂ）に示すものとなる。その後、ライト要求元管理手段２０３は、マスタ装置１−３に待機レスポンスを返す（ステップＳ1313）。これにより、マスタ装置１−３は、内部バス４を開放し、待機状態となる。
【０２０７】
その後、ライト処理手段２２がライト要求Ｗ１１に従ったライト処理を完了し、ライト要求元管理手段２０３に対してライト処理完了を通知したとする（図１８のステップＳ185）。
【０２０８】
ライト要求元管理手段２０３は、ライト処理手段２２からライト処理完了が通知されると、図１５のフローチャートに示す処理を行う。ライト要求元管理手段２０３は、ステップＳ151において、モード設定手段２９によって設定されている動作モードが「第３モード」であることを認識すると、待機中のマスタ装置１−２，１−３に待機解除通知を送り（ステップＳ157）、その後、ライト用格納位置保持部２０６とライト用読み出し位置保持部２０７に同一のエントリ番号（本実施の形態ではエントリ番号「０」とする）を書き込む（ステップＳ158）。この結果、ライト用マスタ番号保持レジスタ２４に内容は、図２４（Ｃ）に示すものとなる。即ち、ステップＳ158の処理を行うことにより、ライト用マスタ番号保持レジスタ２４に格納されていた全てのマスタ番号が削除されたことになる。
【０２０９】
その後、マスタ装置１−１において、第２番目のライト要求Ｗ１２が発生したとする。マスタ装置１−１及び待機解除通知を受信したマスタ装置１−２，１−３は、バスアービタ３に対してバス使用要求を送信し、バスアービタ３は優先順位が高いマスタ装置１−１にバス使用権を与える。マスタ装置１−１は、バス使用権を獲得すると、ライト要求Ｗ１２をスレーブ装置２−３へ送信する。
【０２１０】
スレーブ装置２−３内のライト要求元管理手段２０３は、要求種別判定手段２０１を介してマスタ装置１−１からのライト要求Ｗ１２を受け取ると（図１１のステップＳ1111がＮＯ）、それが最初のライト要求でなく（ステップＳ1301がＮＯ）、且つ、ライト処理手段２２がライト処理を実行していないので（ステップＳ1303がＮＯ）、現在の動作モードを調べる（ステップＳ1304）。この例の場合、モード設定手段２９は、動作モードとして「第３モード」を設定しているので（ステップＳ1304）、ライト要求元管理手段２０３は、ライト要求Ｗ１２をライト処理手段２２に渡す（ステップＳ1302）。
【０２１１】
ライト処理手段２２は、ライト要求Ｗ１２が渡されると、図１８のフローチャートに示す処理を行う。また、マスタ装置１−１は、ライトデータを転送後、内部バス４を開放状態にする。内部バスが開放されると、バスアービタ３は、バス使用要求を出力しているマスタ装置１−２，１−３の内、優先順位の高いマスタ装置１−２にバス使用権を与える。マスタ装置１−２は、バス使用権を獲得すると、ライト要求Ｗ２１をスレーブ装置２−３へ送信する。
【０２１２】
スレーブ装置２−３内のライト要求元管理手段２０３は、要求種別判定手段２０１を介してライト要求Ｗ２１を受信すると（ステップＳ1111がＮＯ）、ライト要求Ｗ２１が最初のライト要求でなく（ステップＳ1301がＮＯ）、且つ、ライト処理手段２２がライト処理中なので（ステップＳ1303がＹＥＳ）、前述したステップＳ1310〜Ｓ1312の処理を行う。これにより、ライト用マスタ番号保持レジスタ２４の内容、ライト用格納位置保持部２０６が指し示す格納位置Ｗ、及びライト用読み出し位置保持部２０７が指し示す読み出し位置Ｒは、図２４（Ｄ）に示すものとなる。その後、ライト要求元管理手段２０３は、マスタ装置１−２に対して待機レスポンスを返す（ステップＳ1313）。これにより、マスタ装置１−２は、内部バス４を開放し、待機状態になる。内部バス４が開放されると、マスタ装置１−３がバス使用権を獲得し、内部バス上にライト要求Ｗ３１を出力する。
【０２１３】
スレーブ装置２−３内のライト要求元管理手段２０３は、ライト要求Ｗ３１を受信すると、ステップＳ1111がＮＯ、ステップＳ1301がＮＯ、ステップＳ1303がＹＥＳとなるので、前述したステップＳ1310〜Ｓ1312の処理を行う。これにより、ライト用マスタ番号保持レジスタ２４に内容、ライト用格納位置保持部２０６が指し示す格納位置Ｗ、及びライト用読み出し位置保持部２０７が指し示す読み出し位置Ｒは、図２４（Ｅ）に示すものとなる。
【０２１４】
その後、ライト処理手段２２がライト要求Ｗ１２に従ったライト処理を完了すると、ライト要求元管理手段２０３は、図１５のフローチャートのステップＳ151，Ｓ157，Ｓ158の処理を行う。これにより、ライト用マスタ番号保持レジスタ２４の内容、ライト用格納位置保持部２０６が指し示す格納位置Ｗ、及びライト用読み出し位置保持部２０７が指し示す読み出し位置Ｒは、図２４（Ｆ）に示すものとなる。即ち、ライト用マスタ番号保持レジスタ２４に登録されているマスタ番号が全て削除されることになる。
【０２１５】
図２５（Ａ），（Ｂ），（Ｃ）は、それぞれ動作モードを「第１モード」，「第２モード」，「第３モード」とした場合の、スレーブ装置２−３における要求選択結果を示す図である。なお、図２５は、マスタ装置１−１が８個のリード要求Ｒ１１〜Ｒ１８を連続的に出力し、マスタ装置１−２が３個のリード要求Ｒ２１〜Ｒ２３を連続的に出力し、マスタ装置１−３が１個のリード要求Ｒ３１を出力した場合についてのものである。また、各マスタ装置１−１〜１−３の優先順位は、１マスタ装置１−１＞マスタ装置１−２＞マスタ装置１−３になっているとする。
【０２１６】
動作モードを「第１モード」とした場合は、図２５（Ａ）に示すように、優先順位が最も高いマスタ装置１−１において８個のリード要求Ｒ１１〜Ｒ１８が連続的に発生しても、２番目に優先順位が高いマスタ装置１−２で発生したリード要求Ｒ２１，Ｒ２２，Ｒ２３が時刻Ｔ２，Ｔ４，Ｔ６において選択されている。「第１モード」は、リード要求に従ったリード処理を実行中に最初に入力されたリード要求の要求元マスタ装置だけを優先させるため、マスタ装置１−３が出力したリード要求Ｒ３１は、マスタ装置１−２の処理が完了するまで、選択されることはない。しかし、マスタ装置１−２の処理が完了すれば、優先順位が最も高いマスタ装置１−１が処理中であっても、リード要求Ｒ３１は選択される（時刻Ｔ８）。
【０２１７】
動作モードを「第２モード」とした場合は、図２５（Ｂ）に示すように、優先順位が最も高いマスタ装置１−１において８個のリード要求Ｒ１１〜Ｒ１８が連続的に発生しても、２番目に優先順位が高いマスタ装置１−２で発生したリード要求Ｒ２１，Ｒ２２，Ｒ２３が時刻Ｔ２，Ｔ５，Ｔ７で選択され、最も優先順位が低いマスタ装置１−３で発生したリード要求も時刻Ｔ３で選択されている。
【０２１８】
動作モードを「第３モード」とした場合は、図２５（Ｃ）に示すように、先ず、最も優先順位が高いマスタ装置１−１のリード要求Ｒ１１〜Ｒ１８が時刻Ｔ１〜Ｔ８において選択され、その後、第２番目に優先順位が高いマスタ装置１−２のリード要求Ｒ２１〜Ｒ２３が時刻Ｔ９〜Ｔ１１において選択され、最後に、最も優先順位が低いマスタ装置１−３のリード要求が時刻Ｔ１２において選択される。このように、動作モードを「第３モード」とした場合には、各マスタ装置の優先順位の順番でリード要求が処理されることになる。
【０２１９】
なお、図２５では、リード要求の場合を例にとって説明したがライト要求の場合も、同様である。
【０２２０】
〔第１の実施の形態の効果〕
本実施の形態によれば、ライブロックが発生しないスレーブ装置を実現することが可能になる。その理由は、スレーブ装置自身が、内部バス４を介して入力された処理要求の入力順序に基づいてマスタ装置に対する第二の優先順位を決定する構成を有する要求管理手段２０を備えているからである。つまり、バスアービタによって決まる第一の優先順位と異なる、処理要求の入力順によって決まる第二の優先順位に従って各マスタ装置からの処理要求を処理するようにしているからである。
【０２２１】
また、本実施の形態によれば、ライブロックが発生しないようにしたスレーブ装置と、ライブロックが発生するのを承知の上で、優先順位が高いマスタ装置が優先的に使用できるスレーブ装置とを混在させたバスシステムを実現することが可能となる。その理由は、バスアービタとして、バス使用要求を出力した複数のマスタ装置の中から予め固定的に定められているマスタ装置の優先順位に基づいてバス使用権を与えるマスタ装置を決定するバスアービタ３を使用し、且つ内部バス４に接続されている一部のスレーブ装置に、マスタ装置から処理要求が送られてきたとき、他のマスタ装置からの処理要求に従った処理を実行中であれば、要求元のマスタ装置のマスタ番号を保持しておき、処理要求に従った処理が完了した後、保持しているマスタ番号に従って、次に優先的に処理要求を受け付ける優先マスタ装置を決定する要求管理手段２０を設けたからである。
【０２２２】
また、本実施の形態によれば、１台のスレーブ装置を、優先順位の高いマスタ装置からの処理要求を優先的に受け付けるスレーブ装置として動作させることも、ライブロックが発生しないようにしたスレーブ装置として動作させることも可能になる。その理由は、要求管理手段２０の動作モードを切り替えるモード切り替え手段２９を備えているからである。
【０２２３】
〔発明の第２の実施の形態〕
本発明の第２の実施の形態は、図２９において、図２に示したスレーブ装置２−１〜２−ｎの代わりに、図２６に示すスレーブ装置２−１ａ〜２−ｎａを使用することにより実現される。
【０２２４】
スレーブ装置２−１ａ〜２−ｎａと、スレーブ装置２−１〜２−ｎとの相違点は、特定マスタ設定手段３０が追加されている点、要求管理手段２０の代わりに要求管理手段２０ａを備えている点、リード要求元管理手段２０２の代わりにリード要求元管理手段２０２ａを備えている点、及びライト要求元管理手段２０３の代わりにライト要求元管理手段２０３ａを備えている点である。
【０２２５】
特定マスタ設定手段３０には、利用者によって、処理要求を優先的に処理するマスタ装置（優先マスタ装置）のマスタ番号が１個設定される。
【０２２６】
要求管理手段２０ａは、リード要求元管理手段２０２，ライト要求元管理手段２０３の代わりにリード要求元管理手段２０２ａ，ライト要求元管理手段２０３ａを備えている点が、要求管理手段２０と相違している。
【０２２７】
リード要求元管理手段２０２ａは、図１２のステップＳ124〜Ｓ126の代わりに、図２７のステップＳ271〜Ｓ276の処理を行う点がリード要求元管理手段２０２と相違している。
【０２２８】
ライト要求元管理手段２０３ａは、図１５のステップＳ152，Ｓ153の代わりに図２８のステップＳ281〜Ｓ286の処理を行う点がライト要求元管理手段２０３と相違している。
【０２２９】
以下では、この相違部分についてのみ説明する。
【０２３０】
利用者は、動作モードを「第１モード」に設定したスレーブ装置において、優先的に処理要求を受け付けるマスタ装置（特定マスタ装置）を設定したい場合は、特定マスタ設定手段３０を用いて特定マスタ装置のマスタ番号を設定する。例えば、スレーブ装置２−１において、マスタ装置１−３からの処理を優先的に受け付けるようにする場合には、特定マスタ手段３０を用いてマスタ装置１−３のマスタ番号Ｍ３を設定しておく。
【０２３１】
リード要求元管理手段２０２ａは、図１２のステップＳ120において、スレーブ装置２−１の動作モードが「第１モード」であると認識すると、ステップＳ124〜Ｓ126の代わりに、図２７のステップＳ271〜Ｓ276の処理を行う。
【０２３２】
ステップＳ271では、特定マスタ設定手段３０に特定マスタ装置のマスタ番号が設定されているか否かを調べる。そして、特定マスタ番号が設定されていない場合（ステップＳ271がＮＯ）は、図１２のステップＳ121〜Ｓ123と同様の処理を行う。これに対して、特定マスタ番号が設定されている場合は、リード用マスタ番号保持レジスタ２３に特定マスタ番号が格納されているか否かを調べる（ステップＳ271-1）。そして、格納されていない場合（ステップＳ271-1がＮＯ）は、ステップＳ276の処理を行う。これに対して格納されている場合（ステップＳ271-1がＹＥＳ）は、リード用マスタ番号保持レジスタ２３のエントリの内の、リード用読み出し位置保持部２０５が指し示しているエントリの次のエントリに特定マスタ装置のマスタ番号を格納し、その後、リード用読み出し位置保持部２０５に保持されているエントリ番号を＋１する（ステップＳ272，Ｓ273）。これにより、特定マスタ装置からのリード要求を優先的に受け付ける状態（特定マスタ装置が優先マスタ装置となる）になる。その後、リード要求元管理手段２０２ａはリード用格納位置保持部２０４に格納されているエントリ番号を、リード用読み出し位置保持部２０５が指し示しているエントリの次のエントリ番号に更新する（ステップＳ274）。これにより、リード用マスタ番号保持レジスタ２３から特定マスタ装置のマスタ番号以外が消去されることになる。その後、リード要求元管理手段２０２ａは、待機中のマスタ装置に待機解除を返す（ステップＳ275）。
【０２３３】
また、ライト要求元管理手段２０３ａは、図１５のステップＳ151において、スレーブ装置２−１の動作モードが「第１モード」であると判断すると、図１５のステップＳ152，Ｓ153の代わりに、図２８のステップＳ281〜Ｓ286の処理を行う。
【０２３４】
ステップＳ281では、特定マスタ設定手段３０に、特定マスタ装置のマスタ番号が設定されているか否かを判断する。そして、設定されていない場合（ステップＳ281がＮＯ）は、図１５のステップＳ152，Ｓ153と同様の処理を行う（ステップＳ286）。これに対して、特定マスタ装置のマスタ番号が設定されている場合（ステップＳ281がＹＥＳ）は、ライト用マスタ番号保持レジスタ２４に特定マスタ番号が格納されているか否かを調べる（ステップＳ281-1）。そして、格納されていない場合（ステップＳ281-1がＮＯ）は、ステップＳ286の処理を行う。これに対して、格納されている場合（ステップＳ281-1がＹＥＳ）は、ライト用マスタ番号保持レジスタ２４のエントリの内の、ライト用読み出し位置保持部２０７が指し示しているエントリの次のエントリに、特定マスタ装置のマスタ番号を格納し、その後、ライト用格納位置保持部２０６に保持されているエントリ番号を＋１する（ステップＳ282，Ｓ283）。これにより、特定マスタ装置からのライト要求を優先的に受け付ける状態（特定マスタ装置が優先マスタ装置となる）になる。その後、ライト要求元管理手段２０３ａは、ライト用格納位置保持部２０６に保持されているエントリ番号を、ライト用読み出し位置保持部２０７の保持されているエントリ番号の次のエントリ番号に更新する（ステップＳ284）。これにより、ライト用マスタ番号保持レジスタ２４からは、特定マスタ装置のマスタ番号以外は消去されることになる。その後、ライト要求元管理手段２０３ａは、待機中のマスタ装置へ待機解除通知を送信する（ステップＳ285）。
【０２３５】
〔第２の実施の形態の効果〕
本実施の形態によれば、第１の実施の形態が有している効果に加え、スレーブ装置において処理実行中に、利用者によって指定されているマスタ装置から処理要求があった場合、上記マスタ装置からの処理要求を優先的に処理することが可能になるという効果を得ることができる。その理由は、利用者によってマスタ番号が設定される特定マスタ設定手段３０を備え、且つ、要求管理手段２０ａが、特定マスタ設定手段３０に設定されているマスタ番号がリード用マスタ番号保持レジスタ２３，ライト用マスタ番号保持レジスタ２４に保持されている場合、そのマスタ番号のマスタ装置を優先マスタ装置にする構成を有しているからである。
【産業上の利用可能性】
【０２３６】
本発明は、デジタルビデオカメラ等のデジタル信号処理における、内部バスシステム上のメモリインターフェース回路などに利用可能である。
【図面の簡単な説明】
【０２３７】
【図１】本発明の第１の実施の形態で使用するマスタ装置１−１〜１−ｍの構成例を示すブロック図である。
【図２】本発明の第１の実施の形態で使用するスレーブ装置２−１〜２−ｎの構成例を示すブロック図である。
【図３】リード用マスタ番号保持レジスタ２３の一例を示す図である。
【図４】バスアービタ３の構成例を示すブロック図である。
【図５】スレーブ装置の動作モードを「第１モード」とした状態において、複数台のマスタ装置で同時にリード要求が発生した時の動作例を示す図である。
【図６】スレーブ装置の動作モードを「第１モード」とした状態において、複数台のマスタ装置で同時にライト要求が発生した時の動作例を示す図である。
【図７】スレーブ装置の動作モードを「第２モード」とした状態において、複数台のマスタ装置で同時にリード要求が発生した時の動作例を示す図である。
【図８】スレーブ装置の動作モードを「第２モード」とした状態において、複数台のマスタ装置で同時にライト要求が発生した時の動作例を示す図である。
【図９】スレーブ装置の動作モードを「第３モード」とした状態において、複数台のマスタ装置で同時にリード要求が発生した時の動作例を示す図である。
【図１０】スレーブ装置の動作モードを「第３モード」とした状態において、複数台のマスタ装置で同時にライト要求が発生した時の動作例を示す図である。
【図１１】要求管理手段２０の処理例（主にリード要求があった時の処理）を示すフローチャートである。
【図１２】要求管理手段２０の処理例（主にリード要求があった時の処理）を示すフローチャートである。
【図１３】要求管理手段２０の処理例（主にライト要求があった時の処理）を示すフローチャートである。
【図１４】リード処理手段２１によるリード処理が完了したときの要求管理手段２０の処理例を示すフローチャートである。
【図１５】ライト処理手段２２によるライト処理が完了したときの要求管理手段２０の処理例を示すフローチャートである。
【図１６】リード処理手段２１の処理例を示すフローチャートである。
【図１７】転送指示を受けたときの、リード処理手段２１の処理例を示すフローチャートである。
【図１８】ライト処理手段２２の処理例を示すフローチャートである。
【図１９】動作モードを「第１モード」としたときのリード用マスタ番号保持レジスタ２３の内容、リード用格納位置保持部２０４が指し示す格納位置Ｗ、及びリード用読み出し位置保持部２０５が指し示す読み出し位置Ｒを示す図である。
【図２０】動作モードを「第１モード」としたときのライト用マスタ番号保持レジスタ２４の内容、ライト用格納位置保持部２０６が指し示す格納位置Ｗ、及びライト用読み出し位置保持部２０７が指し示す読み出し位置Ｒを示す図である。
【図２１】動作モードを「第２モード」としたときのリード用マスタ番号保持レジスタ２３の内容、リード用格納位置保持部２０４が指し示す格納位置Ｗ、及びリード用読み出し位置保持部２０５が指し示す読み出し位置Ｒを示す図である。
【図２２】動作モードを「第２モード」としたときのライト用マスタ番号保持レジスタ２４の内容、ライト用格納位置保持部２０６が指し示す格納位置Ｗ、及びライト用読み出し位置保持部２０７が指し示す読み出し位置Ｒを示す図である。
【図２３】動作モードを「第３モード」としたときのリード用マスタ番号保持レジスタ２３の内容、リード用格納位置保持部２０４が指し示す格納位置Ｗ、及びリード用読み出し位置保持部２０５が指し示す読み出し位置Ｒを示す図である。
【図２４】動作モードを「第３モード」としたときのライト用マスタ番号保持レジスタ２４の内容、ライト用格納位置保持部２０６が指し示す格納位置Ｗ、及びライト用読み出し位置保持部２０７が指し示す読み出し位置Ｒを示す図である。
【図２５】動作モードを第１，第２，第３モードとしたときの、マスタ選択結果を示した図である。
【図２６】本発明の第２の実施の形態で使用するスレーブ装置２−１ａ〜２−ｎａの構成例を示すブロック図である。
【図２７】要求管理手段２０ａの処理例の一部を示すフローチャートである。
【図２８】要求管理手段２０ａの処理例の一部を示すフローチャートである。
【図２９】バスシステムの構成例を示す図である。
【符号の説明】
【０２３８】
１−１〜１−ｍ…マスタ装置
１１…制御手段
１２…リード要求手段
１３…ライト要求手段
１４…応答受信手段
１５…バス獲得手段
２−１〜２−ｎ，２−１ａ〜２−ｎａ…スレーブ装置
２０，２０ａ…要求管理手段
２０１…要求種別判定手段
２０２，２０２ａ…リード要求元管理手段
２０３，２０３ａ…ライト要求元管理手段
２０４…リード用格納位置保持部
２０５…リード用読み出し位置保持部
２０６…ライト用格納位置保持部
２０７…ライト用読み出し位置保持部２０７
２１１…リードバッファ有効フラグレジスタ
２１…リード処理手段
２２…ライト処理手段
２３…リード用マスタ番号保持レジスタ
２４…ライト用マスタ番号保持レジスタ
２５…リード処理フラグレジスタ
２６…ライト処理フラグレジスタ
２７…ライトバッファ
２８…リードバッファ
２９…モード設定手段
３０…特定マスタ設定手段
３…バスアービタ
３１…調停手段
３２…優先順位保持部
４…内部バス
【図１】
2006201999.tif 000003
【図２】
2006201999.tif 000004
【図３】
2006201999.tif 000005
【図４】
2006201999.tif 000006
【図５】
2006201999.tif 000007
【図６】
2006201999.tif 000008
【図７】
2006201999.tif 000009
【図８】
2006201999.tif 000010
【図９】
2006201999.tif 000011
【図１０】
2006201999.tif 000012
【図１１】
2006201999.tif 000013
【図１２】
2006201999.tif 000014
【図１３】
2006201999.tif 000015
【図１４】
2006201999.tif 000016
【図１５】
2006201999.tif 000017
【図１６】
2006201999.tif 000018
【図１７】
2006201999.tif 000019
【図１８】
2006201999.tif 000020
【図１９】
2006201999.tif 000021
【図２０】
2006201999.tif 000022
【図２１】
2006201999.tif 000023
【図２２】
2006201999.tif 000024
【図２３】
2006201999.tif 000025
【図２４】
2006201999.tif 000026
【図２５】
2006201999.tif 000027
【図２６】
2006201999.tif 000028
【図２７】
2006201999.tif 000029
【図２８】
2006201999.tif 000030
【図２９】
2006201999.tif 000031