(57)【特許請求の範囲】
【請求項１】
バスシステムにおいて、
マスタディバイスとスレーブディバイスとを連結するデータバスと、
少なくとも１つのマスタディバイスから少なくとも１つのアクセスコマンドを所定の仲裁結果によって順次に出力するための仲裁器と、
前記仲裁器から出力されたアクセスコマンドの対応スレーブディバイスに対し、実行準備の完了順に前記アクセスコマンドが実行されるようにデータバスを許与するための実行スケジューラとを含み、
前記実行スケジューラは、
前記仲裁器から出力されたアクセスコマンドを受信して対応スレーブディバイスに伝達するためのアクセスコマンド分配部と、
前記アクセスコマンド分配部によりアクセスコマンドを伝達されたスレーブディバイスのうち実行準備完了信号を送ったスレーブディバイスに、前記伝達されたアクセスコマンドの実行開始信号を伝送するための実行スケジュール部を含み、
前記スレーブディバイスは、
前記実行スケジューラから伝えられたアクセスコマンドを貯蔵するための実行コマンド貯蔵部と、
前記実行準備完了信号を前記実行スケジュール部に伝達し、前記実行開始信号が受信されると前記実行コマンド貯蔵部に貯蔵されたアクセスコマンドを実行し、前記データバスにアクセスして前記アクセスコマンドの実行により準備されたデータを対応マスタディバイスに伝送し、前記アクセスコマンドの実行が完了されると前記実行スケジュール部に実行完了信号を伝送するための実行部とを含み、
前記実行スケジュール部は、前記アクセスコマンド分配部を通じてアクセスコマンドを伝達された対応スレーブディバイスの識別子を貯蔵するために、識別子貯蔵キューと、
前記識別子貯蔵キューを制御するための識別子貯蔵キュー制御部と、
前記貯蔵セルに対応して各々備えられ、前記貯蔵セルに貯蔵された識別子と前記実行準備完了信号を伝送したスレーブディバイスの識別子とが同一か否かを判断するための比較器と、
前記比較器による判断の結果識別子が同一な場合、前記実行準備完了信号の伝送されたスレーブディバイスに前記実行開始信号を伝送するためのデコーダとを具備することを特徴とするバスシステム。
【請求項２】
前記識別子貯蔵キューは少なくとも１つの貯蔵セルを備えることを特徴とする請求項１に記載のバスシステム。
【請求項３】
バスシステムにおいて、
マスタディバイスとスレーブディバイスとを連結するデータバスと、
少なくとも１つのマスタディバイスから少なくとも１つのアクセスコマンドを所定の仲裁結果によって順次に出力するための仲裁器と、
前記仲裁器から出力されたアクセスコマンドの対応スレーブディバイスに対し、実行準備の完了順に前記アクセスコマンドが実行されるようにデータバスを許与するための実行スケジューラとを含み、
前記実行スケジューラは、
前記仲裁器から出力されたアクセスコマンドを受信して対応スレーブディバイスに伝達するためのアクセスコマンド分配部と、
前記アクセスコマンド分配部によりアクセスコマンドを伝達されたスレーブディバイスのうち実行準備完了信号を送ったスレーブディバイスに、前記伝達されたアクセスコマンドの実行開始信号を伝送するための実行スケジュール部を含み、
前記スレーブディバイスは、
前記実行スケジューラから伝えられたアクセスコマンドを貯蔵するための実行コマンド貯蔵部と、
前記実行準備完了信号を前記実行スケジュール部に伝達し、前記実行開始信号が受信されると前記実行コマンド貯蔵部に貯蔵されたアクセスコマンドを実行し、前記データバスにアクセスして前記アクセスコマンドの実行により準備されたデータを対応マスタディバイスに伝送し、前記アクセスコマンドの実行が完了されると前記実行スケジュール部に実行完了信号を伝送するための実行部とを含み、
前記アクセスコマンド分配部は、
前記仲裁器から受信されたアクセスコマンドを貯蔵するためのコマンド貯蔵部をさらに含み、
前記実行スケジュール部は、前記アクセスコマンド分配部を通じてアクセスコマンドを伝達された対応スレーブディバイスの識別子を貯蔵するために、識別子貯蔵キューと、
前記識別子貯蔵キューを制御するための識別子貯蔵キュー制御部と、
前記貯蔵セルに対応するように各々備えられて前記貯蔵セルに貯蔵された識別子と前記実行準備完了信号を伝送したスレーブディバイスの識別子とが同一か否かを判断するための比較器と、
前記実行準備完了信号の伝送されたスレーブディバイスに前記実行開始信号を伝送するためのデコーダとを具備することを特徴とするバスシステム。
【請求項４】
前記識別子貯蔵キューは、少なくとも１つの貯蔵セルを備えたことを特徴とする請求項３に記載のバスシステム。
【請求項５】
バスシステムにおいて、
マスタディバイスとスレーブディバイスとを連結するデータバスと、
少なくとも１つのマスタディバイスから少なくとも１つのアクセスコマンドを所定の仲裁結果によって順次に出力するための仲裁器と、
前記仲裁器から出力されたアクセスコマンドの対応スレーブディバイスに対し、実行準備の完了順に前記アクセスコマンドが実行されるようにデータバスを許与するための実行スケジューラとを含み、
前記実行スケジューラは、
前記仲裁器から出力されたアクセスコマンドを受信して対応スレーブディバイスに伝達するためのアクセスコマンド分配部と、
前記アクセスコマンド分配部によりアクセスコマンドを伝達されたスレーブディバイスのうち実行準備完了信号を送ったスレーブディバイスに、前記伝達されたアクセスコマンドの実行開始信号を伝送するための実行スケジュール部を含み、
前記スレーブディバイスは、
前記実行スケジューラから伝えられたアクセスコマンドを貯蔵するための実行コマンド貯蔵部と、
前記実行準備完了信号を前記実行スケジュール部に伝達し、前記実行開始信号が受信されると前記実行コマンド貯蔵部に貯蔵されたアクセスコマンドを実行し、前記データバスにアクセスして前記アクセスコマンドの実行により準備されたデータを対応マスタディバイスに伝送し、前記アクセスコマンドの実行が完了されると前記実行スケジュール部に実行完了信号を伝送するための実行部とを含み、
前記アクセスコマンド分配部は、
前記仲裁器から受信されたアクセスコマンドを貯蔵するためのコマンド貯蔵部をさらに含み、
前記コマンド貯蔵部は、前記アクセスコマンドを貯蔵するためのコマンド貯蔵キュー、及び前記コマンド貯蔵キューを制御するためのコマンド貯蔵キュー制御部を含み、
前記実行スケジュール部は、前記アクセスコマンド分配部を通じてアクセスコマンドを伝達された対応スレーブディバイスの識別子を貯蔵するために、少なくとも１つの貯蔵セルを備えた識別子貯蔵キューと、
前記識別子貯蔵キューを制御するための識別子貯蔵キュー制御部と、
前記貯蔵セルに対応するように各々備えられて前記貯蔵セルに貯蔵された識別子と前記実行準備完了信号を伝送したスレーブディバイスの識別子とが同一か否かを判断するための比較器と、
前記実行準備完了信号の伝送されたスレーブディバイスに前記実行開始信号を伝送するためのデコーダとを具備することを特徴とするバスシステム。
【請求項６】
前記デコーダは前記比較器による判断の結果両識別子が同一な場合、前記実行開始信号を伝送することを特徴とする請求項５に記載のバスシステム。
【請求項７】
前記デコーダは前記比較器による判断の結果両識別子が同一な場合、前記実行開始信号を伝送することを特徴とする請求項３に記載のバスシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、バスシステム及びその実行順序の調整方法に係り、特に複数のスレーブディバイスを含むバスシステムにおいて、実行準備の完了されたスレーブディバイス順にマスタディバイスからのコマンドを実行させるバスシステム及びその実行順序の調整方法に関する。
【０００２】
【従来の技術】
一般に、バスシステムにおいて他のディバイスに命令の実行を要求するディバイスをマスタディバイス、マスタディバイスから命令の実行を要求されるディバイスをスレーブディバイスと称する。代表的なマスタディバイスとスレーブディバイスとしてプロセッサーとメモリが挙げられる。マスタディバイスとスレーブディバイスはバスを通じて相互コミュニケーションを行う。即ち、マスタディバイスからのコマンドバスを通じてスレーブディバイスに伝えられ、スレーブディバイスからマスタディバイスに所定のデータが伝送されたり、マスタディバイスからスレーブディバイスに所定のデータが伝送されることによって伝えられたコマンドは実行完了となる。
【０００３】
従来、複数のマスタディバイスが共用バスを公平で効率よく使用可能にするために、多様な仲裁方式が開発されて適用されている。
しかし、従来の多様な仲裁方式は全てアドレス/制御バス及びデータバスの所有権を仲裁の対象とする。換言すれば、仲裁器はバスの所有権に対する仲裁の役割を行うだけであり、バスに対する制御権限及び使用権限はその時点でのマスタディバイスが有することになる。即ち、仲裁器の仲裁アルゴリズムによってデータバス及びアドレス/制御バスの所有権が特定のマスタディバイスに与えられると、該マスタディバイスはコマンドの実行を完了するまでデータバスとアドレス/制御バスとを独占する。
【０００４】
これにより、入出力ディバイスに連結されている入出力バス、ブートロム(Boot ROM)に接続されているロムバスなど、メインデータバスより伝送帯域幅の狭い他の多様なローカルデータバスに連結されたスレーブディバイスに対するコマンドを実行しようとする場合、メインデータバスのアイドルクロックが発生することになる。即ち、伝送されるべきデータがメインデータバスに比べて伝送速度の遅いローカルデータバスを通過するまで(コマンドの実行完了時まで)メインデータバスは該コマンドを発したマスタディバイスにより独占されるからである。メインデータバスからローカルデータバスにデータが伝送される書込(write)コマンドの場合、メインデータバスとローカルデータバスとの間に備えられたブリッジディバイスにデータを貯蔵し、マスタディバイスのメインデータバスの独占を完了させることによってメインデータバスのアイドルクロックを減少させうる。
【０００５】
しかし、入出力バスからメインデータバスにデータが伝送されてくる読出(read)コマンドの場合、データはメインデータバスを通過してマスタディバイスに伝えられるべきなので、ローカルデータバスからの伝送データをメインデータバスが受け取るまでマスタディバイスはメインデータバスをアイドルさせながら待つべきである。これにより、メインデータバスのアイドルクロックが多発され、全体システムの動作速度が遅くなる。
【０００６】
【発明が解決しようとする課題】
従って、本発明の目的は、コマンドの実行順序を調整することによってシステムのデータ処理速度を向上させたバスシステム及びその実行順序の調整方法を提供することである。
【００１０】
【課題を解決するための手段】
前記目的は、バスシステムにおいて、少なくとも１つのマスタディバイスから少なくとも１つのアクセスコマンドを所定の仲裁結果によって順次に出力するための仲裁器と、前記仲裁器から出力されたアクセスコマンドの対応スレーブディバイスに対し、実行準備の完了順に前記アクセスコマンドが実行されるようにデータバスを許与するための実行スケジューラとを含むことを特徴とするバスシステムによっても達成される。
【００１１】
前記実行スケジューラは、前記仲裁器から出力されたアクセスコマンドを受信して対応スレーブディバイスに伝達するためのアクセスコマンド分配部と、前記アクセスコマンド分配部によりアクセスコマンドを伝達されたスレーブディバイスのうち実行準備完了信号を受信されたスレーブディバイスに前記伝えられたアクセスコマンドの実行開始信号を伝送するための実行スケジュール部を含み、前記スレーブディバイスは、前記実行スケジューラから伝えられたアクセスコマンドを貯蔵するための実行コマンド貯蔵部と、前記実行準備完了信号を前記実行スケジュール部に伝達し、前記実行開始信号が受信されると前記実行コマンド貯蔵部に貯蔵されたアクセスコマンドを実行し、実行が完了されると前記実行スケジュール部に実行完了信号を伝送するための実行部とを含む。
前記実行スケジュール部は、前記アクセスコマンド分配部によりアクセスコマンドを伝達されたスレーブディバイスのうち実行準備完了信号を送ったスレーブディバイスに実行開始信号を伝送することが望ましい。
【００１２】
前記アクセスコマンド分配部は、前記仲裁器から受信されたアクセスコマンドを貯蔵するためのコマンド貯蔵部をさらに含むことが望ましく、前記コマンド貯蔵部は、前記アクセスコマンドを貯蔵するためのコマンド貯蔵キュー、及び前記コマンド貯蔵キューを制御するためのコマンド貯蔵キュー制御部を含むことが望ましい。
【００１３】
前記実行スケジュール部は、前記アクセスコマンド分配部を通じてアクセスコマンドを伝達された対応スレーブディバイスの識別子を貯蔵するために、識別子貯蔵キューと、前記識別子貯蔵キューを制御するための識別子貯蔵キュー制御部と、前記貯蔵セルに対応して各々備えられ、前記貯蔵セルに貯蔵された識別子と前記実行準備完了信号を伝送したスレーブディバイスの識別子とが同一か否かを判断するための比較器と、前記比較器による判断の結果識別子が同一な場合、前記実行準備完了信号の伝送されたスレーブディバイスに前記実行開始信号を伝送するためのデコーダとを具備することが望ましい。
前記識別子貯蔵キューは少なくとも１つの貯蔵セルを備えることが望ましい。
【００１４】
前記実行スケジュール部は、前記アクセスコマンド分配部を通じてアクセスコマンドを伝達された対応スレーブディバイスの識別子を貯蔵するために、識別子貯蔵キューと、前記識別子貯蔵キューを制御するための識別子貯蔵キュー制御部と、前記貯蔵セルに対応するように各々備えられて前記貯蔵セルに貯蔵された識別子と前記実行準備完了信号を伝送したスレーブディバイスの識別子とが同一か否かを判断するための比較器と、前記実行準備完了信号の伝送されたスレーブディバイスに前記実行開始信号を伝送するためのデコーダとを具備することが望ましい。
前記識別子貯蔵キューは、少なくとも１つの貯蔵セルを備えることが望ましい。
前記実行スケジュール部は、前記アクセスコマンド分配部を通じてアクセスコマンドを伝達された対応スレーブディバイスの識別子を貯蔵するために、少なくとも１つの貯蔵セルを備えた識別子貯蔵キューと、前記識別子貯蔵キューを制御するための識別子貯蔵キュー制御部と、前記貯蔵セルに対応するように各々備えられて前記貯蔵セルに貯蔵された識別子と前記実行準備完了信号を伝送したスレーブディバイスの識別子とが同一か否かを判断するための比較器と、前記実行準備完了信号の伝送されたスレーブディバイスに前記実行開始信号を伝送するためのデコーダとを具備することが望ましい。
前記デコーダは前記比較器による判断の結果両識別子が同一な場合、前記実行開始信号を伝送することが望ましい。
前記実行コマンド貯蔵部は、前記アクセスコマンドを貯蔵するための実行コマンド貯蔵キュー及び前記実行コマンド貯蔵キューを制御するための実行コマンド貯蔵キュー制御部を含むことが望ましい。
【００１５】
【発明の実施の形態】
以下、添付した図面に基づいて本発明の望ましい実施形態に対して詳しく説明する。
図１は本発明の望ましい実施形態に係るバスシステムの概略図である。
図１を参照すれば、バスシステム１００は、複数のマスタディバイス１１、１２、１３、１４、複数のスレーブディバイス２１、２２、２３、２４、２５、仲裁器３、及び実行スケジューラ４を含む。一方、複数のマスタディバイス１１、１２、１３、１４及び複数のスレーブディバイス２１、２２、２３、２４、２５は、データバス（図示せず）により連結されている。データバスは、データ伝送速度が相異なるメインデータバスとローカルデータバスとを含む。
【００１６】
通常、マスタディバイス１１、１２、１３、１４は、プロセッサーまたはDMA制御器であり、スレーブディバイス２１、２２、２３、２４、２５はRAM、ROMなどのメモリ、入出力ディバイス、または他の周辺装置を意味する。マスタディバイス１１、１２、１３、１４は各々他のマスタディバイス１１、１２、１３、１４に対するスレーブディバイスになることができる。また、マスタディバイス及びスレーブディバイスの数は必要に応じて多様に変更できる。
【００１７】
仲裁器３は、従来のバスシステムの仲裁器がアドレス/制御バスに対する所有権をマスタディバイスに許与することによって、マスタディバイスがスレーブディバイスを直接制御し、スレーブディバイスからの応答を処理したこととは違って、アドレス/制御バスの所有権をマスタディバイス１１、１２、１３、１４に許与しない。即ち、仲裁器３はマスタディバイス１１、１２、１３、１４から出力されるアドレス、読出/書込フラグ、ブロック伝送されるデータの大きさ、ビット幅など所定のデータの伝送のために必要な情報(以下“アクセスコマンド”と称する）を受信して直接スレーブディバイス２１、２２、２３、２４、２５に伝達し、スレーブディバイス２１、２２、２３、２４、２５からの応答を処理する。
【００１８】
実行スケジューラ４は、仲裁器３から伝えられたアクセスコマンドを対応スレーブディバイス２１、２２、２３、２４、２５に伝送し、スレーブディバイス２１、２２、２３、２４、２５のうち伝送されたアクセスコマンドの実行準備の完了されたスレーブディバイス２１、２２、２３、２４、２５順にアクセスコマンドを実行させる。ここで、アクセスコマンドの実行はアクセスコマンドが図るデータの伝送が完了されたことを意味する。
【００１９】
図２は図１の実行スケジューラ４及びスレーブディバイス２１、２２、２３、２４、２５のブロック図である。
図２を参照すれば、実行スケジューラ４は、仲裁器３から出力されたアクセスコマンドを対応スレーブディバイス２１、２２、２３、２４、２５に伝達するためのアクセスコマンド分配部４１及びアクセスコマンド分配部４１によりアクセスコマンドの伝えられたスレーブディバイス２１、２２、２３、２４、２５のうち実行準備完了信号を伝送したスレーブディバイス２１、２２、２３、２４、２５に前記伝えられたアクセスコマンドの実行開始信号を伝送するための実行スケジュール部４６を含む。
【００２０】
スレーブディバイス２１、２２、２３、２４、２５は、実行コマンド貯蔵部２１０、２２０、２３０、２４０、２５０及び実行部２１１、２２１、２３１、２４１、２５１を各々具備する。
【００２１】
実行コマンド貯蔵部２１０、２２０、２３０、２４０、２５０は実行スケジューラ４から伝えられたアクセスコマンドを貯蔵し、実行部２１１、２２１、２３１、２４１、２５１は実行スケジューラ４から実行開始信号が受信されると実行コマンド貯蔵部２１０、２２０、２３０、２４０、２５０に貯蔵されたアクセスコマンドを各々実行し、実行が完了されると実行スケジュール部４６に実行完了信号を伝送する。
【００２２】
図３は図２の実行スケジューラ４及びスレーブディバイス２１の詳細ブロック図である。残りのスレーブディバイス２２、２３、２４、２５もスレーブディバイス２１と同一な構成を有するので略した。
【００２３】
図３を参照すれば、実行スケジューラ４のアクセスコマンド分配部４１は、仲裁器３から受信されたアクセスコマンドを貯蔵するためのコマンド貯蔵部であって、コマンド貯蔵キュー４１０及びコマンド貯蔵キュー４１０を制御するためのコマンド貯蔵キュー制御部４１１を具備する。実行スケジューラ４の実行スケジュール部４６は、スレーブディバイス２１、２２、２３、２４、２５の識別子を貯蔵するための識別子貯蔵部であって、識別子貯蔵キュー４６０及び識別子貯蔵キュー制御部４６１を備え、比較器４６２及びデコーダ４６３を含む。
【００２４】
識別子貯蔵キュー４６０は、アクセスコマンド分配部４１を通じてアクセスコマンドを伝達されたスレーブディバイス２１、２２、２３、２４、２５の識別子を貯蔵するための少なくとも１つの貯蔵セルを具備し、識別子貯蔵キュー制御部４６１は識別子貯蔵キュー４６０の入出力を制御する。比較器４６２は各貯蔵セルに対応されるように各々備えられ、各貯蔵セルに貯蔵された識別子と実行準備完了信号を伝送したスレーブディバイスの識別子とが同一か否かを判断し、デコーダ４６３は比較器４６２による判断の結果、識別子が同一な場合実行準備完了信号を伝送したスレーブディバイス２１、２２、２３、２４、２５に実行開始信号を伝送する。ここで、比較器４６２及びデコーダ４６３は論理的な意味として使われ、回路的な構成は多様に具現できる。
【００２５】
スレーブディバイス２１の実行コマンド貯蔵部２１０は、アクセスコマンドを貯蔵するための実行コマンド貯蔵キュー２１２及び実行コマンド貯蔵キュー２１２の入出力を制御するための実行コマンド貯蔵キュー制御部２１３を具備する。前述したような構成によって本発明の望ましい実施形態の実行順序の調整方法を説明すれば次の通りである。
【００２６】
まず、実行スケジューラ４における手続きを説明する。
図４は実行スケジューラ４のアクセスコマンド分配部４１及び対応スレーブディバイスにおける手順を説明するためのフローチャートである。
【００２７】
図４を参照すれば、アクセスコマンド分配部４１は、仲裁器３から所定の仲裁結果による順序通り出力されたアクセスコマンドを受信する(４００１段階)。受信されたアクセスコマンドはFIFOのコマンド貯蔵キュー４１０に貯蔵される。
【００２８】
アクセスコマンド分配部４１はコマンド貯蔵キュー４１０に貯蔵されたアクセスコマンドアドレスマップに基づいてデコーディングすることによって対応スレーブディバイス２１、２２、２３、２４、２５を識別し、対応スレーブディバイス２１、２２、２３、２４、２５にアクセスコマンドを伝達する(４００２段階)。
【００２９】
アクセスコマンドを伝達されたスレーブディバイス２１、２２、２３、２４、２５はアクセスコマンド分配部４１にアクセスコマンドの受信確認を通知し、これにアクセスコマンド分配部４１に受信確認が到着される(４００３段階)。
次いで、アクセスコマンド分配部４１は受信確認されたスレーブディバイス２１、２２、２３、２４、２５の識別子を実行スケジュール部４６に出力する(４００４段階)。
【００３０】
一方、前記４００２段階で分配されたアクセスコマンドは対応スレーブディバイス２１、２２、２３、２４、２５で受信される(４００５段階)。
スレーブディバイス２１、２２、２３、２４、２５は実行コマンド貯蔵キュー２１２がいっぱいになっているか確認し(４００６段階)、空いた貯蔵セルが存在する場合受信されたアクセスコマンドを実行コマンド貯蔵キュー２１２に入れる(４００７段階)。
【００３１】
図５は実行スケジューラ４の実行スケジュール部４６における手順を説明するためのフローチャートである。
図３及び図５を参照すれば、実行スケジュール部４６は、所定のスレーブディバイス２１、２２、２３、２４、２５からアクセスコマンドの実行完了信号が受信されると(５００１段階)、実行されるべきアクセスコマンドの有無を確認するために識別子貯蔵キュー４６０に備えられた貯蔵セルが全て空いているかをチェックする(５００２段階)。
【００３２】
識別子貯蔵キュー４６０に識別子が貯蔵されていると、スレーブディバイス２１、２２、２３、２４、２５からアクセスコマンドの実行準備完了信号が到着されることを待つ(５００３段階)。
【００３３】
貯蔵された識別子のうち何れか１つに対応するスレーブディバイス２１、２２、２３、２４、２５から実行準備完了信号が到着すれば(５００４段階)、各貯蔵セルに備えられた比較器４６２により実行準備完了信号と到着されたスレーブディバイス２１、２２、２３、２４、２５の識別子とが同一か否かを確認し、同一な場合、識別子貯蔵キュー制御部４６１は該貯蔵セルに貯蔵されているスレーブディバイス２１、２２、２３、２４、２５の識別子が識別子貯蔵キュー４６０からデコーダ４６３に出力されるようにする。デコーダ４６３は識別子貯蔵キュー４６０から出力された識別子をデコーディングして対応スレーブディバイス２１、２２、２３、２４、２５に実行開始信号を出力する(５００５段階)。
【００３４】
次いで、スレーブディバイス２１、２２、２３、２４、２５における手続きを説明する。但し、スレーブディバイス２１、２２、２３、２４、２５における手続きを説明するに当たって、メインデータバスのみをアクセスするので実行スケジュールの不要なスレーブディバイスと、そうでないスレーブディバイスとのおける手続きを分離して説明する。
【００３５】
図６は実行スケジュールの必要なスレーブディバイスにおける手続きを説明するためのフローチャートである。説明の便宜上、実行スケジュールの必要なスレーブディバイスは図３のスレーブディバイス２１と仮定する。
【００３６】
図６を参照すれば、スレーブディバイス２１の実行部２１１は実行コマンド貯蔵キュー制御部２１３で実行コマンド貯蔵キュー２１２にアクセスコマンドが貯蔵されているか否かを確認する(６００１段階)。
【００３７】
実行コマンド貯蔵キュー２１２にアクセスコマンドが貯蔵されている場合(６００２段階)、実行コマンド貯蔵キュー制御部２１３は実行コマンド貯蔵キュー２１２からFIFO順にアクセスコマンドを出力させ、実行部２１は実行コマンド貯蔵キュー２１２から入力されたアクセスコマンドの実行のためのデータの伝送を用意する(６００３段階)。
【００３８】
データの伝送準備が完了されると(６００４段階)、実行部２１１は実行準備完了信号線をセットして実行準備完了信号を実行スケジュール部４６に伝送する(６００５段階)。
実行準備完了信号を伝送した実行部２１１は実行スケジュール部４６からの実行開始信号の到着を待つ(６００６段階)。
【００３９】
実行部２１１は実行スケジュール部４６から実行開始信号が到着すれば(６００７段階)、準備されたデータを対応マスタディバイス１１、１２、１３、１４に伝送する(６００８段階)。
【００４０】
データの伝送が完了されると、実行部２１１は実行スケジュール部４６に実行完了信号を伝送する(６００９段階)。実行完了信号を伝達されることによって、実行スケジューラ４はデータバスが空いているかを確認し、実行スケジューラ４は再び識別子貯蔵キュー４６０に貯蔵されている他のアクセスコマンドに対する実行スケジューリングを行うことになる。
【００４１】
図７は実行スケジュールの不要なスレーブディバイスにおける手続きを説明するためのフローチャートである。説明の便宜上、実行スケジュールの不要なスレーブディバイスは図３のスレーブディバイス２１と仮定する。
【００４２】
実行コマンド貯蔵キュー２１２にアクセスコマンドが貯蔵されているなら、スレーブディバイス２１の識別子は実行スケジューラ４の識別子貯蔵キュー４６０に貯蔵されている。この際、スレーブディバイス２１の実行部２１１は実行準備完了信号線を常にセットさせているので、識別子貯蔵キュー４６０にスレーブディバイス２１の識別子が入力されると、実行スケジューラ４の実行スケジュール部４６は実行開始信号を直ちに実行部２１１に伝送し、実行部２１１は実行開始信号を受信することになる(７００１段階)。
【００４３】
これに、実行部２１１は実行コマンド貯蔵キュー２１０から入力されたアクセスコマンドの実行のためのデータの伝送を準備する(７００２段階)。
データ伝送の準備が完了されると、メインデータバスにアクセスしてデータを対応マスタディバイス１１、１２、１３、１４に伝送する(７００３段階)。
【００４４】
データの伝送が完了されると、実行部２１１は実行スケジュール部４６に実行完了信号を伝送する(７００４段階)。実行完了信号を伝達されることによって、実行スケジューラ４はデータバスが空いているかを確認し、再び識別子貯蔵キュー４６０に貯蔵されている他のアクセスコマンドに対する実行スケジューリングを行うことになる。
【００４５】
本発明の望ましい実施形態に係る実行順序の調整方法は、メインデータバスよりデータ伝送速度の遅いローカルデータバスにアクセスすべきスレーブディバイスを備えたバスシステムの場合にさらに効率的である。なぜなら、ローカルデータバスからメインデータバスにデータを伝送せねばならない場合、実行順序の調整方法によりマスタの待ち時間が最小化されるからである。しかし、メインデータバスのみをアクセスするためにアクセスコマンドの実行順序の調整が事実上不要なスレーブディバイスのために別のモジュールを備えるのはハードウェア及びソフトウェアをさらに複雑にするので、前述した実施形態では、メインデータバスのみをアクセスするスレーブディバイス２１、２２、２３、２４、２５において実行準備の完了信号線を常にアクティブさせることによって、メインデータバスが空いている場合実行スケジューラ４から実行開始信号を伝達されて直ちにデータを伝送可能にした。
【００４６】
一方、前述した実施形態ではメインデータバス及びローカルデータバスが備えられており、メインデータバスのデータ伝送速度のさらに速いバスシステムについて説明したが、必ずしもこれに限定されることではない。メインデータバス及びローカルデータバスの有無に関係なく、複数のスレーブディバイスの含まれたバスシステムにおいて所定の仲裁方法によりアクセスコマンドの実行順序が決定されたとしても、実行準備の先に完了されたスレーブディバイスが先にアクセスコマンドを実行できるように実行順序を再調整することによって全体システムの処理速度を向上させうる。
【００４７】
【発明の効果】
前述したように、本発明によれば、実行準備の完了されたスレーブディバイスが先にコマンドを実行できるように(データバスにアクセスするように)コマンドの実行順序を調整することによって全体的なデータ処理速度がさらに向上されたバスシステム及びその実行順序の調整方法が提供される。
【００４８】
特に、スレーブディバイスがメインデータバスに比べてデータ伝送速度の遅いローカルデータバスに連結されている場合、スレーブディバイスをしてローカルデータバスに効率よくアクセス可能にすることによってメインデータバスのアイドルクロックが減少されてシステム全体の処理速度が向上される。
【図面の簡単な説明】
【図１】  本発明の望ましい実施形態に係るバスシステムの概略図である。
【図２】  図１の実行スケジューラ及びスレーブディバイスのブロック図である。
【図３】  図２の実行スケジューラ及びスレーブディバイスの詳細ブロック図である。
【図４】  実行スケジューラのアクセスコマンド分配部及び対応スレーブディバイスにおける手続きを説明するためのフローチャートである。
【図５】  実行スケジューラの実行スケジュール部における手続きを説明するためのフローチャートである。
【図６】  実行スケジュールの必要なスレーブディバイスにおける手続きを説明するためのフローチャートである。
【図７】  実行スケジュールの不要なスレーブディバイスにおける手続きを説明するためのフローチャートである。
【符号の説明】
３   仲裁器
４   実行スケジューラ
１１、１２、１３、１４   マスタ
２１、２２、２３、２４、２５   スレーブ
４１   アクセスコマンド分配部
４６   実行スケジュール部
２１０、２２０、２３０、２４０、２５０   実行コマンド貯蔵部
２１１、２２１、２３１、２４１、２５１   実行部
２１２   実行コマンド貯蔵キュー
２１３   実行コマンド貯蔵キュー制御部
４１０   コマンド貯蔵キュー
４１１   コマンド貯蔵キュー制御部
４６０   識別子貯蔵キュー
４６１   識別子貯蔵キュー制御部
４６２   比較器
４６３   デコーダ
【図１】
0004184614.tif 000002
【図２】
0004184614.tif 000003
【図３】
0004184614.tif 000004
【図４】
0004184614.tif 000005
【図５】
0004184614.tif 000006
【図６】
0004184614.tif 000007
【図７】
0004184614.tif 000008