(57)【要約】    【課題】      マルチレイヤバス構成の各バスレイヤに対して、バスの割当をダイナミックに変更可能にすることにより、バスアクセス時間及びバス占有時間を最小にし、低消費電力化を図ること。    【解決手段】  バス１００は、レイヤ毎のレイヤバス１０１〜１０４から構成されており、ＤＭＡコントローラ１１３、メモリインターフェイス部１１５及びブリッジ１２５が接続されている。バスアービタ１０５は、バス１００の制御を行う。ＣＰＵ１１１、１１２は、バスアービタ１０５により、入出力バスを介してバス１００に接続制御されるように構成されており、バスアービタ１０５の指示により入出力バスのバス幅を変換する。ＤＭＡコントローラ１１３は、ＤＭＡコントローラ１１３のバスも、バスアービタ１０５を介して、バス１００に接続制御されるように構成されている。  【選択図】      図１
2007025839.tif 000002
【特許請求の範囲】
【請求項１】
複数レイヤで構成されたバスと、
前記バスの使用権を制御するバスアービタと、
入出力バスを介して前記バスに接続されるとともに前記入出力バスのバス幅を変換するバスマスタとを具備し、
前記バスアービタは、前記バスマスタからバス使用要求を受信した場合に前記バスの使用状況に応じて前記複数レイヤの内の所定のレイヤを前記バスマスタに割り当て、前記バスマスタは、前記バスアービタにて割り当てられたレイヤのバス幅に変換するマルチバス制御装置。
【請求項２】
前記バスアービタは、前記バスマスタからデータ転送量の情報を受信し、受信した前記データ転送量の情報に基づいて、前記複数レイヤの内の所定のレイヤを前記バスマスタに割り当てる請求項１記載のマルチバス制御装置。
【請求項３】
前記バスアービタは、前記複数レイヤの使用されていないバスに対して、クロックの供給を停止する請求項１または２記載のマルチバス制御装置。
【請求項４】
バスアービタが、バスマスタからバス使用要求を受信したとき、前記バスアービタは、前記バスの使用状況に応じて、複数レイヤで構成されたバスの内の所定のレイヤを前記バスマスタに割り当てるステップと、
前記バスマスタが、前記バスアービタにて割り当てられたレイヤのバス幅に、前記バスマスタの入出力バスのバス幅を変換するステップと、
を具備するマルチバス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチバス制御装置及びマルチバス制御方法に関し、特に、携帯電話等で使用される呼制御用のＣＰＵやアプリケーション用のＣＰＵ等のコンピュータシステムアーキテクチャに関し、詳細には、マルチレイヤ構成のバス間のアービトレーションのためのマルチバスダイナミックアービタに好適なマルチバス制御装置及びマルチバス制御方法に関する。
【背景技術】
【０００２】
近年、携帯電話等でデータ転送量が増大するに伴いＣＰＵ処理量も大幅に増加している。このため、ＣＰＵとメモリとの間、ＣＰＵとＤＭＡ(Direct Memory Access control)との間等でのメモリアクセス頻度が増大することによりバスを占有され、ＣＰＵがバスアクセスできなくなり、待ち状態になることが多々ある。
【０００３】
バス間で動的且つ公平なメモリバス帯域幅の割当てを可能にするマルチバスアービタ、特に、異なる形態のバス間で動的且つ公平なメモリバス帯域幅の割当てを可能にするマルチバスアービタとしては、特許文献１が知られている。
【０００４】
特許文献１によれば、第１及び第２の周辺バスアービタの間で、メモリバスアービタの制御を調停するためのマルチバスアービタが設けられている。マルチバスアービタは、書込み可能割当てレジスタ、タイムスロットポインタ、及びアービトレーション回路を含む。
【０００５】
書込み可能割当てレジスタは、ＣＰＵと回路接続され、ＣＰＵに応答して、マルチビットタイムスロット割当て値を記憶する。この結果、バス間でアクセスを割り当てることが可能になる。タイムスロットポインタは、書込み可能割当てレジスタの各ビットに対応して１ポジションを有し、少なくとも１ポジションを選択するように構成され、更に、両方の周辺バスアービタが、メモリバスへのアクセスを要求することに対して、少なくとも部分的に応答して、異なるポジションを選択するように構成されている。タイムスロット割当てビットは、２つの周辺バス間で、メモリバスへのアクセスを動的に分割するために使用されている。
【０００６】
周辺バスの個々のアクセスは、優先順位により直接管理されるのではなく、特定の時刻におけるその特定のバスの活動の相対優先順位により、割当て値が決定される。従って、アクセス比率（各周辺バスによるメモリバスアクセス回数の比率）、即ち、アクセス時間比率（各バスがメモリバスのアクセスに費やす時間の比率）が、その特定の時刻におけるその特定のバスの活動の相対優先順位により決定される。割当て値が割当てレジスタに書込まれると、アクセスを許可されるバスが、タイムスロットポインタ及び各タイムスロットに関連付けられる割当て値により、従属的(slavishly)に決定できる。このように、複数のバスマスタからのアクセス要求に応じて、公平にメモリバス帯域幅の割当てを行うことが出来る。
【特許文献１】特開平８−６３４２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の装置においては、バス間やバスマスタ・スレーブ間で異なるビット幅の場合、バスアービタやブリッジ等でビット幅変換を行う必要があり、バスマスタからのアクセス数が増大すると共に、バス占有時間が必要以上に長くなるという問題がある。又、中間メモリやＦＩＦＯ等でデータを一時的に蓄積させなければならないという問題がある。
【０００８】
また、無線通信等の通信装置の場合、通信環境により処理データ量が瞬時に変わることが頻繁にあるため、バスの割り当てをアクセス比率で行うとデータが少ないにもかかわらず、バスを割り当ててしまうという問題がある。
【０００９】
本発明はかかる点に鑑みてなされたものであり、マルチレイヤバス構成の各バスレイヤに対して、バスの割当をダイナミックに変更可能にすることにより、バスアクセス時間及びバス占有時間を最小にすることができ、低消費電力化を図ることができるマルチバス制御装置及びマルチバス制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明のマルチバス制御装置は、複数レイヤで構成されたバスと、前記バスの使用権を制御するバスアービタと、入出力バスを介して前記バスに接続されるとともに前記入出力バスのバス幅を変換するバスマスタとを具備し、前記バスアービタは、前記バスマスタからバス使用要求を受信した場合に前記バスの使用状況に応じて前記複数レイヤの内の所定のレイヤを前記バスマスタに割り当て、前記バスマスタは、前記バスアービタにて割り当てられたレイヤのバス幅に変換する構成を採る。
【００１１】
本発明のマルチバス制御方法は、バスアービタが、バスマスタからバス使用要求を受信したとき、前記バスアービタは、前記バスの使用状況に応じて、複数レイヤで構成されたバスの内の所定のレイヤを前記バスマスタに割り当てるステップと、前記バスマスタが、前記バスアービタにて割り当てられたレイヤのバス幅に、前記バスマスタの入出力バスのバス幅を変換するステップと、を具備するようにした。
【発明の効果】
【００１２】
本発明によれば、マルチレイヤバス構成の各バスレイヤに対して、バスの割当をダイナミックに変更可能にすることにより、バスアクセス時間及びバス占有時間を最小にすることができ、低消費電力化を図ることができる。
【発明を実施するための最良の形態】
【００１３】
以下に、本発明の実施の形態について、図面を参照して詳細に説明する。
【００１４】
（実施の形態１）
図１は、本発明の実施の形態１に係るマルチバス制御装置１５０の構成を示すブロック図である。
【００１５】
図１において、１００は、マルチレイヤバス構成のバスであり、バス１００は、各レイヤ毎のレイヤバス１０１〜１０４から構成されている。
【００１６】
又、１０５は、バス１００の制御を行うバスアービタ、１１１、１１２はＣＰＵであり、ＣＰＵ１１１、１１２の入出力バスは、バスアービタ１０５により、バス１００に接続制御されるように構成されている。又、１１３はＤＭＡコントローラであり、ＤＭＡコントローラ１１３のバスも、バスアービタ１０５を介して、バス１００に接続制御されるように構成されている。
【００１７】
バス１００には、メモリインターフェイス（ＭＥＭＩ／Ｆ）部１１５、ブリッジ１２５が接続されている。メモリインターフェイス部１１５には、メモリバス１１６を介してＲＡＭ１１７、ＲＯＭ１１８が接続されている。また、ブリッジ１２５には、ペリフェラルバス１２６を介して周辺デバイス１２７、１２８が接続される。
【００１８】
この構成では、ＣＰＵ１１１、１１２及びＤＭＡコントローラ１１３がバスマスタとして動作し、ＲＡＭ１１７、ＲＯＭ１１８及び周辺デバイス１２７、１２８が、スレーブとして動作するようになる。
【００１９】
図２は、ＣＰＵ１１１、１１２の内部構成の一例を示したものである。ＣＰＵ１１１、１１２は、ＣＰＵ部２０１と、デコーダ２０２と、入出力ビット数をＡビットからＸビットに変換、即ち入出力バスのバス幅を変換するマルチプレクサで構成したビット変換部（ＡｔｏＸＭＵＸ）２０３とから構成されている。本発明では、ＣＰＵ１１１、１１２の入出力ビット幅は３２ビット構成になっている。
【００２０】
又、レイヤバス１０１〜１０４は、それぞれ８ビット幅を有し、バスアービタ１０５の割当に応じて複数のレイヤバスを一つのバスとして動作させることが出来る。
【００２１】
又、ＲＡＭ１１７の入出力ビット幅は３２ビット、ＲＯＭ１１８、周辺デバイス１２７、１２８の入出力ビット幅はそれぞれ１６ビットである。
【００２２】
次に、このように構成した本発明のマルチバス制御装置１５０において、バスマスタであるＣＰＵ１１１が、バス１００にアクセスを行う場合について、図３を用いて説明する。図３は、マルチバス制御装置１５０がバス１００にアクセスを行う場合の動作を示すフロー図である。
【００２３】
まず、ＣＰＵ１１１が、バスアービタ１０５に対して、バスアクセス要求信号を出力し（ＳＴ３０１）、続いてアクセス先を通知する（ＳＴ３０２）。バスアービタ１０５は、バス１００の使用状態を調べ（ＳＴ３０３）、バス１００の全レイヤが空き状態である場合には、アクセス先のビット幅に応じたバスの割当を行う（ＳＴ３０４）。
【００２４】
一方、ＳＴ３０３において、バスアービタ１０５がバス１００の使用状態を調べた時、バス１００が使用状態にある場合には、使用されているバスを調べ（ＳＴ３０５）、アクセス先のビット幅に応じてバスの最適なレイヤ数を算出し（ＳＴ３０６）、バスアクセス要求信号を出力したＣＰＵ１１１に対して最適なバス割当を行い（ＳＴ３０７）、ＣＰＵ１１１に対して許可信号を出力する。
【００２５】
ＣＰＵ１１１のＣＰＵ部２０１は、バスアービタ１０５からの許可信号に基づいて、許可されたバスのレイヤ数を基に出力可能なビット数を算出し、出力ビット数を変換するための命令信号をデコーダ２０２に出力する。デコーダ２０２は、ＣＰＵ部２０１からの信号に従い、ビット数を変換するためのデコード信号をビット変換部２０３に対して出力する。ビット変換部２０３は、ビット数を変換するための変換方法を指定するデコード信号に従って、ビット変換された信号を割り当てられたレイヤバス１０１〜１０４に出力する。
【００２６】
具体的には、例えば、バス１００が全レイヤ空きの状態で、ＣＰＵ１１１がブリッジ１２５を介してインターフェイス１６ビット幅の周辺デバイス１２７にアクセスしようとした場合、バスアービタ１０５は、ＣＰＵ１１１に対して、レイヤバス１０１及び１０２の２レイヤの１６ビット分に対してアクセス許可を出し、ＣＰＵ１１１は、レイヤバス１０１及び１０２を使用してアクセスを行う。
【００２７】
又、バス１００が、ＤＭＡコントローラ１１３により周辺デバイス１２７からＲＡＭ１１７へのデータ転送等を行っている状態で、バス１００の３２ビット分の全レイヤを使用している場合でも、ＣＰＵ１１１が、ＲＯＭ１１８のインストラクション領域にアクセスをするためにバスにアクセス要求を出すと、バスアービタ１０５によりバスの再割当が行われるので、他のハードウエアでの処理の最中にも並列動作を行うことが出来る。勿論、ＣＰＵ１１１、１１２の並列動作も行うことが出来る。
【００２８】
このように、本実施の形態１によれば、マルチレイヤバス構成の各バスレイヤに対して、バスの割当をダイナミックに変更可能にすることにより、バスアクセス時間及びバス占有時間を最小にすることができ、低消費電力化を図ることができる。また、本実施の形態１によれば、複数レイヤから構成されるバスをバスアービタによりアクセス先のビット幅に応じて最適な割当を行うことにより、バスを必要最小限の動作に抑えることができ、且つ各レイヤのバスは異なるバスマスタに割り当てることが出来るので、複数のバスマスタが同時にバスアクセス可能になり、各バスマスタが並列動作を行うことが出来る。
【００２９】
（実施の形態２）
図４は、本発明の実施の形態２に係るマルチバス制御装置の動作を示すフロー図である。
【００３０】
実施の形態２は、上記実施の形態１に加えてバスで転送するデータ量をバスアービタ１０５に通知することにより、バスアービタ１０５は、アクセス先のビット幅に加えてデータ量にも応じてバス割当を行うようにしたものである。
【００３１】
以下、図４を用いて説明する。ここでは、バスマスタであるＣＰＵ１１１が、バス１００にアクセスを行う場合を例にして説明する。
【００３２】
ＣＰＵ１１１からバスアービタ１０５に対して、バスアクセス要求信号を出力し（ＳＴ４０１）、更に、処理データ量とアクセス先とを通知する（ＳＴ４０２）。バスアービタ１０５は、バスの使用状態を調べ（ＳＴ４０３）、バス１００の全レイヤが空きである場合には、アクセス先のビット幅及びデータ量に応じて、バスの割当を行う（ＳＴ４０４）。
【００３３】
一方、ＳＴ４０３で、バス１００が使用状態にある場合には、使用されているバスを調べ（ＳＴ４０５）、アクセス先のビット幅及びデータ量に応じてバスの最適なレイヤ数を算出し（ＳＴ４０６）、ＣＰＵ１１１に対して最適な割当を行い（ＳＴ４０７）、続いて、ＣＰＵ１１１に対して許可信号を出力する。
【００３４】
ＣＰＵ１１１のＣＰＵ部２０１は、バスアービタ１０５から得られた許可信号に従い、許可されたバスのレイヤ数を基に出力可能なビット数を算出し、ＣＰＵ１１１のデコーダ２０２に対して、ＣＰＵ１１１の出力ビット数を変換するための命令信号をデコーダ２０２に出力する。デコーダ２０２は、ＣＰＵ部２０１からの信号に従い、ビット数を変換するビット変換部２０３に対してビット数を変換するための変換方法を指定し、ビット変換部２０３は、ビット変換された信号をバス１００に出力する。
【００３５】
このように、本実施の形態２によれば、上記実施の形態１の効果に加えて、バスをアクセス先のビット幅及びデータ量に応じて必要最小限の動作に抑えることができ、且つ各レイヤのバスを異なるバスマスタに割り当てることが出来るので、複数のバスマスタが同時にバスアクセス可能になり、各バスマスタが並列動作を行うことが出来る。また、本実施の形態２によれば、バスマスタは、インターフェイスのビット幅に加えて、バスで転送するデータ量もバスアービタに通知することにより、バスアービタは、アクセス先のビット幅に加えてデータ量にも応じたバス割当を行うことができる。例えば、異なるバスマスタからバスアクセス要求がなされ、且つ割当が可能なバスが不足した場合は、処理データ量の大きい方にバス割当本数を多く割当ることにより、処理効率を高めることができる。
【００３６】
なお、本実施の形態２において、アクセス先のビット幅及びデータ量に従いバス割当を決定するように構成したが、これに限らず、バスアービタのバス割当は、アクセス先のビット幅とアクセス先へのアクセス頻度、バスマスタからのアクセス要求頻度等を考慮して決定するように構成しても良い。
【００３７】
（実施の形態３）
本発明の実施の形態３は、実施の形態１及び実施の形態２において、使用されていないバスレイヤ１０１〜１０４がある場合、バスアービタ１０５が、使用されていないバスレイヤ１０１〜１０４及びバスインターフェイス部へのクロックの供給を停止するように制御するものである。
【００３８】
このように、本実施の形態３によれば、上記実施の形態１または実施の形態２の効果に加えて、未使用のバスレイヤに対して、クロックを停止させることにより、低消費電力化を図ることができる。
【００３９】
なお、上記実施の形態１〜実施の形態３では、各バスレイヤのビット幅を８ビットに固定にしているが、８ビット以上のビット幅でもよい。また、各バスレイヤのバス幅を可変するように構成しても良い。この場合、バスアービタが、各バスレイヤのバス幅を可変して割り当てるように構成することが出来る。
【産業上の利用可能性】
【００４０】
本発明のマルチバス制御装置及びマルチバス制御方法は、特に、携帯電話等で使用される呼制御用のＣＰＵやアプリケーション用のＣＰＵ等のコンピュータシステムに用いるのに好適である。
【図面の簡単な説明】
【００４１】
【図１】本発明の実施の形態１に係るマルチバス制御装置の構成を示すブロック図
【図２】本発明の実施の形態１に係るＣＰＵの内部の構成の一例を示すブロック図
【図３】本発明の実施の形態１に係るマルチバス制御装置の動作を示すフロー図
【図４】本発明の実施の形態２に係るマルチバス制御装置の動作を示すフロー図
【符号の説明】
【００４２】
１００  バス
１０１〜１０４  レイヤバス
１０５  バスアービタ
１１１、１１２  ＣＰＵ
１１３  ＤＭＡコントローラ
１１５  メモリインターフェイス部
１１６  メモリバス
１１７  ＲＡＭ
１１８  ＲＯＭ
１２５  ブリッジ
１２６  ペリフェラルバス
１２７、１２８  周辺デバイス
【図１】
2007025839.tif 000003
【図２】
2007025839.tif 000004
【図３】
2007025839.tif 000005
【図４】
2007025839.tif 000006