(57)【要約】【課題】  マスタ／スレーブコア回路がマスタ／スレーブＩ／Ｆ回路を介してシステムバスに接続される構造で各種動作を迅速に実行できるバスシステムを提供する。【解決手段】  マスタ／スレーブコア回路２０２，２０３同士のデータ通信に必要な処理動作の一部をマスタ／スレーブＩ／Ｆ回路２０６，２０７が代行することにより、マスタ／スレーブＩ／Ｆ回路２０６，２０７とコア回路２０２，２０３とのデータ通信を必要最小限として各種動作を高速化する。【選択図】  図１
2005267660.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも制御バスおよびデータバスとして機能するシステムバスでマスタＩ／Ｆ(Interface)回路とスレーブＩ／Ｆ回路とが接続されており、前記マスタＩ／Ｆ回路に接続されるマスタコア回路と前記スレーブＩ／Ｆ回路に接続されるスレーブコア回路との少なくともコマンド通信とデータ通信とを仲介するバスシステムであって、
前記マスタコア回路からの各種の処理依頼への対応可否を示す可能／不能通知を前記スレーブコア回路から取得して保持する可否保持手段を前記スレーブＩ／Ｆ回路が有しており、
前記スレーブコア回路への前記処理依頼の各種コマンドを前記マスタコア回路から受信して前記スレーブＩ／Ｆ回路に転送するコマンド送信手段を前記マスタＩ／Ｆ回路が有しており、
このマスタＩ／Ｆ回路から前記コマンドを受信すると前記スレーブコア回路に通知することなく保持されている前記可能／不能通知を返信する可否通知手段を前記スレーブＩ／Ｆ回路が有している、バスシステム。
【請求項２】
前記マスタＩ／Ｆ回路が、
前記コマンドを前記マスタコア回路から受信して保持するコマンド保持手段と、
保持された前記コマンドを前記スレーブＩ／Ｆ回路に送信するコマンド送信手段と、
前記スレーブＩ／Ｆ回路から前記不能通知が返信されると前記マスタコア回路に通達することなく保持されている前記コマンドを前記コマンド送信手段に再度送信させる転送制御手段と、
を有している、請求項１に記載のバスシステム。
【請求項３】
少なくとも制御バスおよびデータバスとして機能するシステムバスでマスタＩ／Ｆ回路とスレーブＩ／Ｆ回路とが接続されており、前記マスタＩ／Ｆ回路に接続されるマスタコア回路と前記スレーブＩ／Ｆ回路に接続されるスレーブコア回路との少なくともコマンド通信とデータ通信とを仲介するバスシステムであって、
前記マスタコア回路からの各種の処理依頼への対応可否を示す可能／不能通知を前記スレーブコア回路から取得して保持する可否保持手段を前記スレーブＩ／Ｆ回路が有しており、
前記スレーブコア回路への前記処理依頼の各種コマンドを前記マスタコア回路から受信して保持するコマンド保持手段を前記マスタＩ／Ｆ回路が有しており、保持された前記コマンドを前記スレーブＩ／Ｆ回路に送信するコマンド送信手段を前記マスタＩ／Ｆ回路が有しており、
前記スレーブＩ／Ｆ回路から前記不能通知が返信されると前記マスタコア回路に通達することなく保持されている前記コマンドを前記コマンド送信手段に再度送信させる転送制御手段を前記マスタＩ／Ｆ回路が有している、バスシステム。
【請求項４】
前記マスタＩ／Ｆ回路に前記不能通知が返信されるときに対応可能に復帰する予定時間も前記スレーブコア回路から取得して返信する時間通知手段を前記スレーブＩ／Ｆ回路が有しており、
前記転送制御手段は、前記スレーブＩ／Ｆ回路から前記不能通知と前記予定時間とが返信されると前記マスタコア回路に通達することなく前記予定時間まで待機してから前記コマンド送信手段に前記コマンドを再度送信させる、請求項２または３に記載のバスシステム。
【請求項５】
前記コマンドの送信繰り返しの上限回数を前記マスタコア回路から取得して保持する上限保持手段と、
前記コマンドの送信回数を積算する回数積算手段と、
前記送信回数が前記上限回数に一致すると送信エラーを前記マスタコア回路に通知するエラー通知手段と、
を前記マスタＩ／Ｆ回路が有している、請求項２ないし４の何れか一項に記載のバスシステム。
【請求項６】
前記不能通知とともに不能理由を前記マスタＩ／Ｆ回路に返信する理由返信手段を前記スレーブＩ／Ｆ回路が有しており、
前記送信エラーとともに前記不能通知と前記不能理由とを前記マスタコア回路に通知する原因通知手段を前記マスタＩ／Ｆ回路が有している、請求項５に記載のバスシステム。
【請求項７】
少なくとも制御バスおよびデータバスとして機能するシステムバスでマスタＩ／Ｆ回路とスレーブＩ／Ｆ回路とが接続されており、前記マスタＩ／Ｆ回路に接続されるマスタコア回路と前記スレーブＩ／Ｆ回路に接続されるスレーブコア回路との少なくともコマンド通信とデータ通信とを仲介するバスシステムであって、
前記マスタコア回路からの各種の処理依頼への対応可否を示す可能／不能通知を前記スレーブコア回路から取得して保持する可否保持手段を前記スレーブＩ／Ｆ回路が有しており、
前記スレーブコア回路への前記処理依頼の各種コマンドを前記マスタコア回路から受信して前記スレーブＩ／Ｆ回路に転送するコマンド送信手段を前記マスタＩ／Ｆ回路が有しており、
このマスタＩ／Ｆ回路から前記コマンドを受信すると前記スレーブコア回路に通知することなく保持されている前記可能／不能通知を返信する可否通知手段を前記スレーブＩ／Ｆ回路が有しており、
前記不能通知とともに不能理由を前記マスタＩ／Ｆ回路に返信する理由返信手段を前記スレーブＩ／Ｆ回路が有している、バスシステム。
【請求項８】
前記マスタコア回路が送信するマスタデータの受信を前記スレーブコア回路に命令する送信コマンドから前記マスタデータのデータサイズを検出するサイズ検出手段と、
検出された前記データサイズが所定サイズより小さい前記マスタデータを一時保持するデータ保持手段と、
前記マスタデータが一時保持されていない状態で前記スレーブＩ／Ｆ回路から前記可能通知が返信されると前記マスタコア回路に通達する可能転送手段と、
前記可能通知の通達に対応して前記マスタコア回路から受信するマスタデータを前記スレーブコア回路に転送するデータ転送手段と、
前記マスタデータが一時保持されている状態で前記スレーブＩ／Ｆ回路から前記可能通知が返信されると前記マスタコア回路に通達することなく一時保持されている前記マスタデータを返送するデータ返送手段と、
を前記マスタＩ／Ｆ回路が有している、請求項１ないし７の何れか一項に記載のバスシステム。
【請求項９】
少なくとも制御バスおよびデータバスとして機能するシステムバスでマスタＩ／Ｆ回路とスレーブＩ／Ｆ回路とが接続されており、前記マスタＩ／Ｆ回路に接続されるマスタコア回路と前記スレーブＩ／Ｆ回路に接続されるスレーブコア回路との少なくともコマンド通信とデータ通信とを仲介するバスシステムであって、
前記マスタコア回路が送信するマスタデータの受信を前記スレーブコア回路に命令する送信コマンドから前記マスタデータのデータサイズを検出するサイズ検出手段と、
検出された前記データサイズが所定サイズより小さい前記マスタデータを一時保持するデータ保持手段と、
前記マスタデータが一時保持されていない状態で前記スレーブＩ／Ｆ回路から可能通知が返信されると前記マスタコア回路に通達する可能転送手段と、
前記可能通知の通達に対応して前記マスタコア回路から受信するマスタデータを前記スレーブコア回路に転送するデータ転送手段と、
前記マスタデータが一時保持されている状態で前記スレーブＩ／Ｆ回路から前記可能通知が返信されると前記マスタコア回路に通達することなく一時保持されている前記マスタデータを返送するデータ返送手段と、
を前記マスタＩ／Ｆ回路が有している、バスシステム。
【請求項１０】
前記マスタＩ／Ｆ回路が複数の前記マスタコア回路ごとに設けられており、
複数の前記マスタＩ／Ｆ回路ごとに前記データ保持手段の保持容量が接続される前記マスタコア回路に対応している、請求項８または９に記載のバスシステム。
【請求項１１】
前記マスタコア回路から受信するコマンドの受付条件を前記スレーブコア回路から取得して保持する条件保持手段と、
前記マスタコア回路から受信するコマンドが前記受付条件に整合しているか判定するコマンド判定手段と、
前記コマンドと前記受付条件との整合が判定されないと前記スレーブコア回路に通知することなくコマンドエラーを前記マスタＩ／Ｆ回路に返信するエラー返信手段と、
を前記スレーブＩ／Ｆ回路が有している、請求項１ないし１０の何れか一項に記載のバスシステム。
【請求項１２】
少なくとも制御バスおよびデータバスとして機能するシステムバスでマスタＩ／Ｆ回路とスレーブＩ／Ｆ回路とが接続されており、前記マスタＩ／Ｆ回路に接続されるマスタコア回路と前記スレーブＩ／Ｆ回路に接続されるスレーブコア回路との少なくともコマンド通信とデータ通信とを仲介するバスシステムであって、
前記マスタコア回路から受信するコマンドの受付条件を前記スレーブコア回路から取得して保持する条件保持手段と、
前記マスタコア回路から受信するコマンドが前記受付条件に整合しているか判定するコマンド判定手段と、
前記コマンドと前記受付条件との整合が判定されないと前記スレーブコア回路に通知することなくコマンドエラーを前記マスタＩ／Ｆ回路に返信するエラー返信手段と、
を前記スレーブＩ／Ｆ回路が有している、バスシステム。
【請求項１３】
前記コマンドエラーとともにエラー理由を前記マスタＩ／Ｆ回路に返信する理由返信手段を前記スレーブＩ／Ｆ回路が有しており、
前記コマンドエラーとともに前記エラー通知を前記マスタコア回路に通知する原因通知手段を前記マスタＩ／Ｆ回路が有している、請求項１１または１２に記載のバスシステム。
【請求項１４】
前記マスタコア回路が前記スレーブコア回路からスレーブデータを取得するときに前記システムバスを占有させる占有制御手段を有しており、
前記スレーブデータの出力を命令する取得コマンドを前記マスタコア回路から受信して前記スレーブコア回路に転送するコマンド受信手段を前記スレーブＩ／Ｆ回路が有しており、
前記取得コマンドを転送した前記スレーブコア回路から前記スレーブデータを受信する以前に前記システムバスの占有依頼を受信して前記占有制御手段に通知する占有依頼手段を前記スレーブＩ／Ｆ回路が有している、請求項１ないし１３の何れか一項に記載のバスシステム。
【請求項１５】
少なくとも制御バスおよびデータバスとして機能するシステムバスでマスタＩ／Ｆ回路とスレーブＩ／Ｆ回路とが接続されており、前記マスタＩ／Ｆ回路に接続されるマスタコア回路と前記スレーブＩ／Ｆ回路に接続されるスレーブコア回路との少なくともコマンド通信とデータ通信とを仲介するバスシステムであって、
前記マスタコア回路が前記スレーブコア回路からスレーブデータを取得するときに前記システムバスを占有させる占有制御手段を有しており、
前記スレーブデータの出力を命令する取得コマンドを前記マスタコア回路から受信して前記スレーブコア回路に転送するコマンド受信手段を前記スレーブＩ／Ｆ回路が有しており、
前記取得コマンドを転送した前記スレーブコア回路から前記スレーブデータを受信する以前に前記システムバスの占有依頼を受信して前記占有制御手段に通知する占有依頼手段を前記スレーブＩ／Ｆ回路が有している、バスシステム。
【請求項１６】
少なくとも制御バスおよびデータバスとして機能するシステムバスでマスタＩ／Ｆ回路とスレーブＩ／Ｆ回路とが接続されており、前記マスタＩ／Ｆ回路に接続されるマスタコア回路と前記スレーブＩ／Ｆ回路に接続されるスレーブコア回路との少なくともコマンド通信とデータ通信とを仲介するバスシステムにおいて、
前記マスタコア回路からの各種の処理依頼への対応可否を示す可能／不能通知を前記スレーブＩ／Ｆ回路が前記スレーブコア回路から取得して保持し、
前記スレーブコア回路への前記処理依頼の各種コマンドを前記マスタＩ／Ｆ回路が前記マスタコア回路から受信して保持し、
保持された前記送信コマンドを前記マスタＩ／Ｆ回路が前記スレーブＩ／Ｆ回路に送信し、
このスレーブＩ／Ｆ回路が前記送信コマンドを受信すると前記スレーブコア回路に通知することなく保持している前記可能／不能通知を前記マスタＩ／Ｆ回路に返信する、データ通信方法。
【請求項１７】
少なくとも制御バスおよびデータバスとして機能するシステムバスでマスタＩ／Ｆ回路とスレーブＩ／Ｆ回路とが接続されており、前記マスタＩ／Ｆ回路に接続されるマスタコア回路と前記スレーブＩ／Ｆ回路に接続されるスレーブコア回路との少なくともコマンド通信とデータ通信とを仲介するバスシステムにおいて、
前記マスタＩ／Ｆ回路が、
前記スレーブコア回路への前記処理依頼の各種コマンドを前記マスタコア回路から受信して保持し、
保持した前記コマンドを前記スレーブＩ／Ｆ回路に送信し、
前記スレーブＩ／Ｆ回路から不能通知が返信されると前記マスタコア回路に通達することなく保持されている前記コマンドを再度送信する、データ通信方法。
【請求項１８】
少なくとも制御バスおよびデータバスとして機能するシステムバスでマスタＩ／Ｆ回路とスレーブＩ／Ｆ回路とが接続されており、前記マスタＩ／Ｆ回路に接続されるマスタコア回路と前記スレーブＩ／Ｆ回路に接続されるスレーブコア回路との少なくともコマンド通信とデータ通信とを仲介するバスシステムにおいて、
前記スレーブＩ／Ｆ回路が前記マスタコア回路からの各種の処理依頼への対応可否を示す可能／不能通知を前記スレーブコア回路から取得して保持し、
前記マスタＩ／Ｆ回路が前記スレーブコア回路への前記処理依頼の各種コマンドを前記マスタコア回路から受信して前記スレーブＩ／Ｆ回路に転送し、
前記スレーブＩ／Ｆ回路が前記マスタＩ／Ｆ回路から前記コマンドを受信すると前記スレーブコア回路に通知することなく保持されている前記可能／不能通知を返信し、
前記スレーブＩ／Ｆ回路が前記不能通知とともに不能理由を前記マスタＩ／Ｆ回路に返信する、データ通信方法。
【請求項１９】
少なくとも制御バスおよびデータバスとして機能するシステムバスでマスタＩ／Ｆ回路とスレーブＩ／Ｆ回路とが接続されており、前記マスタＩ／Ｆ回路に接続されるマスタコア回路と前記スレーブＩ／Ｆ回路に接続されるスレーブコア回路との少なくともコマンド通信とデータ通信とを仲介するバスシステムにおいて、
前記マスタＩ／Ｆ回路が、
前記マスタコア回路が送信するマスタデータの受信を前記スレーブコア回路に命令する送信コマンドから前記マスタデータのデータサイズを検出し、
検出した前記データサイズが所定サイズより小さい前記マスタデータを一時保持し、
前記マスタデータが一時保持されていない状態で前記スレーブＩ／Ｆ回路から可能通知が返信されると前記マスタコア回路に通達し、
前記可能通知の通達に対応して前記マスタコア回路から受信するマスタデータを前記スレーブコア回路に転送し、
前記マスタデータが一時保持されている状態で前記スレーブＩ／Ｆ回路から前記可能通知が返信されると前記マスタコア回路に通達することなく一時保持されている前記マスタデータを返送する、データ通信方法。
【請求項２０】
少なくとも制御バスおよびデータバスとして機能するシステムバスでマスタＩ／Ｆ回路とスレーブＩ／Ｆ回路とが接続されており、前記マスタＩ／Ｆ回路に接続されるマスタコア回路と前記スレーブＩ／Ｆ回路に接続されるスレーブコア回路との少なくともコマンド通信とデータ通信とを仲介するバスシステムにおいて、
前記スレーブＩ／Ｆ回路が、
前記マスタコア回路から受信するコマンドの受付条件を前記スレーブコア回路から取得して保持し、
前記マスタコア回路から受信するコマンドが前記受付条件に整合しているか判定し、
前記コマンドと前記受付条件との整合が判定されないと前記スレーブコア回路に通知することなくコマンドエラーを前記マスタＩ／Ｆ回路に返信する、データ通信方法。
【請求項２１】
少なくとも制御バスおよびデータバスとして機能するシステムバスでマスタＩ／Ｆ回路とスレーブＩ／Ｆ回路とが接続されており、前記マスタコア回路が前記スレーブコア回路からスレーブデータを取得するときに前記システムバスを占有させる占有制御手段を有しており、前記マスタＩ／Ｆ回路に接続されるマスタコア回路と前記スレーブＩ／Ｆ回路に接続されるスレーブコア回路との少なくともコマンド通信とデータ通信とを仲介するバスシステムにおいて、
前記スレーブＩ／Ｆ回路が、
前記スレーブデータの出力を命令する取得コマンドを前記マスタコア回路から受信して前記スレーブコア回路に転送し、
前記取得コマンドを転送した前記スレーブコア回路から前記スレーブデータを受信する以前に前記システムバスの占有依頼を受信して前記占有制御手段に通知する、データ通信方法。
【請求項２２】
請求項１に記載のバスシステムのスレーブＩ／Ｆ回路であって、
前記マスタコア回路からの各種の処理依頼への対応可否を示す可能／不能通知を前記スレーブコア回路から取得して保持する可否保持手段と、
前記マスタＩ／Ｆ回路から前記送信コマンドを受信すると前記スレーブコア回路に通知することなく保持されている前記可能／不能通知を返信する可否通知手段と、
を有している、スレーブＩ／Ｆ回路。
【請求項２３】
請求項３に記載のバスシステムのマスタＩ／Ｆ回路であって、
前記スレーブコア回路への前記処理依頼の各種コマンドを前記マスタコア回路から受信して保持するコマンド保持手段と、
保持された前記送信コマンドを前記スレーブＩ／Ｆ回路に送信するコマンド送信手段と、
を有している、マスタＩ／Ｆ回路。
【請求項２４】
請求項７に記載のバスシステムのスレーブＩ／Ｆ回路であって、
前記マスタコア回路からの各種の処理依頼への対応可否を示す可能／不能通知を前記スレーブコア回路から取得して保持する可否保持手段と、
前記マスタＩ／Ｆ回路から前記コマンドを受信すると前記スレーブコア回路に通知することなく保持されている前記可能／不能通知を返信する可否通知手段と、
前記不能通知とともに不能理由を前記マスタＩ／Ｆ回路に返信する理由返信手段と、有している、スレーブＩ／Ｆ回路。
【請求項２５】
請求項９に記載のバスシステムのマスタＩ／Ｆ回路であって、
前記マスタコア回路が送信するマスタデータの受信を前記スレーブコア回路に命令する送信コマンドから前記マスタデータのデータサイズを検出するサイズ検出手段と、
検出された前記データサイズが所定サイズより小さい前記マスタデータを一時保持するデータ保持手段と、
前記マスタデータが一時保持されていない状態で前記スレーブＩ／Ｆ回路から可能通知が返信されると前記マスタコア回路に通達する可能転送手段と、
前記可能通知の通達に対応して前記マスタコア回路から受信するマスタデータを前記スレーブコア回路に転送するデータ転送手段と、
前記マスタデータが一時保持されている状態で前記スレーブＩ／Ｆ回路から前記可能通知が返信されると前記マスタコア回路に通達することなく一時保持されている前記マスタデータを返送するデータ返送手段と、
を有している、マスタＩ／Ｆ回路。
【請求項２６】
請求項１２に記載のバスシステムのスレーブＩ／Ｆ回路であって、
前記マスタコア回路から受信するコマンドの受付条件を前記スレーブコア回路から取得して保持する条件保持手段と、
前記マスタコア回路から受信するコマンドが前記受付条件に整合しているか判定するコマンド判定手段と、
前記コマンドと前記受付条件との整合が判定されないと前記スレーブコア回路に通知することなくコマンドエラーを前記マスタＩ／Ｆ回路に返信するエラー返信手段と、
を有している、スレーブＩ／Ｆ回路。
【請求項２７】
請求項１５に記載のバスシステムのスレーブＩ／Ｆ回路であって、
前記スレーブデータの出力を命令する取得コマンドを前記マスタコア回路から受信して前記スレーブコア回路に転送するコマンド受信手段と、
前記取得コマンドを転送した前記スレーブコア回路から前記スレーブデータを受信する以前に前記システムバスの占有依頼を受信して前記占有制御手段に通知する占有依頼手段とを、
有している、スレーブＩ／Ｆ回路。
【請求項２８】
請求項１に記載のバスシステムの前記スレーブＩ／Ｆ回路に接続されるスレーブコア回路であって、
前記マスタコア回路からの各種の処理依頼への対応可否を示す可能／不能通知を判定する状態判定手段と、
判定された前記可能／不能通知を前記スレーブＩ／Ｆ回路に通達する状態通知手段と、
を有している、スレーブコア回路。
【請求項２９】
請求項１５に記載のバスシステムの前記スレーブＩ／Ｆ回路に接続されるスレーブコア回路であって、
受信した前記取得コマンドに対応して前記スレーブデータを用意するデータ用意手段と、
前記スレーブデータの用意途中で所定条件を満足すると前記占有依頼を前記スレーブＩ／Ｆ回路に通知する先行依頼手段と、
を有している、スレーブコア回路。
【請求項３０】
マスタコア回路が接続されているマスタＩ／Ｆ回路とスレーブコア回路が接続されているスレーブＩ／Ｆ回路とがシステムバスに接続されているデータ処理装置であって、
請求項１ないし１５の何れか一項に記載のバスシステムを有しているデータ処理装置。
【請求項３１】
マスタコア回路が接続されているマスタＩ／Ｆ回路とスレーブコア回路が接続されているスレーブＩ／Ｆ回路とがシステムバスに接続されている半導体集積回路であって、
請求項１ないし１５の何れか一項に記載のバスシステムを有している半導体集積回路。
【請求項３２】
半導体集積回路で各種のデータ処理を実行するコンピュータ装置であって、
請求項３１に記載の半導体集積回路を有しているコンピュータ装置。
【請求項３３】
コンピュータ装置で読取自在なソフトウェアであって、
請求項１ないし１５の何れか一項に記載のバスシステムの回路構造の電子データからなるソフトウェア。
【請求項３４】
コンピュータ装置で読取自在なソフトウェアであって、
請求項１ないし１５の何れか一項に記載のバスシステムの動作を前記コンピュータ装置にシミュレートさせるコンピュータプログラムからなるソフトウェア。
【請求項３５】
コンピュータ装置で読取自在なソフトウェアが格納されている情報記憶媒体であって、
請求項３３または３４に記載の電子データが格納されている情報記憶媒体。
【請求項３６】
情報記憶媒体にソフトウェアが格納されているコンピュータ装置であって、
請求項３５に記載の情報記憶媒体を有しているコンピュータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスタコア回路とスレーブコア回路とのデータ通信をシステムバスで仲介するバスシステムに関し、特に、マスタ／スレーブコア回路がマスタ／スレーブＩ／Ｆ回路を介してシステムバスに接続されるバスシステムに関する。
【背景技術】
【０００２】
いわゆるＡＳＩＣ(Application Specific Integrated Circuit)などの半導体集積回路からなるデータ処理装置は、１個のシステムバスに各種のマスタコア回路と各種のスレーブコア回路とを接続した構造に形成されている。
【０００３】
マスタコア回路は、例えば、ＣＰＵ(Central Processing Unit)などのデータ処理を主体的に実行する集積回路からなり、必要によりスレーブコア回路とデータ通信を実行する。スレーブコア回路は、例えば、ＲＡＭ(Random Access Memory)などの集積回路からなり、マスタコア回路のデータ処理に従属的に参加する。
【０００４】
しかし、現在では半導体集積回路の構造が複雑化しており、あるシステムバスに別規格のＩＰ(Intellectual Property)回路からなるマスタ／スレーブコア回路を組み合わせることもある。このような場合、データ通信に支障がないようにマスタ／スレーブコア回路を設計変更することもあるが、これは実際には困難な場合が多い。
【０００５】
そこで、マスタ／スレーブコア回路とシステムバスとの接続にマスタ／スレーブＩ／Ｆ回路を介在させることにより、別規格のマスタ／スレーブコア回路がシステムバスで支障なくデータ通信できるようにしたデータ処理装置がある。
【０００６】
[従来例の構成]
上述のようなデータ処理装置の一従来例を図７ないし図９を参照して以下に説明する。このデータ処理装置１００は、図７に示すように、１個のバスシステム１０１を有しており、このバスシステム１０１に複数種類のマスタコア回路１０２と複数種類のスレーブコア回路１０３とが接続されている。
【０００７】
バスシステム１０１は、システムバス１０５、複数のマスタＩ／Ｆ回路１０６、複数のスレーブＩ／Ｆ回路１０７、マスタアービタ回路１０８、スレーブアービタ回路１０９、からなり、システムバス１０５は、ＷＤ(Write Data)バス１１１およびＲＤ(Read Data)バス１１２からなる。
【０００８】
ＷＤバス１１１は、マスタコア回路１０２が出力する各種コマンドおよび各種データを制御バスおよびデータバスとしてマスタＩ／Ｆ回路１０６からスレーブＩ／Ｆ回路１０７まで伝送し、ＲＤバス１１２は、スレーブコア回路１０３が出力する各種データをデータバスとしてスレーブＩ／Ｆ回路１０７からマスタＩ／Ｆ回路１０６まで伝送する。
【０００９】
複数種類のマスタコア回路１０２は、各々に専用のマスタＩ／Ｆ回路１０６を介してシステムバス１０５に接続されており、このシステムバス１０５に、複数種類のスレーブコア回路１０３が各々に専用のスレーブＩ／Ｆ回路１０７を介して接続されている。
【００１０】
マスタアービタ回路１０８は、複数のマスタＩ／Ｆ回路１０６に接続されており、その１個にシステムバス１０５を占有させる。スレーブアービタ回路１０９は、複数のスレーブＩ／Ｆ回路１０７に接続されており、その１個にシステムバス１０５を占有させる。
【００１１】
ＷＤバス１１１とＲＤバス１１２とは並列に形成されており、ＷＤバス１１１はマスタＩ／Ｆ回路１０６からスレーブＩ／Ｆ回路１０７へのコマンドと通信データとを伝送し、ＲＤバス１１２はスレーブＩ／Ｆ回路１０７からマスタＩ／Ｆ回路１０６への通信データを伝送する。
【００１２】
なお、以下では説明を簡単とするため、マスタコア回路１０２とマスタＩ／Ｆ回路１０６との組み合わせをマスタブロック１１４と呼称し、スレーブコア回路１０３とスレーブＩ／Ｆ回路１０７との組み合わせをスレーブブロック１１５と呼称する。
【００１３】
[従来例の動作]
上述のような構成のデータ処理装置１００の動作を以下に順番に説明する。なお、以下で云うマスタデータとは、マスタコア回路１０２がコマンドとは別個に保持していて必要によりスレーブコア回路１０３に送信する各種データを意味しており、スレーブデータとは、スレーブコア回路１０３が保持していて必要によりマスタコア回路１０２に取得される各種データを意味している。
【００１４】
まず、マスタコア回路１０２がスレーブコア回路１０３にマスタデータを送信する場合、図８に示すように、マスタコア回路１０２は、送信するマスタデータの受信をスレーブコア回路１０３に命令する送信コマンドをマスタＩ／Ｆ回路１０６に送信する。
【００１５】
すると、この送信コマンドを受信したマスタＩ／Ｆ回路１０６は、ＷＤバス１１１を占有している場合は送信コマンドをシステムバス１０５によりスレーブＩ／Ｆ回路１０７に送信するが、占有していない場合はＷＤバス１１１の占有依頼をマスタアービタ回路１０８に送信する。
【００１６】
この占有依頼を受信したマスタアービタ回路１０８は、他のマスタブロック１１４がＷＤバス１１１を使用していたときは、その使用完了を受信すると占有依頼を発行したマスタブロック１１４にＷＤバス１１１を占有させる。このバス占有を完了したマスタアービタ回路１０８は、占有完了をマスタＩ／Ｆ回路１０６に通知するので、このマスタＩ／Ｆ回路１０６が占有完了をマスタコア回路１０２に通知する。
【００１７】
すると、このマスタコア回路１０２は、送信コマンドをマスタＩ／Ｆ回路１０６に再度送信するので、その送信コマンドはマスタＩ／Ｆ回路１０６からシステムバス１０５によりスレーブＩ／Ｆ回路１０７に送信され、このスレーブＩ／Ｆ回路１０７からスレーブコア回路１０３に送信される。このとき、スレーブコア回路１０３は、別処理中であるなどして対応不能な場合、不能通知をスレーブＩ／Ｆ回路１０７に出力する。
【００１８】
その不能通知はスレーブＩ／Ｆ回路１０７からシステムバス１０５によりマスタＩ／Ｆ回路１０６まで送信され、このマスタＩ／Ｆ回路１０６からマスタコア回路１０２に送信される。この場合、マスタコア回路１０２は、いわゆるリトライ処理により上述の動作を所定回数まで繰り返し、その繰返回数が所定の上限回数に一致したときは送信エラーを発行する。
【００１９】
この送信エラーとなる以前にスレーブコア回路１０３が対応可能となると、この可能通知がスレーブＩ／Ｆ回路１０７に出力される。その可能通知はスレーブＩ／Ｆ回路１０７からシステムバス１０５によりマスタＩ／Ｆ回路１０６まで送信され、このマスタＩ／Ｆ回路１０６からマスタコア回路１０２に送信される。
【００２０】
すると、このマスタコア回路１０２は、マスタデータをマスタＩ／Ｆ回路１０６に送信するので、そのマスタデータがマスタＩ／Ｆ回路１０６から占有されたシステムバス１０５によりスレーブＩ／Ｆ回路１０７まで送信され、このスレーブＩ／Ｆ回路１０７からスレーブコア回路１０３に送信される。
【００２１】
また、マスタコア回路１０２がスレーブコア回路１０３からスレーブデータを取得する場合、図９に示すように、マスタコア回路１０２は、スレーブデータの送信をスレーブコア回路１０３に命令する取得コマンドをマスタＩ／Ｆ回路１０６に送信する。
【００２２】
その取得コマンドは、マスタＩ／Ｆ回路１０６、システムバス１０５、スレーブＩ／Ｆ回路１０７、によりスレーブコア回路１０３まで送信され、このスレーブコア回路１０３が別処理中であるなどしてマスタデータを送信できない場合には、前述と同様にリトライ動作が実行される。スレーブコア回路１０３が送信可能な場合、その可能通知は、スレーブＩ／Ｆ回路１０７、システムバス１０５、マスタＩ／Ｆ回路１０６、によりマスタコア回路１０２まで送信される。
【００２３】
このとき、スレーブコア回路１０３はスレーブデータを用意し、この用意が完了するとＲＤバス１１２の占有依頼をスレーブＩ／Ｆ回路１０７に送信する。このスレーブＩ／Ｆ回路１０７は占有依頼をスレーブアービタ回路１０９に送信するので、このスレーブアービタ回路１０９は、占有依頼を発行したスレーブブロック１１５にＲＤバス１１２を占有させる。
【００２４】
この占有完了がスレーブアービタ回路１０９からスレーブＩ／Ｆ回路１０７を介してスレーブコア回路１０３まで通知されるので、このスレーブコア回路１０３が出力するスレーブデータが、スレーブＩ／Ｆ回路１０７、システムバス１０５、マスタＩ／Ｆ回路１０６、によりマスタコア回路１０２まで送信される。
【発明の開示】
【発明が解決しようとする課題】
【００２５】
上述したデータ処理装置１００では、マスタ／スレーブコア回路１０２，１０３とシステムバス１０５との接続にマスタ／スレーブＩ／Ｆ回路１０６，１０７が介在しているので、システムバス１０５を介して別規格のマスタ／スレーブコア回路１０２，１０３が支障なくデータ通信することが可能である。
【００２６】
しかし、図８および図９に示すように、マスタ／スレーブコア回路１０２，１０３がデータ通信するとき、その通信データの全部がマスタ／スレーブコア回路１０２，１０３の一方から他方までマスタ／スレーブＩ／Ｆ回路１０６，１０７を介して通信されるので、迅速にデータ通信することが困難である。
【００２７】
本発明は上述のような課題に鑑みてなされたものであり、マスタ／スレーブＩ／Ｆ回路を使用した構造でマスタ／スレーブコア回路のデータ通信を迅速に実行することができるバスシステムを提供することを目的とする。
【課題を解決するための手段】
【００２８】
本発明のバスシステムでは、マスタ／スレーブコア回路とシステムバスとの接続にマスタ／スレーブＩ／Ｆ回路を介在させているが、コア回路同士のデータ通信に必要な処理動作の一部をＩ／Ｆ回路が代行する。このため、通信データの全部をマスタ／スレーブＩ／Ｆ回路からマスタ／スレーブコア回路まで転送する必要がないので、マスタ／スレーブＩ／Ｆ回路を使用した構造でマスタ／スレーブコア回路のデータ通信が迅速に実行される。
【発明の効果】
【００２９】
本発明のバスシステムでは、マスタ／スレーブコア回路同士のデータ通信に必要な各種の処理動作の一部をマスタ／スレーブＩ／Ｆ回路が代行することにより、Ｉ／Ｆ回路とコア回路との通信処理を必要最小限として迅速に動作することができる。
【発明を実施するための最良の形態】
【００３０】
本発明の実施の第１の形態のバスシステムでは、マスタコア回路からの各種の処理依頼への可能／不能通知をスレーブＩ／Ｆ回路がスレーブコア回路から取得して保持し、マスタコア回路がコマンドをマスタＩ／Ｆ回路を介してシステムバスによりスレーブＩ／Ｆ回路まで送信すると、このスレーブＩ／Ｆ回路がコマンドをスレーブコア回路に通知することなく、保持している可能／不能通知をマスタＩ／Ｆ回路に返信する。
【００３１】
このため、本形態のバスシステムでは、スレーブＩ／Ｆ回路が受信したコマンドをスレーブコア回路に通知する必要がなく、コマンドを受信してから可能／不能通知をスレーブコア回路から取得する必要もないので、これらに必要な処理時間を削減することができる。
【００３２】
本発明の実施の第２の形態のバスシステムでは、マスタＩ／Ｆ回路が、マスタコア回路から受信するコマンドを保持してからスレーブＩ／Ｆ回路に送信し、このスレーブＩ／Ｆ回路から不能通知が返信されると、これをマスタコア回路に通達することなく、保持しているコマンドをスレーブＩ／Ｆ回路に再度送信する。
【００３３】
このため、本形態のバスシステムでは、マスタＩ／Ｆ回路が受信した不能通知をマスタコア回路に通達する必要がなく、不能通知を受信してから再度送信する送信コマンドをマスタコア回路から再度取得する必要もないので、これらに必要な処理時間を削減することができる。
【００３４】
本発明の実施の第３の形態のバスシステムでは、マスタＩ／Ｆ回路が、マスタコア回路からスレーブコア回路へのマスタデータのデータサイズを送信コマンドから検出し、検出されたデータサイズが所定サイズより大きい場合はマスタデータを一時保持しない。この状態でスレーブＩ／Ｆ回路から返信される可能通知はマスタコア回路に通達するので、このマスタコア回路から送信されるマスタデータをスレーブＩ／Ｆ回路に転送する。一方、検出されたデータサイズが所定サイズより小さいマスタデータは一時保持するので、この状態でスレーブＩ／Ｆ回路から可能通知が返信されると、これをマスタコア回路に通達することなく、一時保持しているマスタデータをスレーブＩ／Ｆ回路に返送する。
【００３５】
このため、本形態のバスシステムでは、マスタデータが小さい場合、マスタＩ／Ｆ回路がスレーブＩ／Ｆ回路から受信した可能通知をマスタコア回路に通達する必要がなく、可能通知を受信してからマスタデータをマスタコア回路から取得する必要もないので、これらに必要な処理時間を削減することができる。
【００３６】
本発明の実施の第４の形態のバスシステムでは、スレーブＩ／Ｆ回路が、コマンドの受付条件をスレーブコア回路から取得して保持し、マスタコア回路から受信するコマンドが受付条件に整合しているか判定し、整合が判定されないとスレーブコア回路に通知することなく、コマンドエラーをマスタＩ／Ｆ回路に返信する。
【００３７】
このため、本形態のバスシステムでは、コマンドをスレーブＩ／Ｆ回路からスレーブコア回路に転送して適否を判定させる必要がなく、コマンドエラーをスレーブコア回路からスレーブＩ／Ｆ回路まで通知する必要もないので、これらに必要な処理時間を削減することができる。
【００３８】
本発明の実施の第５の形態のバスシステムでは、スレーブＩ／Ｆ回路が、マスタコア回路から受信した取得コマンドをスレーブコア回路に転送してから、このスレーブコア回路からスレーブデータを受信する以前にシステムバスの占有依頼を受信して占有制御手段に通知する。
【００３９】
このため、本形態のバスシステムでは、スレーブコア回路がスレーブデータの用意を完了してからシステムバスの占有処理を開始する必要がなく、データ用意と占有処理とを並行に実行するので、その一方に必要な処理時間を削減することができる。
【００４０】
［実施例の構成］
本発明のデータ処理装置の一実施例を図１ないし図６を参照して以下に説明する。本実施例のデータ処理装置２００も、図４に示すように、１個のバスシステム２０１に複数種類のマスタコア回路２０２と複数種類のスレーブコア回路２０３とが接続されている。
【００４１】
バスシステム２０１は、システムバス２０５、複数のマスタＩ／Ｆ回路２０６、複数のスレーブＩ／Ｆ回路２０７、マスタアービタ回路２０８、占有制御手段に相当するスレーブアービタ回路２０９、からなり、システムバス２０５は、ＷＤバス２１１およびＲＤバス２１２からなる。
【００４２】
複数種類のマスタ／スレーブコア回路２０２，２０３は、各々に専用のマスタ／スレーブＩ／Ｆ回路２０６，２０７を介してシステムバス２０５に接続されており、複数のマスタ／スレーブＩ／Ｆ回路２０６，２０７にはマスタ／スレーブアービタ回路２０８，２０９が接続されている。なお、以下でもマスタ／スレーブコア回路２０２，２０３とマスタ／スレーブＩ／Ｆ回路２０６，２０７との組み合わせをマスタ／スレーブブロック２１４，２１５と各々呼称する。
【００４３】
マスタＩ／Ｆ回路２０６は、図５に示すように、マスタプロトコル制御回路２２１、アドレス保持回路２２２、コマンド保持手段であるコマンド保持回路２２３、サイズ検出手段の一部に相当するコマンド情報抽出回路２２４、サイズ検出手段の一部に相当するマスタデータカウンタ２２５、選択回路２２６〜２２９、リトライ情報抽出回路２３１，加算器２３２、リトライ間隔値レジスタ２３３、リトライ間隔カウンタ２３４、比較器２３５，２３６、リトライ要求回路２３７、上限保持手段であるリトライ回数レジスタ２３８、回数積算手段であるリトライ回数カウンタ２３９、エラー通知手段および原因通知手段に相当するバスエラー判定回路２４１、データ保持手段であるマスタデータ保持回路２４２、スレーブデータ制御回路２４３、スレーブデータカウンタ２４４、等を有している。
【００４４】
スレーブＩ／Ｆ回路２０７は、図６に示すように、スレーブプロトコル制御回路２５１、可否保持手段である可否状態保持回路２５２、条件保持手段である受信条件保持回路２５３、コマンド判定手段およびエラー返信手段に相当する応答条件判定回路２５４、理由返信手段に相当する否定原因生成回路２５５、リトライ設定値レジスタ２５６、疑似乱数発生回路２５７、選択回路２５８〜２６２、アドレスデコーダ２６４、アドレス保持回路２６５、コマンド保持回路２６６、マスタデータ保持回路２６７、占有依頼手段であるスレーブデータ制御回路２６８、スレーブデータカウンタ２６９、等を有している。
【００４５】
マスタ／スレーブプロトコル制御回路２２１，２５１は、マイクロコンピュータからなり、マスタ／スレーブＩ／Ｆ回路２０６，２０７の各部の動作制御に必要な通信プロトコルのコンピュータプログラムがファームウェアとして実装されている。
【００４６】
マスタＩ／Ｆ回路２０６は、マスタプロトコル制御回路２２１が実装されているコンピュータプログラムに対応して各部を動作制御することなどにより、コマンド送信手段、転送制御手段、可能転送手段、データ転送手段、データ返送手段、等の各種手段を各種機能として論理的に有している。
【００４７】
スレーブＩ／Ｆ回路２０７は、スレーブプロトコル制御回路２５１が実装されているコンピュータプログラムに対応して各部を動作制御することにより、可否通知手段、時間通知手段、コマンド受信手段、スレーブデータ制御回路２６８、等の各種手段を各種機能として論理的に有している。
【００４８】
マスタＩ／Ｆ回路２０６のコマンド保持回路２２３は、スレーブコア回路２０３に各種処理を依頼するコマンドをマスタコア回路２０２から受信して保持する。マスタＩ／Ｆ回路２０６のコマンド送信手段は、マスタプロトコル制御回路２２１が選択回路２２６を動作制御する機能などに相当し、保持されたコマンドをスレーブＩ／Ｆ回路２０７に転送する。
【００４９】
スレーブＩ／Ｆ回路２０７の受信条件保持回路２５３は、マスタコア回路２０２から受信するコマンドの受付条件をスレーブコア回路２０３から取得して保持し、応答条件判定回路２５４は、マスタコア回路２０２から受信するコマンドが受付条件に整合しているか判定し、その整合が判定されないとスレーブコア回路２０３に通知することなく、コマンドエラーをマスタＩ／Ｆ回路２０６に返信する。
【００５０】
スレーブＩ／Ｆ回路２０７の可否状態保持回路２５２は、マスタコア回路２０２からの各種の処理依頼への対応可否を示す可能／不能通知を、スレーブコア回路２０３から取得して保持する。なお、スレーブコア回路２０３は、コマンドを受信できない状態とマスタデータを受信できない状態とが別個に存在するため、これらに個々に対応した可能／不能通知が可否状態保持回路２５２に保持される。また、この可能／不能などの通知は、コマンドのような所定データとして送信することもできるが、専用の信号線のハイ／ロー状態として通達することもできる。
【００５１】
スレーブＩ／Ｆ回路２０７のコマンド受信手段は、スレーブプロトコル制御回路２５１が選択回路２６０を動作制御する機能などに相当し、可能通知が保持されている状態で受付条件に整合するコマンドをマスタコア回路２０２から受信するとスレーブコア回路２０３に転送する。
【００５２】
スレーブＩ／Ｆ回路２０７の可否通知手段は、スレーブプロトコル制御回路２５１が応答条件判定回路２５４を動作制御する機能などに相当し、マスタＩ／Ｆ回路２０６からコマンドを受信するとスレーブコア回路２０３に通知することなく、可否状態保持回路２５２に保持されている可能／不能通知を返信する。
【００５３】
スレーブＩ／Ｆ回路２０７のリトライ設定値レジスタ２５６は、スレーブコア回路２０３が対応不能から対応可能に復帰する予定時間をクロック数などで取得して保持し、スレーブＩ／Ｆ回路２０７の時間通知手段は、スレーブプロトコル制御回路２５１が選択回路２５８を動作制御する機能などに相当し、マスタＩ／Ｆ回路２０６に不能通知が返信されるときに予定時間も返信する。
【００５４】
マスタＩ／Ｆ回路２０６のリトライ間隔値レジスタ２３３は、スレーブＩ／Ｆ回路２０７から不能通知とともに返信される予定時間を保持し、リトライ間隔カウンタ２３４は、不能通知を受信してからの経過時間をカウントし、比較器２３５は、上述の経過時間が予定時間に一致するとリトライ要求回路２３７に通知する。
【００５５】
マスタＩ／Ｆ回路２０６の転送制御手段は、マスタプロトコル制御回路２２１がリトライ要求回路２３７の出力信号に対応して選択回路２２６を動作制御する機能などに相当し、スレーブＩ／Ｆ回路２０７から不能通知と予定時間とが返信されるとマスタコア回路２０２にデータ通知することなく、予定時間まで待機してから保持されている送信コマンドを再度送信する。
【００５６】
マスタＩ／Ｆ回路２０６のリトライ回数レジスタ２３８は、送信コマンドの送信繰り返しの上限回数をマスタコア回路２０２から取得して保持し、リトライ回数カウンタ２３９は、送信コマンドの送信回数を積算し、比較器２３６は、上述の送信回数が上限回数に一致するとリトライ要求回路２３７とバスエラー判定回路２４１とに通知する。
【００５７】
スレーブＩ／Ｆ回路２０７の否定原因生成回路２５５は、前述のコマンドエラーとともにエラー理由を選択回路２５８からマスタＩ／Ｆ回路２０６に返信し、不能通知とともに不能理由を選択回路２５８からマスタＩ／Ｆ回路２０６に返信する。
【００５８】
なお、スレーブＩ／Ｆ回路２０７の否定原因生成回路２５５は、マスタＩ／Ｆ回路２０６に返信する不能理由に、コマンドエラーをマスタブロック２１４に解消させるための修正データを付与することもできる。例えば、スレーブブロック２１５が４バイトのコマンドしか受け付けない場合、“４バイト”なるフィールドを修正データとして不能理由に付与することができる。
【００５９】
マスタＩ／Ｆ回路２０６のバスエラー判定回路２４１は、コマンドエラーとともに返信されたエラー通知をマスタコア回路に通知し、比較器２３６の通知信号に対応して送信エラーと不能通知と不能理由とをマスタコア回路２０２にデータ通知する。
【００６０】
マスタＩ／Ｆ回路２０６のコマンド情報抽出回路２２４およびマスタデータカウンタ２２５は、マスタコア回路２０２からスレーブコア回路２０３へのマスタデータのデータサイズを送信コマンドから検出し、マスタデータ保持回路２４２は、マスタプロトコル制御回路２２１の動作制御によりデータサイズが１バーストなどの所定サイズより小さいマスタデータを一時保持する。
【００６１】
なお、本実施例のデータ処理装置２００では、マスタＩ／Ｆ回路２０６が複数のマスタコア回路２０２ごとに設けられているが、マスタデータ保持回路２４２の保持容量は、そのマスタＩ／Ｆ回路２０６に接続されるマスタコア回路２０２が出力するマスタデータの最小単位などに対応している。
【００６２】
マスタＩ／Ｆ回路２０６の可能転送手段は、マスタプロトコル制御回路２２１の所定機能などに相当し、マスタデータ保持回路２４２にマスタデータが一時保持されていない状態でスレーブＩ／Ｆ回路２０７から可能通知が返信されるとマスタコア回路２０２にデータ通知する。
【００６３】
マスタＩ／Ｆ回路２０６のデータ転送手段は、マスタプロトコル制御回路２２１が選択回路２２８を動作制御する機能などに相当し、可能通知の通達に対応したマスタコア回路２０２からのマスタデータをスレーブコア回路２０３に転送する。
【００６４】
マスタＩ／Ｆ回路２０６のデータ返送手段も、マスタプロトコル制御回路２２１が選択回路２２８を動作制御する機能などに相当し、マスタデータ保持回路２４２にマスタデータが一時保持されている状態でスレーブＩ／Ｆ回路２０７から可能通知が返信されると、マスタコア回路２０２にデータ通知することなく、一時保持されているマスタデータを返送する。
【００６５】
スレーブＩ／Ｆ回路２０７のスレーブデータ制御回路２６８は、スレーブコア回路２０３から受信するシステムバス２０５の占有依頼をスレーブアービタ２０９に通知する。
【００６６】
[実施例の動作]
上述のような構成において、本実施例のデータ処理装置２００の動作を以下に順番に説明する。まず、図１および図２に示すように、スレーブコア回路２０３は、自身の動作状態に対応したステータスデータとして、マスタコア回路２０２からの各種の処理依頼への可能／不能通知をリアルタイムにスレーブＩ／Ｆ回路２０７に出力するので、このスレーブＩ／Ｆ回路２０７は、取得した可能／不能通知を更新されるまで保持する。
【００６７】
さらに、スレーブコア回路２０３は、上述のようにスレーブＩ／Ｆ回路２０７に不能通知を出力する場合、例えば、“他処理中”などの不能理由も出力し、対応可能に復帰する予定時間もクロック数などで出力するので、スレーブＩ／Ｆ回路２０７は、不能通知とともに不能理由および予定時間も保持する。
【００６８】
また、スレーブコア回路２０３は、処理可能なコマンドの受付条件もデータ処理装置２００の起動時などにスレーブＩ／Ｆ回路２０７に出力するので、このスレーブＩ／Ｆ回路２０７は、スレーブコア回路２０３から取得した受付条件も保持する。
【００６９】
一方、マスタコア回路２０２は、後述するコマンド送信の繰り返しの上限回数をデータ処理装置２００の起動時などにマスタＩ／Ｆ回路２０６に出力するので、このマスタＩ／Ｆ回路２０６は、マスタコア回路２０２から取得した上限回数を保持する。
【００７０】
このような状態で、マスタコア回路２０２がスレーブコア回路２０３にマスタデータを送信する場合、従来のデータ処理装置１００と同様に、マスタコア回路２０２が送信コマンドをマスタＩ／Ｆ回路２０６に送信する。すると、このマスタＩ／Ｆ回路２０６がＷＤバス２１１の占有依頼をマスタアービタ回路２０８に送信し、このマスタアービタ回路２０８から占有通知を受信する。
【００７１】
ただし、従来のデータ処理装置１００とは異なって、マスタＩ／Ｆ回路２０６はマスタコア回路２０２から受信した送信コマンドを保持し、その送信コマンドからマスタデータのデータサイズを検出する。検出したデータサイズが保持できる最大サイズである１バーストより大きい場合、図１に示すように、ＷＤバス２１１の占有完了が通知されると、これをマスタコア回路２０２に通知することなく、保持している送信コマンドをシステムバス２０５によりスレーブＩ／Ｆ回路２０７まで送信する。
【００７２】
このスレーブＩ／Ｆ回路２０７は、受信した送信コマンドが保持している受付条件に整合しているか判定し、整合が判定されないと送信コマンドをスレーブコア回路２０３に通知することなく、コマンドエラーをマスタＩ／Ｆ回路２０６に返信する(図示せず)。
【００７３】
このとき、スレーブＩ／Ｆ回路２０７はコマンドエラーとともにエラー理由もマスタＩ／Ｆ回路２０６に返信するので、このマスタＩ／Ｆ回路２０６は、受信したコマンドエラーおよびエラー理由をマスタコア回路２０２に通知する。このマスタコア回路２０２は、コマンドエラーを受信することで送信コマンドがスレーブブロック２１５に拒否されたことを認識し、エラー理由を受信することでエラー原因を認識するので、例えば、適切なコマンドの再送などの所定処理を実行する。
【００７４】
また、スレーブＩ／Ｆ回路２０７は、送信コマンドと受付条件との整合が判定された場合、受信した送信コマンドをスレーブコア回路２０３に通知することなく、保持している可能／不能通知をシステムバス２０５によりマスタＩ／Ｆ回路２０６に返信する。
【００７５】
例えば、スレーブコア回路２０３が別処理中であるなどして受信を実行できないときは、スレーブＩ／Ｆ回路２０７からマスタＩ／Ｆ回路２０６に不能通知が返信されるので、このマスタＩ／Ｆ回路２０６は、受信した不能通知をマスタコア回路２０２に通達することなく、保持している送信コマンドによりリトライ処理を所定回数まで繰り返す。
【００７６】
このとき、スレーブＩ／Ｆ回路２０７は不能通知とともに予定時間もマスタＩ／Ｆ回路２０６に返信するので、このマスタＩ／Ｆ回路２０６は、不能通知を受信すると、同時に受信した予定時間まで待機してから、リトライ処理として送信コマンドを再度送信する。
【００７７】
さらに、スレーブＩ／Ｆ回路２０７は不能通知とともに不能理由もマスタＩ／Ｆ回路２０６に返信するので、このマスタＩ／Ｆ回路２０６は、上述のリトライ処理の繰返回数が所定の上限回数に一致したときは、受信した不能通知および不能理由とともに送信エラーをマスタコア回路２０２に通知する。
【００７８】
このマスタコア回路２０２は、送信エラーを受信することで送信コマンドがスレーブブロック２１５に拒否されたことを認識し、不能通知および不能理由を受信することでエラー原因を認識するので、例えば、エラー原因に対応して所定の復帰処理や割込処理などを実行する。また、前述のように不能理由に修正データが付与されていた場合、マスタコア回路２０２は、その修正データに対応して適切なコマンドの再送などを実行することもできる。
【００７９】
一方、送信エラーとなる以前にスレーブコア回路２０３が対応可能となると、スレーブコア回路２０３は可能通知をリアルタイムにスレーブＩ／Ｆ回路２０７に出力するので、このスレーブＩ／Ｆ回路２０７は、保持している不能通知を可能通知に更新する。
【００８０】
この状態で、スレーブＩ／Ｆ回路２０７がマスタＩ／Ｆ回路２０６から送信コマンドを受信すると、スレーブＩ／Ｆ回路２０７は、受信した送信コマンドをスレーブコア回路２０３に通知することなく、保持している可能通知をシステムバス２０５によりマスタＩ／Ｆ回路２０６に返信する。
【００８１】
すると、このマスタＩ／Ｆ回路２０６は受信した可能通知をマスタコア回路２０２に通達するので、このマスタコア回路２０２が出力するマスタデータは、マスタＩ／Ｆ回路２０６からシステムバス２０５によりスレーブＩ／Ｆ回路２０７まで送信され、このスレーブＩ／Ｆ回路２０７からスレーブコア回路２０３に送信される。
【００８２】
なお、マスタＩ／Ｆ回路２０６は、上述のマスタデータの送信を完了すると、ＷＤバス２１１の占有解除をマスタアービタ回路２０８に送信するので、このマスタアービタ回路２０８がＷＤバス２１１の占有状態を解除する。
【００８３】
また、前述のようにマスタＩ／Ｆ回路２０６がマスタコア回路２０２から受信した送信コマンドによりマスタデータのデータサイズを検出したとき、そのデータサイズが保持できる最大サイズである１バーストより小さいと、図２に示すように、マスタＩ／Ｆ回路２０６は、保持した送信コマンドをシステムバス２０５によりスレーブＩ／Ｆ回路２０７まで送信するとともに、スレーブブロック２１５の返信に関係なく即座に可能通知をマスタコア回路２０２に返信する。
【００８４】
すると、このマスタコア回路２０２は１バーストのマスタデータをマスタＩ／Ｆ回路２０６に送信するので、このマスタＩ／Ｆ回路２０６は受信したマスタデータを保持する。この状態で、例えば、スレーブＩ／Ｆ回路２０７からマスタＩ／Ｆ回路２０６に不能通知が返信されると、このマスタＩ／Ｆ回路２０６は、受信した不能通知をマスタコア回路２０２に通達することなく、マスタデータを保持したまま保持している送信コマンドによりリトライ処理を所定回数まで繰り返す。
【００８５】
そして、スレーブＩ／Ｆ回路２０７からマスタＩ／Ｆ回路２０６に可能通知が返信されると、このマスタＩ／Ｆ回路２０６は、可能通知をマスタコア回路２０２に通達することなく、保持しているマスタデータをシステムバス２０５によりスレーブブロック２１５に送信する。
【００８６】
なお、上述のようにマスタコア回路２０２が出力する１バーストのマスタデータをマスタＩ／Ｆ回路２０６が保持した場合、マスタコア回路２０２はデータ送信の処理動作から解放されるので他処理などを実行できる。ただし、マスタデータを保持したマスタＩ／Ｆ回路２０６のリトライ処理の繰返回数が上限回数に一致すると、送信エラーがマスタコア回路２０２に通知されてマスタＩ／Ｆ回路２０６の保持データもリセットされる。
【００８７】
このため、本実施例のデータ処理装置２００では、マスタコア回路２０２が出力する１バーストのマスタデータをマスタＩ／Ｆ回路２０６が保持した場合、このマスタＩ／Ｆ回路２０６が送信完了を通知するまでマスタコア回路２０２にマスタデータを維持させることにより、送信するマスタデータの消失を防止している。
【００８８】
また、本実施例のデータ処理装置２００では、図３に示すように、マスタコア回路２０２がスレーブコア回路２０３からスレーブデータを取得する場合、マスタコア回路２０２は、スレーブデータの送信をスレーブコア回路２０３に命令する取得コマンドをマスタＩ／Ｆ回路２０６に送信する。
【００８９】
すると、このマスタＩ／Ｆ回路２０６は、前述の送信コマンドの場合と同等に、取得コマンドを保持したままＷＤバス２１１の占有依頼をマスタアービタ回路２０８に送信し、このマスタアービタ回路２０８からＷＤバス２１１の占有通知を受信すると、これをマスタコア回路２０２に通知することなく、保持している取得コマンドをシステムバス２０５によりスレーブＩ／Ｆ回路２０７まで送信する。
【００９０】
その取得コマンドは、スレーブＩ／Ｆ回路２０７からスレーブコア回路２０３まで送信され、このスレーブコア回路２０３が別処理中であるなどしてマスタデータを送信できない場合には、前述と同様にリトライ動作が実行される。
【００９１】
スレーブコア回路２０３がマスタデータを送信可能な場合、このスレーブコア回路２０３は、スレーブデータを用意するとともに、ＲＤバス２１２の占有依頼をスレーブＩ／Ｆ回路２０７に送信する。このスレーブＩ／Ｆ回路２０７は占有依頼をスレーブアービタ回路２０９に送信するので、このスレーブアービタ回路２０９は、占有依頼を発行したスレーブブロック２１５にＲＤバス２１２を占有させる。
【００９２】
この占有処理をスレーブアービタ回路２０９が実行しているとき、スレーブコア回路２０３はデータ用意を並行に実行しているので、スレーブアービタ回路２０９がバス占有を完了してスレーブＩ／Ｆ回路２０７からスレーブコア回路２０３に通知するころには、このスレーブコア回路２０３はデータ用意を完了している。
【００９３】
このスレーブコア回路２０３は、バス占有の通知受信とデータ用意との両方が完了すると、用意したスレーブデータを出力するので、このスレーブデータが、スレーブＩ／Ｆ回路２０７、システムバス２０５、マスタＩ／Ｆ回路２０６、によりマスタコア回路２０２まで送信される。
【００９４】
より具体的には、スレーブコア回路２０３が２次キャッシュからなり、この２次キャッシュに外部メモリが接続されている場合(図示せず)、２次キャッシュは、外部メモリから読み出したスレーブデータを一時保持してマスタブロック２１４に提供する。
【００９５】
そこで、上述のようにバスシステム２０５から取得コマンドを受信した２次キャッシュは、即座に占有依頼をスレーブＩ／Ｆ回路２０７に出力する。つぎに、２次キャッシュは、取得要求されたスレーブデータを自身が保持しているか外部メモリが保持しているかを判定し、スレーブデータを自身で保持していた場合は、占有通知が返信されるとスレーブデータをスレーブＩ／Ｆ回路２０７に出力する。
【００９６】
一方、スレーブデータが外部メモリで保持されていた場合、２次キャッシュは外部メモリからデータ読み出しを開始するとともに、バス占有の依頼キャンセルをスレーブＩ／Ｆ回路２０７に通知する。この場合、２次キャッシュは外部メモリからデータ読み出しを実行している最中はＲＤバス２１２の占有処理は実行されず、２次キャッシュはデータ読み出しを完了すると占有依頼をスレーブＩ／Ｆ回路２０７に出力する。
【００９７】
なお、スレーブＩ／Ｆ回路２０７は、上述のスレーブデータの送信を完了すると、ＷＤバス２１１の占有解除をスレーブアービタ回路２０９に送信するので、このスレーブアービタ回路２０９がＲＤバス２１２の占有状態を解除する。
【００９８】
［実施例の効果］
本実施例のバスシステム２０１では、図１に示すように、マスタコア回路２０２がスレーブコア回路２０３にコマンドを送信するとき、スレーブＩ／Ｆ回路２０７がマスタブロック２１４から受信したコマンドをスレーブコア回路２０３に通知せず、コマンドを受信してから可能／不能通知をスレーブコア回路２０３からデータ取得することもないので、これらに必要な処理時間を削減することができる。
【００９９】
しかも、マスタＩ／Ｆ回路２０６がスレーブブロック２１５から受信した不能通知をマスタコア回路２０２に通知せず、不能通知を受信してから送信コマンドをマスタコア回路２０２から再度取得することもないので、これらに必要な処理時間も削減することができる。
【０１００】
特に、マスタＩ／Ｆ回路２０６がスレーブＩ／Ｆ回路２０７から不能通知とともに受信する予定時間に対応してリトライ処理を実行するので、リトライ処理を的確なタイミングに実行することができる。さらに、マスタＩ／Ｆ回路２０６は送信コマンドの送信回数が上限回数に一致すると送信エラーをマスタコア回路２０２にデータ通知するので、マスタコア回路２０２はリトライ処理を実行しないが送信エラーを認識することができる。
【０１０１】
しかも、スレーブＩ／Ｆ回路２０７がマスタＩ／Ｆ回路２０６に返信する不能通知と不能理由も送信エラーとともにマスタコア回路２０２に通知されるので、このマスタコア回路２０２は、エラー原因を認識して所定の復帰処理や割込処理などを迅速に実行することができる。
【０１０２】
さらに、図２に示すように、マスタコア回路２０２のマスタデータが所定サイズより小さい場合、マスタＩ／Ｆ回路２０６がスレーブブロック２１５から受信した可能通知をマスタコア回路２０２に通知せず、可能通知を受信してからマスタデータをマスタコア回路２０２から取得することもないので、これらに必要な処理時間も削減することができる。しかも、マスタコア回路２０２にリトライ処理を制御する複雑なハードウェアが必要ないので、マスタコア回路２０２の回路規模を削減することもできる。
【０１０３】
特に、複数のマスタコア回路２０２と複数のマスタＩ／Ｆ回路２０６とが個々に接続されているが、マスタＩ／Ｆ回路２０６がマスタデータを保持できる容量が接続されているマスタコア回路２０２に対応しているので、無為に回路規模を増大させることなく様々な容量のマスタデータを確実に保持することができる。
【０１０４】
しかも、図３に示すように、マスタコア回路２０２がスレーブコア回路２０３からスレーブデータを取得する場合でも、スレーブコア回路２０３によるデータ用意とスレーブアービタ回路２０９によるバス占有とが並行に実行されるので、これらの一方の処理時間を削減することができる。
【０１０５】
なお、そのバス占有が完了した時点でデータ用意が完了していないことや、データ用意が完了した時点でバス占有が完了していない場合もあり得るが、それでもバス占有とデータ用意とを並行に開始するので処理時間を削減することができる。
【０１０６】
特に、前述のようにスレーブコア回路２０３である２次キャッシュが、自身の保持データを送信するときは占有依頼を即座に出力し、外部メモリのスレーブデータを送信するときはデータ読み出しを完了してから占有依頼を出力すれば、ＲＤバス２１２を即座に使用できるときは即座に占有することができ、即座には使用できないときには無為に占有しないので、バス占有を的確に無駄なく実行することができる。
【０１０７】
さらに、マスタブロック２１４から受信したコマンドの適否をスレーブＩ／Ｆ回路２０７がスレーブコア回路２０３に通知せず、その適否結果をスレーブコア回路２０３から取得することもないので、これらに必要な処理時間も削減することができる。
【０１０８】
しかも、スレーブＩ／Ｆ回路２０７がマスタＩ／Ｆ回路２０６に返信するエラー理由もコマンドエラーとともにマスタコア回路２０２に通知されるので、このマスタコア回路２０２は、エラー原因を認識して適切なコマンドの再送などを迅速に実行することができる。
【０１０９】
本形態のデータ処理装置２００は、上述のようにマスタ／スレーブコア回路２０２，２０３をマスタ／スレーブＩ／Ｆ回路２０６，２０７でシステムバス２０５に接続した構造でありながら、各コア回路２０２，２０３と各Ｉ／Ｆ回路２０６，２０７とのデータ通信を必要最小限としているので、各種の処理動作を迅速に実行することができる。
【０１１０】
［実施例の変形例］
本発明は本実施例に限定されるものではなく、その要旨を逸脱しない範囲で各種の変形を許容する。例えば、本実施例では説明を簡単とするため、各種コマンド、各種通知、マスタデータ、スレーブデータ、を一様にＷＤ／ＲＤバス２１１，２１２で送信することを例示したが、実際には２値の各種通知はＷＤ／ＲＤバス２１１，２１２に内包される専用ラインのハイ／ローで伝送することが好適である。
【０１１１】
また、本実施例では説明を簡単とするため、図３に示すように、ＲＤバス２１２の占有依頼がスレーブコア回路２０３からスレーブＩ／Ｆ回路２０７を介してスレーブアービタ回路２０９に送信されると、占有通知がスレーブアービタ回路２０９からスレーブＩ／Ｆ回路２０７を介してスレーブコア回路２０３に返信されることを例示した。
【０１１２】
しかし、占有依頼を出力したスレーブコア回路２０３がデータ用意の完了通知をスレーブＩ／Ｆ回路２０７に出力し、スレーブアービタ回路２０９が占有通知をスレーブＩ／Ｆ回路２０７に出力し、このスレーブＩ／Ｆ回路２０７が完了通知と占有通知とを受信するとスレーブコア回路２０３に占有通知を送信するようなことも可能である。
【０１１３】
さらに、本実施例ではスレーブコア回路２０３が出力する可能／不能通知をスレーブＩ／Ｆ回路２０７が保持することを例示したが、例えば、スレーブＩ／Ｆ回路２０７がデフォルトで保持している可能通知をスレーブコア回路２０３が必要な場合のみ不能通知に更新するようなことも可能である。
【０１１４】
また、本実施例ではマイクロコンピュータからなるマスタ／スレーブプロトコル制御回路２２１，２５１に通信プロトコルのコンピュータプログラムがファームウェアとして実装されていることを例示したが、例えば、マスタ／スレーブプロトコル制御回路２２１，２５１を順序回路で形成して通信プロトコルをハードウェアとして実現することも可能である。
【０１１５】
さらに、本実施例ではスレーブコア回路２０３が対応不能から対応可能に復帰する予定時間をスレーブＩ／Ｆ回路２０７のリトライ設定値レジスタ２５６が取得して保持することを例示したが、リトライ設定値レジスタ２５６に予定時間を予め固定的に設定しておくことも可能である。
【０１１６】
また、本実施例ではスレーブＩ／Ｆ回路２０７がスレーブコア回路２０３から不能通知とともに不能理由も受信することを例示したが、例えば、スレーブコア回路２０３から不能通知を受信したスレーブＩ／Ｆ回路２０７が内部処理で不能理由を生成することも可能である。
【０１１７】
さらに、本実施例では各種のハードウェアを具体的に例示したが、本発明を実施する場合には各種手段を機能的に実現できればハードウェアの構造は如何様にも変形できる。例えば、本実施例ではスレーブＩ／Ｆ回路２０７にアドレスデコーダ２６４が内蔵されている構造を例示したが、このアドレスデコーダ２６４をスレーブＩ／Ｆ回路に搭載しないことも可能である。
【０１１８】
また、本実施例ではハードウェアからなるデータ処理装置２００を例示して説明したが、このデータ処理装置２００の回路構造の電子データを生成し、コンピュータ装置で読取自在なソフトウェアとして情報記憶媒体に格納することも可能である(図示せず)。
【０１１９】
さらに、データ処理装置２００の動作をコンピュータ装置にシミュレートさせるコンピュータプログラムをＣ言語などで記述して情報記憶媒体に格納することも可能であり(図示せず)、このコンピュータプログラムや上述の電子データが情報記憶媒体に格納されているコンピュータ装置を形成することも可能である。
【０１２０】
本発明で云う回路構造の電子データとは、その回路装置の論理構造を特定できるソフトウェアであれば良く、例えば、動作記述データ、ＲＴＬ(Register Transfer Level)データ、ゲートレベルデータ、トランジスタレベルデータ、等からなる回路装置のネットリストなどとすることが可能である。
【０１２１】
また、本発明で云う情報記憶媒体とは、コンピュータ装置に各種処理を実行させるためのコンピュータプログラムが事前に格納されたハードウェアであれば良く、例えば、コンピュータ装置に固定されているＲＯＭ(Read Only Memory)およびＨＤＤ(Hard Disc Drive)、コンピュータ装置に交換自在に装填されるＣＤ(Compact Disc)−ＲＯＭおよびＦＤ(Flexible Disc-cartridge)、等で実施することが可能である。
【０１２２】
さらに、本発明で云う各種手段は、個々に独立した存在である必要もなく、複数の手段が１個の装置として形成されていること、ある手段が他の手段の一部であること、ある手段の一部と他の手段の一部とが重複していること、等も可能である。
【０１２３】
また、本発明で云う“少なくとも制御バスおよびデータバスとして機能するシステムバス２０５”とは、制御バスとデータバスとを物理的に有するシステムバス２０５の他、制御バスおよびデータバスとして時分割に機能するシステムバス２０５も可能である。
【図面の簡単な説明】
【０１２４】
【図１】本発明の実施例のデータ処理装置でマスタコア回路がスレーブコア回路にマスタデータを送信する場合を示すタイムチャートである。
【図２】マスタコア回路の送信コマンドをマスタＩ／Ｆ回路が保持する場合を示すタイムチャートである。
【図３】マスタコア回路がスレーブコア回路からスレーブデータを取得する場合を示すタイムチャートである。
【図４】データ処理装置のハードウェア構造を示すブロック図である。
【図５】マスタＩ／Ｆ回路の内部構造を示すブロック図である。
【図６】スレーブＩ／Ｆ回路の内部構造を示すブロック図である。
【図７】一従来例のデータ処理装置のハードウェア構造を示すブロック図である。
【図８】マスタコア回路がスレーブコア回路にマスタデータを送信する場合を示すタイムチャートである。
【図９】マスタコア回路がスレーブコア回路からスレーブデータを取得する場合を示すタイムチャートである。
【符号の説明】
【０１２５】
２００    データ処理装置
２０１    バスシステム
２０２    マスタコア回路
２０３    スレーブコア回路
２０５    システムバス
２０６    マスタＩ／Ｆ回路
２０７    スレーブＩ／Ｆ回路
２０９    占有制御手段に相当するスレーブアービタ回路
２２１    各種手段に相当するマスタプロトコル制御回路
２２３    コマンド保持手段であるコマンド保持回路
２２４    サイズ検出手段の一部に相当するコマンド情報抽出回路
２２５    サイズ検出手段の一部に相当するマスタデータカウンタ
２３８    上限保持手段であるリトライ回数レジスタ
２３９    回数積算手段であるリトライ回数カウンタ
２４０    エラー通知手段および原因通知手段に相当するバスエラー判定回路
２４２    データ保持手段であるマスタデータ保持回路
２５２    可否保持手段である可否状態保持回路
２５３    条件保持手段である受信条件保持回路
２５４    コマンド判定手段およびエラー返信手段に相当する応答条件判定回路
２５５    理由返信手段に相当する否定原因生成回路
２６８    占有依頼手段であるスレーブデータ制御回路
【図１】
2005267660.tif 000003
【図２】
2005267660.tif 000004
【図３】
2005267660.tif 000005
【図４】
2005267660.tif 000006
【図５】
2005267660.tif 000007
【図６】
2005267660.tif 000008
【図７】
2005267660.tif 000009
【図８】
2005267660.tif 000010
【図９】
2005267660.tif 000011