(57)【要約】【課題】複数のリクエスタからのメモリアクセス要求の一を処理するものであって、アクセス効率を低下させずに同時スイッチング出力本数を低減するメモリアクセス制御装置を提供する。【解決手段】メモリアクセス制御装置１は、メモリアクセス要求（以下、要求）を処理するもので、未処理の要求を順次記憶する記憶部と直前に処理した要求を保持するレジスタ１４と未処理の要求から処理対象を選択するメモリアクセス選択処理部１３と、を備え、メモリアクセス選択処理部１３が、レジスタ１４に保持されている要求が読み込み要求のとき、未処理の要求から任意に処理対象を選択し、レジスタ１４に保持されている要求が書き込み要求のとき、未処理の要求から読み込み要求である要求を任意に選択し、未処理の要求が全て書き込み要求であれば、その書込みデータがレジスタ１４の要求の書き込みデータに最も近い要求を選択する。【選択図】図１
2010079495.tif 000002
【特許請求の範囲】
【請求項１】
リクエスタからのメモリアクセス要求を処理するメモリアクセス制御装置であって、
未処理の前記メモリアクセス要求を順次記憶する記憶部と、
直前に処理した前記メモリアクセス要求を保持するレジスタと、
前記未処理のメモリアクセス要求から処理対象を選択する選択部と、を備え、
該選択部は、
前記レジスタに保持されている前記メモリアクセス要求が読み込み要求のとき、
前記記憶部に記憶されている未処理のメモリアクセス要求から任意に処理対象を選択し、
前記レジスタに保持されている前記メモリアクセス要求が書き込み要求のとき、
前記記憶部に記憶されている未処理のメモリアクセス要求から読み込み要求であるメモリアクセス要求を任意に処理対象として選択し、前記未処理のメモリアクセス要求が全て書き込み要求であれば、その書込みデータが前記レジスタのメモリアクセス要求の書き込みデータに最も近い前記メモリアクセス要求を処理対象として選択することを特徴とするメモリアクセス制御装置。
【請求項２】
前記選択部は、前記記憶部に記憶されたメモリアクセス要求及び前記レジスタのメモリアクセス要求それぞれの書き込みデータを比較し不一致ビット数を検出する不一致ビット検出器と、最も不一致ビット数が少ないメモリアクセス要求を判別する判別部と、を有し、判別したメモリアクセス要求を前記処理対象として選択することを特徴とする請求項１に記載のメモリアクセス制御装置。
【請求項３】
前記記憶部に記憶の前記メモリアクセス要求が所定量を超えたとき、メモリアクセス要求の発行禁止の信号を前記リクエスタに送信し、その時点で前記記憶部に記憶されていたメモリアクセス要求が全て処理されるまでメモリアクセス要求の発行を禁止することを特徴とする請求項１または２に記載のメモリアクセス制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のリクエスタからのメモリアクセス要求を調停するメモリアクセス制御装置に関するものである。
【背景技術】
【０００２】
半導体集積回路に関し、高いメモリバンド幅を実現するために、論理回路とメモリ間のデータバス幅を多くする方法がある。データバス幅の大きなメモリと接続される（すなわち上記メモリへの出力端子数が多い）半導体集積回路において、多数の出力信号が同時に変化することによる同時スイッチングノイズ（ＳＳＯ：Simultaneous Switching Output noise）のために、データが正しくメモリに書き込めなくなることや、不要な電流が流れることがある。
【０００３】
従来、同時スイッチングノイズの低減を図る手法として、出力バッファの駆動能力を制御する方法、データ出力タイミングをずらす方法、出力データを符号化する方法等がある。しかしながら、これらの手法は設計上の制約や製造面での制約により実現が困難な場合があった。
また、特許文献１に開示の半導体集積回路は、データ出力時の同時スイッチング本数を所定値以下にするために、出力候補のデータと、前サイクルで出力されレジスタに保持されたデータとが所定値以上異なっているか否かに応じて、現サイクルで供給されたデータ、記憶してあった過去のデータ、及び前サイクルで出力されたデータのいずれかを出力するようになっている。例えば、現サイクルで供給されたデータと、レジスタに保持されたデータとが所定値以上異なっている場合は、現サイクルでの供給データ等を出力したとすると同時スイッチング本数が多いので、上記供給データはＲＡＭに記憶され、代わりに前サイクルで出力されたデータと同一なものを出力する。なお、この場合、出力されたデータは受信側の半導体集積回路で受信されることはない。
【０００４】
しかし、特許文献１に開示の半導体集積回路では、上述のように、受信されることのないデータ（ダミーデータ）を出力するので、メモリへの転送レートやアクセス効率の低下が起きてしまう。アクセス効率の低下は、メモリへのアクセスを要求する装置が複数ある場合に特に大きな問題となる。
【特許文献１】特開２００５−２０１６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明では、上述した問題に鑑み、複数のメモリアクセス要求元（リクエスタ）からのメモリアクセス要求の一を処理するものであって、アクセス効率を低下させず、かつ同時スイッチング出力本数を低減するメモリアクセス制御装置を提供することをその目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の第１の技術手段は、リクエスタからのメモリアクセス要求を処理するメモリアクセス制御装置であって、未処理の前記メモリアクセス要求を順次記憶する記憶部と、直前に処理した前記メモリアクセス要求を保持するレジスタと、前記未処理のメモリアクセス要求から処理対象を選択する選択部と、を備え、該選択部が、前記レジスタに保持されている前記メモリアクセス要求が読み込み要求のとき、前記記憶部に記憶されている未処理のメモリアクセス要求から任意に処理対象を選択し、前記レジスタに保持されている前記メモリアクセス要求が書き込み要求のとき、前記記憶部に記憶されている未処理のメモリアクセス要求から読み込み要求であるメモリアクセス要求を任意に処理対象として選択し、前記未処理のメモリアクセス要求が全て書き込み要求であれば、その書込みデータが前記レジスタのメモリアクセス要求の書き込みデータに最も近い前記メモリアクセス要求を処理対象として選択することを特徴としたものである。
【０００７】
第２の技術手段は、第１の技術手段において、前記選択部が、前記記憶部に記憶されたメモリアクセス要求及び前記レジスタのメモリアクセス要求それぞれの書き込みデータを比較し不一致ビット数を検出する不一致ビット検出器と、最も不一致ビット数が少ないメモリアクセス要求を判別する判別部と、を有し、判別したメモリアクセス要求を処理対象として選択することを特徴としたものである。
【０００８】
第３の技術手段は、第１又は第２の技術手段において、前記記憶部に記憶の前記メモリアクセス要求が所定量を超えたとき、メモリアクセス要求の発行禁止の信号を前記リクエスタに送信し、その時点で前記記憶部に記憶されていたメモリアクセス要求が全て処理されるまでメモリアクセス要求の発行を禁止することを特徴としたものである。
【発明の効果】
【０００９】
本発明によれば、複数のメモリアクセス要求元（リクエスタ）からのメモリアクセス要求の一を処理するメモリアクセス制御装置において、アクセス効率を低下させずに同時スイッチングノイズを低減させることができる。その結果、信号品質の劣化を防ぐことができ、また、不要な電流を抑制することから低消費電力化を実現することができる。
【発明を実施するための最良の形態】
【００１０】
まず、図１及び図２を用いて、本発明のメモリアクセス制御装置の一例を説明する。図１は、本発明のメモリアクセス制御装置の構成の一例を示すブロック図であり、図２は、メモリアクセス要求データの構造例を示す図である。
【００１１】
本発明のメモリアクセス制御装置は、メモリへのアクセスを調停する回路を含む半導体集積回路で構成されるものであり、図１のメモリアクセス制御装置１で例示するように、複数のリクエスタ（第１〜第ｎリクエスタ２１〜２ｎ）からのメモリ３へのアクセス要求データの一を処理する。
このメモリアクセス制御装置１は、第１〜第ｎバッファ１１１〜１１ｎと、第１〜第ｎ先頭要求記憶部１２１〜１２ｎと、メモリアクセス選択処理部１３と、レジスタ１４と、を備える。なお、以下では、第１〜第ｎバッファ１１１〜１１ｎ等について、まとめて説明する場合は、「第１〜第ｎ」の記載を省略しバッファ１１１〜１１ｎ等と記載して説明する。
【００１２】
バッファ１１１〜１１ｎは、リクエスタ（メモリアクセス要求元）２１〜２ｎそれぞれに応じて設けられたものであり、リクエスタ２１〜２ｎが、メモリ３へのアクセスが必要になったときに、そのメモリアクセス要求の内容（メモリアクセス要求データ）を対応するバッファ１１１〜１１ｎへ書き込み、記憶させる。メモリアクセス要求データは、バッファ１１１〜１１ｎから書き込まれた順に出力される。
【００１３】
バッファ１１１〜１１ｎのいずれかが一杯で、メモリアクセス要求を受け付けることができない場合、メモリアクセス制御装置１は、リクエスト発行禁止信号を各リクエスタ２１〜２ｎに送信して、リクエスタ２１〜２ｎからのメモリアクセス要求の発行を停止させる。また、発行を停止させた段階でバッファ１１１〜１１ｎに記憶されていたメモリアクセス要求データが全て処理されたとき、メモリアクセス制御装置１は、リクエスト発行許可信号を各リクエスタ２１〜２ｎに送信して、リクエスタ２１〜２ｎからのメモリアクセス要求の発行の停止を解除する。
このようなバッファ１１１〜１１ｎに記憶されたメモリアクセス要求データは、後述のように、メモリアクセス選択処理部１３により処理される。
【００１４】
先頭要求記憶部１２１〜１２ｎは、各リクエスタ２１〜２ｎからのメモリアクセス要求データのうち最も古い未処理のもの（先頭のメモリアクセス要求データという）を記憶する。上記先頭のメモリアクセス要求データは、先頭要求記憶部１２１〜１２ｎに記憶されていないとき等に、各バッファ１１１〜１１ｎから出力される。
【００１５】
メモリアクセス要求データは、上述のようにバッファ内１１１〜１１ｎに蓄えられたり先頭要求記憶部１２１〜１２ｎに記憶されたりするもので、図２に示すように、アドレス情報Ｄ１と、リード／ライト種別情報Ｄ２と、ライトデータＤ３から構成される。ここで、リード／ライト種別情報Ｄ２は、当該メモリアクセス要求データで示されるメモリアクセス要求が読み出し（リード）用か、書き込み（ライト）用かを示す情報（信号）であり、ライトデータＤ３には、ライト用の場合のみ、有効なライトデータが格納され、読込のためのものの場合はどのような値でも構わない。
【００１６】
図１の説明に戻る。
メモリアクセス選択処理部１３は、先頭要求記憶部１２１〜１２ｎに記憶の先頭のメモリアクセス要求データのいずれかを選択して処理する。
メモリアクセス選択処理部１３は、上記処理の際、当該メモリアクセス要求データがライト用であれば、メモリ３に対して、当該メモリアクセス要求データのアドレス情報をアドレスバスを介して送信し、ライトデータをデータバスを介して送信（出力）し、今回のアクセスがライトであることを示す制御信号を制御信号線を介して送信し、アドレス情報が示すメモリ３のアドレスにライトデータを書き込む。
また、上記処理の際、先頭要求記憶部１２１〜１２ｎに記憶の先頭のメモリアクセス要求データがリード用であれば、メモリ３に対して、当該メモリアクセス要求データのアドレス情報をアドレスバスを介して送信し、今回のアクセスがリードであることを示す制御信号を制御信号線を介して送信し、アドレス情報が示すメモリ３のアドレスに保持されていたデータを図示しないデータ入力端子を介して受信し、当該メモリアクセス要求データを発行したリクエスタに送信する。
【００１７】
また、メモリアクセス選択処理部１３は、処理したメモリアクセス要求データをレジスタ１４の格納し保持させる。
なお、処理されたメモリアクセス要求データは、対応する先頭要求記憶部１２１〜１２ｎから消去される。消去された場合、先頭要求記憶部１２１〜１２ｎには、バッファ１１１〜１１ｎにメモリアクセス要求データが記憶されていれば当該データが出力される。
【００１８】
レジスタ１４は、メモリアクセス選択処理部１３が直前に処理したメモリアクセス要求データを保持するものである。
【００１９】
上述のような各部から構成される本メモリアクセス制御装置１において、先頭要求記憶部１２１〜１２ｎのいずれか一（及びそれに対応するバッファ）のみメモリアクセス要求データを記憶している場合、すなわち、メモリアクセス要求の調停が必要ない場合、メモリアクセス選択処理部１３は、当該先頭要求記憶部に記憶のメモリアクセス要求データを処理する。
一方、先頭要求記憶部１２１〜１２ｎのうち複数（及びそれに対するバッファ）がメモリアクセス要求データを記憶している場合、すなわちメモリアクセス要求の調停が必要な場合、メモリアクセス選択処理部１３は、以下のように、下記の条件（１）〜（３）に応じた調停方式に基づいて、処理対象のメモリアクセス要求データを選択する。
【００２０】
（１）レジスタ１４に保持されているメモリアクセス要求データがリード用の場合
メモリアクセス選択処理部１３は、先頭要求記憶部１２１〜１２ｎに記憶の先頭のメモリアクセス要求データ群のうちから、任意の調停方式に従って処理対象のメモリアクセス要求データを一つ選択する。ここで、任意の調停方式とは、固定優先順位方式、ラウンドロビン方式等、どのようなものでも構わない。
【００２１】
（２）レジスタ１４に保持されているメモリアクセス要求データがライト用の場合であって、先頭要求記憶部１２１〜１２ｎに記憶の先頭のメモリアクセス要求データ群がリード用のものを含む場合
メモリアクセス選択処理部１３は、当該リード要求のメモリアクセス要求データのうちから任意の調停方式に従って処理対象を一つ選択する。ここでの任意の調停方式は、上記（１）での調停方式と同じであってもよいし異なってもよい。なお、リード要求のメモリアクセス要求データが１つであれば、当該データを処理対象とする。
【００２２】
（３）レジスタ１４に保持されているメモリアクセス要求データがライト用の場合であって、先頭要求記憶部１２１〜１２ｎに記憶の先頭のメモリアクセス要求データ群が全て書き込み要求である場合
レジスタ１４のメモリアクセス要求データのライトデータに最も近いライトデータを有するメモリアクセス要求データを処理対象として選択する。
【００２３】
本メモリアクセス制御装置では、上述のような調停方式を採用するため、アクセス効率を低下させずに、同時スイッチング出力本数を低減することができる。
また、上述のように、いずれかのバッファ１１１〜１１ｎが一杯になった場合、その時点で未処理であったメモリアクセス要求データが全て処理されるまで、全てのリクエスタ２１〜２ｎについてメモリアクセス要求の発行を禁止したので、特定のメモリアクセス要求データがいつまでも処理されずに残ることがない。
【００２４】
続いて、メモリアクセス選択処理部１３の構成例を図３を用いて説明する。
メモリアクセス選択処理部１３は、第１〜第ｎ検出器１３１１〜１３１ｎと、最小不一致ビットメモリアクセス選択処理部１３２とを有する。
第１〜第ｎ検出器１３１１〜１３１ｎは、第１〜第ｎ先頭要求記憶部１２１〜１２ｎのそれぞれに応じて設けられたもので、当該記憶部１２１〜１２ｎの先頭のメモリアクセス要求データのライトデータと、レジスタ１４のメモリアクセス要求データのライトデータとを比較し、何ビットが不一致になるか（すなわち不一致ビット数）を検出する。不一致ビット数の検出結果は、最小不一致ビットメモリアクセス選択処理部１３２に送られる。
【００２５】
最小不一致ビットメモリアクセス選択処理部１３２は、上述の（３）の条件に応じた調停の際、不一致ビット数の検出結果に基づいて、最も不一致ビット数が少ないメモリアクセス要求データを判定する、すなわち当該データの記憶元（先頭要求記憶部のいずれか）を判定する。そして、（判定した先頭要求記憶部に記憶の）判定した先頭のメモリアクセス要求データを処理対象として選択する。
なお、最小不一致ビットメモリアクセス選択処理部１３２は、上述の（１），（２）に応じた調停の際、任意の調停方式に従って処理対象のメモリアクセス要求データを選択することもできる。
【図面の簡単な説明】
【００２６】
【図１】本発明のメモリアクセス制御装置の構成例を示すブロック図である。
【図２】メモリアクセス要求データの構造例を示す図である。
【図３】図１のメモリアクセス制御装置のメモリアクセス選択処理部の構成例を示すブロック図である。
【符号の説明】
【００２７】
１…メモリアクセス制御装置、２１〜２ｎ…第１〜第ｎリクエスタ、３…メモリ、１１１〜１１ｎ…〜第１〜第ｎバッファ、１２１〜１２ｎ…第１〜第ｎ先頭要求記憶部、１３…メモリアクセス選択処理部、１３１１〜１３１ｎ…第１〜第ｎ検出器、１３２…最小不一致ビットメモリアクセス選択処理部、１４…レジスタ。
【図１】
2010079495.tif 000003
【図２】
2010079495.tif 000004
【図３】
2010079495.tif 000005