JP2006338234A - メモリアクセス調停方法 - Google Patents

メモリアクセス調停方法 Download PDF

Info

Publication number
JP2006338234A
JP2006338234A JP2005160967A JP2005160967A JP2006338234A JP 2006338234 A JP2006338234 A JP 2006338234A JP 2005160967 A JP2005160967 A JP 2005160967A JP 2005160967 A JP2005160967 A JP 2005160967A JP 2006338234 A JP2006338234 A JP 2006338234A
Authority
JP
Japan
Prior art keywords
master
memory access
memory
stage
cycle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005160967A
Other languages
English (en)
Inventor
Nobuhiko Wakayama
順彦 若山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2005160967A priority Critical patent/JP2006338234A/ja
Publication of JP2006338234A publication Critical patent/JP2006338234A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】広帯域メモリアクセスにおいてバッファメモリを低減させる。
【解決手段】マスタ群108中のマスタは、RAM107アクセスの際に調停回路106に対して、リード、ライトの間隔を固定的なサイクルでアクセスすることで、各マスタ内のブロックが固定的なパイプライン段数で処理することにより、RAM107アクセス時に調停回路106内に巨大なバッファメモリを必要とせず、各マスタも、データの処理の際にブロックする機能を必要としないため、内部のクロックゲーティングや、部分的に電源を与えることがよりやりやすくなる。
【選択図】図1

Description

本発明は多マスタ、高速メモリアクセスを省メモリで実現できるメモリアクセス調停方法である。
メモリアクセス調停方法としては、容量の大きなバッファをバスマスタごとに個別に持つものであった(例えば、特許文献1参照)。図5は、前記特許文献1に記載された従来のメモリアクセス調停方法の1バスマスタの構成図を示すものである。
図5は、画像入力I/F(IDIN0)515に内蔵されているデータバッファおよびその周辺回路の構成を示している。画像入力I/F(IDIN0)515は、データバッファ540と、セレクタ556と、ストア制御信号生成部557と、ロード制御信号および選択制御信号生成部558と、エンコーダ559とを備えている。データバッファ540は、画像入力I/F(IDIN0)515の動作クロックWCKに同期して入力画像データIDIN[31:0]を取込み、システムクロックSCKに同期して、画像データidData[31:0]を出力する。なお、SDRAMI/F(SDRAMIF)もシステムクロックSCKに同期して動作するものとする。データバッファ540は、15段のワードバッファフラグ生成部541〜555を内蔵しており、15段×32bitのFIFOとして動作し、データがラッチされたワードバッファフラグ生成部の数(データバッファ540に蓄積されているデータ量)をバッファ残量idFlag[3:0]として出力する。データバッファ540は、画像入力I/F(IDIN0)515内部で生成されるデータバッファへの画像データ書き込み制御信号IDACKがアサート(”H”レベル)されている期間、動作クロックWCKに同期して、画像データIDINを取り込む。画像データIDINをいずれのワードバッファフラグ生成部541〜555に格納するかは、ストア制御信号生成部557によって生成されるストア制御信号st[14:0]によって制御される。ストア制御信号生成部557は、第1カウンタ557aと第1デコーダ557bを備えている。第1カウンタ557aは、画像データ書き込み制御信号IDACKがアサートされる毎にアップカウント動作を行なう。第1カウンタ557aのカウント値は、最大14であり、14を越えると0に戻る。第1デコーダ557bは、第1カウンタ557aのカウント値をデコードし、15本のデコード信号を生成する。ストア制御信号生成部557は、画像データ書き込み制御信号IDACKとこれらのテコード信号との論理積を演算して、ストア制御信号st[14:0]を生成する。各ワードバッファフラグ生成部541〜555は、それに入力されるストア制御信号st0〜st14が”H”のときに、入力画像データIDINをラッチする。各ワードバッファフラグ生成部541〜555は、データをラッチすると、データ格納フラグoflag0〜oflag14をアサートする。そして、各ワードバッファフラグ生成部541〜555は、ラッチされたデータを読み出すと、データ格納フラグoflag0〜oflag14をネゲートする。エンコーダ559は、データ格納フラグoflag0〜oflag14のうち、アサート状態にあるフラグの数をエンコードして、バッファ残量フラグidFlag[3:0]を生成する。データバッファ540は、SDRAMI/F(SDRAMIF)から送られてくるデータ転送アクノリッジ信号sdAck10がアサート(”H”)されている期間、システムクロックSCKに同期して、画像データを出力する。いずれのワードバッファフラグ生成部541〜555に格納されている画像データを出力するかは、選択制御信号生成部558によって生成されるロード制御信号ld[14:0]および選択制御信号Selectによって制御される。ロード制御信号および選択制御信号生成部558は、第2カウンタ558aと第2デコーダ558bを備えている。第2カウンタ558aは、データ転送アクノリッジ信号sdAck10がアサートされる毎にアップカウント動作を行なう。第2カウンタ558aのカウント値は、最大14であり、14を越えると0に戻る。第2デコーダ558bは、第2カウンタ558aのカウント値をデコードし、15本のデコード信号を生成する。ロード制御信号および選択制御信号生成部558は、データ転送アクノリッジ信号sdAck10とこれらのテコード信号との論理積を演算して、ロード制御信号ldを生成する。各ワードバッファフラグ生成部541〜555は、それに入力されるロード制御信号ld0〜ld14が”H”のときに、画像データを読み出すとともに、データ格納フラグoflag0〜oflag14をネゲートする。ロード制御信号および選択制御信号生成部558は、第2カウンタ558aのカウント値を選択制御信号Selectとしてセレクタ556に出力する。セレクタ556は、選択制御信号Selectに対応するワードバッファフラグ生成部541〜555から読み出された画像データDo0〜Do14を選択して、データバッファ出力信号idData[31:0]として出力する。
特開2002−132707号公報(11頁、図3)
しかしながら、前記従来の構成は、一つのバスマスタへの実施例でバッファは高々15段32ビットであるがこれでも、500ビット程度のバッファが必要となる。これがハイビジョンのような高帯域を必要とするグラフィックスデータである場合、このような小さなメモリでは足らずに大きなメモリを必要とする。またこの例では使用するメモリはSDRAMであるが、DDR−SDRAMのようなバンド幅が広く、バースト長が長いメモリに対しては、たくさんのバスマスタをつけることになれば、もっとたくさんのバッファを持たなければならなかった。このほかにも、メモリへのアクセス順番を入れ替えることで高帯域化が可能なメモリもあるため、その入れ替えのためのバッファメモリをさらに必要とされている。
本発明は、前記従来の課題を解決するもので、多数のバスマスタを、バンド幅の大きなメモリと高速にインタフェースをとりつつ、バッファ等を最小限にすることができ、かつアービトレーションが必要ないメモリアクセス調停手段を提供するものである。
前記従来の課題を解決するために、本発明のメモリアクセス調停手段は、メモリアクセスをN個の周期にわけ、おのおのの周期には一つのバスマスタからのリードあるいはライトのみを受け付けるようにする。そして、おのおののバスマスタに付随する回路は、リードからライトまでのレテンシをそのバスマスタのメモリをアクセスできる周期+Nの倍数とする。
本構成によって、メモリアービタは、おのおのの周期にリクエストが存在するかどうかの判定のみをおこない、リクエストが存在するときのみメモリに対してアクセスするようにするため、余計なバッファを必要とせず、またアービトレーションも必要でない。そのため、小型のメモリアクセス調停手段とすることができる。また、各サブモジュールは全体のパイプラインが固定されており、入力されたデータがメモリに書き戻されるまでパイプライン・ストールすることなく実行することが出来る。
本発明のメモリアクセス調停手段によれば、高速アクセスに必須の大量のバッファメモリを必要とせず、また、多量のバスマスタに対するアービトレーションをとる必要も無く、おのおののサブモジュールのパイプらインストールへの対応をすることなく、高速なメモリアクセスを提供することができる。
以下本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
図1は、本発明の実施の形態1におけるメモリアクセス調停方法のメモリマスタとアービタの図である。図1において、図3と同じ構成要素については同じ符号を用い、説明を省略する。
図1において、マスタA101、マスタB102、マスタC103、マスタD104、マスタE105は調停回路106により調停され、RAM107にアクセスすることの出来るサブモジュールであり、おのおの独立している。ここでは、マスタのすべてを総称してマスタ群108と名づける。調停回路106は、RAM107とマスタ群108の各マスタからのアクセス要求を調停し、マスタからRAM107へのデータをバッファリングし、RAM107からマスタへのデータをバッファリングする。RAM107はマスタ群108のデータを蓄える。
図1のマスタ群108中のマスタが調停回路106へアクセスするタイミングについて図2を用いて説明する。図において、区間201はRAM107アクセスの1単位であり、この区間は一つのコアのリードあるいはライトのみが実行できる。この区間201が8つで一つの周期202となる。この周期202においてマスタA101は区間201の1の時(203)にリードを行い、それから5区間後の6の時(204)にライトを行う。同様に、マスタB102は3のときにリード8のときにライト、マスタC103は4の時にリード7の時にライトを行う。また、マスタD104とマスタE105は2のときにリード、5のときにライトを行うが、この2つのマスタに関しては、リードあるいはライトに関してアービトレーションを行い、どちらか片方がリードあるいはライトの区間201を占有する。このようなアクセスの方法により、調停回路106がRAM107に対して、リード用の回路ライト用の回路を区間201が1のときはマスタA101の読み出し用線とRAM107間をつなぎ、マスタD104とマスタE105のうち調停で勝ったほうのマスタとRAM107をつなぎ、次にマスタB102とRAM107、次にマスタC103とRAM107、次にマスタD104とマスタE105の勝ったほうとRAM107、次にマスタA101とRAM107、次にマスタC103とRAM107、次にマスタB102とRAM107というようにつなぐ。
図3は図1のマスタA101の内部回路のパイプライン構造を示したものである。マスタA内部回路301は、4段のパイプライン構成になっており、RAM107から読み出されたマスタA読み出しデータ302をマスタA内部回路301のステージ1(304)、ステージ2(305)、ステージ3(306)、ステージ4(307)の4段の回路で処理された後、マスタA書き込みデータ303として調停回路106を通してRAM107に書き込まれる。この間、マスタA内部回路301では、有効なデータが流れている間、パイプラインはストールせず、ハンドシェーク等が全く無く、処理される。
図4は図3のマスタA内部回路301のパイプラインを4段からメモリアクセスの周期であるステージ5(308)、ステージ6(309)、ステージ7(310)、ステージ8(311)、ステージ9(312)、ステージ10(313)、ステージ11(314)、ステージ12(315)の8ステージを付加することにより、より細かい複雑な処理を実行することが出来る。
このように、図2に示すリードライトのタイミングと、図3、図4に示すようにリードからライトまでの基本サイクルに1周期ごとの付加周期を足すことにより、各マスタごとに柔軟な回路構成をとることが出来る。なお、ここでは、1周期を8サイクルとしているが、このサイクル数は任意の数でよい。また一つのマスタには1周期あたり1回のリードと1回のライトを割り当てているが、その数には制限は無い。また、各マスタはデータのリードからライトまで、処理ステージは一つしか活性化しないので、そのときにそのステージをクロックや電源を供給するような構成にしてもよい。またパイプライン構成のようにせずに、あるステージはデータをフィードバックして数サイクルそのステージにかけても良い。
本発明にかかるメモリアクセス調停方法は、大量のバッファを持たない周期的なアクセスに基づくバスアービトレーション装置を有し、高速で広帯域なメモリアクセス用のメモリコントローラとして有用である。また内蔵DRAM等のバスアービトレーション用途にも応用できる。
本発明の実施の形態1におけるメモリアクセス調停方法のメモリマスタとアービタ図 本発明の実施の形態1におけるマスタが調停回路へアクセスするタイミング図 本発明の実施の形態1におけるマスタAのパイプライン構成図 本発明の実施の形態1におけるマスタAのパイプライン構成図 従来のメモリコントローラにつながるバスマスタの構成図
符号の説明
101 マスタA
102 マスタB
103 マスタC
104 マスタD
105 マスタE
106 調停回路
107 RAM
108 マスタ群
201 区間
202 周期
203 区間1
204 区間6
301 マスタA内部回路
302 マスタA読み出しデータ
303 マスタA書き込みデータ
304 ステージ1
305 ステージ2
306 ステージ3
307 ステージ4
308 ステージ5
309 ステージ6
310 ステージ7
311 ステージ8
312 ステージ9
313 ステージ10
314 ステージ11
315 ステージ12
515 画像入力I/F(IDIN0)
540 データバッファ
541,542,555 ワードバッファフラグ
556 セレクタ
557 ストア制御信号生成部
557a 第1カウンタ
557b 第1デコーダ
558 選択制御信号生成部
558a 第2カウンタ
558b 第2デコーダ
559 エンコーダ

Claims (4)

  1. 多数のメモリアクセスマスタが、同一のメモリに対してアクセスするメモリシステムにおいて、
    メモリへのアクセスをオンデマンドでは行わず、N回のメモリアクセスを1周期とし、そのN回に対して毎回同じサイクルに、同一のバスマスタからリードあるいはライトを行うメモリアクセス方式を行うメモリアービタと、
    各々のバスマスタは、一定の周期のあるサイクルにリード、あるサイクルにライトを1あるいは複数サイクルあるいはリード、ライトのどちらかしか行わない複数のバスマスタを備えたメモリアクセス調停方法。
  2. 請求項1のメモリアクセス調停方法において、前記バスマスタの処理実行のためのパイプライン段数が、前記メモリアービタにおける前記バスマスタのリードサイクルとライトサイクルの差の段数に一致していることを特徴とする請求項1に記載のメモリアクセス調停方法。
  3. 請求項2のメモリアクセス調停方法において、前記バスマスタの処理実行のためのパイプライン段数が、リードサイクルとライトサイクルの差の段数ではなく、差の段数+Nの倍数であることを特徴とする請求項2に記載のメモリアクセス調停方法。
  4. 請求項1、請求項2または請求項3のメモリアクセス調停方法において、前記バスマスタのパイプライン処理の各ステージでアクティブでないステージにたいしてクロックを供給しないことを特徴とする請求項1、請求項2、請求項3のメモリアクセス調停方法。
JP2005160967A 2005-06-01 2005-06-01 メモリアクセス調停方法 Pending JP2006338234A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005160967A JP2006338234A (ja) 2005-06-01 2005-06-01 メモリアクセス調停方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005160967A JP2006338234A (ja) 2005-06-01 2005-06-01 メモリアクセス調停方法

Publications (1)

Publication Number Publication Date
JP2006338234A true JP2006338234A (ja) 2006-12-14

Family

ID=37558751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005160967A Pending JP2006338234A (ja) 2005-06-01 2005-06-01 メモリアクセス調停方法

Country Status (1)

Country Link
JP (1) JP2006338234A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010124439A (ja) * 2008-11-21 2010-06-03 Canon Inc バス中継装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010124439A (ja) * 2008-11-21 2010-06-03 Canon Inc バス中継装置

Similar Documents

Publication Publication Date Title
US7707328B2 (en) Memory access control circuit
KR100908760B1 (ko) 다중 내부 데이터 버스 및 메모리 뱅크 인터리빙을 갖는방법 및 메모리 장치
JP5260511B2 (ja) シングルポートメモリセルを用いたデュアルポートsramメモリ
JP5453546B2 (ja) 複数の仮想キューを含むアドレス変換ユニット
US8601192B2 (en) Arbitration device, arbitration system, arbitration method, semiconductor integrated circuit, and image processing device
US10990524B2 (en) Memory with processing in memory architecture and operating method thereof
JPH0684351A (ja) クロック同期型半導体記憶装置およびそのアクセス方法
JP3027445B2 (ja) メモリーコントロールデバイス
JP2021521529A (ja) ネットワークスイッチのキュー
WO2006050983A1 (en) Memory access using multiple sets of address/data lines
JP2007213055A (ja) シンクロナスダイナミックランダムアクセスメモリを用いたフレームデータの転送方法及びフレームデータのソースドライバへの転送方法並びにタイミング制御モジュール
JP2007018222A (ja) メモリアクセス制御回路
JPH09198862A (ja) 半導体メモリ
JP2006338234A (ja) メモリアクセス調停方法
WO2009081551A1 (ja) メモリ装置及びその制御方法
JP5829106B2 (ja) 信号転送回路
JP5360594B2 (ja) Dma転送装置及び方法
JPWO2010122607A1 (ja) 記憶制御装置及びその制御方法
JP4112813B2 (ja) バスシステム及びそのコマンドの伝達方法
US6483753B1 (en) Endianess independent memory interface
JP2004310394A (ja) Sdramアクセス制御装置
TWI442383B (zh) 顯示裝置之記憶體架構及其控制方法
US11914532B2 (en) Memory device bandwidth optimization
JP4726187B2 (ja) 半導体集積回路
US11854602B2 (en) Read clock start and stop for synchronous memories