(57)【要約】【課題】  複数の処理からのメモリーへのアクセスを効率よく行う。【解決手段】  コントローラー６は、メモリー２に対する連続的な一連のアクセスをコンテクストとしたとき、コントローラー６は、バス３のバス使用権の付与を許可されるマスター１−ｉの合計コンテクスト数がメモリー２の構成に基づく所定の数以下となるように、複数のマスター１−１〜１−４のうち、バス使用権の付与を許可されるマスター１−ｉを制限する。【選択図】  図１
2015225458.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理を実行する複数のマスターと、
前記複数のマスターに共用されるメモリーと、
バスと、
前記複数のマスターから前記バスを介して供給されるコマンドに従って前記メモリーに対するアクセスを実行するメモリーコントローラーと、
前記バスのバス使用権を与える調停器と、
前記メモリーに対する連続的な一連のアクセスをコンテクストとし、前記バス使用権の付与を許可されるマスターの合計コンテクスト数が前記メモリーの構成に基づく所定の数以下となるように、前記複数のマスターのうち、前記バス使用権の付与を許可されるマスターを制限するコントローラーと、
を備えることを特徴とする情報処理装置。
【請求項２】
前記コントローラーは、前記バス使用権の付与を許可されるマスターの使用帯域の合計が、前記メモリーの帯域を超えない条件下で最大となるように、前記バス使用権の付与を許可されるマスターを選択することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記コントローラーは、前記バス使用権の付与を許可されるマスターの合計コンテクスト数が前記メモリーの構成に基づき特定される許容コンテクスト数以下となるように、前記バス使用権の付与を許可されるマスターを選択することを特徴とする請求項１または請求項２記載の情報処理装置。
【請求項４】
前記許容コンテクスト数は、前記メモリーのバンク数であることを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記許容コンテクスト数は、前記メモリーのバンク数とランク数との積であることを特徴とする請求項３記載の情報処理装置。
【請求項６】
前記複数のマスターは、それぞれ、自己の実行する前記処理のコンテクスト数を前記コントローラーに通知し、
前記コントローラーは、前記複数のマスターから通知された前記コンテクスト数の合計を計算し、前記コンテクスト数の合計が前記メモリーの構成に基づく所定の数以下となるように、前記バス使用権の付与を許可されるマスターを選択すること、
を特徴とする請求項１から請求項５のうちのいずれか１項記載の情報処理装置。
【請求項７】
前記コントローラーは、各集合内において前記バス使用権の付与を許可されるマスターの合計コンテクスト数が前記メモリーの構成に基づく所定の数以下となるように前記複数のマスターを複数の集合に振り分け、前記バス使用権の付与を許可されるマスターを、前記集合ごとにまとめて切り換えること、
を特徴とする請求項１記載の情報処理装置。
【請求項８】
前記バス使用権の付与を許可されるマスターにおけるメモリーアクセスを代行する複数のメモリーアクセス回路をさらに備え、
前記コントローラーは、前記複数のマスターのうち、前記バス使用権の付与を許可されるマスターを所定の固定数以下に制限し、
前記メモリーアクセス回路の数は、前記複数のマスターの数より少なく、かつ前記固定数と同一であり、
前記調停器は、前記複数のメモリーアクセス回路のいずれかに対して前記バスのバス使用権を与えること、
を特徴とする請求項１記載の情報処理装置。
【請求項９】
複数の処理を実行する複数のマスターからバスを介して供給されるコマンドに従ってメモリーコントローラーでメモリーに対するアクセスを実行する際に、前記複数のマスターのいずれかに対して前記バスのバス使用権を与える調停方法であって、
前記メモリーに対する連続的な一連のアクセスをコンテクストとし、前記バス使用権の付与を許可されるマスターの合計コンテクスト数が前記メモリーの構成に基づく所定の数以下となるように、前記複数のマスターのうち、前記バス使用権の付与を許可されるマスターを制限すること、
を特徴とする調停方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および調停方法に関するものである。
【背景技術】
【０００２】
近年、マイクロプロセッサーの大容量メインメモリーとして使用されるＤＲＡＭ（Dynamic Random Access Memory）のデータ転送は、ＳＤＲ（Single Data Rate）、ＤＤＲ（Double Data Rate）、ＤＤＲ２、ＤＤＲ３と進化し高速化されている。
【０００３】
また、コマンド発行に関するメモリーアクセスの効率化方法としては、コマンド順序入れ替え（リオーダー）、コマンドの完了を待たずに次のコマンドを発行する技術（アウトスタンディング）などがある（例えば特許文献１，２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２０４４８７号公報
【特許文献２】特表２００８−５４１２１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
図６は、複数のマスターがバスを介して単一のメモリーにアクセスする情報処理装置の構成例を示すブロック図である。図６に示す装置では、マスター１０１−１〜１０１−４が、バス１０２に接続されており、マスター１０１−１〜１０１−４のうち、調停器１０３によってバス使用権を与えられたものがバス１０２を介してメモリーコントローラー１０４にコマンドを送出してメモリー１０５へのアクセスを行う。図７は、図６における調停器１０３によるバス使用権の付与の一例を示す図である。図７に示すように、調停器１０３は、マスター１０１−１〜１０１−４から使用要求を受け付け、所定の調停方式に基づいて、使用要求を発行した１または複数のマスター１０１−ｉに対してバス使用権を順番に与えていく。そして、マスター１０１−１〜１０１−４は、バス使用権を与えられたときにメモリー１０５にアクセスしつつ処理を進行させていく。
【０００６】
メモリー１０５が複数のバンクを有している場合、ある処理があるバンク内の１または複数のページへのアクセスを連続的に行う場合には、ページ境界以外ではページのオープン・クローズ処理をせずに継続的にアクセスを行うことができる。このような連続的な一連のアクセスを以下、コンテクストという。
【０００７】
また、マスター１０１−１〜１０１−４による複数の処理がメモリー１０５へのアクセスを要求しても、同一バンク内のページへの複数のアクセスが発生しなければ、ページのオープン・クローズ処理をせずに継続的にメモリー１０５へのアクセスが行なわれる。
【０００８】
しかし、複数の処理からのメモリー１０５へのアクセスのコンテクスト数が多くなると、ページのオープン・クローズ処理が頻繁に発生するため、効率よくメモリーアクセスを行うことが困難になってしまう。
【０００９】
このような装置において、上述のリオーダー、アウトスタンディングなどでメモリーアクセスの効率を高くすることも考えられるが、リオーダーによってメモリーアクセスの効率を高くしようとすると、長期間のコマンド列の参照が必要になり、リードコマンド発行からデータ受領までのレイテンシーが増大してしまう。また、レイテンシーの増大に対抗してスループットを高くするために、アウトスタンディングを導入する場合、回路規模が大きくなってしまう。
【００１０】
本発明は、上記の問題に鑑みてなされたものであり、複数の処理からのメモリーへのアクセスを効率よく行う情報処理装置および調停方法を得ることを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係る情報処理装置は、複数の処理を実行する複数のマスターと、前記複数のマスターに共用されるメモリーと、バスと、前記複数のマスターから前記バスを介して供給されるコマンドに従って前記メモリーに対するアクセスを実行するメモリーコントローラーと、前記バスのバス使用権を与える調停器と、前記メモリーに対する連続的な一連のアクセスをコンテクストとし、前記バス使用権の付与を許可されるマスターの合計コンテクスト数が前記メモリーの構成に基づく所定の数以下となるように、前記複数のマスターのうち、前記バス使用権の付与を許可されるマスターを制限するコントローラーとを備える。
【００１２】
本発明に係る調停方法は、複数の処理を実行する複数のマスターからバスを介して供給されるコマンドに従ってメモリーコントローラーでメモリーに対するアクセスを実行する際に、前記複数のマスターのいずれかに対して前記バスのバス使用権を与え、さらに、前記メモリーに対する連続的な一連のアクセスをコンテクストとし、前記バス使用権の付与を許可されるマスターの合計コンテクスト数が前記メモリーの構成に基づく所定の数以下となるように、前記複数のマスターのうち、前記バス使用権の付与を許可されるマスターを制限する。
【発明の効果】
【００１３】
本発明によれば、複数の処理からのメモリーへのアクセスが効率よく行われる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の実施の形態１に係る情報処理装置の構成を示すブロック図である。
【図２】図２は、図１におけるマスター１−ｉ内の処理でのコンテクストについて説明する図である。
【図３】図３は、実施の形態１に係る情報処理装置における調停器５によるバス使用権の付与について説明する図である。
【図４】図４は、実施の形態２におけるマスターの集合の一例を示す図である。
【図５】図５は、本発明の実施の形態３に係る情報処理装置の構成を示すブロック図である。
【図６】図６は、複数のマスターがバスを介して単一のメモリーにアクセスする情報処理装置の構成例を示すブロック図である。
【図７】図７は、図６における調停器１０３によるバス使用権の付与の一例を示す図である。
【発明を実施するための形態】
【００１５】
以下、図に基づいて本発明の実施の形態を説明する。
【００１６】
実施の形態１．
【００１７】
図１は、本発明の実施の形態１に係る情報処理装置の構成を示すブロック図である。
【００１８】
図１に示す装置は、複数のマスター１−１〜１−４、メモリー２、バス３、メモリーコントローラー４、調停器５、コントローラー６、およびセレクター７を備える。
【００１９】
複数のマスター１−１〜１−４は、それぞれ、メモリー２に対してＤＭＡ（Direct Memory Access）回路１１でデータのリードおよび／またはライトを行いつつ複数の処理を実行する処理回路である。
【００２０】
メモリー２は、複数のマスター１−１〜１−４に共用されるメモリーであって、例えば、ＤＲＡＭである。
【００２１】
実施の形態１では、メモリー２は、複数のバンクを有し、各バンクにおいて複数のページを有する。
【００２２】
バス３は、メモリー２のメモリーバスである。
【００２３】
メモリーコントローラー４は、複数のマスター１−１〜１−４からバス３を介して供給されるコマンドに従ってメモリー２に対するアクセスを実行する。
【００２４】
調停器５は、バス３の使用要求に応じて、所定の調停方式でバス３のバス使用権を排他的に与える。
【００２５】
ここで、マスター１−ｉ内の処理でのコンテクストについて説明する。図２は、図１におけるマスター１−ｉ内の処理でのコンテクストについて説明する図である。例えば同一のページ内や連続するページに跨って、連続したあるいは近接したアドレスに対して連続的に行う一連のアクセスが１つのコンテクストとなる。
【００２６】
例えば図２に示すように、マスター１−１の処理において、バンク＃０のページ＃０からの連続的なリード、並びにバンク＃１のページ＃５およびバンク＃２のページ＃６への連続的なライトが実行される場合、その連続的なリードが１つのコンテクストとなり、その連続的なライトが１つのコンテクストとなり、マスター１−１の処理におけるコンテクスト数は、合計で２となる。例えば、マスター１−１の処理において、この連続的なリードと並行して別のページからの連続的なリードが別途実行される場合には、コンテクスト数は１だけ増加する。
【００２７】
コントローラー６は、バス使用権の付与を許可されるマスター１−ｉの合計コンテクスト数がメモリー２の構成に基づく所定の数以下となるように、複数のマスター１−１〜１−４のうち、バス使用権の付与を許可されるマスター１−ｉを制限する。
【００２８】
実施の形態１では、コントローラー６は、セレクター７を使用して、バス使用権の付与を許可されるマスター１−ｉのみをバス３に接続する。
【００２９】
また、実施の形態１では、コントローラー６は、バス使用権の付与を許可されるマスター１−ｉの使用帯域の合計が、メモリー２の帯域を超えない条件下で最大となるように、バス使用権の付与を許可されるマスター１−ｉを選択する。
【００３０】
さらに、実施の形態１では、コントローラー６は、バス使用権の付与を許可されるマスター１−ｉの合計コンテクスト数がメモリー２の構成に基づき特定される許容コンテクスト数以下となるように、バス使用権の付与を許可されるマスター１−ｉを選択する。
【００３１】
ここでは、許容コンテクスト数は、メモリー２のバンク数である。
【００３２】
なお、メモリー２が複数のランクを有する場合には、許容コンテクスト数は、メモリー２のバンク数とランク数との積とされる。
【００３３】
次に、実施の形態１に係る情報処理装置の動作について説明する。
【００３４】
図３は、実施の形態１に係る情報処理装置における調停器５によるバス使用権の付与について説明する図である。
【００３５】
コントローラー６は、マスター１−１〜１−４のそれぞれのコンテクスト数に基づいて、最初に、バス使用権の付与を許可されるマスターとして、２つのマスター１−１，１−４を選択し、調停器５に通知する。なお、実施の形態１では、コントローラー６は、マスター１−１〜１−４のそれぞれのコンテクスト数のデータを予め記憶している。
【００３６】
そして、マスター１−１の処理が開始され（時刻Ｔ１）、マスター１−４の処理が開始され（時刻Ｔ２）、マスター１−１，１−４からの使用要求を受け付けると、調停器５は、マスター１−１，１−４に対して適宜バス使用権を与える。
【００３７】
その後、マスター１−１の処理が終了すると（時刻Ｔ３）、コントローラー６は、マスター１−２，１−３，１−４のコンテクスト数に基づいて、バス使用権の付与を許可されるマスターとして、残りのマスター１−２，１−３のいずれかを追加可能か否かを判定する。ここでは、コントローラー４は、マスター１−２を追加可能と判定し、マスター１−２を追加的に選択し、調停器５に通知する。そして、調停器５は、マスター１−２，１−４に対して適宜バス使用権を与える。
【００３８】
なお、コントローラー６は、マスター１−１の処理の終了を、マスター１−１からの明示的な信号に基づいて検出してもよいし、マスター１−１からのメモリーアクセスが所定時間無い場合にマスター１−１の処理が終了したと判定してもよい。
【００３９】
また、この時点で、コントローラー６は、バス使用権の付与を許可されるマスターとして、残りのマスター１−２，１−３のいずれも追加可能ではないと判定した場合、少なくとも、マスター１−４の処理終了まで残りのマスター１−２，１−３のいずれも、バス使用権の付与を許可されるマスターとしない。
【００４０】
その後、マスター１−４の処理が終了すると（時刻Ｔ４）、コントローラー６は、マスター１−２，１−３のコンテクスト数に基づいて、バス使用権の付与を許可されるマスターとして、残りのマスター１−３を追加可能か否かを判定する。ここでは、コントローラー４は、マスター１−３を追加可能と判定し、マスター１−３を追加的に選択し、調停器５に通知する。そして、調停器５は、マスター１−２，１−３に対して適宜バス使用権を与える。
【００４１】
以上のように、上記実施の形態１によれば、コントローラー６は、メモリー２に対する連続的な一連のアクセスをコンテクストとしたとき、コントローラー６は、バス３のバス使用権の付与を許可されるマスター１−ｉの合計コンテクスト数がメモリー２の構成に基づく所定の数以下となるように、複数のマスター１−１〜１−４のうち、バス使用権の付与を許可されるマスター１−ｉを制限する。
【００４２】
これにより、複数の処理からのメモリー２へのアクセスが効率よく行われる。つまり、メモリー２から見ると、複数のマスター１−ｉにより並行して実行されるメモリーアクセスのコンテクスト数が低く抑えられるため、ページのオープン・クローズを実行する頻度が少なくなり、効率よくメモリーアクセスが実行される。
【００４３】
実施の形態２．
【００４４】
実施の形態２に係る情報処理装置では、コントローラー６は、複数のマスター１−１〜１−４を複数の集合に予め振り分け、調停器５は、バス使用権の付与を許可されるマスター１−ｉを、集合ごとにまとめて切り換える。
【００４５】
具体的には、コントローラー６は、各集合内においてバス使用権の付与を許可されるマスターの合計コンテクスト数が上述の所定の数以下となるように、複数のマスター１−１〜１−４を複数の集合に予め振り分ける。
【００４６】
そして、コントローラー６は、現時点でバス使用権の付与を許可されている集合内のすべてのマスター１−ｉの処理が終了した時点で、別の集合のマスター１−ｊを、バス使用権の付与を許可されるマスターとし、調停器５に通知する。
【００４７】
図４は、実施の形態２におけるマスターの集合の一例を示す図である。例えば、図４に示すように、集合＃１は、マスター１−１，１−４を含み、集合＃２は、マスター１−２，１−３を含む。この場合、まず集合＃１のマスター１−１，１−４が、バス使用権の付与を許可されるマスターとして選択され、マスター１−１，１−４の両方の処理が終了した時点（時刻Ｔ１１）で、バス使用権の付与を許可されるマスターが、集合＃２のマスター１−２，１−３に切り換えられる。
【００４８】
なお、実施の形態２に係る情報処理装置のその他の構成および動作については実施の形態１と同様であるので、その説明を省略する。
【００４９】
以上のように、上記実施の形態２によれば、例えば、複数のマスター１−ｉの処理間でデータ依存がある場合（例えば一方の処理後のデータを他方が処理する場合）、そのようなマスター１−ｉを１つの集合とすることで、デッドロックや遅延の発生が減る。
【００５０】
実施の形態３．
【００５１】
図５は、本発明の実施の形態３に係る情報処理装置の構成を示すブロック図である。
【００５２】
実施の形態３では、コントローラー６は、複数のマスター２１−１〜２１−４のうち、バス使用権の付与を許可されるマスターを所定の固定数以下に制限する。この固定数は、既知である複数のマスター２１−１〜２１−４のコンテクスト数およびメモリー２の構成から特定される、上述のように同時に選択される、バス使用権の付与を許可されるマスターの数の最大値である。
【００５３】
つまり、この固定数は、同時に選択される、バス使用権の付与を許可されるマスターの数の上限値となる。
【００５４】
マスター２１−１〜２１−４は、マスター１−１〜１−４と同様であるが、ＤＭＡ回路１１を有さない。その代わりに、複数のマスター２１−１〜２１−４の数（ここでは４）より少なく上述の固定数（ここでは２）と同数のＤＭＡ回路２２−１，２２−２が、バス使用権の付与を許可されるマスター２１−ｉにおけるメモリーアクセスを代行する。
【００５５】
ＤＭＡ回路２２−１，２２−２は、バス３に接続され、さらに、ＤＭＡ回路２２−１，２２−２にはセレクター７を介してマスター２１−１〜２１−４が接続される。
【００５６】
そして、コントローラー６は、現時点のバス使用権の付与を許可されるマスター２１−ｉをセレクター７で選択し、ＤＡＭ回路２２−１，２２−２に接続する。
【００５７】
調停器５は、所定の調停方式に基づいて、ＤＭＡ回路２２−１，２２−２のいずれかに対してバス３のバス使用権を与える。
【００５８】
なお、実施の形態３に係る情報処理装置のその他の構成および動作については実施の形態１と同様であるので、その説明を省略する。
【００５９】
以上のように、上記実施の形態３によれば、上述の固定数分のＤＭＡ回路２２−１，２２−２のみが実装されるので、回路規模が小さくて済む。
【００６０】
なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【００６１】
例えば、上記実施の形態１，２に係る情報処理装置は、複数のマスター１〜１〜１−４が、それぞれ、自己の実行する処理のコンテクスト数をコントローラー６に動的に通知し、コントローラー６が、複数のマスター１−１〜１−４から通知されたコンテクスト数の合計を計算し、コンテクスト数の合計がメモリー２の構成に基づく所定の数以下となるように、バス使用権の付与を許可されるマスターを選択するようにしてもよい。
【００６２】
さらに、この場合、マスター１〜１〜１−４が、コンテクスト数をコントローラー６に動的に通知する際に、１つのコンテクストがバンク境界（つまり、バンク境界であるページ境界）を跨ぐ場合には、バンクごとに別々の異なるコンテクストとみなし、そのコンテクストについてのコンテクスト数を２とする（つまり１だけ増加させる）ようにしてもよい。
【００６３】
さらに、この場合、動的に通知されたコンテクスト数の合計が、メモリー２についての許容コンテクスト数を超えた場合には、現時点のバス使用権の付与を許可されるマスターから、少なくとも１つのマスターを除外するようにしてもよい。
【００６４】
また、この場合、動的に通知されたコンテクスト数の合計が、メモリー２についての許容コンテクスト数より少ない場合において、現時点においてバス使用権の付与を許可されるマスター以外のマスターを、バス使用権の付与を許可されるマスターに追加しても、コンテクスト数の合計が許容コンテクスト数を超えないときには、現時点においてバス使用権の付与を許可されるマスター以外のマスターを、バス使用権の付与を許可されるマスターに追加してもよい。
【００６５】
また、上記実施の形態２において、所定時間（例えば１０ミリ秒）ごとに、現時点のバス使用権を付与可能なマスターの集合を強制的に切り換えるようにしてもよい。
【００６６】
さらに、上記実施の形態１〜３において、メモリーコントローラー４が、リオーダー機能およびアウトスタンディング機能を有していてもよい。つまり、上記実施の形態１〜３による調停方式は、リオーダー機能、アウトスタンディング機能などと併用可能であるため、メモリーアクセス効率をより高くすることができる。
【産業上の利用可能性】
【００６７】
本発明は、例えば、複数の画像処理回路をマスターとして備える画像処理装置に適用可能である。
【符号の説明】
【００６８】
１−１〜１−４，２１−１〜２１−４  マスター
２  メモリー
３  バス
４  メモリーコントローラー
５  調停器
６  コントローラー
２２−１，２２−２  ＤＭＡ回路（メモリーアクセス回路の一例）
【図１】
2015225458.tif 000003
【図２】
2015225458.tif 000004
【図３】
2015225458.tif 000005
【図４】
2015225458.tif 000006
【図５】
2015225458.tif 000007
【図６】
2015225458.tif 000008
【図７】
2015225458.tif 000009