説明

メモリアクセス制御装置

【課題】複数のリクエスタからのメモリアクセス要求の一を処理するものであって、アクセス効率を低下させずに同時スイッチング出力本数を低減するメモリアクセス制御装置を提供する。
【解決手段】メモリアクセス制御装置1は、メモリアクセス要求(以下、要求)を処理するもので、未処理の要求を順次記憶する記憶部と直前に処理した要求を保持するレジスタ14と未処理の要求から処理対象を選択するメモリアクセス選択処理部13と、を備え、メモリアクセス選択処理部13が、レジスタ14に保持されている要求が読み込み要求のとき、未処理の要求から任意に処理対象を選択し、レジスタ14に保持されている要求が書き込み要求のとき、未処理の要求から読み込み要求である要求を任意に選択し、未処理の要求が全て書き込み要求であれば、その書込みデータがレジスタ14の要求の書き込みデータに最も近い要求を選択する。

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

【特許請求の範囲】
【請求項1】
リクエスタからのメモリアクセス要求を処理するメモリアクセス制御装置であって、
未処理の前記メモリアクセス要求を順次記憶する記憶部と、
直前に処理した前記メモリアクセス要求を保持するレジスタと、
前記未処理のメモリアクセス要求から処理対象を選択する選択部と、を備え、
該選択部は、
前記レジスタに保持されている前記メモリアクセス要求が読み込み要求のとき、
前記記憶部に記憶されている未処理のメモリアクセス要求から任意に処理対象を選択し、
前記レジスタに保持されている前記メモリアクセス要求が書き込み要求のとき、
前記記憶部に記憶されている未処理のメモリアクセス要求から読み込み要求であるメモリアクセス要求を任意に処理対象として選択し、前記未処理のメモリアクセス要求が全て書き込み要求であれば、その書込みデータが前記レジスタのメモリアクセス要求の書き込みデータに最も近い前記メモリアクセス要求を処理対象として選択することを特徴とするメモリアクセス制御装置。
【請求項2】
前記選択部は、前記記憶部に記憶されたメモリアクセス要求及び前記レジスタのメモリアクセス要求それぞれの書き込みデータを比較し不一致ビット数を検出する不一致ビット検出器と、最も不一致ビット数が少ないメモリアクセス要求を判別する判別部と、を有し、判別したメモリアクセス要求を前記処理対象として選択することを特徴とする請求項1に記載のメモリアクセス制御装置。
【請求項3】
前記記憶部に記憶の前記メモリアクセス要求が所定量を超えたとき、メモリアクセス要求の発行禁止の信号を前記リクエスタに送信し、その時点で前記記憶部に記憶されていたメモリアクセス要求が全て処理されるまでメモリアクセス要求の発行を禁止することを特徴とする請求項1または2に記載のメモリアクセス制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2010−79495(P2010−79495A)
【公開日】平成22年4月8日(2010.4.8)
【国際特許分類】
【出願番号】特願2008−245632(P2008−245632)
【出願日】平成20年9月25日(2008.9.25)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】