(57)【要約】【課題】固定優先順位バスアクセス調停方式を用いる階層バス構造において、システム動作に応じて優先順位が更新される場合においても、バスアクセス要求の調停を正確に実行する。【解決手段】複数の上位階層バス回路（６Ａ，６Ｂ）各々において、対応のバスマスタ群（２Ａ，２Ｂ）に含まれるバスマスタのアクセス要求を優先順位に従って調停し、アクセス要求が許可された選択バスマスタの優先順位情報を示す優先順位伝達信号（ＰＲＡ，ＰＲＢ）を下位階層のバスコントローラ（１０）へ転送する。下位階層バス回路（９）において、下位バスコントローラが、転送された優先順位伝達信号（ＰＲＡ，ＰＲＢ）に従ってアクセス要求の調停を実行して、優先順位の高い上位階層バス回路またはバスマスタを選択する。【選択図】図１
2010282405.tif 000002
【特許請求の範囲】
【請求項１】
各々が優先順位が与えられるとともに予め割当てられた処理を実行する1以上のバスマスタを各々が含む複数のバスマスタ群、
各バスマスタ群に対応して配置され、各々が対応のバスマスタ群からの情報を転送する複数の第1のバス、
各前記第1バスに対応して配置され、各々が対応のバスマスタ群からのアクセス要求を優先順位に基いて調停するとともにアクセスが許可されたバスマスタの優先順位を示す優先順位信号を伝達する複数の第1バスコントローラ、
前記複数の第1バスに共通に配置される第２のバス、
前記複数の第1のバスに共通にかつ前記第２のバスに対応して配置され、各前記第１のバスからのアクセス要求を、伝達された優先レベル信号に基いて調停するとともに、アクセスが許可されたバスマスタの優先順位を示す優先順位信号を前記第２バスの下位階層に転送するとともに前記アクセス許可されたバスマスタからの転送情報を前記第２のバスを介して下位階層へ転送する第２バスコントローラを備える、データ処理システム。
【請求項２】
前記データ処理システムは、各前記第１バスに対応して配置され、各々が対応の第1バスと前記第２バスとの間の通信を調整する複数のバスブリッジをさらに備え、
各前記バスブリッジは、対応の第１バスコントローラから転送された優先順位伝達信号を対応のバスマスタからの転送情報とともに順次格納して出力するキューバッファを備える、請求項１記載のデータ処理システム。
【請求項３】
前記キューバッファは、複数段のキューバッファレジスタを含み、
各前記バスブリッジは、さらに、
各前記のキューバッファレジスタの格納する優先順位伝達信号および対応の第１バスコントローラから転送される優先順位伝達信号とを受け、最も高い優先順位を示す優先順位伝達信号を選択して前記第２バスコントローラへ転送する最優先セレクタを備え、
前記キューバッファは、ファーストイン・ファーストアウト態様で格納されたバスマスタからの転送情報を順次第２バスに転送する、請求項２記載のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報（データ）を処理するデータ処理システムに関し、特に、上位バスおよび下位バスの階層化されたバス構造を有するデータ処理システムの処理の効率化を実現するためのバスのアクセス制御に関する。
【背景技術】
【０００２】
携帯端末機器および車載情報機器などにおいては、音声信号および画像信号などの情報を処理することが要求される。複数種類の情報を統合的に処理するために、マルチメディア用システムＬＳＩ（大規模集積回路装置）が用いられる。このマルチメディアシステムＬＳＩは、画像圧縮、画像処理、画像表示および音声処理などの多くのモジュールを含む。これらのモジュールにおいて処理に必要とされるデータは、たとえばクロック同期型ダイナミック・ランダム・アクセス・メモリ（ＳＤＲＡＭ）に格納されるのが一般的である。ＳＤＲＡＭへアクセスを行なうモジュールとＳＤＲＡＭとは、内部バスおよびＳＤＲＡＭコントローラを介して結合される。
【０００３】
複数のモジュールがバスを介してＳＤＲＡＭに並行してアクセス要求を発行した場合、これらのアクセス競合を調停するために、バスコントローラが設けられる。このバスアクセス要求の調停方式には、固定優先方式およびラウンドロビン方式等種々の方式がある。固定優先方式においては、各モジュールに予め優先順位が割当てられており、優先順位の高いモジュールにバスアクセス権を与える。ラウンドロビン方式においては、モジュールに対するバスアクセス権の優先順位が、順次更新され、一度バスアクセスを実行したモジュールに対し低いバスアクセス優先順位が割当てられる。
【０００４】
しかしながら、このようなバスアクセス権調停方式においては、ある優先順位の低いモジュールが、長期にわたってバスアクセスを行なうことができず、処理が中断され、処理効率が低下する可能性がある。
【０００５】
このようなモジュールの待ち時間を調整することを図る構成が、特許文献１（特開２００８−２０３９８９号公報）および特許文献２（特開２００３−１６７８４２号公報）に示されている。特許文献１においては、バスアクセス要求を発行するバスマスタとバスマスタによりアクセスが要求されるバススレーブとを有するシステム構成において、バスマスタのバス使用要求待ち時間に応じてバス使用要求を選択する。各バスマスタの待ち合わせ時間に応じてバスアクセス権を与えることにより、各バスマスタの待ち合わせ時間を平均化することを図る。
【０００６】
特許文献２に示される構成においては、第１および第２のバスの間にバスブリッジを設ける。第１および第２のバスには、それぞれ、複数のエージェントが接続される。バスブリッジ内において各エージェントのトランザクションの処理回数をモニタし、トランザクション回数に応じてバス使用要求を発行するエージェントの優先順位を変更する。処理回数の多いエージェントの優先順位を低下させることにより、優先順位の低いエージェントの待ち時間を低減することを図る。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−２０３９８９号公報
【特許文献２】特開２００３−１６７８４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
マルチメディア用システムＬＳＩにおいては、階層バス構造が用いられる。この階層バス構造においては、バスが上位階層バスおよび下位階層バスに分割される。上位階層バスが複数設けられ、各上位階層バスに１つの処理に関連するモジュールを並列に接続する。たとえば、第１の上位階層バスには、画像処理に関連するモジュールを接続し、画像表示に関連するモジュールを別の第２の上位階層バスに接続する。これらの第１および第２の上位階層バスが、下位階層バスに結合される。上位階層バスを分割することにより、各上位階層バスの負荷容量を低減するとともに、モジュールとバスの間の配線錯綜を回避する。
【０００９】
いま、バスアクセス調停が固定優先方式に従って行なわれるデータ処理システムを想定する。また、以下の説明において、アクセス要求を発行するモジュールを、「バスマスタ」と称し、このバスマスタによりアクセスされるモジュールを、「バススレーブ」と称す。この固定優先方式においては、各バスマスタに対しては、固定的に優先順位が与えられる。この優先順位は、以下のようにして定められる。すなわち、マルチメディア用システムＬＳＩにおいては、ＳＤＲＡＭを含むバスシステムは、いくつかのバスマスタに対してリアルタイム応答をすることが要求される。ここで、「リアルタイム応答」は、バスマスタがバスアクセス要求を発行してからデータ転送が完了するまでの処理が、必ず、システムで決まる制限時間内で行なわれることを意味する。
【００１０】
このリアルタイム応答が必要なバスマスタに対しては、その制限時間が短い順に高い優先順位を与える。固定優先調停方式を用いる階層バス構造においては、従来、データ転送制限時間に基づいてバスマスタをグループ化し、各上位階層バスに接続する。この場合、各バスマスタ群においてバスマスタに対して固定優先順位が与えられており、異なるバスマスタ群においては、同じ優先順位が割当てられるバスマスタが存在する。したがって、各上位階層バスに対しても、下位階層バスに対する優先順位が割当てられる。バスの優先順位およびバスマスタ群内の優先順位により、各バスマスタに対する優先順位が固定的に設定される。
【００１１】
異なる上位階層バスから同じ優先順位のバスマスタのアクセス要求が下位階層バスに発行されても、下位階層バスにおいては、優先順位の高い上位階層バスからのアクセス要求を受付ける。
【００１２】
しかしながら、マルチメディアシステムにおいては、バスマスタが有するデータ転送の制限時間は、システムの処理モードに応じて異なる場合がある。たとえば、画像表示において表示モードが変更される場合、画像データをＳＤＲＡＭへの転送速度を速くする必要が生じる場合がある。この場合、対応のバスマスタのデータ転送制限時間が、短くされる。
【００１３】
いま、第１の上位階層バスおよび第２の上位階層バスが設けられ、下位階層バス回路またはバススレーブに対する第１の上位階層バスの優先順位が、第２の上位階層バスよりも高い階層バス構造を考える。また、第１の上位階層バスに含まれるバスマスタの転送制限時間よりも、第２の上位階層バスに接続されるバスマスタの転送制限時間が短くされる状態を考える。この場合、第１および第２の上位階層バスは、下位階層バスに対してそれぞれ固定的に優先順位が割当てられている。これらの第１および第２の上位階層バスから同時に下位階層バスに対してアクセス要求を発行した場合、優先順位の高い第１の上位階層バスからのアクセス要求が許可される。
【００１４】
第２の上位階層バスのバスマスタのほうがデータ転送制限時間が短く、実質的には第１の上位階層バスからのアクセス要求を発行するバスマスタよりも優先順位を高くする必要がある。しかしながら、従来の固定優先調停方式においては、データ転送制限時間の長い第１の状階層バスのバスマスタが選択されることとなる。この結果、固定優先方式におけるデータ転送制限時間の短いバスマスタのアクセスを優先するという原則を維持することができず、データ処理を効率的に行なうことができなくなるという問題が生じる。
【００１５】
また、階層バス構造を有するデータ処理システムにおいては、固定優先方式に従ってバスアクセスを調停する構成でない場合においても、バスマスタの実効的優先順位が変更される場合、同様に、上位階層バスの下位階層バスに対するアクセスの調停の問題が生じる。
【００１６】
前述の特許文献１および特許文献２においては、１つの上位階層バスに接続されるバスマスタまたはエージェントの間で、待ち時間またはトランザクション処理回数に応じて優先順位を変更して、バスアクセス権利を割当てている。しかしながら、複数の上位階層バスが下位階層バスに対して並列に配置される階層バス構造における下位階層バスに対する上位階層バス間のアクセス調停の構成については何ら考察していない。
【００１７】
それゆえ、この発明の目的は、複数の上位階層バスが下位階層バスに対して設けられる階層バス構造において、確実に、バスマスタの実効的優先順位が変更される場合においても、優先順位の決定原則を維持してバスアクセスの調停を行なうことのできるデータ処理システムを提供することである。
【００１８】
この発明の他の目的は、固定優先調停方式の階層バス構造において、システムのモードに応じてデータ転送制限時間が変更されるバスマスタが存在する場合でも、正確にバスアクセス権の調停を行なうことのできるデータ処理システムを提供することである。
【課題を解決するための手段】
【００１９】
この発明に係るデータ処理システムにおいては、上位階層バスでバスアクセス権の調停に使用される優先順位情報を下位階層バスに伝達し、下位階層バスにおいても、その伝達された優先順位情報を用いてバスアクセス権の調停を行なう。
【発明の効果】
【００２０】
上位階層バスでバスアクセス権調停に使用される優先順位情報を下位階層バスに伝達している。したがって、階層バス構造において、階層間をまたがって、統一された優先順位を用いてバスアクセス権の調停を行なうことができる。応じて、上位階層バスに接続されるバスマスタの優先順位が変更されても、正確に、アクセス権の調停を行なうことができる。
【００２１】
また、上位階層バスに接続されるバスマスタの優先順位の変更が許容されるため、上位階層バスに接続するバスマスタのグループ分けの自由度を大きくすることができる。また、システムの動作モードが変更され、バスマスタのデータ転送制限時間が変更された場合でも、このデータ転送制限時間に応じた優先順位をバスマスタに割当てることができ、正確に、バスアクセス要求の調停を行なうことができ、データ処理効率の劣化を抑制することができる。
【００２２】
特に、固定優先権調停方式を用いる階層バス構造においては、バスマスタの優先順位が変更されても、バスマスタの優先順位割当の原則を維持することができ、優先順位に従って正確にバスアクセス調停を行うことができる。
【図面の簡単な説明】
【００２３】
【図１】この発明の実施の形態１に従うデータ処理システムの全体の構成を概略的に示す図である。
【図２】図１に示すデータ処理システムのバスアクセス調停動作を示す図である。
【図３】図１に示す上位バスコントローラおよび上位階層バス回路の構成の一例を概略的に示す図である。
【図４】図１に示す下位階層バス回路および下位バスコントローラの構成の一例を概略的に示す図である。
【図５】この発明の実施の形態１のデータ転送許可発生部の構成を概略的に示す図である。
【図６】この発明の実施の形態２に従うデータ処理システムの全体の構成を概略的に示す図である。
【図７】図６に示すデータ処理システムのアクセス固定動作の一例を示す図である。
【図８】この発明の実施の形態３に従うデータ処理システムの全体の構成を概略的に示す図である。
【図９】図８に示すデータ処理システムのバスアクセス調停動作の一例を示す図である。
【図１０】図９に示すデータ処理システムのアクセス調整動作を示すタイミング図である。
【発明を実施するための形態】
【００２４】
［実施の形態１］
図１は、この発明の実施の形態１に従うデータ処理システムの全体の構成を概略的に示す図である。図１において、データ処理システムは、一例として、マルチメディア用システムＬＳＩ１で構成される。このシステムＬＳＩ１は、処理内容が予め割当てられるバスマスタ群２Ａおよび２Ｂを含む。バスマスタ群２Ａは、バスマスタ３ａ−３ｄ、…を含み、バスマスタ群２Ｂは、バスマスタ３ｅ−３ｈ、…を含む。
【００２５】
バスマスタ群２Ａは、一例として、画像処理を担当し、バスマスタ群２Ｂは、画像表示を担当する。画像処理は、入力画像の変換処理などの画像からある情報を抽出する処理を示す。画像表示は、処理画像の表示装置への表示を行い、受信画像データの表示装置への表示の処理も含む。これらのバスマスタ群２Ａおよび２Ｂには、他の画像圧縮処理などが割当てられてもよく、マルチメディア用システムＬＳＩ１が処理するデータの種類に応じて、その処理内容が定められればよい。
【００２６】
バスマスタ３ａ−３ｈの各々は、対応のバスマスタ群２Ａおよび２Ｂに割当てられる処理内容内の単位処理を実行する。画像処理を担当するバスマスタ群２Ａにおいてバスマスタ３ａ−３ｄは、たとえば、一例として、フィルタ処理、画像の重ね合わせ、色相の変更などの処理を実行する。画像表示を担当するバスマスタ群２Ｂにおいては、バスマスタ３ｅ−３ｈは、一例として、各々、表示画像データの倍速表示のための画像データ配列、画像データの転送周波数の変換などの処理をそれぞれ実行する。
【００２７】
バスマスタ群２Ａに対して、上位バスコントローラ４Ａおよび上位階層バス回路６Ａが設けられ、バスマスタ群２Ｂに対して、上位バスコントローラ４Ｂおよび上位階層バス回路６Ｂが設けられる。
【００２８】
上位バスコントローラ４Ａは、バスマスタ群２Ａに含まれるバスマスタ３ａ−３ｄ、…とコントロールバス５Ａを介して結合され、これらのバスマスタ３ａ−３ｄ、…のバスアクセス要求の調停を行なう。上位階層バス回路６Ａにおいては、一例として、内蔵のセレクタにより、上位バスコントローラ４Ａによりアクセス要求が許可されたバスマスタを選択する。
【００２９】
上位バスコントローラ４Ｂも同様、コントロールバス５Ｂを介してバスマスタ３ｅ−３ｈ、…に結合され、これらのバスマスタ３ｅ−３ｈ、…のアクセス要求の調停を行なう。一例として、上位階層バス回路６Ｂにおいても、セレクタが含まれており、上位バスコントローラ４Ｂによりアクセス要求が許可されたバスマスタを、この内部のセレクタにより選択する。
【００３０】
上位バスコントローラ４Ａおよび４Ｂは、それぞれ、バスアクセス要求が許可されたバスマスタに割当てられている優先順位を示す優先順位伝達信号ＰＲＡおよびＰＲＢを、それぞれアクセス要求が許可されたバスマスタのアクセス要求ＲＥＱＡおよびＲＥＱＢならびにアドレス（ＡＤＤ）、データ（ＤＡＴＡ：データ書込時）およびコマンド（ＣＴＬ）とともに転送する。
【００３１】
このアクセス要求が許可されたバスマスタに割当てられた優先順位を示す優先順位伝達信号ＰＲＡおよびＰＲＢを下位階層へ伝達することにより、バスマスタ３ａ−３ｈ、…においてデータ転送制限時間（優先順位）が変更される場合においても、正確なバスアクセス要求の調停を実現することができる（この動作については後に説明する）。
【００３２】
上位階層バス回路６Ａおよび６Ｂに対し共通に、下位階層バス回路９が設けられる。下位階層バス回路９に対して下位バスコントローラ１０が設けられる。上位階層バス回路６Ａおよび６Ｂからの優先順位伝達信号ＰＲＡおよびＰＲＢとアクセス要求ＲＥＱＡ１およびＲＥＱＢは、それぞれローカルコントロールバス７Ａおよび７Ｂに結合されるコントロールバス８を介して下位バスコントローラ１０へ与えられる。
【００３３】
下位バスコントローラ１０は、転送された優先順位伝達信号ＰＲＡおよびＰＲＢに従ってバスアクセス要求を調停し、一例として、下位階層バス回路９に含まれるセレクタにより、アクセス許可された上位階層バス回路６（６Ａまたは６Ｂ）の出力するアドレス（ＡＤＤ）、データ（ＤＡＴＡ：データ書込時）およびコマンド（ＣＴＬ）を選択する。
【００３４】
下位階層バス回路９に対しては、バススレーブとして、外部メインメモリとして設けられるＳＤＲＡＭ（クロック同期型ダイナミック・ランダム・アクセス・メモリまたはクロック同期型半導体記憶装置）１６に対するアクセスを制御するＳＤＲＡＭコントローラ１５が設けられる。ＳＤＲＡＭコントローラ１５は、下位階層バス回路９から転送されたアドレス、データおよびコマンドに従って図示しないクロック信号に同期してＳＤＲＡＭ１６へアクセスし、必要なデータの転送（書込または読出）を実行する。このＳＤＲＡＭコントローラ１５のアクセス制御動作は、通常のメモリコントローラのアクセス制御態様と同様である。
【００３５】
下位階層バス回路９は、また、ＣＰＵバス１１を介してＣＰＵ（中央演算処理装置）１２に結合される。ＣＰＵバス１１にはキャッシュメモリ１３が設けられ、ＣＰＵ１２が処理を実行する際に用いられるデータおよび命令がキャッシュメモリ１３にキャッシュされる。
【００３６】
下位階層バス回路９に対してさらに、ＤＭＡＣ（ダイレクト・メモリ・アクセス・コントローラ）１４が設けられ、ＳＤＲＡＭ１６へのアクセスが、ＣＰＵ１２の制御を離れてＤＭＡＣ１４の制御のもとに実行される。これにより、ＣＰＵ１２の演算処理に並行して、ＳＤＲＡＭ１６とバスマスタとの間でデータ転送を実行する。
【００３７】
図２は、この発明の実施の形態１に従うデータ処理システムの具体的バスアクセス調停動作の一例を概略的に示す図である。図２において、一例として、バスマスタ群２Ａにおいてバスマスタ３ａ−３ｄが用いられ、バスマスタ群２Ｂにおいては、バスマスタ３ｅ−３ｈが利用される。バスマスタ群２Ａのバスマスタ３ａ−３ｃに対し、データ転送制限時間として、５μｓ、１０μｓ、１５μｓがそれぞれ割当てられる。システムの動作モードに応じて、バスマスタ３ｄのデータ転送制限時間が２０μｓから２５μｓに変更される。一方、バスマスタ群２Ｂにおいて、バスマスタ３ｆ−３ｈに対して、データ転送制限時間として、３０μｓ、３５μｓおよび４０μｓがそれぞれ割当てられる。システムの動作モードの変更に伴って、バスマスタ３ｅのデータ転送制限時間として２５μｓに代えて２０μｓが割当てられる。
【００３８】
バスマスタ３ａ−３ｈの優先順位は、バスマスタ全体においてデータ転送制限時間が短いものに高い優先順位が割当てられるように割当てられる。したがって、バスマスタ３ａ−３ｃに対して優先順位“１”、“２”、“３”が割当てられる。一方、バスマスタ３ｆ−３ｈに対しては、優先順位“６”、“７”および“８”が割当てられる。一方、システムの動作モードの変更に伴い、バスマスタ３ｄおよび３ｅには、それぞれ、優先順位“５”、“４”が割当てられる。すなわち、バスマスタの優先順位は、バスマスタ群内において個々に設定されるのではなく、バスマスタ全体において、そのデータ転送制限時間に応じて割当てられる。従って、バスマスタ群２Ａに含まれるバスマスタ３ｄの優先順位が、バスマスタ群２Ｂのバスマスタ３ｅの優先順位よりも低くなる状態が生じる。この処理モードに応じたバスマスタの優先順位の設定は、例えば、以下のようにして行なわれる。すなわち、図１に示すＣＰＵ１２が、実行する処理モードに応じて各バスマスタに割り当てられるデータ転送制限時間を算出し、その算出結果に基づいて最も短いデータ転送制限時間のバスマスタから順に高い優先順位を設定する。
【００３９】
この図２に示す状態において、今、上位階層バス回路６Ａにおいては、バスマスタ３ｄからのバスアクセス要求が認められ、上位階層バス回路６Ｂにおいては、バスマスタ３ｅからのバスアクセス要求が認められた状態を考える。この場合、上位階層バス回路６Ａは、バスマスタ３ｄの有する優先順位“５”を示す優先順位伝達信号ＰＲＡを下位階層バス回路９に転送する。一方、上位階層バス回路６Ｂは、このバスマスタ３ｅの有する優先順位“４”を示す優先順位伝達信号ＰＲＢを下位階層バス回路９に転送する。
【００４０】
下位階層バス回路９においては、この転送された優先順位伝達信号ＰＲＡおよびＰＲＢに基づいて、優先順位の高いバスマスタ３ｅのアクセス要求を選択する。したがって、上位階層バス回路６Ａおよび６Ｂの下位階層バス回路９に対するアクセス優先順位は、固定的に上位階層バス回路６Ａの方が高いように定められるのではなく、優先順位伝達信号ＰＲＡおよびＰＲＢに従ってアクセス優先順位を判定してバスアクセス要求の調停を実行する。これにより、システムの処理動作に応じて、バスマスタのデータ転送制限時間が更新され、その優先順位が変更される場合においても、正確に、データ転送制限時間の短いバスマスタのアクセス要求を許可することができる。すなわち、固定優先方式のバスアクセス調停における、データ転送制限時間が短いバスマスタに対して高い優先順位を割当ててバスアクセス権の調停を行うという原則を、維持することができる。
【００４１】
下位階層バス回路９に対しては、バススレーブとしてＳＤＲＡＭコントローラ１４およびＳＤＲＡＭ１６が設けられており、ＳＤＲＡＭコントローラ１４を介してＳＤＲＡＭ１６に対しアクセスをして、データ転送を行なう。これにより、バスマスタ３ｅは、設定されたデータ転送制限時間内に、必要なデータの転送を行なうことができる。
【００４２】
図３は、図１に示す上位バスコントローラ４Ａ、４Ｂおよび上位階層バス回路６Ａ、６Ｂの構成の一例を概略的に示す図である。図３において、上位バスコントローラ４Ａおよび４Ｂが同一構成を有し、また、上位階層バス回路６Ａおよび６Ｂも同一構成を有するため、上位バスコントローラ４により、上位バスコントローラ４Ａおよび４Ｂを代表的に示し、上位階層バス回路６により、上位階層バス回路６Ａおよび６Ｂを代表的に示す。
【００４３】
図３において、上位バスコントローラ４（４Ａ，４Ｂ）は、各バスマスタの優先順位を示す情報を格納するレジスタファイル２０と、バスマスタからのバスアクセス要求ＲＥＱ１−ＲＥＱｎに従ってレジスタファイル２０を参照してバスアクセス要求の調停を行なうバスアクセス調停部２２と、レジスタファイル２０の各バスマスタの優先順位をＣＰＵ１２からの指令に従って変更する書換制御回路２４とを含む。
【００４４】
レジスタファイル２０は、各バスマスタに対応して配置されるエントリＥＲＹを含む。これのエントリＥＲＹは、それぞれ、バスマスタを特定するバスマスタＩＤを格納する識別フィールドＦＤ１と、各バスマスタに割当てられた優先順位を示す情報を格納する優先順位フィールドＦＤ２を含む。
【００４５】
但し、このレジスタファイル２０の構成としては、夫々のエントリＥＲＹを対応するバスマスタに括り付けて（エントリＥＲＹの一番目をバスマスタ３ａ、二番目のエントリをバスマスタ３Ｂ、…等）優先順位を示す情報を格納するものであってもよく、逆に、夫々のエントリＥＲＹを対応する優先順位に括り付けてバスマスタを特定するバスマスタ識別子ＩＤを格納するものであってもよく、構成上の都合に応じて決定されればい。
【００４６】
図３においては、一例として、レジスタファイル２０内において、ｎ個のバスマスタに対して割当てられるバスマスタ識別子ＩＤ１−ＩＤｎと、バスマスタそれぞれに対して割当てられる優先順位を示す情報ＰＲ１−ＰＲｎが格納される。
【００４７】
バスアクセス調停部２２は、コントロールバス５（５Ａ，５Ｂ）を介して与えられるバスマスタからのバスアクセス要求ＲＥＱ１−ＲＥＱｎを受けると、バスアクセス要求が競合するとき、レジスタファイル２０を参照し、最も優先順位の高いバスマスタのバスアクセス要求を識別し、この最も優先順位の高いバスマスタに対しバスアクセス要求を許可するバスアクセス許可ＡＣＫをアサートする。
【００４８】
バスアクセス調停部２２からのバスアクセス許可ＡＣＫ１−ＡＣＫｎのうちの１つがアサートされ、コントロールバス５を介してそれぞれ対応のバスマスタに転送される。バスマスタは、対応のバスアクセス許可ＡＣＫｉ（ｉ＝１−ｎのいずれか）がアサートされると、対応の上位階層バス回路に対してＳＤＲＡＭへのデータ転送要求（データの書込または読出要求）を発行する。他のバスマスタは、自身に割当てられたバスアクセス許可ＡＣＫｉがアサートされるまで、バスアクセスは待ち合わせられる。
【００４９】
書換制御回路２４は、ＣＰＵ１２から書換指示が与えられると、レジスタファイル２０内の対応のバスマスタの優先順位を書換える。ＣＰＵ１２は、バスコントローラ４とＣＰＵバス１１を介して結合され、システムの動作モードが変更され、各バスマスタに割当てられるデータ転送制限時間が変更されると、その変更に応じて、各バスマスタに対する優先順位を再編成する。この優先順位の再編成は、一例として、以下のようにして行なわれる。すなわち、テーブルメモリ内に、システムの処理モードに応じて各バスマスタに割当てられるデータ転送制御時間を各バスマスタに対応して格納する。ＣＰＵ１２は、処理モード変更が指示されると、その変更後の処理モードに基いてテーブルメモリを参照して、各バスマスタのデータ転送制御時間情報を読出し、全バスマスタに対して、この読出したデータ転送制限時間の昇順に従って、優先順位を降順に割当てる（短いデータ転送制御時間に対してより高い優先順位を割当てる）。
【００５０】
ＣＰＵ１２は、実行する処理モードに応じて再編成された各バスマスタの優先順位情報を生成すると、一旦、レジスタファイルに生成したバスマスタの優先順位情報を格納する。この後、ＣＰＵ１２は、ＣＰＵバス１１を介して書換制御回路２４に対し優先順位書換指示を与え先順位変更対象のバスマスタを特定するアドレス（バスマスタ識別情報ＩＤ）および対応の優先順位情報を転送する。これにより、各システム動作モードに応じてバスマスタの優先順位が変更される場合においても、各バスマスタに対して、最もデータ転送制限時間が短いバスマスタを優先的にアクセス許可するという固定優先方式のバスアクセス権調停の原則を維持することができる。
【００５１】
上位階層バス回路６（６Ａ，６Ｂ）は、バスアクセス調停部２２からのバスアクセス許可ＡＣＫ１−ＡＣＫｎに従ってバスマスタ群２（２Ａ，２Ｂ）の出力情報を選択するセレクタ２６と、下位階層に対するバスアクセス要求ＩＤＱＡおよびアクセス許可されたバスマスタの優先順位を示す信号ＰＲＡを伝達するバッファ２８を含む。
【００５２】
セレクタ２６は、バスアクセス調停部２２からのバスアクセス許可ＡＣＫ１−ＡＣＫｎに従って、アサートされたバスアクセス許可に対応するバスマスタの出力を対応のバスマスタ群２から選択し、アクセス許可されたバスマスタから転送されたアドレスＡＤＤ、データＤＡＴＡおよびコマンドＣＴＬを下位階層バス回路に転送する。
【００５３】
バスマスタ群２は、データ読出を要求し、ＳＤＲＡＭ（１６）からデータの転送を要求する場合には、対応のバスマスタは、アドレスおよび読出モード指示を出力し、セレクタ２６からは、これらのアドレスＡＤＤおよび読出モードを指定するコマンドＣＴＬが出力される。所定期間経過後、セレクタ２６を介してバスマスタ群２のアクセスが許可されたバスマスタに対し、ＳＤＲＡＭからの読出データＤＡＴＡが転送される。
【００５４】
バッファ２８は、バスアクセス調停部２２からのバスアクセス要求およびアクセス許可されたバスマスタの優先順位情報を受け、バッファ処理して下位階層に対するバスアクセス要求ＲＥＱ（ＲＥＱＡ、ＲＥＱＢ）および優先順位伝達信号ＰＲ（ＰＲＡ、ＰＲＢ）を生成する。
【００５５】
なお、この図３に示す構成において、上位階層バス回路６においては、セレクタ２６によりバスマスタ群２に含まれるバスマスタの出力を選択している。しかしながら、以下の構成の場合には、このセレクタ２６は、設ける必要はない。すなわち、バスマスタ群２に含まれるバスマスタの出力部（インターフェース部）が、上位階層バスに並列に結合され、バスマスタは、それぞれ、対応のバスアクセス許可ＡＣＫ１−ＡＣＫｎがアサートされるときに出力がイネーブルされ、対応のバスアクセス許可ＡＣＫｉがネゲート状態の場合には、バスマスタが出力ハイインピーダンス状態に維持される。この構成の場合には、セレクタ２６は、機能的には、バス回路６に含まれる上位階層バスと、各バスマスタの出力部に設けられるバスインターフェイスとの組合せに対応することになる。
【００５６】
図３に示す構成を利用することにより、システム動作モードに応じてバスマスタの優先順位が変更される場合においても、上位階層バス回路６におけるバッファ２８により、下位階層バス回路またはバススレーブへ更新後の優先順位情報を伝達することができる。
【００５７】
［バスコントローラの構成］
図４は、図１に示す下位階層バス回路９および下位バスコントローラ１０の構成を概略的に示す図である。図４において、下位バスコントローラ１０は、上位階層バス回路２Ａおよび２Ｂから転送される優先順位伝達信号ＰＲＡおよびＰＲＢのうち最も高い優先順位を選択する最高優先順位選択部５０と、これらの上位階層バス回路２Ａおよび２Ｂからの転送要求ＲＥＱＡおよびＲＥＱＢと優先順位伝達信号ＰＲＡおよびＰＲＢに従って競合アクセスを調停する転送要求調停部５０を含む。
【００５８】
最高優先順位選択部５０は、上位階層バス回路２Ａおよび２Ｂからのアクセス要求（転送要求）ＲＥＱＡおよびＲＥＱＢがともにアサートされているとき、並行して伝達される優先順位伝達信号ＰＲＡおよびＰＲＢのうち高いほうの優先順位を示す優先順位値を選択してバススレーブまたは下位階層バス回路に対し優先順位伝達信号ＰＲ（Ｌ）を生成して伝達する。この最高優先順位選択部５０は、アクセス要求ＲＥＱＡおよびＲＥＱＢの一方のみがアサートされている場合には、対応の優先順位伝達信号を選択して下位階層バス回路またはバススレーブに伝達する。
【００５９】
この最高優先順位選択部５０は、また、転送要求調停部５２が生成したアクセスが許可されたバスを示す最終バスアクセス許可ＦＢＡＣＫＡおよびＦＢＣＫＡＢを、上位バスコントローラ４Ａおよび４Ｂへそれぞれ転送する。下位階層バス回路においてアクセスが許可されたバスマスタに対して、最終のバスアクセス許可ＡＣＫを生成して、バスマスタの転送動作を許可する。下位階層バス回路によりアクセスが待ち合わせられるバスマスタは、データ転送を以後に許可されるまで待合せる。この最終バスアクセス許可ＦＢＡＣＫＡおよびＦＢＡＣＫＢを用いた転送処理については、後に詳細に説明する。
【００６０】
転送要求調停部５２は、これらの転送要求ＲＥＱＡおよびＲＥＱＢと優先順位伝達信号ＰＲＡおよびＰＲＢとに従って、最も優先順位の高い上位階層バス回路またはバスマスタを指定する選択信号ＳＥＬを生成するとともに、下位階層バス回路またはバススレーブに対しアクセス要求ＲＥＱ（Ｌ）および対応の優先順位伝達信号に従って下位への優先順位伝達信号ＰＲ（Ｌ）を生成して転送する。
【００６１】
下位階層バス回路９は、セレクタ部５４を含む。セレクタ部５４は、上位階層バス回路２Ａおよび２Ｂからのアドレス信号、データおよびコマンドＡＤＤ／ＤＡＴＡ／ＣＴＬ♯ＡおよびＡＤＤ／ＤＡＴＡ／ＣＴＬ♯Ｂの一方を、転送要求調停部５２からの選択信号ＳＥＬに従って選択し、下位階層バス回路またはバススレーブに対するアドレス、データおよびコマンド（ＡＤＤ／ＤＡＴＡ／ＣＴＬ）を転送する。
【００６２】
この下位バスコントローラ１０において、アクセス要求（転送要求）ＲＥＱＡおよびＲＥＱＢがともにアサートされているとき、伝達された優先順位伝達信号ＰＲＡおよびＰＲＢのうち高いほうの優先順位を示す上位階層バス回路またはバスマスタを選択する。これにより、下位階層バス回路９において、バスマスタの優先順位が変更されていても、伝達された優先順位伝達信号ＰＲＡおよびＰＲＢにより高いほうの優先順位を有する上位階層バス回路（またはバスマスタ）を選択して下位階層バス回路またはバススレーブへ上位からの転送情報（アドレス、データおよびコマンド）を転送することができる。
【００６３】
図５は、この発明の実施の形態１に従うデータ処理システムのデータ転送制御の構成を概略的に示す図である。図５において、下位バスコントローラ１０は、その内部に含まれる最高優先順位選択部５０においてアクセス許可されたバスマスタを示す最終バスアクセス許可ＦＢＡＣＫＡおよびＦＢＡＣＫＢを生成し、それぞれ、上位バスコントローラ４Ａおよび４Ｂへ与える。
【００６４】
上位バスコントローラ４Ａおよび４Ｂは、最終バスアクセス許可ＦＢＡＣＫＡおよびＦＢＡＣＫＢのアサート時、対応の上位階層バス回路６Ａおよび６Ｂにおいてアクセス許可されたバスマスタ３Ａおよび３Ｂに対して、データ転送許可ＤＴＸＥＮＡおよびＤＴＸＥＮＢをアサートする。バスマスタ３Ａおよび３Ｂは、それぞれ、データ転送許可ＤＴＸＥＮＡおよびＤＴＸＥＮＢのアサート時、データ転送を実行する。このときには、すでに、上位バスコントローラ４によりアクセスが許可されたバスマスタは、対応のバスアクセス許可ＡＣＫｉに従って転送がイネーブル状態に設定されている。書込データの転送を行なうライトデータ転送時においては、残りの書込データの転送を行なう。一方、読出データ転送時においては、ＳＤＲＡＭ（１６）から転送されたデータが、対応の最終にバスアクセスが許可されたバスマスタに転送される。
【００６５】
すなわち、上位バスコントローラ４Ａおよび４Ｂは、バスアクセスが許可されたバスマスタをバスアクセス許可ＡＣＫｉにより識別し、最終バスアクセス許可ＦＢＡＣＫＡおよびＦＢＡＣＫＢのアサート時、アサート状態のバスアクセス許可ＡＣＫｉに対応するバスマスタに対して、データ転送許可ＤＴＸＥＮＡおよびＤＴＸＥＮＢをアサートする。各バスマスタにおいて、バスアクセス許可ＡＣＫｉと最終バスアクセス許可ＦＢＡＣＫ（ＦＢＡＣＫＡまたはＦＢＡＣＫＢ）との論理積演算を行なうことにより、両者がアサートされたバスマスタに対するデータ転送を許可することができる。
【００６６】
なお、上述の構成において、階層バス構造は、上位階層バス回路および下位階層バス回路の２段階のバス構成とされる。しかしながら、さらに複数のバス階層が設けられていてもよい。また、上位階層バス回路が、下位階層バス回路に対し２つ設けられているだけである。しかしながら、１つの下位階層バス回路に対し２よりも大きい複数の上位階層バス回路が配置され、バスマスタが３以上のバスグループに分割されてもよい。
【００６７】
個々に上位階層バス回路により優先順位の判定を行ない、また、下位階層バス回路においては、伝達された優先順位情報に従って最も高い優先順位のバスマスタを選択する。
【００６８】
以上のように、この発明の実施の形態１に従えば、上位から下位に向かって、選択されたバスマスタの優先順位を示す優先順位情報を伝達している。これにより、データ転送制限時間の値がある範囲のバスマスタをまとめてグループ化し、各グループをそれぞれ１つの上位階層バス回路に接続することが特に要求されない。これにより、バス構成の自由度を改善することができる。また、システムの動作モードが変更され、バスマスタのデータ転送制限時間が変更された場合でも、優先順位を変更することにより、データ転送制限時間が短いバスマスタに対してより高い優先順位を与えるという原則を維持することができる。
【００６９】
この図１に示す構成において上位階層バス回路と下位階層バス回路の間に、バスブリッジが設けられてもよい。データバス幅の変更およびデータ転送タイミングの調整をこのバスブリッジを用いて行なう。
【００７０】
また、バスマスタがリードデータ転送を要求する場合、下位階層バス回路でアクセスが待ち合わせられた場合、アクセスが待合せ状態のバスマスタに対するデータ転送を待ち合わせる必要がある。この場合、下位バスコントローラ１０からのバスアクセス許可ＦＢＡＣＫに従って、上位バスコントローラ４が、アクセス許可されたバスマスタに対し、要求したデータが、ＳＤＲＡＭから転送されたことを報知する構成が用いられてもよい。
【００７１】
［実施の形態２］
図６は、この発明の実施の形態２に従うデータ処理システムの構成を概略的に示す図である。この図６に示すデータ処理システム１においては、上位階層バス回路６Ａおよび上位階層バス回路６Ｂそれぞれと下位階層バス回路９の間にバスブリッジ６０Ａおよび６０Ｂが設けられる。これらのバスブリッジ６０Ａおよび６０Ｂは、それぞれキューバッファ６２Ａおよび６２Ｂを含む。
【００７２】
これらのキューバッファ６２Ａおよび６２Ｂは、対応の上位階層バス回路６Ａおよび６Ｂからそれぞれ転送されるアドレス、データおよびコマンド（ＡＤＤ／ＤＡＴＡ／ＣＴＬ）に加えて、バスアクセス要求ＲＥＱ（ＲＥＱＡ，ＲＥＱＢ）および優先順位伝達信号ＰＲＡをそれぞれＦＩＦＯ（ファーストイン・ファーストアウト）態様で格納する。キューバッファ６２Ａおよび６２Ｂは、たとえば複数段のフリップフロップ（ＦＦ）で構成され、複数のバスマスタからのバスアクセス要求を待ち行列化することができる。図６に示すデータ処理システム１の他の構成は、図１に示すデータ処理システムの構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【００７３】
図７は、図６に示すデータ処理システムのアクセス要求選択態様を、バスブリッジの構成の一例とともに示す図である。図７において、バスブリッジ６０Ａおよび６０Ｂにおいて、キューバッファ６２Ａおよび６２Ｂは、それぞれ、２段のバッファレジスタ６４を含む。キューバッファ６２Ａおよび６２Ｂのバッファレジスタの段数は、システムの要求に応じて決定される。
【００７４】
また、バスマスタ群２Ａにおいては、バスマスタ３ａ−３ｄが設けられ、バスマスタ群２Ｂにおいては、バスマスタ３ｅ−３ｈが設けられる。
【００７５】
バッファレジスタ６４は、バスアクセス要求ＲＥＱ（ＲＥＱＡ，ＲＥＱＢ）を格納するバスアクセス要求フィールド６５ａと、転送アドレスを格納するアドレスフィールド６５ｂと、優先順位伝達信号を格納する優先順位フィールド６５ｃと、転送データを格納するデータフィールド６５ｄとを含む。転送アドレスは、ＳＤＲＡＭ１６のメモリアクセス位置を示すアドレスである。転送データは、書込アクセス時にＳＤＲＡＭ１６に転送されるデータである。
【００７６】
図７において、いま、キューバッファ６２Ａにおいては、バスマスタ３ｃの転送するアドレスＡＤ（ｃ）がその対応の優先順位“３”を示す情報および転送データＤＡＴＡ（ｃ）とともにフィールド６５ｂ、６５ｃおよび６５ｄにそれぞれ格納され、また、バスマタ３ｄが転送するアドレスＡＤ（ｄ）とリンクして、バスマスタ３ｄの優先順位“５”を示す情報が転送データＤＡＴＡ（ｄ）とともに、それぞれ、フィールド６５ｂ、６５ｃおよび６５ｄに格納され、この場合、アクセス要求を行なっているため、バスアクセス要求ＲＥＱＡがアサートされて対応のバスアクセス要求フィールド６５ａに格納される。
【００７７】
キューバッファ６２Ｂにおいては、バスマスタ３ｅが転送するアドレスＡＤ（ｅ）とリンクしてこのバスマスタ３ｅの優先順位“４”を示すデータおよび転送データＤＡＴＡ（ｅ）、それぞれ、フィールド６５ｂ、６５ｃおよび６５ｄに格納される。また、バスマスタ３ｆの転送アドレスＡＤ（ｆ）が、その優先順位“６”とともにリンクしてフィールド６５ｂおよび６５ｃに格納される。また、上位階層バス回路６Ｂからアクセス要求が行なわれており、バスアクセス要求ＲＥＱＢがアサートされて各対応のバスアクセス要求フィールド６５ａに格納される。
【００７８】
上述のように、バッファレジスタ６４は、一例として、フリップフロップ（ＦＦ）で構成される。上位階層バス回路６Ａおよび６Ｂからバスアクセス要求が優先順位伝達信号とともに転送されるごとに、キューバッファ６２Ａおよび６２Ｂに順次ＦＩＦＯ（ファーストイン・ファーストアウト）態様で対応の上位バス回路６Ａおよび６Ｂからの転送情報がそれぞれ格納される。各クロック信号に同期して、キューバッファ６２Ａおよび６２Ｂそれぞれから、最初に格納されたバッファレジスタ６４の内容が、下位バスコントローラ１０に転送され、さらに、バスアクセス要求の調停が行なわれる。
【００７９】
図７に示す配置においては、下位階層バス回路９において、バスマスタ３ｃおよび３ｅからのアクセス要求の調停が行なわれる。バスマスタ３ｃの優先順位が“３”であり、バスマスタ３ｅの優先順位が“４”である。従って、キューバッファ６２Ａからの転送アドレスＡＤ（ｃ）および転送データＤＡＴＡ（ｃ）が選択され、対応の優先順位伝達信号とともに下位階層バス回路９を介してＳＤＲＡＭコントローラ１５に転送される。転送データＤＡＴＡは、ＳＤＲＡＭに対する書込データである。
【００８０】
なお、データ転送についても、キューバッファ６２Ａおよび６２Ｂ内にバッファレジスタがそれぞれ書込データ転送経路および読出データ転送経路に設けられる。上述の転送データＤＡＴＡを格納するバッファレスタ６５ｄは、書込データ転送部において設けられ、アドレスと同様にバッファレジスタ６５ｄに転送データが、ＦＩＦＯ態様で格納される。一方、読出データ転送経路においては、ＳＤＲＡＭコントローラ１５を介して転送されるデータをＦＩＦＯ態様で格納して上位階層バス回路６Ａおよび６Ｂに転送するＦＩＦＯバッファレジスタが設けられる。この場合、下位バスコントローラ１０においては、先の実施の形態１において図４および７を参照して説明したように、読出データ転送時、最終バスアクセス許可ＦＢＡＣＫＡおよびＦＢＡＣＫＢに従って読出データ転送を要求したバスマスタが特定されてイネーブルされるため、読出データがアクセス要求したバスマスタに対して正確にＦＩＦＯ態様で転送される。
【００８１】
したがって、上位階層バス回路６Ａおよび６Ｂの内部構成およびこの上位バスコントローラ、および下位階層バス回路９および下位バスコントローラ１０の構成としては、先の実施の形態１において説明した構成を利用することができる。
【００８２】
なお、この図７に示す構成においてキューバッファ６２Ａおよび６２Ｂにおいてバスアクセス要求ＲＥＱＡおよびＲＥＱＢが格納されている。この構成の場合、キューバッファ６２Ａおよび６２Ｂに、さらに、各バスアクセスを要求するバスマスタを識別するバスマスタ識別子ＩＤを格納し、下位バスコントローラ１０においては、最終的にバスアクセスが許可されたバスマスタを、転送されたバスマスタ識別子に基づいて判別して、最終バスアクセス許可を、バスマスタ識別子とともに上位バスコントローラに転送する構成が用いられてもよい。上位バスコントローラが、最終バスアクセス許可ＦＢＡＣＫおよびバスマスタ識別子ＩＤとに基いて、アクセス許可されたバスマスタを識別して、転送データ取り込みイネーブル状態に設定してもよい。
【００８３】
以上のように、この発明の実施の形態２に従えば、バスブリッジ内において、バスブリッジ内に、優先順位を示す優先順位を格納するバッファを配置しており、この格納した優先順位情報を下位階層バス回路に伝達することができる。したがって階層バス構造において、この上位階層バスと下位階層バスの間にバスブリッジが配置される場合においても、正確に上位階層バスから下位階層バスに優先順位を示す情報を伝達することができ、実施の形態１において示す構成と同様の効果を得ることができる。また、上位および下位階層バス回路において、パイプライン的にバスアクセス調停を行うことができ、上位階層バス回路においても、下位階層バス回路での調停結果により、調停を待合せる必要がなく、高速処理が実現される。
【００８４】
［実施の形態３］
図８は、この発明の実施の形態３に従うデータ処理システムの構成を概略的に示す図である。図８に示すデータ処理システムにおいては、バスブリッジ６０Ａおよび６０Ｂにおいて、さらに、セレクタ７０Ａおよび７０Ｂが設けられる。セレクタ７０Ａは、キューバッファ６２Ａに格納される優先順位情報すべてと上位階層バス回路６Ａから転送される優先順位伝達信号ＰＲＡとを受け、これらの優先順位を判定し、最も優先順位の高い優先順位伝達信号を選択する。セレクタ７０Ｂも、同様、キューバッファ６２Ｂに格納される全ての優先順位情報と、上位階層バス回路６Ｂから与えられる優先順位伝達信号ＰＲＢとを受け、これらの与えられた優先順位情報のうち最も優先順位の高い優先順位情報を選択して出力する。
【００８５】
キューバッファ６２Ａおよび６２Ｂには、複数のバスマスタからのバスアクセス要求ＲＥＱが、優先順位情報ＰＲｉとともにリンクして格納される。セレクタ７０Ａおよび７０Ｂ各々は、対応のバスアクセス要求ＲＥＱがアサートされているとき、対応の優先順位情報をすべて比較する。
【００８６】
図８に示すデータ処理システムの他の構成は、図６に示すデータ処理システムの構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【００８７】
図９は、図８に示すデータ処理システムの転送処理動作の一例を概略的に示す図である。図９において、バスマスタ群２Ａにおいて、バスマスタ３ａ−３ｄが用いられ、バスマスタ群２Ｂにおいてバスマスタ３ｅ−３ｈが用いられる。
【００８８】
バスマスタ群２Ａにおいて、バスマスタ３ａ、３ｂ、３ｃおよび３ｄに対し優先順位“１”、“２”、“５”、および“６”が割当てられる。一方、バスマスタ群２Ｂにおいて、バスマスタ３ｅ、３ｆ、３ｇおよび３ｈに対しそれぞれ、優先順位“３”、“４”、“７”および“８”が割当てられる。すなわち、上位階層バス回路６Ａにおいて、バスマスタ３ｃ、３ｄおよび３ｅが順次アクセス要求が許可され、また、上位階層バス回路６Ｂにおいて、バスマスタ３ｇ、３ｈおよび３ｉが順次バスアクセスが許可された状態を考える。
【００８９】
この場合、バスブリッジ６２Ａにおいて、バスマスタ３ｃに対して、キューバッファ６２Ａのバッファレジスタに、バスアクセス要求ＲＥＱＡ、アドレスＡ０（ｃ）および優先順位情報“５”が格納される。次のバッファレジスタ６４において、バスマスタ３ｄに対するバスアクセス要求ＲＥＱＡ、アドレスＡ（ｄ）および優先順位情報“６”が格納される。また、この状態において、上位階層バス回路６Ａから、次のバスマスタ３ｃからのアクセス要求に従って転送先アドレスＡ１（ｃ）が優先順位情報“５”とともに転送される。この場合、キューバッファ６２Ａにおいては、バッファレジスタ６４すべてに有効情報が格納されており、上位階層バス回路６Ａから転送されるアドレスＡ１（ｃ）および優先順位情報“５”は待ち合わせられる。
【００９０】
一方、バスブリッジ６０Ｂにおいて、キューバッファ６２Ｂにおいて、バスマスタ３ｇからのバスアクセス要求ＲＥＱＢが転送要求アドレスＡ（ｇ）と優先順位情報“７”が格納される。またバスマスタ３ｈからの要求に従ってバスアクセス要求ＲＥＱＢ、転送先アドレスＡ（ｈ）および優先順位情報“８”が格納される。次のサイクルにおいて、バスマスタ３ｅからの転送要求アドレスＡ（ｅ）が優先順位情報“３”とともにキューバッファ６２Ｂに与えられてその格納が待ち合わせられる。
【００９１】
なお、キューバッファ６２Ａおよび６２Ｂにおいて、先の実施の形態２と同様、転送データを格納するデータフィールドが設けられるが、図９においては、図面の煩雑化を避けるために示していない。アドレス信号の転送経路に関連する部分のみを示す。
【００９２】
この状態において、セレクタ７０Ａは、対応のキューバッファ６２Ａに格納される有効優先順位情報および上位バス回路からの優先順位伝達信号のすべてを受け、最も優先順位の高い優先順位情報を選択して優先順位伝達信号ＰＲＡを生成する。セレクタ７０Ｂも、キューバッファ６２Ｂに格納されるフィールド６５ｃに格納される優先順位情報および上位バス回路６Ｂからの待合せ状態の優先順位伝達信号を並列に受け、最も優先順位の高い優先順位を選択して優先順位伝達信号ＰＲＢを生成する。このセレクタ７０Ａおよび７０Ｂからの優先順位伝達信号ＰＲＡおよびＰＲＢが、下位バスコントローラ１０へ与えられる。このとき下位階層バス回路９において、バスブリッジ６０Ａおよび６０Ｂから転送されたアドレス（およびデータ）の転送制御を行なう。
【００９３】
図１０は、図９に示すデータ処理システムの動作を示すタイミング図である。以下、図１０を参照して、図９に示すアクセス要求調停動作について説明する。
【００９４】
バスブリッジ６０Ａおよび６０Ｂにおけるキューバッファ６２Ａおよび６２Ｂは、クロック信号ＣＬＫに同期して動作する。
【００９５】
サイクル♯１において、セレクタ７０Ａは、優先順位として“５”、“６”および“５”が与えられており、優先順位伝達信号ＰＲＡとして、最も優先順位の高い優先順位“５”を選択して下位バスコントローラ１０へ対応のアドレスおよびデータとともに与える。一方、セレクタ７０Ｂは、優先順位として“７”、“８”および“３”を受け、最も高い優先順位“３”を選択して優先順位伝達信号ＰＲＢを生成して下位バスコントローラ１０へ与える。
【００９６】
したがって、この場合、上位階層バス回路６Ａおよび６Ｂに対してはそれぞれ、優先順位“５”および“３”が割当てられる。このとき、下位階層バス回路９に対しては、キューバッファ６２Ａおよび６２Ｂのアドレスフィールド６５ｂに格納されるアドレス（および転送データ）が並行して与えられる。下位階層バス回路９においては、下位バスコントローラ１０の制御のもとに、優先順位“３”が割当てられたキューバッファ６２ＢからのアドレスＡ（ｅ）が選択されてＳＤＲＡＭコントローラ１５へ与えられる。
【００９７】
次のサイクル♯２において、キューバッファ６２Ａの内容の発行は行なわれていないため、セレクタ７０Ａは、サイクル♯１と同様に、優先順位伝達信号ＰＲＡとして、優先順位“５”を選択して下位バスコントローラ１０へ与える。セレクタ７０Ｂは、このとき、優先順位“３”を選択して優先順位伝達信号ＰＲＢを生成して下位バスコントローラ１０へ与える。ここで、クロック信号ＣＬＫに同期してキューバッファ６２Ｂにおいては、バスマスタ３ｇからの転送アドレスおよび転送データが下位階層バス回路９へ発行されており、バスマスタ３ｅからの優先順位伝達信号ＰＲ２（＝“３”）および対応ＯＲドレス信号Ａ（ｅ）がキューバッファ６２Ｂのバッファレジスタ６４に格納される。
【００９８】
このときには、下位階層バス回路９においては、バスブリッジ６２Ａおよび６２Ｂからの優先順位情報“５”および“３”に従って、キューバッファ６２Ｂのアドレスフィールド６５ｂの次のアドレスＡ（ｈ）に優先順位“３”が割当てられており、このアドレスＡ（ｈ）が対応の転送データおよび優先順位伝達信号ＰＲ（＝”３”）とともに下位階層バス回路９を介してＳＤＲＡＭコントローラ１５へ転送される。
【００９９】
次のサイクル♯３においても、バスブリッジ６０Ａのキューバッファ６２Ａおよび上位階層バス回路６Ａの出力優先情報は変化しないため、セレクタ７０Ａは、これまでのサイクルと同様、優先順位“５”を示す情報を選択して出力する。
【０１００】
バスブリッジ６０Ｂにおいては、セレクタ７２Ｂが、優先順位“３”を選択して、優先順位伝達信号ＰＲＢを生成して下位バスコントローラ１０へ与える。下位階層バス回路９は、バスブリッジ６０Ｂからの優先順位伝達信号ＰＲＢが、優先順位“３”を示しており、下位バスコントローラ１０の制御の下に、バスブリッジ６０Ｂからのアドレス信号Ａ（ｅ）を選択して対応の転送データとともに下位階層バス回路９へ転送する。
【０１０１】
サイクル♯３において、バスブリッジ６０Ｂ内のキューバッファ６２Ｂに格納されたアドレスすべての転送が完了すると、上位階層バス回路６Ｂからの優先順位情報はすべて転送されており、以後のサイクルにおいては無視される（以後のサイクルにおいてバスマスタ群２Ｂからのアクセス要求は発行されないとする。
【０１０２】
サイクル♯４においては、キューバッファ６２Ａから、優先順位“５”がセレクタ７０Ａにより選択されて出力される。従って、キューバッファ６２Ａのアドレスフィールド６５ａに格納されるアドレスＡ０（ｃ）、Ａ（ｄ）およびＡ１（ｃ）が対応の転送データとともに、クロックサイクル♯４、♯５および♯６において、それぞれ、選択されて下位バスコントローラ１０へ与えられる。
【０１０３】
この図９に示すように、優先順位が高いバスマスタ３ｅがアクセス要求を発行した場合、バスマスタ３ｅの待ち合わせは、先に格納された優先順位の低いアドレス情報の転送の後、続いて実行することができ、この優先順位の高いバスマスタ３ｅの待ち合わせ時間を短縮することができる。
【０１０４】
これにより、以下のような状況を回避することができる。すなわち、キューバッファ６２Ａにバスマスタ３ｃおよび３ｄからの転送情報が格納され、また、キューバッファ６２Ｂにバスマスタ３ｇおよび３ｈからの転送情報が格納された後、バスマスタ３ｃおよびバスマスタ３ｅが、上位バス回路６Ａおよび６Ｂにより選択された状態を考える。この場合、セレクタ７０Ａおよび７０Ｂが設けられていない場合、以下のようにアクセス調停が行われる。バスブリッジ６０Ａに格納される優先順位“５”および“６”および次の優先順位“５”のバスマスタ３ｃ、３ｄおよび３ｃからのアクセス要求の発行が完了した後に、バスブリッジ６０Ｂの優先順位“７”および“８”を有するバスマスタ３ｇおよび３ｈのアドレスおよびデータの転送が行われる。この後に、優先順位“３”を有するバスマスタ３ｅが、アクセスが許可されアドレスおよびデータの転送が実行される。この場合、優先順位の高いバスマスタ３ｅの待合せ時間が長くなり、効率的なデータ転送を実現することができなくなり、また、バスマスタ３ｅのデータ転送制限時間内に必要データを転送することができなくなり、データ処理を正確に行なうことができなくなる。
【０１０５】
従って、図８および図９に示すように、バスブリッジ６０Ａおよび６０Ｂ内にセレクタを設けて、各バスブリッジに対する優先順位の最も高い優先順位を選択して下位階層バス回路に転送することにより、優先順位の高いバスマスタのアクセス要求の待合せ時間を短縮することができる。
【０１０６】
また、単に優先順位を選択しているだけであり、データ転送要求の発行順序は変更されていない。従って、システム内において必要とされるデータの転送順序を維持することができ、データ処理順序が維持され、処理データのインテグリティ（integrity）を確保することができ、正確なデータ処理を保障することができる。
【０１０７】
以上のように、この発明の実施の形態３に従えば、各上位バス回路において、複数の優先順位情報のうち最も優先順位の高いバスマスタの優先順位を選択している。したがって、優先順位の高いバスマスタのアクセス要求が、優先順位の低いバスマスタのアクセス要求により待ち合わせられる時間を、短くすることができ、処理効率を改善することができる。
【０１０８】
なお、上述の構成においては、各バスマスタに対して優先順位が各処理モードにおいて固定的に割当てられている。しかしながら、各バスマスタに対して割当てられる優先順位情報として、たとえば、バスマスタのアクセス待ち合わせ時間、またはトランザクション回数に基づいて待ち合わせ時間の最も長いものを優先順位が最も高い情報として転送する、または、トランザクション回数が最も少ない回数を、最も優先順位の高い優先順位情報として生成し、これらの優先順位情報を、各バスマスタの優先順位情報をとして用いて、これまでの実施の形態１から３の方式に従ってバスアクセスの調停を処理する構成が利用されてもよい。
【０１０９】
従って、上位バス回路において与えられる優先順位情報が各処理モード毎に固定的に設定される調停方式に加えて、バスマスタの優先順位が、バスアクセス要求の発効状況に応じて変更されるバスアクセス調停方式に対しても、本発明は適用することができる。
【産業上の利用可能性】
【０１１０】
この発明は、複数のバスマスタを含み、優先順位に従ってバススレーブに対するアクセス要求が調整される階層バス構造のデータ処理システムに適用することにより、階層バス構造において正確に、優先順位に従ってバスアクセスを調停することができる。特に、固定優先調停方式を用いる階層バス構造のデータ処理システムに適用することにより、システムの動作モードに応じて優先順位が更新される場合においても、正確に、短いデータ転送制限時間に高い優先順位を割当てるという優先順位設定原則を維持して、バスアクセスの調停を行なうことができる。
【符号の説明】
【０１１１】
１  マルチメディアシステムＬＳＩ、２，２Ａ，２Ｂ  バスマスタ群、３ａ−３ｈ  バスマスタ、６，６Ａ，６Ｂ  上位階層バス回路、９  下位階層バス回路、４，４Ａ，４Ｂ  上位バスコントローラ、１０  下位バスコントローラ、２０  レジスタファイル（テーブルメモリ）、２２  バスアクセス調停部、２６  セレクタ、２８  バッファ、４４  優先順位生成部、４５  ＣＰＵインターフェイスＩ／Ｆ、４６  優先順位レジスタ、４７  選択レジスタ、４８  セレクタ、１２  ＣＰＵ、５０  最高優先順位選択部、５２  転送要求調停部、５４  セレクタ部、６０Ａ，６０Ｂ  バスブリッジ、６２Ａ，６２Ｂ  キューバッファ、７０Ａ，７０Ｂ  セレクタ。
【図１】
2010282405.tif 000003
【図２】
2010282405.tif 000004
【図３】
2010282405.tif 000005
【図４】
2010282405.tif 000006
【図５】
2010282405.tif 000007
【図６】
2010282405.tif 000008
【図７】
2010282405.tif 000009
【図８】
2010282405.tif 000010
【図９】
2010282405.tif 000011
【図１０】
2010282405.tif 000012