(57)【要約】【課題】単一の機能ブロックからの複数のメモリアクセスの要求を調停して、メモリアクセスの高効率化を実現すること。【解決手段】データ通信手段を有する機能ブロックと、機能ブロックをメモリに接続するメモリバスを有するデータ処理装置は、メモリに対する機能ブロックからの複数のアクセス要求の調停を、メモリのアクセス方式に従って制御するメモリコントローラを備え、機能ブロックは、データ通信手段を用いて、アクセス方式に基づいたデータ構成に従って、複数のアクセス要求に係るデータの通信を行う。【選択図】図２
2015014872.tif 000002
【特許請求の範囲】
【請求項１】
データ通信手段を有する機能ブロックと、前記機能ブロックをメモリに接続するメモリバスを有するデータ処理装置において、
前記メモリに対する前記機能ブロックからの複数のアクセス要求の調停を、前記メモリのアクセス方式に従って制御するメモリコントローラを備え、
前記機能ブロックは、前記データ通信手段を用いて、前記アクセス方式に基づいたデータ構成に従って、前記複数のアクセス要求に係るデータの通信を行うことを特徴とするデータ処理装置。
【請求項２】
前記メモリコントローラは、前記機能ブロックからの所定数のアクセス要求を保持する保持手段を有し、前記保持手段に保持された複数のアクセス要求のアクセス許可を前記機能ブロックに付与する順序を、前記アクセス方式に従って決定することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記アクセス方式はバンクインタリーブアクセス方式であり、前記メモリコントローラは、前記バンクインタリーブアクセス方式で決定される前記メモリのアクセス位置に従って、前記アクセス許可を付与する順序を決定し、前記データ通信手段は、前記アクセス許可の順序に従って、前記データの通信を行うことを特徴とする請求項２に記載のデータ処理装置。
【請求項４】
前記機能ブロックは、前記複数のアクセス要求に係るメモリのアドレス情報を取得するアドレス取得手段を有し、前記通信手段は、前記データに前記アドレス情報を付加することを特徴とする請求項１乃至３のいずれか一項に記載のデータ処理装置。
【請求項５】
前記データ通信手段は、前記データと前記アドレス情報を、異なる信号線を用いて通信することを特徴とする請求項４に記載のデータ処理装置。
【請求項６】
前記メモリコントローラは、前記メモリバスのバス帯域を監視するバス帯域監視手段を備え、前記メモリバスのバス帯域に従って、前記メモリへのアクセス方式を切り替え、前記データ通信手段は、切り替えられたアクセス方式の情報を前記データに付加することを特徴とする請求項１乃至５のいずれか一項に記載のデータ処理装置。
【請求項７】
前記メモリコントローラは、前記メモリバスのバス帯域が第１の閾値未満の場合は、前記アクセス方式をラスタスキャンアクセス方式に切り替えることを特徴とする請求項６に記載のデータ処理装置。
【請求項８】
前記メモリコントローラは、前記メモリのバッファ領域の占有率を監視する占有率監視手段を有し、前記メモリのバッファ領域の占有率に応じて、前記メモリへのアクセス方式を切り替え、前記データ通信手段は、切り替えられたアクセス方式の情報を前記データに付加することを特徴とする請求項６又は７に記載のデータ処理装置。
【請求項９】
前記メモリコントローラは、前記メモリのバッファ領域の占有率が第２の閾値以上の場合に、前記アクセス方式をラスタスキャンアクセス方式に切り替えることを特徴とする請求項８に記載のデータ処理装置。
【請求項１０】
前記データ通信手段は、前記アクセス方式の切り替えに従って、前記データに付加するアドレス情報を決定することを特徴とする請求項６乃至９のいずれか一項に記載のデータ処理装置。
【請求項１１】
前記メモリは、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であることを特徴とする請求項１乃至１０のいずれか一項に記載のデータ処理装置。
【請求項１２】
データ通信手段を有する機能ブロックと、前記機能ブロックをメモリに接続するメモリバスを有するデータ処理装置の制御方法において、
前記メモリに対する前記機能ブロックからの複数のアクセス要求の調停を、前記メモリのアクセス方式に従って制御するメモリ制御ステップと、
前記データ通信手段が、前記アクセス方式に基づいたデータ構成に従って、前記複数のアクセス要求に係るデータの通信を行う通信ステップと
を備えることを特徴とする制御方法。
【請求項１３】
データ通信手段を有する機能ブロックと、前記機能ブロックをメモリに接続するメモリバスを有するデータ処理装置を制御するプログラムであり、
コンピュータを、
前記メモリに対する前記機能ブロックからの複数のアクセス要求の調停を、前記メモリのアクセス方式に従って制御する手段、
前記アクセス方式に基づいたデータ構成に従って、前記複数のアクセス要求に係るデータの通信を行う前記データ通信手段
として機能させるプログラム。
【請求項１４】
請求項１３のプログラムを記録したコンピュータが読み取り可能な記憶媒体。
【請求項１５】
コンピュータを、請求項１乃至１１のいずれか一項に記載されたデータ処理装置の各手段として機能させるプログラム。
【請求項１６】
コンピュータを、請求項１乃至１１のいずれか一項に記載されたデータ処理装置の各手段として機能させるプログラムを格納した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理装置に関し、特にメモリへのアクセスが可能な機能ブロックを有し、データ通信が可能なデータ処理装置およびデータ処理方法に関する。
【背景技術】
【０００２】
近年のデジタルカメラやデジタルビデオカメラなどのデジタル機器製品の急速な高機能化に伴い、製品の主要な要素であるデータ処理装置としてのシステムＬＳＩも高機能化されており、さらなる高機能化も求められている。
【０００３】
システムＬＳＩは、内部のシステムバスに対して、メモリ、ＣＰＵ、マスタ機能ブロック、スレーブ機能ブロックが接続される構成を有している。システムＬＳＩの高機能化に伴い、マスタ機能ブロックの増加、システムバスを介したメモリへのアクセスの高速化、高帯域化によって、各マスタ機能ブロック（以下、マスタと称す）からメモリに対するアクセスの調停制御の構築に関わる難易度が高くなっている。そのため、システムを破綻させることがないように、効率的にメモリアクセス制御を行うことが求められる。メモリアクセスの高効率化の手法としては、例えばバンクインタリーブアクセス方式が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平２−２４５８５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、特許文献１では、複数マスタからのメモリアクセス要求信号のアクセス調停を行っている。しかし、単一のマスタからの複数のメモリアクセス要求信号の調停については触れられておらず、単一マスタからの複数のメモリアクセスの調停によるメモリアクセスの高効率化を実現できないという問題がある。
【課題を解決するための手段】
【０００６】
上記問題を解決するために、本発明によれば、データ通信手段を有する機能ブロックと、機能ブロックをメモリに接続するメモリバスを有するデータ処理装置は、メモリに対する機能ブロックからの複数のアクセス要求の調停を、メモリのアクセス方式に従って制御するメモリコントローラを備え、機能ブロックは、データ通信手段を用いて、アクセス方式に基づいたデータ構成に従って、複数のアクセス要求に係るデータの通信を行う。
【発明の効果】
【０００７】
本発明によれば、各々異なるメモリにアクセス可能な機能ブロック間において、バス帯域の高いメモリに対して、バンクインタリーブアクセスを用いた高効率なメモリアクセスを実現することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】本発明の第１の実施例に係るデータ処理装置のブロック図
【図２】本発明の第１の実施例に係るデータ処理装置が有するメモリコントローラのブロック図
【図３】本発明の第１の実施例に係るデータ処理装置におけるアクセス要求の発行例を示す図
【図４】アクセスされるメモリの構成例を示す図
【図５】本発明の第１の実施例に係るデータ処置装置が有する機能ブロックのブロック図
【図６】本発明の第１の実施例に係るデータ処理装置の通信データの構成を示す図
【図７】本発明の第２の実施例に係るデータ処理装置のブロック図
【図８】本発明の第２の実施例に係るデータ処理装置が有するメモリコントローラのブロック図
【図９】本発明の第２の実施例に係るデータ処理装置が有する機能ブロックのブロック図
【図１０】本発明の第１の実施例に係るデータ処理装置が有するメモリコントローラのメモリアアクセス要求の調停動作のフローチャートを示す図
【図１１】本発明の第２の実施例に係るデータ処理装置が有するメモリコントローラのメモリアアクセス要求の調停動作のフローチャートを示す図
【発明を実施するための形態】
【０００９】
以下、本発明の好ましい実施の形態を、図面を用いて詳細に説明する。
【実施例１】
【００１０】
図１乃至図６および図１０を用いて、本発明の第１の実施例に係るデータ処置装置の構成を説明する。具体的には、データ処理装置としてのシステムＬＳＩを例とし、当該システムＬＳＩの間でデータ通信を行う場合に本発明を適用した実施例を説明する。
【００１１】
図１は、本実施例に係わるデータ処理装置としてのシステムＬＳＩが互いにデータ通信を行うときの、各システムＬＳＩの構成を示している。ここで、図１に示すシステムＬＳＩ１００は、システム全体の活性化率が高く、メモリバス１０３のバス帯域も高い。また、システムＬＳＩ１１０は活性化率が低く、メモリバス１１３のバス帯域も低いものとする。さらに、本実施例で説明するメモリとは、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であるとする。以下、システムＬＳＩ１００からシステムＬＳＩ１１０へデータ通信を行う際の動作を例に、本実施例に係るデータ処理装置の構成を説明する。
【００１２】
図１において、ＣＰＵ１０１は、ＣＰＵバス１０２を経由して、マスタ１０４〜１０７内のレジスタへのアクセスを可能とし、図示しないメモリに記憶されているプログラムをロードして実行することでシステムＬＳＩ１００全体の制御を行う。マスタ１０４、マスタ１０５、マスタ１０６は、メモリバス１０３に接続されるバスマスタ機能を有する機能ブロックであり、メモリバス１０３、メモリコントローラ１０８を経由して、メモリ１０９へアクセスする。マスタ１０７は、マスタ１０４〜１０６と同じく、メモリバス１０３に接続されるバスマスタ機能を有する機能ブロックであり、メモリバス１０３、メモリコントローラ１０８を経由して、メモリ１０９へアクセスする。さらに、マスタ１０７は、システムＬＳＩ１００の外部に対するデータ通信機能を有する機能ブロックである。マスタ１０７についての詳細は後述する。メモリコントローラ１０８は、メモリバス１０３を介したマスタ１０４〜１０７のメモリへのアクセス要求信号の調停や、システムＬＳＩ１００の外部に接続されるメモリ１０９へのアクセスの制御を行うコントローラである。メモリコントローラ１０８についての詳細は後述する。
【００１３】
次に、ＣＰＵ１１１は、ＣＰＵバス１１２を経由して、マスタ１１４、１１５内のレジスタへのアクセスを可能とし、図示しないメモリに記憶されているプログラムをロードして実行することでシステムＬＳＩ１１０全体の制御を行う。マスタ１１５は、メモリバス１１３に接続されるバスマスタ機能を有する機能ブロックであり、メモリバス１１３、メモリコントローラ１１６を経由して、メモリ１１７へアクセスする。マスタ１１４は、マスタ１１５と同じく、メモリバス１１３に接続されるバスマスタ機能を有する機能ブロックであり、メモリバス１１３、メモリコントローラ１１６を経由して、メモリ１１７へアクセスする。さらに、システムＬＳＩ１１０の外部に対するデータ通信機能を有する機能ブロックである。メモリコントローラ１１６は、メモリバス１１３を介したマスタ１１４、１１５のメモリへのアクセス要求信号の調停や、システムＬＳＩ１１０の外部に接続されるメモリ１１７へのアクセスの制御を行うコントローラである。
【００１４】
まず、図１、図２、図３、図４を用いてメモリコントローラ１０８について説明する。
【００１５】
図２は、メモリコントローラ１０８の詳細な構成を示すブロック図であり、図３は各マスタからのアクセス要求信号の発行状況を示す図であり、斜線で示す部分が各マスタからアクセス要求信号が発行されている期間を示す。また、図４は、図１に示すメモリ１０９の構成例を示す。メモリコントローラ１０８の要求信号保持部２０１は、特定のマスタからのアクセス要求を所定数だけ保持する機能を備えている。本実施例では、図３（ｂ）にマスタ１０７−１〜１０７−８として示すように、要求信号保持部２０１は、マスタ１０７からのアクセス要求信号を最大８個保持することが可能である。さらに、マスタ１０７は、図３（ｂ）のマスタ１０７−１〜１０７−８で示す最大８個の保持されているアクセス要求信号をＯＲした信号を、マスタ１０７のアクセス要求信号としてアクセス権調停部２０２へ出力する（図３（ｂ）のマスタ１０７（ＯＲ））。なお、本実施例では、アクセス要求信号を最大８個とするが、最大８個と限定する必要はない。
【００１６】
アクセス権調停部２０２は、メモリバス１０３を介して入力される各マスタ１０４〜１０７からのアクセス要求信号を調停して、選択したマスタへアクセス権を与える。各マスタからのアクセス要求信号が重複した場合は、あらかじめ決められた各マスタの優先度に応じて、アクセス権の調停を行う。ここでは、優先度が高い順にマスタ１０４、マスタ１０５、マスタ１０６、マスタ１０７の順にアクセス権の付与を決定する。なお、優先度はＣＰＵ１０１により設定可能とする。例えば、図３（ａ）に示すように、メモリ１０９へのアクセス権の調停を行うタイミングを示すジャッジポイント１では、マスタ１０４〜１０７の全てのマスタからのアクセス要求信号が重複している。このような場合は、アクセス要求信号を発行した順序に関係なく、優先度の最も高いマスタ１０４へメモリ１０９へのアクセス権を与えることで、マスタ１０４の制御によりメモリ１０９に対するデータ転送が処理される。
【００１７】
メモリ制御部２０３はメモリ１０９のコントローラであり、データの書き込み制御、読み出し制御等を行う機能を備えている。
【００１８】
次に、図３（ｂ）に示すように、優先度の最も低いマスタ１０７は、ジャッジポイント２や３でのように、他のマスタとアクセス要求信号が重複している場合は、メモリ１０９へのアクセス権を与えられない。他方、ジャッジポイント４におけるように、他のマスタとアクセス要求信号が重複していない場合にのみ、マスタ１０７はメモリ１０９へのアクセス権を与えられる。ここで、図３（ｂ）に示すメモリ１０９へのアクセス権の調停を行うタイミングを示すジャッジポイント４で、マスタ１０７に対してメモリ１０９へのアクセス権を与える場合について説明する。
【００１９】
図４に示すように、マスタ１０７が読み出すデータ群１乃至８が、メモリ１０９のバンク０〜２にまたがって配置されているとする。データ群１乃至８はそれぞれ、メモリ１０９の１回のバースト転送でアクセス可能なデータ群である。マスタ１０７から上記データ群１乃至８のデータ読み出しのアクセス要求信号を、データ群１乃至８の順にメモリバス１０３に発行する。すると、図２に示す要求信号保持部２０１にデータ群１乃至８の読み出しアクセス要求信号が保持される。ここで、図３（ｂ）のジャッジポイント４におけるように、マスタ１０７に対してメモリ１０９へのアクセス権が与えられる場合、アクセス権調停部２０２は、直前のアクセスに係るデータのメモリ内の位置（アクセス位置）に従って調停を行う。即ち、要求信号保持部２０１に保持された上記データ群１乃至８のアクセス要求信号のどれかに対してアクセス許可信号を発行するかを、アクセス権調停部２０２が次のように制御する。なお、この制御による調停を、以下、バンクインタリーブアクセス方式と称する。
【００２０】
図３（ｂ）のジャッジポイント４の直前のアクセス、つまりジャッジポイント３にてマスタ１０４がアクセスしたデータを、図４に斜線で示したデータ群４０１とする。直前にアクセスしたデータ４０１はバンク０のデータであり、かつデータ群１乃至３のデータとは異なるＲＯＷ(行)のデータである。このため、図３（ｂ）のジャッジポイント４では、図４のデータ群４のデータ読み出しのアクセス要求信号に対するアクセス許可信号を、アクセス権調停部２０２から出力する。このように、アクセス権調停部２０２は、メモリへのアクセス効率の向上のために、直前のアクセスと、同一バンクの異なるＲＯＷに対して、連続してアクセスしないように調停を制御する。
【００２１】
この調停制御は、次の理由に基づいている。前述したように、本実施例のデータ処理装置のメモリ１０９は、ＳＤＲＡＭである。ＳＤＲＡＭに対して直前のアクセスと同一バンクの異なるＲＯＷへアクセスする場合は、直前のアクセスが完全に完了するまで、次のアクセスに対するコマンドを発行することができず、アクセス効率が悪化してしまう。異なるバンクへのアクセスであれば、直前のアクセスによるデータ転送中に、次のアクセスのコマンドを発行することができ、コマンドのオーバーヘッドを削減することでアクセス効率を向上させることが可能となる。よって、データ群１乃至８の中で、同一バンクの異なるＲＯＷという条件に当てはまらない位置のデータ群４乃至８のうち、さらにアクセス要求信号の発行順が最も早いデータ群４をアクセス対象として決定し、データ群４に対するアクセス許可信号を出力する。アクセス権調停部２０２から出力されたデータ群４に対するアクセス許可信号は、メモリバス１０３を介して、マスタ１０７へ送られる。マスタ１０７は、アクセス許可信号を受けることにより、データ群４の読み出し処理を行うことになる。
【００２２】
ここで、上述したメモリコントローラ１０８によるアクセス要求の調停動作を図１０に示すフローチャートを用いて説明する。
【００２３】
まず、ステップＳ１００１でアクセス調停部２０２は、ジャッジポイントで示される調停タイミングに到達したかどうかを判定する。調停タイミングにある場合は、アクセス調停部２０２は、ステップＳ１００２で、マスタからのアクセス要求信号があるかどうかを判定する。ない場合は、ステップＳ１００１に戻る。ある場合は、ステップＳ１００３で、アクセス調停部２０２は、複数のマスタとの間でアクセス要求信号が重複しているかどうかを判定する。重複している場合は、ステップＳ１００４に進み、複数のマスタのうち、優先度の最も高いマスタを判定する(本実施例では、マスタ１０４)。ステップＳ１００４での判定が済んだら、ステップＳ１００５において、アクセス調停部２０２は、優先度の最も高いマスタにメモリ１０９へのアクセス権を与える。
【００２４】
ステップＳ１００３で、複数のマスタとの間でのアクセス要求信号の重複がないと判定した場合は、アクセス調停部２０２は、ステップＳ１００６で、アクセス要求信号を発行したマスタがバスマスタ１０７であるかどうかを判定する。アクセス要求信号を発行したマスタがバスマスタ１０７ない場合は、アクセス調停部２０２は、ステップＳ１００５でそのマスタにメモリ１０９へのアクセス許可を付与する。アクセス要求信号を発行したマスタがバスマスタ１０７である場合は、ステップＳ１００７で、アクセス調停部２０２は、要求信号保持部２０１にアクセス要求信号が複数あるかどうかを判定する。複数のアクセス要求信号がある場合は、ステップＳ１００８で、アクセス調停部２０２は、バンクインタリーブアクセス方式に従ったアクセス調停を行う。アクセス調停部２０２は、ステップＳ１１０８の結果に従って、ステップＳ１００５で、保持されているアクセス要求信号に対してアクセス権を与える。ステップＳ１００７で、要求信号保持部２０１に複数のアクセス要求信号がないと判定された場合は、アクセス調停部２０２は、ステップＳ１００５でそのアクセス要求信号にメモリ１０９へのアクセス権を与える。
【００２５】
次に、図１のマスタ１０７について、図５を用いて説明する。図５は、マスタ１０７の構成を示すブロック図である。
【００２６】
図５において、データ通信部５０１は、外部とのデータ通信を制御する機能を備える機能ブロックであり、ＤＭＡＣ５０２およびアドレス付加部５０３と接続している。ＤＭＡＣ５０２は、メモリバス１０３に接続されるマスタ機能を備えるＤＭＡコントローラであり、データ通信部５０１およびアドレス付加部５０３と接続している。アドレス付加部５０３は、ＤＭＡＣ５０２からアドレス情報を取得してデータ通信部５０１へ送るアドレス取得の機能を備え、データ通信部５０１は、データ群１乃至８の各データ群に、メモリ１０９内の各データ群の先頭アドレス情報を付加する。即ち、マスタ１０７は、ＤＭＡＣ５０２の制御により、メモリバス１０３を介してメモリ１０９から読み出したデータ群１乃至８の各データ群に対してアドレス情報を付加して、システムＬＳＩ１１０へデータ通信する。
【００２７】
本実施例では、前述したメモリコントローラ１０８のバンクインタリーブアクセス方式に従って調停制御により、マスタ１０７のデータ読み出し要求に対して、データ群が４→１→２→３→５→６→７→８の順に読み出される。この場合、図６で斜線部６０１〜６０８として示すように、各データ群の直前に、各データ群のメモリ１０９内のアドレス情報が、アドレス付加部５０３により与えられ、データ通信部５０１により付加される。アドレス情報が付加され、メモリのアクセス方式に基づいたデータ構成に従った図６のデータが、データ通信部５０１によりシステムＬＳＩ１１０へ送られる。これにより、メモリ１１７には、システムＬＳＩで受信されたデータ群が、アドレス情報に基づいて、データ群１乃至８の順で書き込まれる。
【００２８】
システムＬＳＩ１００から出力されるデータを受信するシステムＬＳＩ１１０では、機能ブロック１１４が、受信した各データの直前に送られる(付加された)アドレス情報に従って、メモリ１１７の所定のアドレスに各データを順次書き込む。結果として、メモリ１０９に配置されたデータ群１乃至８がメモリ１１７へ書き込まれる。しかも、メモリ１０９の配置順序と同じ順序でメモリ１１７へデータ群１乃至８が書き込まれることになる。
【００２９】
なお、本実施例では、アドレス情報とデータを同一信号線で時系列に通信する構成を説明したが、これに限らず、アドレス情報をデータとは別の信号線を用いて通信することで、アドレス情報とデータを並列に通信することも可能である。また、本実施例では、システムＬＳＩ１００からシステムＬＳＩ１１０へのデータ通信について説明したが、逆方向のデータ通信、つまりシステムＬＳＩ１１０からシステムＬＳＩ１００への通信についても同様に可能である。この場合、システムＬＳＩ１１０から送られたデータ群をシステムＬＳＩ１００が受信し、メモリ１０９への直前のアクセスに対して、同一バンクの異なるＲＯＷへのアクセスとならないように、メモリ１０９への書き込み順序を制御する。これにより、受信データ群をメモリ１０９への書き込む際に、メモリ１０９に対する高効率なアクセスを実現することが可能になる。
【００３０】
以上、本実施例では、異なるシステムＬＳＩ間のデータ通信を例にしてデータ処理装置の構成を説明したが、本発明は同一システムＬＳＩ内の異なる機能ブロック間のデータ通信にも適用可能である。
【００３１】
上述した本実施例によれば、各々異なるメモリにアクセス可能な機能ブロック間において、バス帯域の高いメモリに対して、バンクインタリーブアクセス方式を用いた高効率なメモリアクセスを実現することが可能となる。
【実施例２】
【００３２】
第１の実施例では、同一のマスタから発行された複数のアクセス要求信号の調停をバンクインタリーブアクセス方式に従って行ったが、第２の実施例では、バス帯域とメモリのバッファ占有率に従ってアクセス方式を切り替える構成とする。以下、図７乃至９を用いて本実施例を説明する。なお、本実施例においても、第１の実施例と同様に、２つのシステムＬＳＩ間での通信を例に、本実施例に係るデータ処理装置の構成を説明する。
【００３３】
図７は、本実施例に係るデータ処理装置の全体ブロック図である。同図において、図１と同じ部分は同じ符号を付して示し、ここでの説明は省略する。なお、第１の実施例と同様に図７においても、システムＬＳＩ７００は、システム全体の活性化率が高く、メモリバス１０３のバス帯域も高い。また、システムＬＳＩ７１０は活性化率が低く、メモリバス１１３のバス帯域も低いものとする。さらに、本実施例のメモリ７０９、７１７も、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
【００３４】
図７のメモリコントローラ７０８について、図４、図７、図８および図１１を用いて説明する。
【００３５】
図８は、メモリコントローラ７０８の構成を示すブロック図である。同図において、要求信号保持部８０１は、特定のマスタからのアクセス要求を保持する機能を備えており、本実施例では、マスタ７０７の要求信号を保持する。バス帯域監視部８０３は、各マスタからのアクセス要求信号よりメモリバス１０３のバス帯域を監視する。さらにバス帯域情報をアクセス権調停部８０２へ送る。バッファ占有率監視部８０４は、メモリ７０９内のバッファ領域７１８のデータ占有率を、メモリ制御部８０５のアクセス履歴から算出する。さらにバッファ領域７１８の占有率を示す情報をアクセス権調停部８０２へ送る。ここで、マスタ７０７は、所定量のデータがバッファ領域７１８に蓄積されたところで、バッファ領域７１８からデータを読み出し、外部へ出力する機能を備える。アクセス権調停部８０２は、メモリバス１０３を介して各マスタ１０４〜１０６、７０７からのアクセス要求信号を調停して、各マスタにアクセス権を与える。
【００３６】
以下、アクセス権調停部８０２が、マスタ７０７にメモリ７０９へのアクセス権を与える場合の動作について説明する。なお、本実施例においても、メモリ７０９のデータ群の構成は、第１の実施例と同様に、図４に示す構成とする。即ち、マスタ７０７からメモリ７０９へのアクセスの直前のアクセスとして、マスタ７０４がアクセスしたデータを、斜線で示したバンク０のデータ群４０１とする。また、マスタ７０７から読み出すデータ群は、メモリ７０９のバンク０〜２にまたがって配置されているデータ群１乃至８であり、それぞれメモリ７０９の１回のバースト転送でアクセス可能なデータ群である。
【００３７】
マスタ７０７は、データ群１乃至８のデータ読み出しのアクセス要求信号を、データ群１乃至８の順にメモリバス１０３に発行する。すると、要求信号保持部８０１が、データ群１乃至８の読み出しアクセス要求信号を保持する。ここで、マスタ７０７に対してメモリ７０９へのアクセス権を与える場合、本実施例ではその直前にアクセスされたデータの配置位置に基づくアクセス権調停部８０２による調停動作を、バス帯域とメモリのバッファ占有率に従って制御する。
【００３８】
以下、本調停動作の制御を説明する。
【００３９】
本実施例では、メモリコントローラ７０８は、バス帯域監視部８０３を備えており、図７に示す各マスタ１０４〜１０６、７０７からのアクセス要求信号より、メモリバス１０３のバス帯域を監視する。バス帯域監視部８０３にて、メモリバス１０３のバス帯域が第１の閾値以上と判定された場合は、メモリ１０９へのアクセス効率の向上のために、第１の実施例と同様にバンクインタリーブアクセス方式に従って、データ群４の読み出しを行う。他方、メモリバス１０３のバス帯域が第１の閾値未満と判定された場合には、データ群４の読み出しではなく、マスタ７０７からのアクセス要求信号の発行順に従ってデータ群１の読み出し動作を行う。以下、この調停動作をラスタスキャンアクセス方式と称す。
【００４０】
さらに、本実施例のメモリコントローラ７０８は、バッファ占有率監視部８０４を備え、メモリ１０９内のバッファ領域のデータ占有率を、メモリ制御部２０３のアクセス履歴から算出する。ここで、メモリコントローラ７０８により、バッファ占有率が第２の閾値未満と判定された場合は、バンクインタリーブアクセス方式に従ってデータ群４の読み出しを行う。しかし、バッファ占有率が第２の閾値以上の場合は、データ群４の読み出しではなく、マスタ７０７からのアクセス要求信号の発行順に従ってデータ群１の読み出し動作を行う。
【００４１】
よって、本実施例では、バス帯域監視部８０３によりメモリバス１０３のバス帯域が閾値以上であると判定され、かつ、バッファ占有率監視部８０４よりバッファ占有率が閾値未満と判定された場合は、データ群４の読み出しを行う。即ち、バンクインタリーブアクセス方式に従って調停を行う。また、メモリバス１０３のバス帯域が閾値未満、または、バッファ占有率が閾値以上の場合には、データ群１の読み出しを行う。即ち、ラスタスキャンアクセス方式に従って調停を行う。メモリコントローラ７０８は、前述したように、バス帯域監視部８０３およびバッファ占有率監視部８０４の判定に従って、メモリ７０９へのアクセス方法を適応的に切り替える制御を行う。
【００４２】
ここで、上述したメモリコントローラ２０８によるアクセス要求の調停動作を図１１に示すフローチャートを用いて説明する。同図において、図１０と同じ部分は、同じ符号を付して示し、その説明を省略する。図１１のフローチャートに従う調停動作で、図１０のフローチャートに従った調停動作と異なるのはステップＳ１００７後の処理である。以下、相違部分について説明する。
【００４３】
ステップＳ１００７で、要求信号保持部２０１にマスタ７０７からのアクセス要求信号が複数あると判定された場合は、ステップＳ１１０１で、バス帯域監視部８０３は、メモリバス１０３のバス帯域が閾値以上であるかどうかを判定する。バス帯域監視部８０３が、メモリバス１０３のバス帯域が閾値以上であると判定した場合は、ステップＳ１１０２に進み、バッファ占有率監視部８０４によりバッファ占有率が閾値未満かどうかを判定する。バッファ占有率監視部８０４がバッファ占有率が閾値未満である判定した場合は、アクセス権調停部８０２は、バンクインタリーブアクセス方式に従って調停を行う。他方、ステップＳ１１０１で、バス帯域監視部８０３が、メモリバス１０３のバス帯域が閾値未満であると判定した場合、ステップＳ１１０３で、アクセス権調停部８０２はラスタスキャンアクセス方式に従った調停を行う。また、ステップＳ１１０２で、バッファ占有率監視部８０４が、バッファ占有率が閾値以上であると判定した場合も、ステップＳ１１０３で、アクセス権調停部８０２はラスタスキャンアクセス方式に従った調停を行う。
【００４４】
次に、本実施例に係るマスタ７０７について説明する。
【００４５】
図９は、マスタ７０７の構成を示すブロック図である。図において、図５と同じ部分は同じ符号を付して示す。
【００４６】
図において、データ通信ブロック９０１は、外部とのデータ通信を制御する機能を備える機能ブロックである。ＤＭＡＣ５０２およびアドレス付加部９０３と接続される。ＤＭＡＣ５０２は、メモリバス１０３に接続されるマスタ機能を備えるＤＭＡコントローラであり、データ通信ブロック９０１およびアドレス付加部９０３に接続される。アドレス付加部９０３は、ＤＭＡＣ９０２より得るアドレス情報をデータ通信ブロック９０１へ送る機能を備える機能ブロックである。
【００４７】
本実施例のマスタ７０７は、ＤＭＡＣ５０２より得られるアドレス情報に基づいて、メモリコントローラ７０８が、前述するバンクインタリーブアクセスとラスタスキャンアクセスのどちらを選択しているかを判定する機能を備える。バンクインタリーブアクセスが選択されている場合には、先頭にバンクインタリーブアクセスを示す情報を付加し、さらに外部出力する各データ群の直前に、各々対応するメモリ７０９のアドレス情報を付加して通信する。また、ラスタスキャンアクセスが選択されている場合には、先頭にラスタスキャンアクセスを示す情報を付加し、その後、先頭のデータ群の直前にのみアドレス情報を付加する。他のデータ群の直前には前述したアドレス情報を付加せず、各データ群のみを通信する。先頭のデータ群を除いた各データ群に対して、アドレス情報を付加しないことによりデータ通信の効率を上げることができる。このように、本実施例のマスタ７０７は、メモリコントローラ７０８で選択されたメモリ７０９へのアクセス方式によって、外部出力データへのアドレス情報を付加する方法を適応的に切り替える機能を備える。
【００４８】
以上、本発明の実施例を、異なるシステムＬＳＩ間のデータ通信を例にして説明したが、同一システムＬＳＩ内の異なる機能ブロック間のデータ通信にも適用可能である。
【００４９】
上述した実施形態において図１０および１１示した各処理は、各処理の機能を実現する為のプログラムをメモリから読み出してＣＰＵ１０１が実行することによりその機能を実現させるものである。
【００５０】
尚、上述した構成に限定されるものではなく、図１０および１１に示した各処理の全部または一部の機能を、専用のハードウェアにより実現してもよい。また、上述したメモリは、光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、ＣＤ−ＲＯＭ等の読み出しのみが可能な記憶媒体、ＲＡＭ以外の揮発性のメモリであってもよい。また、それらの組合せによるコンピュータ読み取り、書き込み可能な記憶媒体より構成されてもよい。
【００５１】
また、図１０および１１に示した各処理の機能を実現する為のプログラムをコンピュータ読み取り可能な記憶媒体に記録して、この記憶媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各処理を行っても良い。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。具体的には、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含む。
【００５２】
また、「コンピュータ読み取り可能な記憶媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記憶媒体」とは、一定時間プログラムを保持しているものも含むものとする。例えば、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発メモリ（ＲＡＭ）も含む。
【００５３】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
【００５４】
また、上記プログラムは、前述した機能の一部を実現する為のものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００５５】
また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体およびプログラムプロダクトは、本発明の範疇に含まれる。
【００５６】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図１】
2015014872.tif 000003
【図２】
2015014872.tif 000004
【図３】
2015014872.tif 000005
【図４】
2015014872.tif 000006
【図５】
2015014872.tif 000007
【図６】
2015014872.tif 000008
【図７】
2015014872.tif 000009
【図８】
2015014872.tif 000010
【図９】
2015014872.tif 000011
【図１０】
2015014872.tif 000012
【図１１】
2015014872.tif 000013