(57)【要約】【課題】バスマスタが複数のバスへ動作要求を出力可能とする構成とし、メモリコントローラがバスからの動作要求を受け付け、各ポートに対するレイテンシ制御を可能とする。【解決手段】メモリコントローラ１１，１２には、ＣＰＵ２のアクセス用の動作受け付け部ポート１４とＣＰＵ３、画像ＩＰ群、およびＤＳＰ１３のアクセス用となる動作受け付け部ポート１５を備える。バスＢ１に接続されたＣＰＵ２，３は、並列に動作してメモリコントローラ１１，１２にアクセスする。セレクタ１６は、優先順位判定部１７の制御信号に基づいて、動作受け付け部ポート１４，１５のいずれかをメモリ制御ステートマシン１８に接続する。メモリ制御ステートマシン１８は、セレクタ１６から出力されたキューに基づいて、半導体メモリＭ１，Ｍ２（または半導体メモリＭ３，Ｍ４）を制御する制御信号を出力する。【選択図】  図１
2008117109.tif 000002
【特許請求の範囲】
【請求項１】
外部接続された半導体メモリを制御するメモリコントローラと、
複数のバスマスタとを有し、
前記メモリコントローラは、
前記バスマスタからアクセス要求を受け付ける少なくとも１つの専用アクセスポートと、
内部バスを介してアクセス要求を受け付ける少なくとも１つの共有アクセスポートと、
前記専用アクセスポート、または前記共有アクセスポートのいずれのメモリアクセス要求を優先させるかを判定し、メモリアクセスを実行する優先順位判定実行部とを備えたことを特徴とする半導体集積回路装置。
【請求項２】
請求項１記載の半導体集積回路装置において、
前記優先順位判定実行部は、
前記専用アクセスポート、または前記共有アクセスポートのいずれのメモリアクセス要求を優先させるかを判定し、その判定結果に基づいて制御信号を出力する優先順位判定部と、
一方の入力部が前記専用アクセスポートに接続され、他方の入力部が前記共有アクセスポートに接続され、前記優先順位判定部から出力された制御信号に基づいて、前記専用アクセスポート、または前記共有アクセスポートのいずれかのメモリアクセス要求を出力する選択部と、
前記選択部から出力されたメモリアクセス要求に基づいて、前記半導体メモリを制御する制御信号を生成するメモリ制御部とよりなることを特徴とする半導体集積回路装置。
【請求項３】
請求項２記載の半導体集積回路装置において、
前記優先順位判定部は、
優先順位判定情報を格納する優先順位判定格納部を備え、
前記優先順位判定格納部に格納された優先順位判定情報に基づいて、制御信号を出力することを特徴とする半導体集積回路装置。
【請求項４】
請求項３記載の半導体集積回路装置において、
前記優先順位判定格納部は、レジスタよりなり、
前記優先順位判定格納部に格納された優先順位判定情報は、
ソフトウェアによって書き換えが可能であることを特徴とする半導体集積回路装置。
【請求項５】
請求項１〜４のいずれか１項に記載の半導体集積回路装置において、
前記バスマスタは、
少なくとも中央処理装置を含むことを特徴とする半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置における外部メモリの制御技術に関し、特に、複数のＣＰＵ（Ｃｅｎｔａｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）による外部メモリのレイテンシ制御に有効な技術に関する。
【背景技術】
【０００２】
携帯電話などの移動通信システムに用いられる半導体集積回路装置などにおいては、複数のＣＰＵを有しているものが知られている。
【０００３】
この種の半導体集積回路装置では、一般に、複数のＣＰＵが１つのバスに接続されており、１つのメモリコントローラが動作を受け付ける構成となっている。また、各々のＣＰＵのバス使用頻度は、メモリコントローラから出力されたバスアクセス要求信号に従ってバスの調停を行うバス調停部において優先順位を含めて設定している。
【特許文献１】特開２００６−１７２２５６号公報
【特許文献２】特開２００１−０３４５３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところが、上記のような半導体集積回路装置におけるメモリアクセス技術では、次のような問題点があることが本発明者により見い出された。
【０００５】
すなわち、メモリコントローラのポートを１ポートとして、バス調停部のみでバス使用頻度を検定する場合、各ＣＰＵに対するレイテンシを制御することが困難となってしまうという問題がある。
【０００６】
たとえば、メモリコントローラが動作要求を受け付けた順番で実行する場合、第１のＣＰＵからの動作要求を複数受け付けた後に、第２のＣＰＵからの動作要求を受け付けると、第１のＣＰＵからの動作要求をすべて実行した後でないと第２のＣＰＵらの動作要求を実行することができない。
【０００７】
また、受け付け順を制御する論理とすると内部の構造は２ポート制御と同等となり、かつ単純に２ポート化するより制御は複雑となってしまう。
【０００８】
本発明の目的は、ＣＰＵなどのバスマスタが複数のバスへ動作要求を出力可能とする構成とし、メモリコントローラがそれぞれのバスからの動作要求を受け付け可能とすることにより、各ポートに対するレイテンシ制御を可能とする技術を提供することにある。
【０００９】
本発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１１】
本発明は、外部接続された半導体メモリを制御するメモリコントローラと、複数のバスマスタとを有し、該メモリコントローラは、バスマスタからアクセス要求を受け付ける少なくとも１つの専用アクセスポートと、内部バスを介してアクセス要求を受け付ける少なくとも１つの共有アクセスポートと、専用アクセスポート、または共有アクセスポートのいずれのメモリアクセス要求を優先させるかを判定し、メモリアクセスを実行する優先順位判定実行部とを備えたものである。
【００１２】
また、本願のその他の発明の概要を簡単に示す。
【００１３】
本発明は、前記優先順位判定実行部が、専用アクセスポート、または共有アクセスポートのいずれのメモリアクセス要求を優先させるかを判定し、その判定結果に基づいて制御信号を出力する優先順位判定部と、一方の入力部が専用アクセスポートに接続され、他方の入力部が共有アクセスポートに接続され、優先順位判定部から出力された制御信号に基づいて、専用アクセスポート、または共有アクセスポートのいずれかのメモリアクセス要求を出力する選択部と、該選択部から出力されたメモリアクセス要求に基づいて、半導体メモリを制御する制御信号を生成するメモリ制御部とよりなるものである。
【００１４】
また、本発明は、前記優先順位判定部が、優先順位判定情報を格納する優先順位判定格納部を備え、優先順位判定格納部に格納された優先順位判定情報に基づいて、制御信号を出力するものである。
【００１５】
さらに、本発明は、前記優先順位判定格納部が、レジスタよりなり、優先順位判定格納部に格納された優先順位判定情報は、ソフトウェアによって書き換えが可能であるものである。
【００１６】
また、本発明は、前記バスマスタが、少なくとも中央処理装置を含むものである。
【発明の効果】
【００１７】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００１８】
（１）バスマスタに対する外部接続される半導体メモリ使用頻度を任意に可変することができる。
【００１９】
（２）また、半導体メモリにおけるレイテンシ制御を容易に可能とすることができる。
【００２０】
（３）上記（１）、（２）により、半導体集積回路装置の性能を向上させることができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００２２】
（実施の形態１）
図１は、本発明の実施の形態１による半導体集積回路装置のブロック図、図２は、図１の半導体集積回路装置に設けられたメモリコントローラの動作例を示す説明図、図３は、図２のメモリコントローラに設けられた優先順位判定レジスタの状態説明図、図４は、図１の半導体集積回路装置に設けられたＣＰＵと半導体メモリとの割り当て例を示す説明図、図５は、図２のメモリコントローラの一例を示すタイミングチャート、図６は、図５における優先順位判定レジスタの状態を示す説明図、図７は、図２のメモリコントローラの他の例を示すタイミングチャート、図８は、図７における優先順位判定レジスタの状態を示す説明図である。
【００２３】
本実施の形態１において、半導体集積回路装置１は、たとえば、携帯電話などの移動通信システムに用いられる。半導体集積回路装置１は、図１に示すように、中央処理装置であるＣＰＵ２，３、バスブリッジ４，５，６、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）コントローラ７、３Ｄ（Ｄｉｍｅｎｓｉｏｎ）アクセラレータ８、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）アクセラレータ９、カメラインタフェース１０、メモリコントローラ１１，１２、およびＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）１３から構成されている。
【００２４】
また、半導体集積回路装置１には、メモリコントローラ１１，１２を介して、たとえば、フラッシュメモリなどに例示される不揮発性半導体メモリからなる半導体メモリＭ１〜Ｍ４がそれぞれ外部接続されている。
【００２５】
ＣＰＵ２は、リアルタイムＯＳを実行しベースバンドプロトコルスタックを実行する。ＣＰＵ３は、リアルタイムＯＳなどを実行し、画像や音声処理用のアクセラレータ回路を制御する。これらＣＰＵ２，３は、バスマスタモジュールとなる。
【００２６】
バスブリッジ４は、ＣＰＵ２を、バスＢ１へのポート、またはメモリコントローラ１１の直接アクセス可能なポートのいずれかに接続する。バスブリッジ５は、ＣＰＵ３を、バスＢ１へのポート、またはメモリコントローラ１２の直接アクセス可能なポートのいずれかに接続する。
【００２７】
バスブリッジ６は、ＬＣＤコントローラ７、３Ｄアクセラレータ８、ＭＰＥＧアクセラレータ９、およびカメラインタフェース１０をバスＢ１に接続する。ＬＣＤコントローラ７は、外部接続された液晶ディスプレイの表示制御を行う。
【００２８】
３Ｄアクセラレータ８は、３次元グラフィックス処理などを行う。ＭＰＥＧアクセラレータ９は、動画処理のアクセラレータである。カメラインタフェース１０は、外部接続されたカメラのインタフェースである。メモリコントローラ１１，１２は、外部接続された半導体メモリＭ１〜Ｍ４におけるメモリコントローラである。ＤＳＰ１３は、デジタル信号の音声処理などを行う。
【００２９】
メモリコントローラ１１は、動作受け付け部ポート１４，１５、セレクタ１６、優先順位判定部１７、ならびにメモリ制御部として機能するメモリ制御ステートマシン１８から構成されている。なお、メモリコントローラ１２においても、メモリコントローラ１１と同様の構成となっている。
【００３０】
優先アクセスポートとして機能する動作受け付け部ポート１４は、バスブリッジ４を介して入力されたメモリアクセス要求であるキューを格納する。共有アクセスポートとして機能する動作受け付け部ポート１５は、バスＢ１を介して入力されたキューを格納する。
【００３１】
優先順位判定実行部となる優先順位判定部１７は、優先順位判定レジスタ１７ａを備え、該優先順位判定レジスタ１７ａに格納された優先順位判定情報に基づいて、制御信号を出力する。
【００３２】
メモリコントローラ１１（，１２）は、前述したように、２つの動作受け付け部ポート１４，１５をそれぞれ有しており、動作受け付け部ポート１４は、専用に接続されたＣＰＵ２のアクセス用であり、他方の動作受け付け部ポート１５は、ＣＰＵ３、および該ＣＰＵ３以外に接続されているＬＣＤコントローラ７、３Ｄアクセラレータ８、ＭＰＥＧアクセラレータ９やカメラインタフェース１０などの画像ＩＰ群、およびＤＳＰ１３のアクセス用となる。
【００３３】
バスＢ１に接続されているバスマスタモジュールは、それぞれ並列に動作してメモリコントローラ１１，１２にそれぞれアクセスを行う。
【００３４】
優先順位判定実行部となるセレクタ（選択部）１６は、優先順位判定部１７から出力された制御信号に基づいて、動作受け付け部ポート１４，１５のいずれかの接続先をメモリ制御ステートマシン１８に接続する。
【００３５】
優先順位判定実行部であるメモリ制御ステートマシン１８は、動作受け付け部ポート１４、または動作受け付け部ポート１５から出力されたキューに基づいて、半導体メモリＭ１，Ｍ２（または半導体メモリＭ３，Ｍ４）を制御する制御信号を生成し、出力する。
【００３６】
ここで、優先順位判定レジスタ１７ａの動作について説明する。
【００３７】
優先順位判定レジスタ１７ａは、図２に示すように、ソフトウェアによって設定可能な１６ビットのレジスタからなり、優先順位判定部１７には優先順位判定レジスタ１７ａのビットを参照する優先順位参照ポインタＰが設けられている。
【００３８】
動作受け付け部ポート１４、もしくは動作受け付け部ポート１５からの動作要求を受け付けるたびに優先順位参照ポインタＰが次のビットを参照するように動作することになる。
【００３９】
優先順位参照ポインタＰの動作は、図３に示すように、状態Ｊ１、状態Ｊ２、状態Ｊ３のように受け付ける度に次のビットにシフトしていく。また、図３の状態Ｊ４のように、１６回目受け付け後は、優先順位参照ポインタＰが初期状態に戻る。
【００４０】
たとえば、状態Ｊ１において、優先順位参照ポインタＰが指している値は、’０’なので動作受け付け部ポート１４の動作要求が優先される。また、状態Ｊ２の場合も、優先順位参照ポインタＰが指している値は、’０’なので、状態Ｊ１に続いて動作受け付け部ポート１４の動作要求が優先される。
【００４１】
次に、状態Ｊ３の場合には、優先順位参照ポインタＰが指している値は、’１’であるので動作受け付け部ポート１５の動作要求が優先されることになる。このように優先順位判定部１７は、優先順位参照ポインタＰが指している値に従って、どちらのポートからの動作要求を受け付けるかを決定する。
【００４２】
優先順位判定レジスタ１７ａは、前述しように、ソフトウェアによって可変することができるので、’０’と’１’の割合を変えることにより、それぞれのポートへのメモリアクセスを任意に配分することができる。
【００４３】
次に、たとえば、図４に示すように、一方のバスマスタであるＣＰＵ２に、半導体メモリＭ１，Ｍ２，Ｍ３を割り当てて、他方のバスマスタであるＣＰＵ３に半導体メモリＭ４を割り当てる場合について説明する。
【００４４】
この場合、メモリコントローラ１２に接続されている半導体メモリＭ４が動作受け付け部ポート１４経由のＣＰＵ３専用のメモリとして扱われることになるが、半導体メモリＭ３は、動作受け付け部ポート１５経由でＣＰＵ２、画像ＩＰ群、およびＤＳＰ１３によって共有される。
【００４５】
動作受け付け部ポート１４では、ＣＰＵ３のみを受け付け、動作受け付け部ポート１５では、ＣＰＵ２、画像ＩＰ群、およびＤＳＰ１３によるアクセスを受け付けるので、優先順位判定レジスタ１７ａにおいて’０’を設定した場合、優先順位判定部１７により優先処理される。
【００４６】
また、ＣＰＵ２、画像ＩＰ群、およびＤＳＰ１３のアクセスは、優先順位判定レジスタ１７ａで’１’を設定した際に優先順位判定部１７で優先処理されることになる。
【００４７】
次に、たとえば、優先順位判定レジスタ１７ａのビットパターン、および優先順位参照ポインタＰが図５に示す状態になる場合の優先順位判定部１７における動作例を説明する。
【００４８】
また、図５は、優先順位判定レジスタ１７ａのビットパターンと優先順位参照ポインタＰが図６の状態にある場合に、動作受け付け部ポート１５において、ＣＰＵ２、画像ＩＰ群、およびＤＳＰ１３の動作要求を５つのキューに受け付け、動作受け付け部ポート１５のキュー１で受け付けた動作要求を実行中に、ＣＰＵ３の動作要求を動作受け付け部ポート１４で受け付けた場合の優先順位判定部１７のタイミングチャートである。
【００４９】
動作受け付け部ポート１５のキュー１の実行中に、受け付けた動作受け付け部ポート１４のキュー１の動作要求は、１ポートであれば先に受け付けた５つの動作要求実行後に実行開始されることになるが、この場合２ポート用意しているので、即座に動作受け付け部ポート１５のキュー２の動作要求と優先順位の判定がされることになる。
【００５０】
ここでは、図６の優先順位参照ポインタＰが指し示しているビットが’０’であるため動作受け付け部ポート１４の優先順位が高くなっている。よって、優先順位判定部１７により動作受け付け部ポート１５のキュー２の実行の前に、動作受け付け部ポート１４のキュー１の動作要求が実行されるように制御される。
【００５１】
また、図７は、優先順位判定レジスタ１７ａのビットパターンと優先順位参照ポインタＰが図８の状態にある際に、動作受け付け部ポート１５で、ＣＰＵ２、画像ＩＰ群、およびＤＳＰ１３の動作要求を５つのキューに受け付けて動作受け付け部ポート１５のキュー１で受け付けた動作要求を実行中に、ＣＰＵ３の動作要求を動作受け付け部ポート１４で受け付けた場合のタイミングチャートである。
【００５２】
動作受け付け部ポート１５のキュー１の実行中に、受け付けた動作受け付け部ポート１４のキュー１の動作要求は、１ポートであれば先に受け付けた５つの動作要求実行後に実行開始されるが、２ポート用意しているので即座に動作受け付け部ポート１５のキュー２の動作要求と優先順位判定が行われることになる。
【００５３】
ここでは、図８の優先順位参照ポインタＰが指し示しているビットが、’１’であるため、動作受け付け部ポート１５の優先順位が高くなっており、優先順位判定部１７の判定結果に従って動作受け付け部ポート１５のキュー２の実行が先に行われる。
【００５４】
次の優先順位判定時には、優先順位参照ポインタＰが指し示しているビットが’０’であるため、動作受け付け部ポート１４の優先順位が高くなる。それにより、動作受け付け部ポート１５のキュー３の実行前に動作受け付け部ポート１４のキュー１の動作要求が実行されることになる。
【００５５】
それにより、本実施の形態１によれば、バスマスタとなるＣＰＵ２，３に対する半導体メモリＭ１〜Ｍ４の使用頻度、およびレイテンシ制御を可能とすることができる。
【００５６】
（実施の形態２）
図９は、本発明の実施の形態２による半導体集積回路装置のブロック図である。
【００５７】
本実施の形態２において、半導体集積回路装置１ａは、図９に示すように、コストを優先し、メモリコントローラ１１に１つの半導体メモリＭ１を接続し、メモリコントローラ１２には、半導体メモリを接続しない点が前記実施の形態１と異なる構成であり、その他に関しては、半導体集積回路装置１と同様の構成となっている。なお、図９では、画像ＩＰ群、およびＤＳＰ１３を省略している。
【００５８】
この場合、半導体メモリＭ１の前半のメモリ領域をＣＰＵ２に割り当て、該半導体メモリＭ１の後半のメモリ領域をＣＰＵ３に割り当てることにより、メモリコントローラ１１は、ＣＰＵ２とＣＰＵ３とに共有されることになる。
【００５９】
そして、メモリコントローラ１１の優先順位判定レジスタ１７ａを設定することにより、ＣＰＵ２に所望の頻度でバスＢ１を使用させることが可能となる。
【００６０】
ここで、本実施の形態２による優先順位判定部１７における動作受け付け部ポート１４，１５の優先設定例について説明する。
【００６１】
ブート直後は、優先順位判定レジスタ１７ａのビット’０’の設定を優先判定に使用し、リクエストを受け付けると、ビット’１’を優先判定に使用する。以降、リクエストを受け付けるごとに参照ビットを１ビットずつシフトし、ビット１５の判定後は、再びビット’０’に戻る。
【００６２】
なお、動作受け付け部ポート１４、または動作受け付け部ポート１５のどちらのリクエストであっても、カウントアップは行われ、次のリクエストで参照されるビットは変化する。
【００６３】
また、優先順位判定レジスタ１７ａの各ビットの優先設定は、ビットが’０’の際に動作受け付け部ポート１４，１５から同時にリクエストを受け付けた場合、ポート１を優先し、ビットが’１’の際に動作受け付け部ポート１４，１５から同時にリクエストを受け付けた場合には、動作受け付け部ポート１５を優先する。
【００６４】
それにより、本実施の形態２においても、ＣＰＵ２，３に対する半導体メモリＭ１の使用頻度、およびレイテンシ制御を可能にすることができる。
【００６５】
（実施の形態３）
図１０は、本発明の実施の形態３による半導体集積回路装置のブロック図である。
【００６６】
本実施の形態３において、半導体集積回路装置１ｂは、図１０に示すように、前記実施の形態１の半導体集積回路装置１に、ＣＰＵ１９、バスブリッジ２０、メモリコントローラ２１、および半導体メモリＭ５，Ｍ６が新たに追加された構成となっており、３つのバスマスタ（ＣＰＵ２，３，１９）と３つのメモリコントローラ１１，１２，２１とがバスＢ１に接続されている。なお、図１０においても、画像ＩＰ群、およびＤＳＰ１３を省略している。
【００６７】
ＣＰＵ２，３，１９に接続されるバスブリッジ４，５，２０はバスＢ１へのポートか、メモリコントローラ１１，１２，２１の直接アクセス可能なポートにアドレスに従って動作要求を振り分けることができる。
【００６８】
次に、本実施の形態３による動作受け付け部ポート１４と動作受け付け部ポート１５との優先設定について説明する。
【００６９】
ブート直後は、優先順位判定レジスタ１７ａのビット’０’の設定を優先判定に使用し、リクエストを受け付けると、ビット’１’を優先判定に使用する。以降リクエストを受け付けるごとに参照ビットを１ビットずつシフトする。ビット１５の判定後は、再びビット’０’に戻る。
【００７０】
なお、動作受け付け部ポート１４，１５のどちらのリクエストでも、カウントアップは行われ、次のリクエストで参照されるビットは変化する。各ビットの優先設定は、ビットが’０’の際に動作受け付け部ポート１４，１５から同時にリクエストを受け付けた場合には、動作受け付け部ポート１４を優先する。
【００７１】
また、ビットが’１’の際に動作受け付け部ポート１４，１５から同時にリクエストを受け付けた場合には、動作受け付け部ポート１５を優先する。
【００７２】
たとえば、半導体メモリＭ１〜Ｍ３をバスマスタであるＣＰＵ２に割り当て、半導体メモリＭ４，Ｍ５をバスマスタであるＣＰＵ３に割り当て、残りの半導体メモリＭ６をバスマスタであるＣＰＵ１９に割り当てた場合、メモリメモリコントローラ１２は、ＣＰＵ２，３にそれぞれ共有され、メモリコントローラ２１は、ＣＰＵ３とＣＰＵ１９とに共有されることになる。
【００７３】
この場合、メモリコントローラ１２，２１に備えられた優先順位判定レジスタ１７ａをそれぞれ設定することにより、メモリコントローラ１２においてＣＰＵ２に所望の頻度でバスＢ１を使用させることが可能となる。また、メモリコントローラ２１おいても、同様に、ＣＰＵ３に所望の頻度でバスＢ１を使用させることが可能となる。
【００７４】
それにより、本実施の形態３でも、バスマスタとなるＣＰＵ２，３，１９に対する半導体メモリＭ１〜Ｍ６の使用頻度、およびレイテンシ制御を可能とすることができる。
【００７５】
（実施の形態４）
図１１は、本発明の実施の形態４による半導体集積回路装置のブロック図である。
【００７６】
本実施の形態４において、半導体集積回路装置１ｃは、図１１に示すように、前記実施の形態３の半導体集積回路装置１ｂに、半導体メモリＭ７〜Ｍ９、およびバスＢ２が新たに追加された構成となっている。
【００７７】
メモリコントローラ１１には、半導体メモリＭ１〜Ｍ３が接続されており、メモリコントローラ１２には、半導体メモリＭ４〜Ｍ６が接続されており、メモリコントローラ２１には、半導体メモリＭ７〜Ｍ９が接続されている。
【００７８】
メモリコントローラ１１，１２，２１には、動作受け付け部ポート１４，１５に、バスＢ２を介して入力されたキューを格納する動作受け付け部ポート２２が新たに追加されている。なお、図１１でも、画像ＩＰ群、およびＤＳＰ１３を省略している。
【００７９】
また、バスブリッジ４，５，２０は、動作受け付け部ポート１４，１５，２２のいずれかにアドレスに従って動作要求を振り分けることができる。
【００８０】
次に、本実施の形態４による動作受け付け部ポート１４，１５，２２における優先設定について説明する。
【００８１】
ブート直後は、優先順位判定レジスタ１７ａのビット［１：０］の設定を優先判定に使用し、リクエストを受け付けると、次の２ビット［３：２］を優先判定に使用する。以降リクエストを受け付けるごとに参照ビットを２ビットずつシフトし、ビット［１５：１４］での判定後は、再びビット［１：０］に戻る。
【００８２】
なお、動作受け付け部ポート１４、動作受け付け部ポート１５、あるいは動作受け付け部ポート２２のいずれのリクエストでも、参照ビットのシフトは行われ、次のリクエストで参照されるビットは変化する。
【００８３】
また、各々の２ビットの優先設定は、ビットが’０’の際に動作受け付け部ポート１４，１５，２２から同時にリクエストを受け付けた場合、動作受け付け部ポート１４を優先し、ビットが’１’の際に動作受け付け部ポート１４，１５，２２から同時にリクエストを受け付けた場合には、動作受け付け部ポート１５を優先する。
【００８４】
ビットが’２’の際に動作受け付け部ポート１４，１５，２２から同時にリクエストを受け付けた場合には、動作受け付け部ポート２２を優先するものとする。
【００８５】
また、初期優先順位は０＜１＜２となっており、優先割り当てでない２リクエストが競合した場合はこの固定優先順位に従う。たとえば、優先順位ビットが’２’に設定された時に動作受け付け部ポート１４，１５のリクエストがある場合は、動作受け付け部ポート１４のリクエストが受け付けられる。
【００８６】
本実施の形態４の構成において、たとえば、半導体メモリＭ１，Ｍ４，Ｍ７をＣＰＵ２に割り当て、半導体メモリＭ２，Ｍ５，Ｍ８をＣＰＵ３に割り当て、半導体メモリＭ３，Ｍ６，Ｍ９をＣＰＵ１９に割り当てた場合、各々のメモリメモリコントローラ１１，１２，２１は、ＣＰＵ２，３，１９に共有されることになる。
【００８７】
この場合、各メモリコントローラ１１，１２，２１の優先順位レジスタを設定することにより、バスマスタとなるＣＰＵ２，３，１９に所望の頻度でバス使用させることが可能となる。
【００８８】
それにより、本実施の形態４においても、ＣＰＵ２，３，１９の各バスマスタに対する半導体メモリＭ１〜Ｍ９の使用頻度、およびレイテンシ制御を可能にすることができる。
【００８９】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００９０】
本発明は、複数のバスマスタが設けられた半導体集積回路装置によって、外部接続された半導体メモリの使用頻度、およびレイテンシを制御する技術に適している。
【図面の簡単な説明】
【００９１】
【図１】本発明の実施の形態１による半導体集積回路装置のブロック図である。
【図２】図１の半導体集積回路装置に設けられたメモリコントローラの動作例を示す説明図である。
【図３】図２のメモリコントローラに設けられた優先順位判定レジスタの状態説明図である。
【図４】図１の半導体集積回路装置に設けられたＣＰＵと半導体メモリとの割り当て例を示す説明図である。
【図５】図２のメモリコントローラの一例を示すタイミングチャートである。
【図６】図５における優先順位判定レジスタの状態を示す説明図である。
【図７】図２のメモリコントローラの他の例を示すタイミングチャートである。
【図８】図７における優先順位判定レジスタの状態を示す説明図である。
【図９】本発明の実施の形態２による半導体集積回路装置のブロック図である。
【図１０】本発明の実施の形態３による半導体集積回路装置のブロック図である。
【図１１】本発明の実施の形態４による半導体集積回路装置のブロック図である。
【符号の説明】
【００９２】
１  半導体集積回路装置
１ａ  半導体集積回路装置
１ｂ  半導体集積回路装置
１ｃ  半導体集積回路装置
２，３  ＣＰＵ
４〜６  バスブリッジ
７  ＬＣＤコントローラ
８  ３Ｄアクセラレータ
９  ＭＰＥＧアクセラレータ
１０  カメラインタフェース
１１，１２  メモリコントローラ
１３  ＤＳＰ
１４  動作受け付け部ポート
１５  動作受け付け部ポート
１６  セレクタ
１７  優先順位判定部
１７ａ  優先順位判定レジスタ
１８  メモリ制御ステートマシン
１９  ＣＰＵ
２０  バスブリッジ
２１  メモリコントローラ
２２  動作受け付け部ポート
Ｍ１〜Ｍ９  半導体メモリ
Ｂ１，Ｂ２  バス
Ｐ  優先順位参照ポインタ
【図１】
2008117109.tif 000003
【図２】
2008117109.tif 000004
【図３】
2008117109.tif 000005
【図４】
2008117109.tif 000006
【図５】
2008117109.tif 000007
【図６】
2008117109.tif 000008
【図７】
2008117109.tif 000009
【図８】
2008117109.tif 000010
【図９】
2008117109.tif 000011
【図１０】
2008117109.tif 000012
【図１１】
2008117109.tif 000013