(57)【要約】【課題】広帯域メモリアクセスにおいてバッファメモリを低減させる。【解決手段】マスタ群１０８中のマスタは、ＲＡＭ１０７アクセスの際に調停回路１０６に対して、リード、ライトの間隔を固定的なサイクルでアクセスすることで、各マスタ内のブロックが固定的なパイプライン段数で処理することにより、ＲＡＭ１０７アクセス時に調停回路１０６内に巨大なバッファメモリを必要とせず、各マスタも、データの処理の際にブロックする機能を必要としないため、内部のクロックゲーティングや、部分的に電源を与えることがよりやりやすくなる。【選択図】図１
2006338234.tif 000002
【特許請求の範囲】
【請求項１】
多数のメモリアクセスマスタが、同一のメモリに対してアクセスするメモリシステムにおいて、
メモリへのアクセスをオンデマンドでは行わず、Ｎ回のメモリアクセスを１周期とし、そのＮ回に対して毎回同じサイクルに、同一のバスマスタからリードあるいはライトを行うメモリアクセス方式を行うメモリアービタと、
各々のバスマスタは、一定の周期のあるサイクルにリード、あるサイクルにライトを１あるいは複数サイクルあるいはリード、ライトのどちらかしか行わない複数のバスマスタを備えたメモリアクセス調停方法。
【請求項２】
請求項１のメモリアクセス調停方法において、前記バスマスタの処理実行のためのパイプライン段数が、前記メモリアービタにおける前記バスマスタのリードサイクルとライトサイクルの差の段数に一致していることを特徴とする請求項１に記載のメモリアクセス調停方法。
【請求項３】
請求項２のメモリアクセス調停方法において、前記バスマスタの処理実行のためのパイプライン段数が、リードサイクルとライトサイクルの差の段数ではなく、差の段数＋Ｎの倍数であることを特徴とする請求項２に記載のメモリアクセス調停方法。
【請求項４】
請求項１、請求項２または請求項３のメモリアクセス調停方法において、前記バスマスタのパイプライン処理の各ステージでアクティブでないステージにたいしてクロックを供給しないことを特徴とする請求項１、請求項２、請求項３のメモリアクセス調停方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は多マスタ、高速メモリアクセスを省メモリで実現できるメモリアクセス調停方法である。
【背景技術】
【０００２】
メモリアクセス調停方法としては、容量の大きなバッファをバスマスタごとに個別に持つものであった（例えば、特許文献１参照）。図５は、前記特許文献１に記載された従来のメモリアクセス調停方法の１バスマスタの構成図を示すものである。
【０００３】
図５は、画像入力Ｉ／Ｆ（ＩＤＩＮ０）５１５に内蔵されているデータバッファおよびその周辺回路の構成を示している。画像入力Ｉ／Ｆ（ＩＤＩＮ０）５１５は、データバッファ５４０と、セレクタ５５６と、ストア制御信号生成部５５７と、ロード制御信号および選択制御信号生成部５５８と、エンコーダ５５９とを備えている。データバッファ５４０は、画像入力Ｉ／Ｆ（ＩＤＩＮ０）５１５の動作クロックＷＣＫに同期して入力画像データＩＤＩＮ［３１：０］を取込み、システムクロックＳＣＫに同期して、画像データｉｄＤａｔａ［３１：０］を出力する。なお、ＳＤＲＡＭＩ／Ｆ（ＳＤＲＡＭＩＦ）もシステムクロックＳＣＫに同期して動作するものとする。データバッファ５４０は、１５段のワードバッファフラグ生成部５４１〜５５５を内蔵しており、１５段×３２ｂｉｔのＦＩＦＯとして動作し、データがラッチされたワードバッファフラグ生成部の数（データバッファ５４０に蓄積されているデータ量）をバッファ残量ｉｄＦｌａｇ［３：０］として出力する。データバッファ５４０は、画像入力Ｉ／Ｆ（ＩＤＩＮ０）５１５内部で生成されるデータバッファへの画像データ書き込み制御信号ＩＤＡＣＫがアサート（”Ｈ”レベル）されている期間、動作クロックＷＣＫに同期して、画像データＩＤＩＮを取り込む。画像データＩＤＩＮをいずれのワードバッファフラグ生成部５４１〜５５５に格納するかは、ストア制御信号生成部５５７によって生成されるストア制御信号ｓｔ［１４：０］によって制御される。ストア制御信号生成部５５７は、第１カウンタ５５７ａと第１デコーダ５５７ｂを備えている。第１カウンタ５５７ａは、画像データ書き込み制御信号ＩＤＡＣＫがアサートされる毎にアップカウント動作を行なう。第１カウンタ５５７ａのカウント値は、最大１４であり、１４を越えると０に戻る。第１デコーダ５５７ｂは、第１カウンタ５５７ａのカウント値をデコードし、１５本のデコード信号を生成する。ストア制御信号生成部５５７は、画像データ書き込み制御信号ＩＤＡＣＫとこれらのテコード信号との論理積を演算して、ストア制御信号ｓｔ［１４：０］を生成する。各ワードバッファフラグ生成部５４１〜５５５は、それに入力されるストア制御信号ｓｔ０〜ｓｔ１４が”Ｈ”のときに、入力画像データＩＤＩＮをラッチする。各ワードバッファフラグ生成部５４１〜５５５は、データをラッチすると、データ格納フラグｏｆｌａｇ０〜ｏｆｌａｇ１４をアサートする。そして、各ワードバッファフラグ生成部５４１〜５５５は、ラッチされたデータを読み出すと、データ格納フラグｏｆｌａｇ０〜ｏｆｌａｇ１４をネゲートする。エンコーダ５５９は、データ格納フラグｏｆｌａｇ０〜ｏｆｌａｇ１４のうち、アサート状態にあるフラグの数をエンコードして、バッファ残量フラグｉｄＦｌａｇ［３：０］を生成する。データバッファ５４０は、ＳＤＲＡＭＩ／Ｆ（ＳＤＲＡＭＩＦ）から送られてくるデータ転送アクノリッジ信号ｓｄＡｃｋ１０がアサート（”Ｈ”）されている期間、システムクロックＳＣＫに同期して、画像データを出力する。いずれのワードバッファフラグ生成部５４１〜５５５に格納されている画像データを出力するかは、選択制御信号生成部５５８に���って生成されるロード制御信号ｌｄ［１４：０］および選択制御信号Ｓｅｌｅｃｔによって制御される。ロード制御信号および選択制御信号生成部５５８は、第２カウンタ５５８ａと第２デコーダ５５８ｂを備えている。第２カウンタ５５８ａは、データ転送アクノリッジ信号ｓｄＡｃｋ１０がアサートされる毎にアップカウント動作を行なう。第２カウンタ５５８ａのカウント値は、最大１４であり、１４を越えると０に戻る。第２デコーダ５５８ｂは、第２カウンタ５５８ａのカウント値をデコードし、１５本のデコード信号を生成する。ロード制御信号および選択制御信号生成部５５８は、データ転送アクノリッジ信号ｓｄＡｃｋ１０とこれらのテコード信号との論理積を演算して、ロード制御信号ｌｄを生成する。各ワードバッファフラグ生成部５４１〜５５５は、それに入力されるロード制御信号ｌｄ０〜ｌｄ１４が”Ｈ”のときに、画像データを読み出すとともに、データ格納フラグｏｆｌａｇ０〜ｏｆｌａｇ１４をネゲートする。ロード制御信号および選択制御信号生成部５５８は、第２カウンタ５５８ａのカウント値を選択制御信号Ｓｅｌｅｃｔとしてセレクタ５５６に出力する。セレクタ５５６は、選択制御信号Ｓｅｌｅｃｔに対応するワードバッファフラグ生成部５４１〜５５５から読み出された画像データＤｏ０〜Ｄｏ１４を選択して、データバッファ出力信号ｉｄＤａｔａ［３１：０］として出力する。
【特許文献１】特開２００２−１３２７０７号公報（１１頁、図３）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、前記従来の構成は、一つのバスマスタへの実施例でバッファは高々１５段３２ビットであるがこれでも、５００ビット程度のバッファが必要となる。これがハイビジョンのような高帯域を必要とするグラフィックスデータである場合、このような小さなメモリでは足らずに大きなメモリを必要とする。またこの例では使用するメモリはＳＤＲＡＭであるが、ＤＤＲ−ＳＤＲＡＭのようなバンド幅が広く、バースト長が長いメモリに対しては、たくさんのバスマスタをつけることになれば、もっとたくさんのバッファを持たなければならなかった。このほかにも、メモリへのアクセス順番を入れ替えることで高帯域化が可能なメモリもあるため、その入れ替えのためのバッファメモリをさらに必要とされている。
【０００５】
本発明は、前記従来の課題を解決するもので、多数のバスマスタを、バンド幅の大きなメモリと高速にインタフェースをとりつつ、バッファ等を最小限にすることができ、かつアービトレーションが必要ないメモリアクセス調停手段を提供するものである。
【課題を解決するための手段】
【０００６】
前記従来の課題を解決するために、本発明のメモリアクセス調停手段は、メモリアクセスをＮ個の周期にわけ、おのおのの周期には一つのバスマスタからのリードあるいはライトのみを受け付けるようにする。そして、おのおののバスマスタに付随する回路は、リードからライトまでのレテンシをそのバスマスタのメモリをアクセスできる周期＋Ｎの倍数とする。
【０００７】
本構成によって、メモリアービタは、おのおのの周期にリクエストが存在するかどうかの判定のみをおこない、リクエストが存在するときのみメモリに対してアクセスするようにするため、余計なバッファを必要とせず、またアービトレーションも必要でない。そのため、小型のメモリアクセス調停手段とすることができる。また、各サブモジュールは全体のパイプラインが固定されており、入力されたデータがメモリに書き戻されるまでパイプライン・ストールすることなく実行することが出来る。
【発明の効果】
【０００８】
本発明のメモリアクセス調停手段によれば、高速アクセスに必須の大量のバッファメモリを必要とせず、また、多量のバスマスタに対するアービトレーションをとる必要も無く、おのおののサブモジュールのパイプらインストールへの対応をすることなく、高速なメモリアクセスを提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００１０】
（実施の形態１）
図１は、本発明の実施の形態１におけるメモリアクセス調停方法のメモリマスタとアービタの図である。図１において、図３と同じ構成要素については同じ符号を用い、説明を省略する。
【００１１】
図１において、マスタＡ１０１、マスタＢ１０２、マスタＣ１０３、マスタＤ１０４、マスタＥ１０５は調停回路１０６により調停され、ＲＡＭ１０７にアクセスすることの出来るサブモジュールであり、おのおの独立している。ここでは、マスタのすべてを総称してマスタ群１０８と名づける。調停回路１０６は、ＲＡＭ１０７とマスタ群１０８の各マスタからのアクセス要求を調停し、マスタからＲＡＭ１０７へのデータをバッファリングし、ＲＡＭ１０７からマスタへのデータをバッファリングする。ＲＡＭ１０７はマスタ群１０８のデータを蓄える。
【００１２】
図１のマスタ群１０８中のマスタが調停回路１０６へアクセスするタイミングについて図２を用いて説明する。図において、区間２０１はＲＡＭ１０７アクセスの１単位であり、この区間は一つのコアのリードあるいはライトのみが実行できる。この区間２０１が８つで一つの周期２０２となる。この周期２０２においてマスタＡ１０１は区間２０１の１の時（２０３）にリードを行い、それから５区間後の６の時（２０４）にライトを行う。同様に、マスタＢ１０２は３のときにリード８のときにライト、マスタＣ１０３は４の時にリード７の時にライトを行う。また、マスタＤ１０４とマスタＥ１０５は２のときにリード、５のときにライトを行うが、この２つのマスタに関しては、リードあるいはライトに関してアービトレーションを行い、どちらか片方がリードあるいはライトの区間２０１を占有する。このようなアクセスの方法により、調停回路１０６がＲＡＭ１０７に対して、リード用の回路ライト用の回路を区間２０１が１のときはマスタＡ１０１の読み出し用線とＲＡＭ１０７間をつなぎ、マスタＤ１０４とマスタＥ１０５のうち調停で勝ったほうのマスタとＲＡＭ１０７をつなぎ、次にマスタＢ１０２とＲＡＭ１０７、次にマスタＣ１０３とＲＡＭ１０７、次にマスタＤ１０４とマスタＥ１０５の勝ったほうとＲＡＭ１０７、次にマスタＡ１０１とＲＡＭ１０７、次にマスタＣ１０３とＲＡＭ１０７、次にマスタＢ１０２とＲＡＭ１０７というようにつなぐ。
【００１３】
図３は図１のマスタＡ１０１の内部回路のパイプライン構造を示したものである。マスタＡ内部回路３０１は、４段のパイプライン構成になっており、ＲＡＭ１０７から読み出されたマスタＡ読み出しデータ３０２をマスタＡ内部回路３０１のステージ１（３０４）、ステージ２（３０５）、ステージ３（３０６）、ステージ４（３０７）の４段の回路で処理された後、マスタＡ書き込みデータ３０３として調停回路１０６を通してＲＡＭ１０７に書き込まれる。この間、マスタＡ内部回路３０１では、有効なデータが流れている間、パイプラインはストールせず、ハンドシェーク等が全く無く、処理される。
【００１４】
図４は図３のマスタＡ内部回路３０１のパイプラインを４段からメモリアクセスの周期であるステージ５（３０８）、ステージ６（３０９）、ステージ７（３１０）、ステージ８（３１１）、ステージ９（３１２）、ステージ１０（３１３）、ステージ１１（３１４）、ステージ１２（３１５）の８ステージを付加することにより、より細かい複雑な処理を実行することが出来る。
【００１５】
このように、図２に示すリードライトのタイミングと、図３、図４に示すようにリードからライトまでの基本サイクルに１周期ごとの付加周期を足すことにより、各マスタごとに柔軟な回路構成をとることが出来る。なお、ここでは、１周期を８サイクルとしているが、このサイクル数は任意の数でよい。また一つのマスタには１周期あたり１回のリードと１回のライトを割り当てているが、その数には制限は無い。また、各マスタはデータのリードからライトまで、処理ステージは一つしか活性化しないので、そのときにそのステージをクロックや電源を供給するような構成にしてもよい。またパイプライン構成のようにせずに、あるステージはデータをフィードバックして数サイクルそのステージにかけても良い。
【産業上の利用可能性】
【００１６】
本発明にかかるメモリアクセス調停方法は、大量のバッファを持たない周期的なアクセスに基づくバスアービトレーション装置を有し、高速で広帯域なメモリアクセス用のメモリコントローラとして有用である。また内蔵ＤＲＡＭ等のバスアービトレーション用途にも応用できる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態１におけるメモリアクセス調停方法のメモリマスタとアービタ図
【図２】本発明の実施の形態１におけるマスタが調停回路へアクセスするタイミング図
【図３】本発明の実施の形態１におけるマスタＡのパイプライン構成図
【図４】本発明の実施の形態１におけるマスタＡのパイプライン構成図
【図５】従来のメモリコントローラにつながるバスマスタの構成図
【符号の説明】
【００１８】
１０１    マスタＡ
１０２    マスタＢ
１０３    マスタＣ
１０４    マスタＤ
１０５    マスタＥ
１０６    調停回路
１０７    ＲＡＭ
１０８    マスタ群
２０１    区間
２０２    周期
２０３    区間１
２０４    区間６
３０１    マスタＡ内部回路
３０２    マスタＡ読み出しデータ
３０３    マスタＡ書き込みデータ
３０４    ステージ１
３０５    ステージ２
３０６    ステージ３
３０７    ステージ４
３０８    ステージ５
３０９    ステージ６
３１０    ステージ７
３１１    ステージ８
３１２    ステージ９
３１３    ステージ１０
３１４    ステージ１１
３１５    ステージ１２
５１５    画像入力Ｉ／Ｆ（ＩＤＩＮ０）
５４０    データバッファ
５４１，５４２，５５５    ワードバッファフラグ
５５６    セレクタ
５５７    ストア制御信号生成部
５５７ａ    第１カウンタ
５５７ｂ    第１デコーダ
５５８    選択制御信号生成部
５５８ａ    第２カウンタ
５５８ｂ    第２デコーダ
５５９    エンコーダ
【図１】
2006338234.tif 000003
【図２】
2006338234.tif 000004
【図３】
2006338234.tif 000005
【図４】
2006338234.tif 000006
【図５】
2006338234.tif 000007