JP2005332125A - メモリコントローラ及び共有メモリシステム - Google Patents
メモリコントローラ及び共有メモリシステム Download PDFInfo
- Publication number
- JP2005332125A JP2005332125A JP2004148801A JP2004148801A JP2005332125A JP 2005332125 A JP2005332125 A JP 2005332125A JP 2004148801 A JP2004148801 A JP 2004148801A JP 2004148801 A JP2004148801 A JP 2004148801A JP 2005332125 A JP2005332125 A JP 2005332125A
- Authority
- JP
- Japan
- Prior art keywords
- shared memory
- data
- block data
- block
- transferred
- 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
Links
Images
Landscapes
- Information Transfer Systems (AREA)
- Memory System (AREA)
Abstract
【課題】 複数のバスマスタが共有メモリにブロック転送する際に、アクセス待ち時間を格段に短縮することにある。
【解決手段】 バスマスタ3−1,3−2が共有メモリ4にブロック転送を行うために供給した先頭アドレス値とブロックデータサイズとに基づき、ブロックデータが共有メモリ4における特定ロウアドレスが示す範囲内に収まるか否かを判別するためのページ境界判別回路22と、ブロックデータを記憶可能なバッファ24とを備え、ページ境界判別回路22によってブロックデータが同一ロウアドレスで示される範囲内に収まると判別された場合はバッファ24を介さずに共有メモリ4に転送し、そしてブロックデータが同一ロウアドレスで示される範囲内に収まらないと判別された場合はバッファ24に転送し、バッファ24に記憶されたブロックデータは、共有メモリ4に他のデータ転送が行われていない時に転送されるよう制御するように構成した。
【選択図】 図2
【解決手段】 バスマスタ3−1,3−2が共有メモリ4にブロック転送を行うために供給した先頭アドレス値とブロックデータサイズとに基づき、ブロックデータが共有メモリ4における特定ロウアドレスが示す範囲内に収まるか否かを判別するためのページ境界判別回路22と、ブロックデータを記憶可能なバッファ24とを備え、ページ境界判別回路22によってブロックデータが同一ロウアドレスで示される範囲内に収まると判別された場合はバッファ24を介さずに共有メモリ4に転送し、そしてブロックデータが同一ロウアドレスで示される範囲内に収まらないと判別された場合はバッファ24に転送し、バッファ24に記憶されたブロックデータは、共有メモリ4に他のデータ転送が行われていない時に転送されるよう制御するように構成した。
【選択図】 図2
Description
本発明は、複数のバスマスタがメモリを共有する共有メモリシステム及びこの共有メモリシステムにおいて使用されるメモリコントローラに関し、特にバスマスタからのライトアクセスにおいてアクセス待ち時間を短縮することのできるメモリコントローラ及び共有メモリシステムに関する。
デジタル情報を扱う装置においては大容量データが処理されることが多い。特にデジタル画像記録再生装置等の画像データを扱う装置においては、ストリームデータとも呼ばれる大容量のデータが連続的に処理される。このような大容量の連続データの一時記憶に利用するメモリとしては、集積度が高くビット単価が安価なDRAM(Dynamic Random Access Memory)が用いられることが多い。このDRAMは、基本的にロウアドレス(行アドレス)及びカラムアドレス(列アドレス)によってメモリ内のアクセス位置(番地)が特定されるようになっており、同一のロウアドレス内の連続したカラムアドレスで示される位置の範囲(これを1ページという。)にはDRAM特有の単純なアクセスサイクルによる連続アクセスが可能であるという利点を有するものである。
ところで、画像データ等のストリームデータをCPU(Central Processing Unit)やDMA(Direct Memory Access)デバイス等のバスマスタからDRAMにデータ転送する場合、その転送データ容量がDRAMの1ページ分の容量に収まる程少量の場合を除き、通常は複数のページにわたってデータが転送されることとなる。このような場合、バスマスタはロウアドレスを変化させる度にあらためてデータ転送のアクセス要求を発行しなければならず、大容量連続データの転送効率を悪くする要因であると共に、バスマスタ側のアドレス制御を煩雑にするという問題を有していた。
そこで、このような問題を解決するために、メモリコントローラにロウアドレスの変化点を検出するロウアドレス変化点検出回路を内蔵させ、そしてこの検出回路がロウアドレスの変化点を検出したときにデータ転送の停止及び再開を自動的に制御するようにして煩雑な外部制御を改善したメモリコントローラが特許文献1に記載されている。この特許文献1の発明によれば、バスマスタがロウアドレスの変化点を跨いだ大容量のデータ転送を行った場合でも、バスマスタ側はロウアドレスの変化を気にすることなくデータ転送を実行できる利点がある。
次に、特許文献1に記載された発明を複数のバスマスタがアクセス可能なメモリコントローラに適用した場合の一例について説明する。図5はその一例を示したものであり、2つのバスマスタのアービトレーションが可能な、従来の共有メモリシステムの概略ブロック図である。同図によれば、従来の共有メモリシステムは、共有メモリ51がメモリコントローラ52を介してバスマスタ53−1及び53−2に接続された構成である。そして、メモリコントローラ52は、バスマスタ53−1及び53−2の共有メモリ51へのアクセスを調停するための調停回路54と、各バスマスタからのアドレスバスのうちいずれか一方を選択するためのアドレスバスセレクタ55と、各バスマスタからのデータバスのうちいずれか一方を選択するためのデータバスセレクタ56と、アドレスバスセレクタ55から供給されたバスマスタのアドレス入力からロウアドレスの変化点つまりページ境界を判別するためのページ境界判別回路57とから構成される。
このような構成による従来の共有メモリシステムは、各バスマスタから共有メモリ51にライトアクセスをする場合の動作について以下のように行われる。すなわち、バスマスタ53−1及び53−2又はいずれか1つから、メモリコントローラ52に対してアクセスを要求すると、調停回路54は予め決定され設定されている優先順位に基づき選択された1つのバスマスタに対してのみアクセスの許可を返信する。次に、このアクセス許可信号を受信したバスマスタは、共有メモリ51に対してデータ転送を開始する。このデータ転送動作においては、選択されたバスマスタは調停回路54から供給されるアクセス許可信号に同期して変化させたアドレスをアドレスバスセレクタ55に供給してライトデータをデータバスセレクタ56に供給する。そして、アドレス指定においてロウアドレスの指定がページ境界を跨いだ場合、ページ境界判別回路57はロウアドレスの変化点を判別してデータ転送の一時停止及び再開の処理等を自動制御する。これにより、データ転送を実行しているバスマスタ側は、特別な制御を行うことなくページを跨いだデータ転送を続行することが可能である。
次に、従来の共有メモリシステムにおけるバスマスタ53−1及び53−2の基本的なアクセスタイミングの例について図を参照して説明する。まず、図6(a)は、バスマスタ53−1のアクセスがバスマスタ53−2のアクセスと競合せずに、且つページ境界を跨がずに共有メモリ51にライトアクセスした場合のアクセスタイミングの例を示した図である。同図によれば、バスマスタ53−1がアクセス要求信号REQAを出力し、次にメモリコントローラ52からアクセス許可信号ACKAが返信され、そしてこのACKAに同期してバスマスタ53−1は各アドレス値を変化させている様子が分かる。
そして、図6(b)は、バスマスタ53−1のアクセスがバスマスタ53−2のアクセスと競合せずに、且つページ境界を跨いで共有メモリ51にライトアクセスした場合のアクセスタイミングの例を示した図である。同図によれば、アドレス値61とアドレス値62との間がページ境界であることを示している。なお、アドレス値62の発生期間が他のアドレスよりも長くなっているのは、共有メモリ51がページ切り換え時に発生させたリフレッシュ動作を実行しているためである。このように、通常、共有メモリ51を構成するDRAMは、記憶されたデータを消失させないためにリフレッシュ動作と呼ばれる記憶データの書き戻し動作をページ切り換え時に実行してデータ記憶を継続させている。
次に、図6(c)は、バスマスタ53−1がページ境界を跨ぐデータ転送アクセスを実行中にバスマスタ53−2がアクセス要求を出力した場合のアクセスタイミングの例を示した図である。同図によれば、バスマスタ53−1がページ境界を跨ぐデータ転送アクセスを実行中にバスマスタ53−2がアクセス要求を出力した場合、バスマスタ53−2はバスマスタ53−1によるデータ転送が終了するまで待たされた後、データ転送を開始していることを示している。
特開平6−187229号公報
図6(c)に示したように、従来の共有メモリシステムにおいては、複数のバスマスタから重複したアクセス要求が出力された場合に排他的な処理しかできないため、優先順位の低いバスマスタはアクセス要求信号を出力したままアクセス許可信号の供給を受けるまで待たされることとなり、大容量のデータ転送を行うメモリシステムにおいては転送効率の点において大きな改善すべき課題を有していた。
そこで、本発明は、メモリコントローラ内に任意容量のバッファを備え、バスマスタからの1回のデータ転送容量がバッファ容量以下に抑えられたブロック転送の要求が発行された際に、このブロック転送がページ境界を跨ぐアクセスである場合はバッファにブロックデータを一時記憶させて共有メモリに書き込むよう制御し、そしてバッファに一時記憶させている間は他のバスマスタの共有メモリへのライトアクセスを許可するよう制御することで、従来はメモリコントローラに対して排他的であったアクセスについて複数のバスマスタ間での重複アクセスを可能とし、ストリームデータの転送全体としてメモリアクセスタイミングを短縮させることが可能なメモリコントローラ及び共有メモリシステムを提供することを目的とする。
本発明は、上述した課題を解決するために以下(1)及び(2)の手段より構成したものである。
(1)DRAMで構成された共有メモリと複数のバスマスタとを中継接続し、前記複数のバスマスタから前記共有メモリへの各ブロックデータ転送によるアクセスをアービトレーション制御するメモリコントローラにおいて、前記各バスマスタが前記共有メモリにブロックデータ転送を行うために供給した先頭アドレス値とブロックデータのデータサイズとに基づき、前記ブロックデータが前記共有メモリにおける特定ロウアドレスが示す範囲内に収まるか否かを判別するためのページ境界判別手段と、前記ブロックデータを記憶可能な記憶手段とを備え、前記ページ境界判別手段によって前記ブロックデータが同一ロウアドレスで示される範囲内に収まると判別された場合には前記記憶手段を介さずに前記共有メモリに前記ブロックデータを転送し、前記ブロックデータが同一ロウアドレスで示される範囲内に収まらないと判別された場合には前記記憶手段に前記ブロックデータを転送し、前記記憶手段に転送されたブロックデータは、前記共有メモリに他のデータ転送が行われていない時にブロック転送されるよう制御される構成としたことを特徴とするメモリコントローラ。
(2)DRAMで構成された共有メモリと複数のバスマスタとがメモリコントローラを介してそれぞれ接続された共有メモリシステムにおいて、前記複数のバスマスタは、それぞれがブロックデータ転送の先頭アドレス値とブロックデータのデータサイズとを発行する手段を備え、前記メモリコントローラは、前記各バスマスタから供給された前記先頭アドレス値とブロックデータのデータサイズとに基づき、前記ブロックデータが前記共有メモリにおける特定ロウアドレスが示す範囲内に収まるか否かを判別するためのページ境界判別手段と、前記ブロックデータを記憶可能な記憶手段とを備え、前記ページ境界判別手段によって前記ブロックデータが同一ロウアドレスで示される範囲内に収まると判別された場合には前記記憶手段を介さずに前記共有メモリに前記ブロックデータを転送し、前記ブロックデータが同一ロウアドレスで示される範囲内に収まらないと判別された場合には前記記憶手段に前記ブロックデータを転送し、前記記憶手段に転送されたブロックデータは、前記共有メモリに他のデータ転送が行われていない時にブロック転送されるよう制御される構成としたことを特徴とする共有メモリシステム。
本発明に係るメモリコントローラ及び共有メモリシステムによれば、複数のバスマスタによって共有使用されるDRAMを備えた共有メモリシステムにおいて、バスマスタからブロック転送されるブロックデータが共有メモリの同一ロウアドレスで示されるアドレス空間に収まらない場合はメモリコントローラに内蔵された記憶手段に一時記憶されるため、この記憶手段にブロックデータが記憶されている間に他のバスマスタからブロック転送のアクセス要求があった場合であって、このアクセスが同一ロウアドレスで示されるアドレス空間内である場合には記憶手段を介さずに直接共有メモリにデータ転送を行うことが可能である。よって、メモリコントローラ内部の記憶手段を介したデータ転送と記憶手段を介さないデータ転送とを重複させることによって従来のデータ転送アクセスをアービトレーションする際に生じていたオーバヘッドを少なくし、これによってストリームデータ転送全体として共有メモリへのアクセス時間を短縮することができるという格別な効果を奏する。
以下、本発明に係るメモリコントローラ及び共有メモリシステムを実施するための最良の形態について図を参照して説明する。
まず、図1は本共有メモリシステムの概略ブロック図の例を示したものである。同図に示すように、本共有メモリシステムは、バス1−1及び1−2を介してメモリコントローラ2とバスマスタ3−1及び3−2とがそれぞれ接続され、メモリコントローラ2にはこれら2つのバスマスタによって共有使用される共有メモリ4がバス接続された構成である。ここに、本実施の形態例では説明を簡略化するためにバスマスタ数を2つとした場合を例とするが、本発明思想はバスマスタの数が2つに限定されず、2つ以上のバスマスタの接続も可能なようにメモリコントローラ及び共有メモリシステムを構成することも可能である。
まず、図1は本共有メモリシステムの概略ブロック図の例を示したものである。同図に示すように、本共有メモリシステムは、バス1−1及び1−2を介してメモリコントローラ2とバスマスタ3−1及び3−2とがそれぞれ接続され、メモリコントローラ2にはこれら2つのバスマスタによって共有使用される共有メモリ4がバス接続された構成である。ここに、本実施の形態例では説明を簡略化するためにバスマスタ数を2つとした場合を例とするが、本発明思想はバスマスタの数が2つに限定されず、2つ以上のバスマスタの接続も可能なようにメモリコントローラ及び共有メモリシステムを構成することも可能である。
上述した概略構成による共有メモリシステムにおいて、バス1−1及び1−2は、バスマスタ3−1及び3−2とメモリコントローラ2との間でそれぞれデータが送受信されるデータバスやそれぞれ共有メモリ4のアドレスを指定するためのアドレスバス、そしてそれぞれ共有メモリ4の書き込みや読み出しを制御する制御線等からなるものである。この中で、各データバスは各バスマスタとメモリコントローラ2との共通データ端子が必要なバス幅に応じて必要本数分が接続され、これと同様に各アドレスバスは各バスマスタとメモリコントローラ2との共通アドレス端子が必要なデータ容量に応じて必要本数分が接続される。メモリコントローラ2は、詳細については後述するが、バスマスタ3−1及び3−2から共有メモリ4へのアクセスのアービトレーションを行って1つの共有メモリ4が排他的にアクセスされるよう制御する機能を有したメモリインターフェースである。
バスマスタ3−1及び3−2は、それぞれメモリコントローラ2を介して共有メモリ4に連続データを転送するためのデバイスであり、例えばCPU等のプロセッサやDMAデバイス等を指すものである。共有メモリ4は、バスマスタ3−1又は3−2によってアクセスされる全バスマスタ共有のメモリであり、前述したようにロウアドレスとカラムアドレスによってアクセスされるメモリ内番地を指定する方式であって、且つロウアドレスの変化に伴って記憶されたデータが消失されないようにリフレッシュ動作を実行する機能を有したDRAM方式によるものである。
次に、2つのバスマスタに対応した場合のメモリコントローラ2の内部構成例について説明する。メモリコントローラ2は、バスマスタ3−1又は3−2から共有メモリ4にアクセスするための内部パスとして、後述するバッファを介してアクセスするバッファドパスと、このバッファを介さないでアクセスするダイレクトパスとに分けることができる。
次に、図2にメモリコントローラ2の概略内部ブロック図の例を示す。同図に示すように、メモリコントローラ2は、バスマスタ3−1及び3−2の共有メモリ4への各ライトアクセスが競合した場合に予め決定され設定された優先順位に基づき一方を優先してアクセスさせて他方を待たせるよう制御するための調停回路21と、各バスマスタから各バスを介してそれぞれ供給される先頭アドレスと転送データ数(この転送データ数分のデータを1ブロックと定義する。)との情報に基づき、先頭アドレスから1ブロック分のデータアクセスが共有メモリ4を構成するDRAM内部のページ境界を跨ぐか否かをそれぞれ判別するためのページ境界判別回路22と、バス1−1及び1−2を介して各バスマスタからのデータバス及びアドレスバスがそれぞれ入力され、調停回路21によるアービトレーションの結果とページ境界判別回路22のページ境界判別結果とに基づき2つのバスマスタからの2系統入力がバッファドパスとダイレクトパスとにそれぞれ切り換え可能な第1のセレクタ回路23と、各バスマスタの1ブロック転送がページ境界判別回路22の判別によりページを跨ぐアクセスである場合に、バッファドパスによるデータ転送となるようにその1ブロック転送データ全てを一時記憶するためのバッファ24と、バッファドパスによるデータ転送とダイレクトパスによるデータ転送とを切り換えて共有メモリ4にインターフェースするための第2のセレクタ回路25とから構成される。
以上の構成による本共有メモリシステムの動作についてフローチャートを参照して説明する。図3は、本共有メモリシステムにおいて、いずれかのバスマスタ(本例の場合バスマスタ3−1とする。)がアクセス要求を発行してから1ブロック分のデータ転送を行うまでの基本動作の流れを示したフローチャートの例である。同図に示すように、動作を開始後(ステップS301)、上述のとおり例としてバスマスタ3−1がアクセス要求信号、データ転送の先頭アドレス、及び1ブロック分のデータ転送数をメモリコントローラ2に送信する(ステップS302)。これにおいて、バスマスタ3−1側は1ブロック分のデータ転送数をバッファ24の容量を越えない範囲で設定する。
アクセス要求信号はメモリコントローラ2の調停回路21に入力され、バスマスタ3−1が共有メモリ4へのアクセス要求をかけたことを通知する。そして、データ転送の先頭アドレス及び1ブロック分のデータ転送数はページ境界判別回路22に入力され、1ブロック分のデータ転送に必要な共有メモリ4のアドレス範囲を計算する(ステップS303)。これは、例えば本共有メモリシステムが8ビット幅のデータバスを有している場合は先頭アドレスに転送バイト数分を加算することでアドレス範囲を算出することができ、又データバス幅が32ビットである場合は、4バイトのデータにつきアドレスが1つインクリメントされるため先頭アドレスに転送バイト数の1/4を加算することでアドレス範囲を算出することができる。
次に、ページ境界判別回路22は、上記算出されたアドレス範囲が共有メモリ4を構成するDRAM内のページを跨ぐか否かを判別する(ステップS304)。これは、先頭アドレスにおけるロウアドレスと算出後のアドレスにおけるロウアドレスとを比較することにより、両ロウアドレスが同じであれば1ページ内のデータ転送であると判断し、両ロウアドレスが異なればページを跨いだデータ転送であると判断することができる。
そして、先頭アドレスからの1ブロックのデータ転送が共有メモリ4において1ページ内に収まると判断された場合(ステップS304 Yes)、ページ境界判別回路22は他のバスマスタ(本例の場合はバスマスタ3−2)によってダイレクトパスによるライトアクセスが実行されているか否かを判別する(ステップS305)。そして、他のバスマスタからダイレクトパスによって共有メモリ4にデータ書き込み中であった場合(ステップS305 Yes)は、この他のバスマスタによるデータ書き込み処理が終了するまで待機状態となる。
一方、他のバスマスタによるダイレクトパスでのライトアクセスがない場合(ステップS305 No)は、ページ境界判別回路22はバスマスタ3−1のデータバス及びアドレスバスを第2のセレクタ回路25に接続するよう第1のセレクタ回路23を設定し、第1のセレクタ回路23からのデータバス及びアドレスバスを共有メモリ4に接続するよう第2のセレクタ回路25を設定する(ステップS306)。
また一方、ステップS304において、先頭アドレスからの1ブロックのデータ転送が共有メモリ4においてページを跨ぐと判断された場合(ステップS304 No)、ページ境界判別回路22は他のバスマスタ(本例の場合はバスマスタ3−2)によってバッファドパスによるライトアクセスが実行されているか否かを判別する(ステップS307)。そして、他のバスマスタからバッファドパスによってバッファ24にデータ書き込み中であった場合(ステップS307 Yes)は、この他のバスマスタによるデータ書き込み処理が終了するまで待機状態となる。
一方、他のバスマスタによるバッファドパスでのライトアクセスがない場合(ステップS307 No)は、ページ境界判別回路22はバスマスタ3−1のデータバス及びアドレスバスをバッファ24に接続するよう第1のセレクタ回路23を設定する(ステップS308)。
ステップS306によるダイレクトパスの設定、又はステップS308によるバッファドパスの設定が完了した後、調停回路21はバスマスタ3−1に対してアクセス許可信号を発行し、1ブロックのデータ転送を許可したことを通知する(ステップS309)。そして、アクセス許可信号を受信したバスマスタは1ブロックのデータ転送を実行し(ステップS310)、1ブロックのデータ転送サイクルを終了する(ステップS311)。
以上のようにして、アクセス要求を発行したバスマスタの内、アクセス許可されたバスマスタは1ブロック分のデータ転送を実行する。前述の説明において明らかなように、ダイレクトパス及びバッファドパスにおいて、共有メモリ4にブロックデータを書き込むアクセスを実行するのはダイレクトパスのみであるため、ダイレクトパスとバッファドパスとは重複して実行することが可能である。つまり、2つのバスマスタそれぞれがダイレクトパスとバッファドパスである場合においては、両パスによるアクセスを重複してそれぞれ実行することが可能である。
そして、一旦バッファ24に記憶されたブロックデータは、他のバスマスタからのダイレクトパスによる共有メモリ4へのデータ転送アクセスが実行されていない時間に、ページ境界判別回路22がバッファ24からのデータバス及びアドレスバスを共有メモリ4に接続するよう第2のセレクタ回路25を設定して、バッファ24に記憶された1ブロック分のデータを共有メモリ4にブロック転送するよう制御する。
次に、本発明に係る共有メモリシステムにおけるバスマスタ3−1及び3−2の基本的なアクセスタイミングの例について図4を参照して説明する。同図は、バスマスタ3−1がページ境界を跨ぐデータ転送アクセスを実行中にバスマスタ3−2がページ境界を跨がないデータ転送アクセスのアクセス要求を発行したときの様子を示したタイミングチャートである。同図によれば、バスマスタ3−1がページ境界を跨ぐデータ転送アクセスを実行中にバスマスタ3−2がアクセス要求を出力した場合、特に図6(c)との比較において明らかなように、バスマスタ3−2はバスマスタ3−1によるデータ転送が終了するまで待つことなく重複してそれぞれのバスマスタからメモリコントローラ2に対してデータ転送を行うことができ、メモリコントローラ2が両バスマスタからブロックデータを取り込む時間を従来の方式よりも早くすることができる。
この1ブロックのデータ転送の後、バッファ24に一時記憶されたバスマスタ3−1の1ブロック分のデータはダイレクトパスによるデータ転送が実行されていない間に共有メモリ4にブロック転送されるが、大量のページに跨ってアクセスされるストリームデータ転送全体においては、アービトレーションのオーバヘッドが減少することにより全体的なアクセス時間を短縮することができる。
本発明に係る共有メモリシステム及びメモリコントローラは、複数のプロセッサからなるマルチプロセッサシステムや複数のDMAデバイス等からなるマルチバスマスタシステムにおいて、高速性が要求されるリアルタイムシステムに適用できるものである。
1−1,1−2 バス
2 メモリコントローラ
3−1,3−2 バスマスタ
4 共有メモリ
21 調停回路
22 ページ境界判別回路
23 第1のセレクタ回路
24 バッファ
25 第2のセレクタ回路
2 メモリコントローラ
3−1,3−2 バスマスタ
4 共有メモリ
21 調停回路
22 ページ境界判別回路
23 第1のセレクタ回路
24 バッファ
25 第2のセレクタ回路
Claims (2)
- DRAMで構成された共有メモリと複数のバスマスタとを中継接続し、前記複数のバスマスタから前記共有メモリへの各ブロックデータ転送によるアクセスをアービトレーション制御するメモリコントローラにおいて、
前記各バスマスタが前記共有メモリにブロックデータ転送を行うために供給した先頭アドレス値とブロックデータのデータサイズとに基づき、前記ブロックデータが前記共有メモリにおける特定ロウアドレスが示す範囲内に収まるか否かを判別するためのページ境界判別手段と、
前記ブロックデータを記憶可能な記憶手段とを備え、
前記ページ境界判別手段によって前記ブロックデータが同一ロウアドレスで示される範囲内に収まると判別された場合には前記記憶手段を介さずに前記共有メモリに前記ブロックデータを転送し、
前記ブロックデータが同一ロウアドレスで示される範囲内に収まらないと判別された場合には前記記憶手段に前記ブロックデータを転送し、
前記記憶手段に転送されたブロックデータは、前記共有メモリに他のデータ転送が行われていない時にブロック転送されるよう制御される構成とした
ことを特徴とするメモリコントローラ。 - DRAMで構成された共有メモリと複数のバスマスタとがメモリコントローラを介してそれぞれ接続された共有メモリシステムにおいて、
前記複数のバスマスタは、それぞれがブロックデータ転送の先頭アドレス値とブロックデータのデータサイズとを発行する手段を備え、
前記メモリコントローラは、前記各バスマスタから供給された前記先頭アドレス値とブロックデータのデータサイズとに基づき、前記ブロックデータが前記共有メモリにおける特定ロウアドレスが示す範囲内に収まるか否かを判別するためのページ境界判別手段と、
前記ブロックデータを記憶可能な記憶手段とを備え、
前記ページ境界判別手段によって前記ブロックデータが同一ロウアドレスで示される範囲内に収まると判別された場合には前記記憶手段を介さずに前記共有メモリに前記ブロックデータを転送し、
前記ブロックデータが同一ロウアドレスで示される範囲内に収まらないと判別された場合には前記記憶手段に前記ブロックデータを転送し、
前記記憶手段に転送されたブロックデータは、前記共有メモリに他のデータ転送が行われていない時にブロック転送されるよう制御される構成とした
ことを特徴とする共有メモリシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004148801A JP2005332125A (ja) | 2004-05-19 | 2004-05-19 | メモリコントローラ及び共有メモリシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004148801A JP2005332125A (ja) | 2004-05-19 | 2004-05-19 | メモリコントローラ及び共有メモリシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005332125A true JP2005332125A (ja) | 2005-12-02 |
Family
ID=35486760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004148801A Pending JP2005332125A (ja) | 2004-05-19 | 2004-05-19 | メモリコントローラ及び共有メモリシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005332125A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100884429B1 (ko) | 2006-06-30 | 2009-02-19 | 가부시끼가이샤 도시바 | 불휘발성 반도체 메모리를 구비하는 메모리 시스템 |
-
2004
- 2004-05-19 JP JP2004148801A patent/JP2005332125A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100884429B1 (ko) | 2006-06-30 | 2009-02-19 | 가부시끼가이샤 도시바 | 불휘발성 반도체 메모리를 구비하는 메모리 시스템 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4737438B2 (ja) | 複数の処理ユニットでリソースを共有する情報処理装置 | |
JP2019525271A (ja) | 高速メモリインタフェースのためのコマンドアービトレーション | |
JP2006227836A (ja) | データ転送システムおよびデータ転送方法 | |
JP3819004B2 (ja) | メモリ制御装置 | |
JP2005339348A (ja) | 半導体装置 | |
JP2000047974A (ja) | バス制御コントローラのバス調停方法、バス制御コントローラ及び電子機器のシステム | |
US20050182908A1 (en) | Method and apparatus of interleaving memory bank in multi-layer bus system | |
JP2007172112A (ja) | メモリコントローラ | |
US5627968A (en) | Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory | |
JP5434812B2 (ja) | データ処理システム | |
JP2012226491A (ja) | メモリ制御装置、集積回路、情報処理装置およびメモリ制御方法 | |
JP2000020451A (ja) | 情報処理装置および方法、並びに提供媒体 | |
WO2005101219A1 (ja) | メモリコントローラ及び半導体装置 | |
JP2005332125A (ja) | メモリコントローラ及び共有メモリシステム | |
JP2005165592A (ja) | データ転送装置 | |
JP4633334B2 (ja) | 情報処理装置およびメモリアクセス調停方法 | |
JP3206585B2 (ja) | バス制御装置、マスタ装置及びスレーブ装置並びにバス制御方法 | |
JP3820831B2 (ja) | メモリ制御方法及び装置 | |
JP2000242544A (ja) | メモリ制御装置及びダイレクトメモリアクセス制御装置 | |
JP3674670B2 (ja) | バス制御装置及び半導体装置 | |
JP2000066946A (ja) | メモリコントローラ | |
CN117951052A (zh) | 内存控制器、访存方法、芯片及电子设备 | |
JP2000047975A (ja) | メモリアクセス制御回路 | |
JP2006127408A (ja) | データ転送システム及びその制御方法 | |
JPS60151894A (ja) | ダイナミツクramのリフレツシユ回路 |