説明

データ処理システム

【課題】固定優先順位バスアクセス調停方式を用いる階層バス構造において、システム動作に応じて優先順位が更新される場合においても、バスアクセス要求の調停を正確に実行する。
【解決手段】複数の上位階層バス回路(6A,6B)各々において、対応のバスマスタ群(2A,2B)に含まれるバスマスタのアクセス要求を優先順位に従って調停し、アクセス要求が許可された選択バスマスタの優先順位情報を示す優先順位伝達信号(PRA,PRB)を下位階層のバスコントローラ(10)へ転送する。下位階層バス回路(9)において、下位バスコントローラが、転送された優先順位伝達信号(PRA,PRB)に従ってアクセス要求の調停を実行して、優先順位の高い上位階層バス回路またはバスマスタを選択する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、情報(データ)を処理するデータ処理システムに関し、特に、上位バスおよび下位バスの階層化されたバス構造を有するデータ処理システムの処理の効率化を実現するためのバスのアクセス制御に関する。
【背景技術】
【0002】
携帯端末機器および車載情報機器などにおいては、音声信号および画像信号などの情報を処理することが要求される。複数種類の情報を統合的に処理するために、マルチメディア用システムLSI(大規模集積回路装置)が用いられる。このマルチメディアシステムLSIは、画像圧縮、画像処理、画像表示および音声処理などの多くのモジュールを含む。これらのモジュールにおいて処理に必要とされるデータは、たとえばクロック同期型ダイナミック・ランダム・アクセス・メモリ(SDRAM)に格納されるのが一般的である。SDRAMへアクセスを行なうモジュールとSDRAMとは、内部バスおよびSDRAMコントローラを介して結合される。
【0003】
複数のモジュールがバスを介してSDRAMに並行してアクセス要求を発行した場合、これらのアクセス競合を調停するために、バスコントローラが設けられる。このバスアクセス要求の調停方式には、固定優先方式およびラウンドロビン方式等種々の方式がある。固定優先方式においては、各モジュールに予め優先順位が割当てられており、優先順位の高いモジュールにバスアクセス権を与える。ラウンドロビン方式においては、モジュールに対するバスアクセス権の優先順位が、順次更新され、一度バスアクセスを実行したモジュールに対し低いバスアクセス優先順位が割当てられる。
【0004】
しかしながら、このようなバスアクセス権調停方式においては、ある優先順位の低いモジュールが、長期にわたってバスアクセスを行なうことができず、処理が中断され、処理効率が低下する可能性がある。
【0005】
このようなモジュールの待ち時間を調整することを図る構成が、特許文献1(特開2008−203989号公報)および特許文献2(特開2003−167842号公報)に示されている。特許文献1においては、バスアクセス要求を発行するバスマスタとバスマスタによりアクセスが要求されるバススレーブとを有するシステム構成において、バスマスタのバス使用要求待ち時間に応じてバス使用要求を選択する。各バスマスタの待ち合わせ時間に応じてバスアクセス権を与えることにより、各バスマスタの待ち合わせ時間を平均化することを図る。
【0006】
特許文献2に示される構成においては、第1および第2のバスの間にバスブリッジを設ける。第1および第2のバスには、それぞれ、複数のエージェントが接続される。バスブリッジ内において各エージェントのトランザクションの処理回数をモニタし、トランザクション回数に応じてバス使用要求を発行するエージェントの優先順位を変更する。処理回数の多いエージェントの優先順位を低下させることにより、優先順位の低いエージェントの待ち時間を低減することを図る。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2008−203989号公報
【特許文献2】特開2003−167842号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
マルチメディア用システムLSIにおいては、階層バス構造が用いられる。この階層バス構造においては、バスが上位階層バスおよび下位階層バスに分割される。上位階層バスが複数設けられ、各上位階層バスに1つの処理に関連するモジュールを並列に接続する。たとえば、第1の上位階層バスには、画像処理に関連するモジュールを接続し、画像表示に関連するモジュールを別の第2の上位階層バスに接続する。これらの第1および第2の上位階層バスが、下位階層バスに結合される。上位階層バスを分割することにより、各上位階層バスの負荷容量を低減するとともに、モジュールとバスの間の配線錯綜を回避する。
【0009】
いま、バスアクセス調停が固定優先方式に従って行なわれるデータ処理システムを想定する。また、以下の説明において、アクセス要求を発行するモジュールを、「バスマスタ」と称し、このバスマスタによりアクセスされるモジュールを、「バススレーブ」と称す。この固定優先方式においては、各バスマスタに対しては、固定的に優先順位が与えられる。この優先順位は、以下のようにして定められる。すなわち、マルチメディア用システムLSIにおいては、SDRAMを含むバスシステムは、いくつかのバスマスタに対してリアルタイム応答をすることが要求される。ここで、「リアルタイム応答」は、バスマスタがバスアクセス要求を発行してからデータ転送が完了するまでの処理が、必ず、システムで決まる制限時間内で行なわれることを意味する。
【0010】
このリアルタイム応答が必要なバスマスタに対しては、その制限時間が短い順に高い優先順位を与える。固定優先調停方式を用いる階層バス構造においては、従来、データ転送制限時間に基づいてバスマスタをグループ化し、各上位階層バスに接続する。この場合、各バスマスタ群においてバスマスタに対して固定優先順位が与えられており、異なるバスマスタ群においては、同じ優先順位が割当てられるバスマスタが存在する。したがって、各上位階層バスに対しても、下位階層バスに対する優先順位が割当てられる。バスの優先順位およびバスマスタ群内の優先順位により、各バスマスタに対する優先順位が固定的に設定される。
【0011】
異なる上位階層バスから同じ優先順位のバスマスタのアクセス要求が下位階層バスに発行されても、下位階層バスにおいては、優先順位の高い上位階層バスからのアクセス要求を受付ける。
【0012】
しかしながら、マルチメディアシステムにおいては、バスマスタが有するデータ転送の制限時間は、システムの処理モードに応じて異なる場合がある。たとえば、画像表示において表示モードが変更される場合、画像データをSDRAMへの転送速度を速くする必要が生じる場合がある。この場合、対応のバスマスタのデータ転送制限時間が、短くされる。
【0013】
いま、第1の上位階層バスおよび第2の上位階層バスが設けられ、下位階層バス回路またはバススレーブに対する第1の上位階層バスの優先順位が、第2の上位階層バスよりも高い階層バス構造を考える。また、第1の上位階層バスに含まれるバスマスタの転送制限時間よりも、第2の上位階層バスに接続されるバスマスタの転送制限時間が短くされる状態を考える。この場合、第1および第2の上位階層バスは、下位階層バスに対してそれぞれ固定的に優先順位が割当てられている。これらの第1および第2の上位階層バスから同時に下位階層バスに対してアクセス要求を発行した場合、優先順位の高い第1の上位階層バスからのアクセス要求が許可される。
【0014】
第2の上位階層バスのバスマスタのほうがデータ転送制限時間が短く、実質的には第1の上位階層バスからのアクセス要求を発行するバスマスタよりも優先順位を高くする必要がある。しかしながら、従来の固定優先調停方式においては、データ転送制限時間の長い第1の状階層バスのバスマスタが選択されることとなる。この結果、固定優先方式におけるデータ転送制限時間の短いバスマスタのアクセスを優先するという原則を維持することができず、データ処理を効率的に行なうことができなくなるという問題が生じる。
【0015】
また、階層バス構造を有するデータ処理システムにおいては、固定優先方式に従ってバスアクセスを調停する構成でない場合においても、バスマスタの実効的優先順位が変更される場合、同様に、上位階層バスの下位階層バスに対するアクセスの調停の問題が生じる。
【0016】
前述の特許文献1および特許文献2においては、1つの上位階層バスに接続されるバスマスタまたはエージェントの間で、待ち時間またはトランザクション処理回数に応じて優先順位を変更して、バスアクセス権利を割当てている。しかしながら、複数の上位階層バスが下位階層バスに対して並列に配置される階層バス構造における下位階層バスに対する上位階層バス間のアクセス調停の構成については何ら考察していない。
【0017】
それゆえ、この発明の目的は、複数の上位階層バスが下位階層バスに対して設けられる階層バス構造において、確実に、バスマスタの実効的優先順位が変更される場合においても、優先順位の決定原則を維持してバスアクセスの調停を行なうことのできるデータ処理システムを提供することである。
【0018】
この発明の他の目的は、固定優先調停方式の階層バス構造において、システムのモードに応じてデータ転送制限時間が変更されるバスマスタが存在する場合でも、正確にバスアクセス権の調停を行なうことのできるデータ処理システムを提供することである。
【課題を解決するための手段】
【0019】
この発明に係るデータ処理システムにおいては、上位階層バスでバスアクセス権の調停に使用される優先順位情報を下位階層バスに伝達し、下位階層バスにおいても、その伝達された優先順位情報を用いてバスアクセス権の調停を行なう。
【発明の効果】
【0020】
上位階層バスでバスアクセス権調停に使用される優先順位情報を下位階層バスに伝達している。したがって、階層バス構造において、階層間をまたがって、統一された優先順位を用いてバスアクセス権の調停を行なうことができる。応じて、上位階層バスに接続されるバスマスタの優先順位が変更されても、正確に、アクセス権の調停を行なうことができる。
【0021】
また、上位階層バスに接続されるバスマスタの優先順位の変更が許容されるため、上位階層バスに接続するバスマスタのグループ分けの自由度を大きくすることができる。また、システムの動作モードが変更され、バスマスタのデータ転送制限時間が変更された場合でも、このデータ転送制限時間に応じた優先順位をバスマスタに割当てることができ、正確に、バスアクセス要求の調停を行なうことができ、データ処理効率の劣化を抑制することができる。
【0022】
特に、固定優先権調停方式を用いる階層バス構造においては、バスマスタの優先順位が変更されても、バスマスタの優先順位割当の原則を維持することができ、優先順位に従って正確にバスアクセス調停を行うことができる。
【図面の簡単な説明】
【0023】
【図1】この発明の実施の形態1に従うデータ処理システムの全体の構成を概略的に示す図である。
【図2】図1に示すデータ処理システムのバスアクセス調停動作を示す図である。
【図3】図1に示す上位バスコントローラおよび上位階層バス回路の構成の一例を概略的に示す図である。
【図4】図1に示す下位階層バス回路および下位バスコントローラの構成の一例を概略的に示す図である。
【図5】この発明の実施の形態1のデータ転送許可発生部の構成を概略的に示す図である。
【図6】この発明の実施の形態2に従うデータ処理システムの全体の構成を概略的に示す図である。
【図7】図6に示すデータ処理システムのアクセス固定動作の一例を示す図である。
【図8】この発明の実施の形態3に従うデータ処理システムの全体の構成を概略的に示す図である。
【図9】図8に示すデータ処理システムのバスアクセス調停動作の一例を示す図である。
【図10】図9に示すデータ処理システムのアクセス調整動作を示すタイミング図である。
【発明を実施するための形態】
【0024】
[実施の形態1]
図1は、この発明の実施の形態1に従うデータ処理システムの全体の構成を概略的に示す図である。図1において、データ処理システムは、一例として、マルチメディア用システムLSI1で構成される。このシステムLSI1は、処理内容が予め割当てられるバスマスタ群2Aおよび2Bを含む。バスマスタ群2Aは、バスマスタ3a−3d、…を含み、バスマスタ群2Bは、バスマスタ3e−3h、…を含む。
【0025】
バスマスタ群2Aは、一例として、画像処理を担当し、バスマスタ群2Bは、画像表示を担当する。画像処理は、入力画像の変換処理などの画像からある情報を抽出する処理を示す。画像表示は、処理画像の表示装置への表示を行い、受信画像データの表示装置への表示の処理も含む。これらのバスマスタ群2Aおよび2Bには、他の画像圧縮処理などが割当てられてもよく、マルチメディア用システムLSI1が処理するデータの種類に応じて、その処理内容が定められればよい。
【0026】
バスマスタ3a−3hの各々は、対応のバスマスタ群2Aおよび2Bに割当てられる処理内容内の単位処理を実行する。画像処理を担当するバスマスタ群2Aにおいてバスマスタ3a−3dは、たとえば、一例として、フィルタ処理、画像の重ね合わせ、色相の変更などの処理を実行する。画像表示を担当するバスマスタ群2Bにおいては、バスマスタ3e−3hは、一例として、各々、表示画像データの倍速表示のための画像データ配列、画像データの転送周波数の変換などの処理をそれぞれ実行する。
【0027】
バスマスタ群2Aに対して、上位バスコントローラ4Aおよび上位階層バス回路6Aが設けられ、バスマスタ群2Bに対して、上位バスコントローラ4Bおよび上位階層バス回路6Bが設けられる。
【0028】
上位バスコントローラ4Aは、バスマスタ群2Aに含まれるバスマスタ3a−3d、…とコントロールバス5Aを介して結合され、これらのバスマスタ3a−3d、…のバスアクセス要求の調停を行なう。上位階層バス回路6Aにおいては、一例として、内蔵のセレクタにより、上位バスコントローラ4Aによりアクセス要求が許可されたバスマスタを選択する。
【0029】
上位バスコントローラ4Bも同様、コントロールバス5Bを介してバスマスタ3e−3h、…に結合され、これらのバスマスタ3e−3h、…のアクセス要求の調停を行なう。一例として、上位階層バス回路6Bにおいても、セレクタが含まれており、上位バスコントローラ4Bによりアクセス要求が許可されたバスマスタを、この内部のセレクタにより選択する。
【0030】
上位バスコントローラ4Aおよび4Bは、それぞれ、バスアクセス要求が許可されたバスマスタに割当てられている優先順位を示す優先順位伝達信号PRAおよびPRBを、それぞれアクセス要求が許可されたバスマスタのアクセス要求REQAおよびREQBならびにアドレス(ADD)、データ(DATA:データ書込時)およびコマンド(CTL)とともに転送する。
【0031】
このアクセス要求が許可されたバスマスタに割当てられた優先順位を示す優先順位伝達信号PRAおよびPRBを下位階層へ伝達することにより、バスマスタ3a−3h、…においてデータ転送制限時間(優先順位)が変更される場合においても、正確なバスアクセス要求の調停を実現することができる(この動作については後に説明する)。
【0032】
上位階層バス回路6Aおよび6Bに対し共通に、下位階層バス回路9が設けられる。下位階層バス回路9に対して下位バスコントローラ10が設けられる。上位階層バス回路6Aおよび6Bからの優先順位伝達信号PRAおよびPRBとアクセス要求REQA1およびREQBは、それぞれローカルコントロールバス7Aおよび7Bに結合されるコントロールバス8を介して下位バスコントローラ10へ与えられる。
【0033】
下位バスコントローラ10は、転送された優先順位伝達信号PRAおよびPRBに従ってバスアクセス要求を調停し、一例として、下位階層バス回路9に含まれるセレクタにより、アクセス許可された上位階層バス回路6(6Aまたは6B)の出力するアドレス(ADD)、データ(DATA:データ書込時)およびコマンド(CTL)を選択する。
【0034】
下位階層バス回路9に対しては、バススレーブとして、外部メインメモリとして設けられるSDRAM(クロック同期型ダイナミック・ランダム・アクセス・メモリまたはクロック同期型半導体記憶装置)16に対するアクセスを制御するSDRAMコントローラ15が設けられる。SDRAMコントローラ15は、下位階層バス回路9から転送されたアドレス、データおよびコマンドに従って図示しないクロック信号に同期してSDRAM16へアクセスし、必要なデータの転送(書込または読出)を実行する。このSDRAMコントローラ15のアクセス制御動作は、通常のメモリコントローラのアクセス制御態様と同様である。
【0035】
下位階層バス回路9は、また、CPUバス11を介してCPU(中央演算処理装置)12に結合される。CPUバス11にはキャッシュメモリ13が設けられ、CPU12が処理を実行する際に用いられるデータおよび命令がキャッシュメモリ13にキャッシュされる。
【0036】
下位階層バス回路9に対してさらに、DMAC(ダイレクト・メモリ・アクセス・コントローラ)14が設けられ、SDRAM16へのアクセスが、CPU12の制御を離れてDMAC14の制御のもとに実行される。これにより、CPU12の演算処理に並行して、SDRAM16とバスマスタとの間でデータ転送を実行する。
【0037】
図2は、この発明の実施の形態1に従うデータ処理システムの具体的バスアクセス調停動作の一例を概略的に示す図である。図2において、一例として、バスマスタ群2Aにおいてバスマスタ3a−3dが用いられ、バスマスタ群2Bにおいては、バスマスタ3e−3hが利用される。バスマスタ群2Aのバスマスタ3a−3cに対し、データ転送制限時間として、5μs、10μs、15μsがそれぞれ割当てられる。システムの動作モードに応じて、バスマスタ3dのデータ転送制限時間が20μsから25μsに変更される。一方、バスマスタ群2Bにおいて、バスマスタ3f−3hに対して、データ転送制限時間として、30μs、35μsおよび40μsがそれぞれ割当てられる。システムの動作モードの変更に伴って、バスマスタ3eのデータ転送制限時間として25μsに代えて20μsが割当てられる。
【0038】
バスマスタ3a−3hの優先順位は、バスマスタ全体においてデータ転送制限時間が短いものに高い優先順位が割当てられるように割当てられる。したがって、バスマスタ3a−3cに対して優先順位“1”、“2”、“3”が割当てられる。一方、バスマスタ3f−3hに対しては、優先順位“6”、“7”および“8”が割当てられる。一方、システムの動作モードの変更に伴い、バスマスタ3dおよび3eには、それぞれ、優先順位“5”、“4”が割当てられる。すなわち、バスマスタの優先順位は、バスマスタ群内において個々に設定されるのではなく、バスマスタ全体において、そのデータ転送制限時間に応じて割当てられる。従って、バスマスタ群2Aに含まれるバスマスタ3dの優先順位が、バスマスタ群2Bのバスマスタ3eの優先順位よりも低くなる状態が生じる。この処理モードに応じたバスマスタの優先順位の設定は、例えば、以下のようにして行なわれる。すなわち、図1に示すCPU12が、実行する処理モードに応じて各バスマスタに割り当てられるデータ転送制限時間を算出し、その算出結果に基づいて最も短いデータ転送制限時間のバスマスタから順に高い優先順位を設定する。
【0039】
この図2に示す状態において、今、上位階層バス回路6Aにおいては、バスマスタ3dからのバスアクセス要求が認められ、上位階層バス回路6Bにおいては、バスマスタ3eからのバスアクセス要求が認められた状態を考える。この場合、上位階層バス回路6Aは、バスマスタ3dの有する優先順位“5”を示す優先順位伝達信号PRAを下位階層バス回路9に転送する。一方、上位階層バス回路6Bは、このバスマスタ3eの有する優先順位“4”を示す優先順位伝達信号PRBを下位階層バス回路9に転送する。
【0040】
下位階層バス回路9においては、この転送された優先順位伝達信号PRAおよびPRBに基づいて、優先順位の高いバスマスタ3eのアクセス要求を選択する。したがって、上位階層バス回路6Aおよび6Bの下位階層バス回路9に対するアクセス優先順位は、固定的に上位階層バス回路6Aの方が高いように定められるのではなく、優先順位伝達信号PRAおよびPRBに従ってアクセス優先順位を判定してバスアクセス要求の調停を実行する。これにより、システムの処理動作に応じて、バスマスタのデータ転送制限時間が更新され、その優先順位が変更される場合においても、正確に、データ転送制限時間の短いバスマスタのアクセス要求を許可することができる。すなわち、固定優先方式のバスアクセス調停における、データ転送制限時間が短いバスマスタに対して高い優先順位を割当ててバスアクセス権の調停を行うという原則を、維持することができる。
【0041】
下位階層バス回路9に対しては、バススレーブとしてSDRAMコントローラ14およびSDRAM16が設けられており、SDRAMコントローラ14を介してSDRAM16に対しアクセスをして、データ転送を行なう。これにより、バスマスタ3eは、設定されたデータ転送制限時間内に、必要なデータの転送を行なうことができる。
【0042】
図3は、図1に示す上位バスコントローラ4A、4Bおよび上位階層バス回路6A、6Bの構成の一例を概略的に示す図である。図3において、上位バスコントローラ4Aおよび4Bが同一構成を有し、また、上位階層バス回路6Aおよび6Bも同一構成を有するため、上位バスコントローラ4により、上位バスコントローラ4Aおよび4Bを代表的に示し、上位階層バス回路6により、上位階層バス回路6Aおよび6Bを代表的に示す。
【0043】
図3において、上位バスコントローラ4(4A,4B)は、各バスマスタの優先順位を示す情報を格納するレジスタファイル20と、バスマスタからのバスアクセス要求REQ1−REQnに従ってレジスタファイル20を参照してバスアクセス要求の調停を行なうバスアクセス調停部22と、レジスタファイル20の各バスマスタの優先順位をCPU12からの指令に従って変更する書換制御回路24とを含む。
【0044】
レジスタファイル20は、各バスマスタに対応して配置されるエントリERYを含む。これのエントリERYは、それぞれ、バスマスタを特定するバスマスタIDを格納する識別フィールドFD1と、各バスマスタに割当てられた優先順位を示す情報を格納する優先順位フィールドFD2を含む。
【0045】
但し、このレジスタファイル20の構成としては、夫々のエントリERYを対応するバスマスタに括り付けて(エントリERYの一番目をバスマスタ3a、二番目のエントリをバスマスタ3B、…等)優先順位を示す情報を格納するものであってもよく、逆に、夫々のエントリERYを対応する優先順位に括り付けてバスマスタを特定するバスマスタ識別子IDを格納するものであってもよく、構成上の都合に応じて決定されればい。
【0046】
図3においては、一例として、レジスタファイル20内において、n個のバスマスタに対して割当てられるバスマスタ識別子ID1−IDnと、バスマスタそれぞれに対して割当てられる優先順位を示す情報PR1−PRnが格納される。
【0047】
バスアクセス調停部22は、コントロールバス5(5A,5B)を介して与えられるバスマスタからのバスアクセス要求REQ1−REQnを受けると、バスアクセス要求が競合するとき、レジスタファイル20を参照し、最も優先順位の高いバスマスタのバスアクセス要求を識別し、この最も優先順位の高いバスマスタに対しバスアクセス要求を許可するバスアクセス許可ACKをアサートする。
【0048】
バスアクセス調停部22からのバスアクセス許可ACK1−ACKnのうちの1つがアサートされ、コントロールバス5を介してそれぞれ対応のバスマスタに転送される。バスマスタは、対応のバスアクセス許可ACKi(i=1−nのいずれか)がアサートされると、対応の上位階層バス回路に対してSDRAMへのデータ転送要求(データの書込または読出要求)を発行する。他のバスマスタは、自身に割当てられたバスアクセス許可ACKiがアサートされるまで、バスアクセスは待ち合わせられる。
【0049】
書換制御回路24は、CPU12から書換指示が与えられると、レジスタファイル20内の対応のバスマスタの優先順位を書換える。CPU12は、バスコントローラ4とCPUバス11を介して結合され、システムの動作モードが変更され、各バスマスタに割当てられるデータ転送制限時間が変更されると、その変更に応じて、各バスマスタに対する優先順位を再編成する。この優先順位の再編成は、一例として、以下のようにして行なわれる。すなわち、テーブルメモリ内に、システムの処理モードに応じて各バスマスタに割当てられるデータ転送制御時間を各バスマスタに対応して格納する。CPU12は、処理モード変更が指示されると、その変更後の処理モードに基いてテーブルメモリを参照して、各バスマスタのデータ転送制御時間情報を読出し、全バスマスタに対して、この読出したデータ転送制限時間の昇順に従って、優先順位を降順に割当てる(短いデータ転送制御時間に対してより高い優先順位を割当てる)。
【0050】
CPU12は、実行する処理モードに応じて再編成された各バスマスタの優先順位情報を生成すると、一旦、レジスタファイルに生成したバスマスタの優先順位情報を格納する。この後、CPU12は、CPUバス11を介して書換制御回路24に対し優先順位書換指示を与え先順位変更対象のバスマスタを特定するアドレス(バスマスタ識別情報ID)および対応の優先順位情報を転送する。これにより、各システム動作モードに応じてバスマスタの優先順位が変更される場合においても、各バスマスタに対して、最もデータ転送制限時間が短いバスマスタを優先的にアクセス許可するという固定優先方式のバスアクセス権調停の原則を維持することができる。
【0051】
上位階層バス回路6(6A,6B)は、バスアクセス調停部22からのバスアクセス許可ACK1−ACKnに従ってバスマスタ群2(2A,2B)の出力情報を選択するセレクタ26と、下位階層に対するバスアクセス要求IDQAおよびアクセス許可されたバスマスタの優先順位を示す信号PRAを伝達するバッファ28を含む。
【0052】
セレクタ26は、バスアクセス調停部22からのバスアクセス許可ACK1−ACKnに従って、アサートされたバスアクセス許可に対応するバスマスタの出力を対応のバスマスタ群2から選択し、アクセス許可されたバスマスタから転送されたアドレスADD、データDATAおよびコマンドCTLを下位階層バス回路に転送する。
【0053】
バスマスタ群2は、データ読出を要求し、SDRAM(16)からデータの転送を要求する場合には、対応のバスマスタは、アドレスおよび読出モード指示を出力し、セレクタ26からは、これらのアドレスADDおよび読出モードを指定するコマンドCTLが出力される。所定期間経過後、セレクタ26を介してバスマスタ群2のアクセスが許可されたバスマスタに対し、SDRAMからの読出データDATAが転送される。
【0054】
バッファ28は、バスアクセス調停部22からのバスアクセス要求およびアクセス許可されたバスマスタの優先順位情報を受け、バッファ処理して下位階層に対するバスアクセス要求REQ(REQA、REQB)および優先順位伝達信号PR(PRA、PRB)を生成する。
【0055】
なお、この図3に示す構成において、上位階層バス回路6においては、セレクタ26によりバスマスタ群2に含まれるバスマスタの出力を選択している。しかしながら、以下の構成の場合には、このセレクタ26は、設ける必要はない。すなわち、バスマスタ群2に含まれるバスマスタの出力部(インターフェース部)が、上位階層バスに並列に結合され、バスマスタは、それぞれ、対応のバスアクセス許可ACK1−ACKnがアサートされるときに出力がイネーブルされ、対応のバスアクセス許可ACKiがネゲート状態の場合には、バスマスタが出力ハイインピーダンス状態に維持される。この構成の場合には、セレクタ26は、機能的には、バス回路6に含まれる上位階層バスと、各バスマスタの出力部に設けられるバスインターフェイスとの組合せに対応することになる。
【0056】
図3に示す構成を利用することにより、システム動作モードに応じてバスマスタの優先順位が変更される場合においても、上位階層バス回路6におけるバッファ28により、下位階層バス回路またはバススレーブへ更新後の優先順位情報を伝達することができる。
【0057】
[バスコントローラの構成]
図4は、図1に示す下位階層バス回路9および下位バスコントローラ10の構成を概略的に示す図である。図4において、下位バスコントローラ10は、上位階層バス回路2Aおよび2Bから転送される優先順位伝達信号PRAおよびPRBのうち最も高い優先順位を選択する最高優先順位選択部50と、これらの上位階層バス回路2Aおよび2Bからの転送要求REQAおよびREQBと優先順位伝達信号PRAおよびPRBに従って競合アクセスを調停する転送要求調停部50を含む。
【0058】
最高優先順位選択部50は、上位階層バス回路2Aおよび2Bからのアクセス要求(転送要求)REQAおよびREQBがともにアサートされているとき、並行して伝達される優先順位伝達信号PRAおよびPRBのうち高いほうの優先順位を示す優先順位値を選択してバススレーブまたは下位階層バス回路に対し優先順位伝達信号PR(L)を生成して伝達する。この最高優先順位選択部50は、アクセス要求REQAおよびREQBの一方のみがアサートされている場合には、対応の優先順位伝達信号を選択して下位階層バス回路またはバススレーブに伝達する。
【0059】
この最高優先順位選択部50は、また、転送要求調停部52が生成したアクセスが許可されたバスを示す最終バスアクセス許可FBACKAおよびFBCKABを、上位バスコントローラ4Aおよび4Bへそれぞれ転送する。下位階層バス回路においてアクセスが許可されたバスマスタに対して、最終のバスアクセス許可ACKを生成して、バスマスタの転送動作を許可する。下位階層バス回路によりアクセスが待ち合わせられるバスマスタは、データ転送を以後に許可されるまで待合せる。この最終バスアクセス許可FBACKAおよびFBACKBを用いた転送処理については、後に詳細に説明する。
【0060】
転送要求調停部52は、これらの転送要求REQAおよびREQBと優先順位伝達信号PRAおよびPRBとに従って、最も優先順位の高い上位階層バス回路またはバスマスタを指定する選択信号SELを生成するとともに、下位階層バス回路またはバススレーブに対しアクセス要求REQ(L)および対応の優先順位伝達信号に従って下位への優先順位伝達信号PR(L)を生成して転送する。
【0061】
下位階層バス回路9は、セレクタ部54を含む。セレクタ部54は、上位階層バス回路2Aおよび2Bからのアドレス信号、データおよびコマンドADD/DATA/CTL♯AおよびADD/DATA/CTL♯Bの一方を、転送要求調停部52からの選択信号SELに従って選択し、下位階層バス回路またはバススレーブに対するアドレス、データおよびコマンド(ADD/DATA/CTL)を転送する。
【0062】
この下位バスコントローラ10において、アクセス要求(転送要求)REQAおよびREQBがともにアサートされているとき、伝達された優先順位伝達信号PRAおよびPRBのうち高いほうの優先順位を示す上位階層バス回路またはバスマスタを選択する。これにより、下位階層バス回路9において、バスマスタの優先順位が変更されていても、伝達された優先順位伝達信号PRAおよびPRBにより高いほうの優先順位を有する上位階層バス回路(またはバスマスタ)を選択して下位階層バス回路またはバススレーブへ上位からの転送情報(アドレス、データおよびコマンド)を転送することができる。
【0063】
図5は、この発明の実施の形態1に従うデータ処理システムのデータ転送制御の構成を概略的に示す図である。図5において、下位バスコントローラ10は、その内部に含まれる最高優先順位選択部50においてアクセス許可されたバスマスタを示す最終バスアクセス許可FBACKAおよびFBACKBを生成し、それぞれ、上位バスコントローラ4Aおよび4Bへ与える。
【0064】
上位バスコントローラ4Aおよび4Bは、最終バスアクセス許可FBACKAおよびFBACKBのアサート時、対応の上位階層バス回路6Aおよび6Bにおいてアクセス許可されたバスマスタ3Aおよび3Bに対して、データ転送許可DTXENAおよびDTXENBをアサートする。バスマスタ3Aおよび3Bは、それぞれ、データ転送許可DTXENAおよびDTXENBのアサート時、データ転送を実行する。このときには、すでに、上位バスコントローラ4によりアクセスが許可されたバスマスタは、対応のバスアクセス許可ACKiに従って転送がイネーブル状態に設定されている。書込データの転送を行なうライトデータ転送時においては、残りの書込データの転送を行なう。一方、読出データ転送時においては、SDRAM(16)から転送されたデータが、対応の最終にバスアクセスが許可されたバスマスタに転送される。
【0065】
すなわち、上位バスコントローラ4Aおよび4Bは、バスアクセスが許可されたバスマスタをバスアクセス許可ACKiにより識別し、最終バスアクセス許可FBACKAおよびFBACKBのアサート時、アサート状態のバスアクセス許可ACKiに対応するバスマスタに対して、データ転送許可DTXENAおよびDTXENBをアサートする。各バスマスタにおいて、バスアクセス許可ACKiと最終バスアクセス許可FBACK(FBACKAまたはFBACKB)との論理積演算を行なうことにより、両者がアサートされたバスマスタに対するデータ転送を許可することができる。
【0066】
なお、上述の構成において、階層バス構造は、上位階層バス回路および下位階層バス回路の2段階のバス構成とされる。しかしながら、さらに複数のバス階層が設けられていてもよい。また、上位階層バス回路が、下位階層バス回路に対し2つ設けられているだけである。しかしながら、1つの下位階層バス回路に対し2よりも大きい複数の上位階層バス回路が配置され、バスマスタが3以上のバスグループに分割されてもよい。
【0067】
個々に上位階層バス回路により優先順位の判定を行ない、また、下位階層バス回路においては、伝達された優先順位情報に従って最も高い優先順位のバスマスタを選択する。
【0068】
以上のように、この発明の実施の形態1に従えば、上位から下位に向かって、選択されたバスマスタの優先順位を示す優先順位情報を伝達している。これにより、データ転送制限時間の値がある範囲のバスマスタをまとめてグループ化し、各グループをそれぞれ1つの上位階層バス回路に接続することが特に要求されない。これにより、バス構成の自由度を改善することができる。また、システムの動作モードが変更され、バスマスタのデータ転送制限時間が変更された場合でも、優先順位を変更することにより、データ転送制限時間が短いバスマスタに対してより高い優先順位を与えるという原則を維持することができる。
【0069】
この図1に示す構成において上位階層バス回路と下位階層バス回路の間に、バスブリッジが設けられてもよい。データバス幅の変更およびデータ転送タイミングの調整をこのバスブリッジを用いて行なう。
【0070】
また、バスマスタがリードデータ転送を要求する場合、下位階層バス回路でアクセスが待ち合わせられた場合、アクセスが待合せ状態のバスマスタに対するデータ転送を待ち合わせる必要がある。この場合、下位バスコントローラ10からのバスアクセス許可FBACKに従って、上位バスコントローラ4が、アクセス許可されたバスマスタに対し、要求したデータが、SDRAMから転送されたことを報知する構成が用いられてもよい。
【0071】
[実施の形態2]
図6は、この発明の実施の形態2に従うデータ処理システムの構成を概略的に示す図である。この図6に示すデータ処理システム1においては、上位階層バス回路6Aおよび上位階層バス回路6Bそれぞれと下位階層バス回路9の間にバスブリッジ60Aおよび60Bが設けられる。これらのバスブリッジ60Aおよび60Bは、それぞれキューバッファ62Aおよび62Bを含む。
【0072】
これらのキューバッファ62Aおよび62Bは、対応の上位階層バス回路6Aおよび6Bからそれぞれ転送されるアドレス、データおよびコマンド(ADD/DATA/CTL)に加えて、バスアクセス要求REQ(REQA,REQB)および優先順位伝達信号PRAをそれぞれFIFO(ファーストイン・ファーストアウト)態様で格納する。キューバッファ62Aおよび62Bは、たとえば複数段のフリップフロップ(FF)で構成され、複数のバスマスタからのバスアクセス要求を待ち行列化することができる。図6に示すデータ処理システム1の他の構成は、図1に示すデータ処理システムの構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【0073】
図7は、図6に示すデータ処理システムのアクセス要求選択態様を、バスブリッジの構成の一例とともに示す図である。図7において、バスブリッジ60Aおよび60Bにおいて、キューバッファ62Aおよび62Bは、それぞれ、2段のバッファレジスタ64を含む。キューバッファ62Aおよび62Bのバッファレジスタの段数は、システムの要求に応じて決定される。
【0074】
また、バスマスタ群2Aにおいては、バスマスタ3a−3dが設けられ、バスマスタ群2Bにおいては、バスマスタ3e−3hが設けられる。
【0075】
バッファレジスタ64は、バスアクセス要求REQ(REQA,REQB)を格納するバスアクセス要求フィールド65aと、転送アドレスを格納するアドレスフィールド65bと、優先順位伝達信号を格納する優先順位フィールド65cと、転送データを格納するデータフィールド65dとを含む。転送アドレスは、SDRAM16のメモリアクセス位置を示すアドレスである。転送データは、書込アクセス時にSDRAM16に転送されるデータである。
【0076】
図7において、いま、キューバッファ62Aにおいては、バスマスタ3cの転送するアドレスAD(c)がその対応の優先順位“3”を示す情報および転送データDATA(c)とともにフィールド65b、65cおよび65dにそれぞれ格納され、また、バスマタ3dが転送するアドレスAD(d)とリンクして、バスマスタ3dの優先順位“5”を示す情報が転送データDATA(d)とともに、それぞれ、フィールド65b、65cおよび65dに格納され、この場合、アクセス要求を行なっているため、バスアクセス要求REQAがアサートされて対応のバスアクセス要求フィールド65aに格納される。
【0077】
キューバッファ62Bにおいては、バスマスタ3eが転送するアドレスAD(e)とリンクしてこのバスマスタ3eの優先順位“4”を示すデータおよび転送データDATA(e)、それぞれ、フィールド65b、65cおよび65dに格納される。また、バスマスタ3fの転送アドレスAD(f)が、その優先順位“6”とともにリンクしてフィールド65bおよび65cに格納される。また、上位階層バス回路6Bからアクセス要求が行なわれており、バスアクセス要求REQBがアサートされて各対応のバスアクセス要求フィールド65aに格納される。
【0078】
上述のように、バッファレジスタ64は、一例として、フリップフロップ(FF)で構成される。上位階層バス回路6Aおよび6Bからバスアクセス要求が優先順位伝達信号とともに転送されるごとに、キューバッファ62Aおよび62Bに順次FIFO(ファーストイン・ファーストアウト)態様で対応の上位バス回路6Aおよび6Bからの転送情報がそれぞれ格納される。各クロック信号に同期して、キューバッファ62Aおよび62Bそれぞれから、最初に格納されたバッファレジスタ64の内容が、下位バスコントローラ10に転送され、さらに、バスアクセス要求の調停が行なわれる。
【0079】
図7に示す配置においては、下位階層バス回路9において、バスマスタ3cおよび3eからのアクセス要求の調停が行なわれる。バスマスタ3cの優先順位が“3”であり、バスマスタ3eの優先順位が“4”である。従って、キューバッファ62Aからの転送アドレスAD(c)および転送データDATA(c)が選択され、対応の優先順位伝達信号とともに下位階層バス回路9を介してSDRAMコントローラ15に転送される。転送データDATAは、SDRAMに対する書込データである。
【0080】
なお、データ転送についても、キューバッファ62Aおよび62B内にバッファレジスタがそれぞれ書込データ転送経路および読出データ転送経路に設けられる。上述の転送データDATAを格納するバッファレスタ65dは、書込データ転送部において設けられ、アドレスと同様にバッファレジスタ65dに転送データが、FIFO態様で格納される。一方、読出データ転送経路においては、SDRAMコントローラ15を介して転送されるデータをFIFO態様で格納して上位階層バス回路6Aおよび6Bに転送するFIFOバッファレジスタが設けられる。この場合、下位バスコントローラ10においては、先の実施の形態1において図4および7を参照して説明したように、読出データ転送時、最終バスアクセス許可FBACKAおよびFBACKBに従って読出データ転送を要求したバスマスタが特定されてイネーブルされるため、読出データがアクセス要求したバスマスタに対して正確にFIFO態様で転送される。
【0081】
したがって、上位階層バス回路6Aおよび6Bの内部構成およびこの上位バスコントローラ、および下位階層バス回路9および下位バスコントローラ10の構成としては、先の実施の形態1において説明した構成を利用することができる。
【0082】
なお、この図7に示す構成においてキューバッファ62Aおよび62Bにおいてバスアクセス要求REQAおよびREQBが格納されている。この構成の場合、キューバッファ62Aおよび62Bに、さらに、各バスアクセスを要求するバスマスタを識別するバスマスタ識別子IDを格納し、下位バスコントローラ10においては、最終的にバスアクセスが許可されたバスマスタを、転送されたバスマスタ識別子に基づいて判別して、最終バスアクセス許可を、バスマスタ識別子とともに上位バスコントローラに転送する構成が用いられてもよい。上位バスコントローラが、最終バスアクセス許可FBACKおよびバスマスタ識別子IDとに基いて、アクセス許可されたバスマスタを識別して、転送データ取り込みイネーブル状態に設定してもよい。
【0083】
以上のように、この発明の実施の形態2に従えば、バスブリッジ内において、バスブリッジ内に、優先順位を示す優先順位を格納するバッファを配置しており、この格納した優先順位情報を下位階層バス回路に伝達することができる。したがって階層バス構造において、この上位階層バスと下位階層バスの間にバスブリッジが配置される場合においても、正確に上位階層バスから下位階層バスに優先順位を示す情報を伝達することができ、実施の形態1において示す構成と同様の効果を得ることができる。また、上位および下位階層バス回路において、パイプライン的にバスアクセス調停を行うことができ、上位階層バス回路においても、下位階層バス回路での調停結果により、調停を待合せる必要がなく、高速処理が実現される。
【0084】
[実施の形態3]
図8は、この発明の実施の形態3に従うデータ処理システムの構成を概略的に示す図である。図8に示すデータ処理システムにおいては、バスブリッジ60Aおよび60Bにおいて、さらに、セレクタ70Aおよび70Bが設けられる。セレクタ70Aは、キューバッファ62Aに格納される優先順位情報すべてと上位階層バス回路6Aから転送される優先順位伝達信号PRAとを受け、これらの優先順位を判定し、最も優先順位の高い優先順位伝達信号を選択する。セレクタ70Bも、同様、キューバッファ62Bに格納される全ての優先順位情報と、上位階層バス回路6Bから与えられる優先順位伝達信号PRBとを受け、これらの与えられた優先順位情報のうち最も優先順位の高い優先順位情報を選択して出力する。
【0085】
キューバッファ62Aおよび62Bには、複数のバスマスタからのバスアクセス要求REQが、優先順位情報PRiとともにリンクして格納される。セレクタ70Aおよび70B各々は、対応のバスアクセス要求REQがアサートされているとき、対応の優先順位情報をすべて比較する。
【0086】
図8に示すデータ処理システムの他の構成は、図6に示すデータ処理システムの構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【0087】
図9は、図8に示すデータ処理システムの転送処理動作の一例を概略的に示す図である。図9において、バスマスタ群2Aにおいて、バスマスタ3a−3dが用いられ、バスマスタ群2Bにおいてバスマスタ3e−3hが用いられる。
【0088】
バスマスタ群2Aにおいて、バスマスタ3a、3b、3cおよび3dに対し優先順位“1”、“2”、“5”、および“6”が割当てられる。一方、バスマスタ群2Bにおいて、バスマスタ3e、3f、3gおよび3hに対しそれぞれ、優先順位“3”、“4”、“7”および“8”が割当てられる。すなわち、上位階層バス回路6Aにおいて、バスマスタ3c、3dおよび3eが順次アクセス要求が許可され、また、上位階層バス回路6Bにおいて、バスマスタ3g、3hおよび3iが順次バスアクセスが許可された状態を考える。
【0089】
この場合、バスブリッジ62Aにおいて、バスマスタ3cに対して、キューバッファ62Aのバッファレジスタに、バスアクセス要求REQA、アドレスA0(c)および優先順位情報“5”が格納される。次のバッファレジスタ64において、バスマスタ3dに対するバスアクセス要求REQA、アドレスA(d)および優先順位情報“6”が格納される。また、この状態において、上位階層バス回路6Aから、次のバスマスタ3cからのアクセス要求に従って転送先アドレスA1(c)が優先順位情報“5”とともに転送される。この場合、キューバッファ62Aにおいては、バッファレジスタ64すべてに有効情報が格納されており、上位階層バス回路6Aから転送されるアドレスA1(c)および優先順位情報“5”は待ち合わせられる。
【0090】
一方、バスブリッジ60Bにおいて、キューバッファ62Bにおいて、バスマスタ3gからのバスアクセス要求REQBが転送要求アドレスA(g)と優先順位情報“7”が格納される。またバスマスタ3hからの要求に従ってバスアクセス要求REQB、転送先アドレスA(h)および優先順位情報“8”が格納される。次のサイクルにおいて、バスマスタ3eからの転送要求アドレスA(e)が優先順位情報“3”とともにキューバッファ62Bに与えられてその格納が待ち合わせられる。
【0091】
なお、キューバッファ62Aおよび62Bにおいて、先の実施の形態2と同様、転送データを格納するデータフィールドが設けられるが、図9においては、図面の煩雑化を避けるために示していない。アドレス信号の転送経路に関連する部分のみを示す。
【0092】
この状態において、セレクタ70Aは、対応のキューバッファ62Aに格納される有効優先順位情報および上位バス回路からの優先順位伝達信号のすべてを受け、最も優先順位の高い優先順位情報を選択して優先順位伝達信号PRAを生成する。セレクタ70Bも、キューバッファ62Bに格納されるフィールド65cに格納される優先順位情報および上位バス回路6Bからの待合せ状態の優先順位伝達信号を並列に受け、最も優先順位の高い優先順位を選択して優先順位伝達信号PRBを生成する。このセレクタ70Aおよび70Bからの優先順位伝達信号PRAおよびPRBが、下位バスコントローラ10へ与えられる。このとき下位階層バス回路9において、バスブリッジ60Aおよび60Bから転送されたアドレス(およびデータ)の転送制御を行なう。
【0093】
図10は、図9に示すデータ処理システムの動作を示すタイミング図である。以下、図10を参照して、図9に示すアクセス要求調停動作について説明する。
【0094】
バスブリッジ60Aおよび60Bにおけるキューバッファ62Aおよび62Bは、クロック信号CLKに同期して動作する。
【0095】
サイクル♯1において、セレクタ70Aは、優先順位として“5”、“6”および“5”が与えられており、優先順位伝達信号PRAとして、最も優先順位の高い優先順位“5”を選択して下位バスコントローラ10へ対応のアドレスおよびデータとともに与える。一方、セレクタ70Bは、優先順位として“7”、“8”および“3”を受け、最も高い優先順位“3”を選択して優先順位伝達信号PRBを生成して下位バスコントローラ10へ与える。
【0096】
したがって、この場合、上位階層バス回路6Aおよび6Bに対してはそれぞれ、優先順位“5”および“3”が割当てられる。このとき、下位階層バス回路9に対しては、キューバッファ62Aおよび62Bのアドレスフィールド65bに格納されるアドレス(および転送データ)が並行して与えられる。下位階層バス回路9においては、下位バスコントローラ10の制御のもとに、優先順位“3”が割当てられたキューバッファ62BからのアドレスA(e)が選択されてSDRAMコントローラ15へ与えられる。
【0097】
次のサイクル♯2において、キューバッファ62Aの内容の発行は行なわれていないため、セレクタ70Aは、サイクル♯1と同様に、優先順位伝達信号PRAとして、優先順位“5”を選択して下位バスコントローラ10へ与える。セレクタ70Bは、このとき、優先順位“3”を選択して優先順位伝達信号PRBを生成して下位バスコントローラ10へ与える。ここで、クロック信号CLKに同期してキューバッファ62Bにおいては、バスマスタ3gからの転送アドレスおよび転送データが下位階層バス回路9へ発行されており、バスマスタ3eからの優先順位伝達信号PR2(=“3”)および対応ORドレス信号A(e)がキューバッファ62Bのバッファレジスタ64に格納される。
【0098】
このときには、下位階層バス回路9においては、バスブリッジ62Aおよび62Bからの優先順位情報“5”および“3”に従って、キューバッファ62Bのアドレスフィールド65bの次のアドレスA(h)に優先順位“3”が割当てられており、このアドレスA(h)が対応の転送データおよび優先順位伝達信号PR(=”3”)とともに下位階層バス回路9を介してSDRAMコントローラ15へ転送される。
【0099】
次のサイクル♯3においても、バスブリッジ60Aのキューバッファ62Aおよび上位階層バス回路6Aの出力優先情報は変化しないため、セレクタ70Aは、これまでのサイクルと同様、優先順位“5”を示す情報を選択して出力する。
【0100】
バスブリッジ60Bにおいては、セレクタ72Bが、優先順位“3”を選択して、優先順位伝達信号PRBを生成して下位バスコントローラ10へ与える。下位階層バス回路9は、バスブリッジ60Bからの優先順位伝達信号PRBが、優先順位“3”を示しており、下位バスコントローラ10の制御の下に、バスブリッジ60Bからのアドレス信号A(e)を選択して対応の転送データとともに下位階層バス回路9へ転送する。
【0101】
サイクル♯3において、バスブリッジ60B内のキューバッファ62Bに格納されたアドレスすべての転送が完了すると、上位階層バス回路6Bからの優先順位情報はすべて転送されており、以後のサイクルにおいては無視される(以後のサイクルにおいてバスマスタ群2Bからのアクセス要求は発行されないとする。
【0102】
サイクル♯4においては、キューバッファ62Aから、優先順位“5”がセレクタ70Aにより選択されて出力される。従って、キューバッファ62Aのアドレスフィールド65aに格納されるアドレスA0(c)、A(d)およびA1(c)が対応の転送データとともに、クロックサイクル♯4、♯5および♯6において、それぞれ、選択されて下位バスコントローラ10へ与えられる。
【0103】
この図9に示すように、優先順位が高いバスマスタ3eがアクセス要求を発行した場合、バスマスタ3eの待ち合わせは、先に格納された優先順位の低いアドレス情報の転送の後、続いて実行することができ、この優先順位の高いバスマスタ3eの待ち合わせ時間を短縮することができる。
【0104】
これにより、以下のような状況を回避することができる。すなわち、キューバッファ62Aにバスマスタ3cおよび3dからの転送情報が格納され、また、キューバッファ62Bにバスマスタ3gおよび3hからの転送情報が格納された後、バスマスタ3cおよびバスマスタ3eが、上位バス回路6Aおよび6Bにより選択された状態を考える。この場合、セレクタ70Aおよび70Bが設けられていない場合、以下のようにアクセス調停が行われる。バスブリッジ60Aに格納される優先順位“5”および“6”および次の優先順位“5”のバスマスタ3c、3dおよび3cからのアクセス要求の発行が完了した後に、バスブリッジ60Bの優先順位“7”および“8”を有するバスマスタ3gおよび3hのアドレスおよびデータの転送が行われる。この後に、優先順位“3”を有するバスマスタ3eが、アクセスが許可されアドレスおよびデータの転送が実行される。この場合、優先順位の高いバスマスタ3eの待合せ時間が長くなり、効率的なデータ転送を実現することができなくなり、また、バスマスタ3eのデータ転送制限時間内に必要データを転送することができなくなり、データ処理を正確に行なうことができなくなる。
【0105】
従って、図8および図9に示すように、バスブリッジ60Aおよび60B内にセレクタを設けて、各バスブリッジに対する優先順位の最も高い優先順位を選択して下位階層バス回路に転送することにより、優先順位の高いバスマスタのアクセス要求の待合せ時間を短縮することができる。
【0106】
また、単に優先順位を選択しているだけであり、データ転送要求の発行順序は変更されていない。従って、システム内において必要とされるデータの転送順序を維持することができ、データ処理順序が維持され、処理データのインテグリティ(integrity)を確保することができ、正確なデータ処理を保障することができる。
【0107】
以上のように、この発明の実施の形態3に従えば、各上位バス回路において、複数の優先順位情報のうち最も優先順位の高いバスマスタの優先順位を選択している。したがって、優先順位の高いバスマスタのアクセス要求が、優先順位の低いバスマスタのアクセス要求により待ち合わせられる時間を、短くすることができ、処理効率を改善することができる。
【0108】
なお、上述の構成においては、各バスマスタに対して優先順位が各処理モードにおいて固定的に割当てられている。しかしながら、各バスマスタに対して割当てられる優先順位情報として、たとえば、バスマスタのアクセス待ち合わせ時間、またはトランザクション回数に基づいて待ち合わせ時間の最も長いものを優先順位が最も高い情報として転送する、または、トランザクション回数が最も少ない回数を、最も優先順位の高い優先順位情報として生成し、これらの優先順位情報を、各バスマスタの優先順位情報をとして用いて、これまでの実施の形態1から3の方式に従ってバスアクセスの調停を処理する構成が利用されてもよい。
【0109】
従って、上位バス回路において与えられる優先順位情報が各処理モード毎に固定的に設定される調停方式に加えて、バスマスタの優先順位が、バスアクセス要求の発効状況に応じて変更されるバスアクセス調停方式に対しても、本発明は適用することができる。
【産業上の利用可能性】
【0110】
この発明は、複数のバスマスタを含み、優先順位に従ってバススレーブに対するアクセス要求が調整される階層バス構造のデータ処理システムに適用することにより、階層バス構造において正確に、優先順位に従ってバスアクセスを調停することができる。特に、固定優先調停方式を用いる階層バス構造のデータ処理システムに適用することにより、システムの動作モードに応じて優先順位が更新される場合においても、正確に、短いデータ転送制限時間に高い優先順位を割当てるという優先順位設定原則を維持して、バスアクセスの調停を行なうことができる。
【符号の説明】
【0111】
1 マルチメディアシステムLSI、2,2A,2B バスマスタ群、3a−3h バスマスタ、6,6A,6B 上位階層バス回路、9 下位階層バス回路、4,4A,4B 上位バスコントローラ、10 下位バスコントローラ、20 レジスタファイル(テーブルメモリ)、22 バスアクセス調停部、26 セレクタ、28 バッファ、44 優先順位生成部、45 CPUインターフェイスI/F、46 優先順位レジスタ、47 選択レジスタ、48 セレクタ、12 CPU、50 最高優先順位選択部、52 転送要求調停部、54 セレクタ部、60A,60B バスブリッジ、62A,62B キューバッファ、70A,70B セレクタ。

【特許請求の範囲】
【請求項1】
各々が優先順位が与えられるとともに予め割当てられた処理を実行する1以上のバスマスタを各々が含む複数のバスマスタ群、
各バスマスタ群に対応して配置され、各々が対応のバスマスタ群からの情報を転送する複数の第1のバス、
各前記第1バスに対応して配置され、各々が対応のバスマスタ群からのアクセス要求を優先順位に基いて調停するとともにアクセスが許可されたバスマスタの優先順位を示す優先順位信号を伝達する複数の第1バスコントローラ、
前記複数の第1バスに共通に配置される第2のバス、
前記複数の第1のバスに共通にかつ前記第2のバスに対応して配置され、各前記第1のバスからのアクセス要求を、伝達された優先レベル信号に基いて調停するとともに、アクセスが許可されたバスマスタの優先順位を示す優先順位信号を前記第2バスの下位階層に転送するとともに前記アクセス許可されたバスマスタからの転送情報を前記第2のバスを介して下位階層へ転送する第2バスコントローラを備える、データ処理システム。
【請求項2】
前記データ処理システムは、各前記第1バスに対応して配置され、各々が対応の第1バスと前記第2バスとの間の通信を調整する複数のバスブリッジをさらに備え、
各前記バスブリッジは、対応の第1バスコントローラから転送された優先順位伝達信号を対応のバスマスタからの転送情報とともに順次格納して出力するキューバッファを備える、請求項1記載のデータ処理システム。
【請求項3】
前記キューバッファは、複数段のキューバッファレジスタを含み、
各前記バスブリッジは、さらに、
各前記のキューバッファレジスタの格納する優先順位伝達信号および対応の第1バスコントローラから転送される優先順位伝達信号とを受け、最も高い優先順位を示す優先順位伝達信号を選択して前記第2バスコントローラへ転送する最優先セレクタを備え、
前記キューバッファは、ファーストイン・ファーストアウト態様で格納されたバスマスタからの転送情報を順次第2バスに転送する、請求項2記載のデータ処理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2010−282405(P2010−282405A)
【公開日】平成22年12月16日(2010.12.16)
【国際特許分類】
【出願番号】特願2009−134981(P2009−134981)
【出願日】平成21年6月4日(2009.6.4)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】