JP2007172112A - メモリコントローラ - Google Patents
メモリコントローラ Download PDFInfo
- Publication number
- JP2007172112A JP2007172112A JP2005366052A JP2005366052A JP2007172112A JP 2007172112 A JP2007172112 A JP 2007172112A JP 2005366052 A JP2005366052 A JP 2005366052A JP 2005366052 A JP2005366052 A JP 2005366052A JP 2007172112 A JP2007172112 A JP 2007172112A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- selector
- access
- arbiter
- shared memory
- 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
- Bus Control (AREA)
Abstract
【課題】接続されるバスマスタの個数によらず回路規模を略一定に保つとともに、バスリクエストの待ち時間を格段に短縮するメモリコントローラを提供する。
【解決手段】バスマスタ3−1〜3−4からの各バスリクエストから1つを選択するセレクタ15−1,15−2,16と、各セレクタで選択されるバスリクエストが重複しないように切換制御するアービタ17と、セレクタ15−1,15−2に接続されて、バスマスタの個数分のアクセスデータ単位長の記憶容量をそれぞれ有するバッファメモリ14−1,14−2と、バッファメモリ14−1,14−2の各出力とセレクタ16の出力とから、1つの出力を選択するためのセレクタ12と、セレクタ16からセレクタ12に供給されるバスリクエストの出力優先順位を最も低くしてセレクタ12から1つの出力を選択するアービタ13とを具備した。
【選択図】図2
【解決手段】バスマスタ3−1〜3−4からの各バスリクエストから1つを選択するセレクタ15−1,15−2,16と、各セレクタで選択されるバスリクエストが重複しないように切換制御するアービタ17と、セレクタ15−1,15−2に接続されて、バスマスタの個数分のアクセスデータ単位長の記憶容量をそれぞれ有するバッファメモリ14−1,14−2と、バッファメモリ14−1,14−2の各出力とセレクタ16の出力とから、1つの出力を選択するためのセレクタ12と、セレクタ16からセレクタ12に供給されるバスリクエストの出力優先順位を最も低くしてセレクタ12から1つの出力を選択するアービタ13とを具備した。
【選択図】図2
Description
本発明は、複数のバスマスタが共有メモリにアクセスする際のバス・アービトレーションを制御するメモリコントローラに係り、特にバスマスタからのライトアクセスにおいてバスリクエストの待ち時間を短縮することのできるメモリコントローラに関する。
複数のプロセッサ等のバスマスタが共通のデータバスを介して共有メモリに接続された共有メモリシステムにおいては、一のバスマスタが共有メモリにアクセスする際に、他のバスマスタによるアクセスとの競合によるデータ・コンフリクトを避けるよう各バスマスタを制御する必要がある。このようなバス・アービトレーション制御を行う共有メモリシステムが特許文献1に記載されている。この特許文献1には従来から知られている共有メモリシステムについて記載されており(特に、図8を参照)、又共有メモリをより効率良くアクセス可能なように改良された共有メモリ制御装置について記載されている。
特開平11−39207号公報
しかしながら、特許文献1の図8に記載されたような共有メモリシステムにおいては、複数のバスマスタから一斉にアクセス要求が出力されると、ワーストケースにおいて(バスマスタの個数−1)回分のバス使用権の取得が待たされることとなる。この様子のタイミングの例を図6のタイミングチャートに示す。同図は、特許文献1の図8に記載されたような構成の共有メモリシステムであって、4つのバスマスタBM1〜BM4が接続された場合について、これら4つのバスマスタが同時に共有メモリにライトアクセスを実行したときのバス・アービトレーションの例を示したタイミングチャートである。
前提として、各バスマスタのバス使用権の優先順位はBM1>BM2>BM3>BM4(BM1の優先順位が一番高い。)であるとし、各バスマスタからのライトデータは同じデータ長であるとする。バスマスタから共有メモリへのライトアクセスの基本的なシーケンスは次のとおりである。まず、バスマスタはデータバスを占有して使用するためにバス使用要求(バスリクエスト)をアービタに発行する。複数のバスマスタから同時にバスリクエストが出力された場合は、アービタは供給された各バスリクエストを調停し、そのうち1つのバスマスタに対してデータバスの使用を許可することを示すバス使用許可(バスアクノリッジ)を送信する。このバスアクノリッジを受信したバスマスタは、バス使用権を獲得した唯一のバスマスタとしてバスを占有してライトアクセスを実行する。
このような基本シーケンスで動作する共有メモリシステムにおいて、全てのバスマスタBM1〜BM4が同時にバスリクエストを発行した場合、各バスマスタのバスリクエスト及びアービタからのバスアクノリッジのタイミングは図6のタイミングチャートのようになる。同図に示したように、4つのバスマスタの中で一番優先順位の低いBM4に着目すれば、3回分のメモリアクセスが待たされていることが分かる。そして、同図は4つのバスマスタからのライトアクセスに続くBM1の次のライトアクセスがアクセス開始タイミング61から開始されていることを示している。
上述したようなバス・アービトレーション動作の説明から分かるように、従来の共有メモリシステムにおいては、バス競合が発生してアービタがバス使用権を調停している間、バス使用権の取得を待たされるバスマスタは、ずっとバスアクノリッジを待ち続けることになるために、非常にアクセス効率が悪いという問題があった。
また、従来の構成においては、待ち時間分だけデータを保持するバッファをバスマスタ側に備える必要があり、しかも1つのバスリクエストしか保持することができないため、バスマスタ側の処理負荷が大きいという問題があった。
さらに、特許文献1に記載された共有メモリ制御装置には、この装置の構成部である共有メモリコントローラ103の中に、バスマスタBM1〜BM3から共有メモリ104へのライトアクセスに際してライトデータが格納されるライトバッファユニット(WBFU)711が示されている。しかし、この構成は各バスマスタが最低限必要とするメモリアクセスバンド幅を維持して共有メモリ104を効率良く使用するために必要とするものであり、この機能を達成する共有メモリ制御装置は複雑な構成となる欠点があった。
そこで、本発明は上記問題に鑑みてなされたものであり、その目的は、複数のバスマスタからのアクセスを調停するメモリコントローラであって、バスマスタの数によって回路構成が複雑にならずに、且つバスマスタ側に無駄なバスリクエスト保持時間を与えないバス・アービトレーションを可能とするメモリコントローラを提供することである。
上記の課題を解決するために、請求項1に記載の発明は、
複数のバスマスタ(3−1〜3−4)がそれぞれ接続されたデータバス(1)と共有メモリ(4)とを中継接続して、前記複数のバスマスタから前記共有メモリへのアクセス系統をアービトレーション制御するメモリコントローラにおいて、
前記複数のバスマスタそれぞれからの前記アクセス系統からいずれか1系統を選択するための3つの第1セレクタ(15−1,15−2,16)と、
前記各第1セレクタで選択されるアクセス系統が重複しないように入力を切換制御するための第1アービタ(17)と、
前記3つの第1セレクタのうち2つの第1セレクタ(15−1,15−2)それぞれに接続されて、前記複数分のアクセスデータ単位長の記憶容量をそれぞれ有する2つのバッファメモリ(14−1,14−2)と、
これら2つのバッファメモリの各出力といずれのバッファメモリも接続されていない1つの前記第1セレクタ(16)の出力とから、1つの出力を選択するための前記各バッファメモリの出力段に設けられた第2セレクタ(12)と、
前記1つの第1セレクタから前記第2セレクタに供給されるアクセス系統の出力優先順位を最も低くして前記第2セレクタから1つの出力を選択する第2アービタ(13)とを具備し、
前記複数のバスマスタからのアクセス系統が競合した場合に、前記第1及び第2のアービタが、前記2つのバッファメモリを介さないダイレクトパスと前記2つのバッファメモリを介したバッファドパスとのうち、前記ダイレクトパスを前記バッファドパスよりも優先順位を高くして各アクセス系統をアービトレーション制御するようにしたことを特徴としたメモリコントローラ
を提供するものである。
複数のバスマスタ(3−1〜3−4)がそれぞれ接続されたデータバス(1)と共有メモリ(4)とを中継接続して、前記複数のバスマスタから前記共有メモリへのアクセス系統をアービトレーション制御するメモリコントローラにおいて、
前記複数のバスマスタそれぞれからの前記アクセス系統からいずれか1系統を選択するための3つの第1セレクタ(15−1,15−2,16)と、
前記各第1セレクタで選択されるアクセス系統が重複しないように入力を切換制御するための第1アービタ(17)と、
前記3つの第1セレクタのうち2つの第1セレクタ(15−1,15−2)それぞれに接続されて、前記複数分のアクセスデータ単位長の記憶容量をそれぞれ有する2つのバッファメモリ(14−1,14−2)と、
これら2つのバッファメモリの各出力といずれのバッファメモリも接続されていない1つの前記第1セレクタ(16)の出力とから、1つの出力を選択するための前記各バッファメモリの出力段に設けられた第2セレクタ(12)と、
前記1つの第1セレクタから前記第2セレクタに供給されるアクセス系統の出力優先順位を最も低くして前記第2セレクタから1つの出力を選択する第2アービタ(13)とを具備し、
前記複数のバスマスタからのアクセス系統が競合した場合に、前記第1及び第2のアービタが、前記2つのバッファメモリを介さないダイレクトパスと前記2つのバッファメモリを介したバッファドパスとのうち、前記ダイレクトパスを前記バッファドパスよりも優先順位を高くして各アクセス系統をアービトレーション制御するようにしたことを特徴としたメモリコントローラ
を提供するものである。
本発明に係るメモリコントローラによれば、複数のバスマスタから共有メモリへのライトアクセスに際してアクセスの競合が発生した場合に、各ライトアクセスは、メモリコントローラ内部の2つのバッファが一旦ライトデータを保持してアービトレーションされるため、従来のように優先順位の低いバスマスタのバスリクエストがバスアクノリッジを待ち続けることがなく、ライトアクセスの効率が格段に良くなる。
また、本発明に係るメモリコントローラは、接続されるバスマスタの数によらずメモリコントローラ内部のバッファ及びセレクタの個数を固定とし、並びにアービタの回路を略一定規模に保つことが可能であるため、バスマスタの接続数が増えることによるシステム規模の拡大がされたとしても、メモリコントローラ自体の回路規模の増大を回避することができるとともに、アービタのアービトレーション制御を複雑化させないことが可能である。
以下、本発明を実施するための最良の形態について、図面を参照して説明する。図1は本発明の一実施形態を説明するために示した共有メモリシステムの概略ブロック図である。同図に示すように、共有メモリシステムは、データバス1を介してメモリコントローラ2と4つのバスマスタ3−1〜3−4とがそれぞれ接続され、そしてメモリコントローラ2にはこれら全てのバスマスタによって共有使用される共有メモリ4が接続された構成である。
上記の構成において、データバス1は、バスマスタ3−1〜3−4のうちいずれか1つのバスマスタとメモリコントローラ2を介した共有メモリ4との間でデータが送受信されるデータ線であり、バスマスタ3−1〜3−4とメモリコントローラ2との共通端子が必要なバス幅に応じて接続されている。
メモリコントローラ2は、本発明に係る部分であり、バスマスタ3−1〜3−4のうちいずれか1つのバスマスタが共有メモリ4へのアクセス権を取得してデータバス1を占有使用するよう制御する機能を有している。
バスマスタ3−1〜3−4は、それぞれがデータバス1とメモリコントローラ2とを介して共有メモリ4とデータを送受するデバイスであり、例えばCPU(Central Processing Unit)やDMA(Direct Memory Access)デバイス等を指すものである。
共有メモリ4は、バスマスタ3−1〜3−4のうちいずれか1つのバスマスタによってアクセスされる全バスマスタ共有のメモリであり、DRAMやSRAM等のメモリの種類には限定されない。
なお、本実施形態では、共有メモリシステムは4つのバスマスタを使用した例について説明するが、この数は4に限定されず2つ以上のバスマスタが接続されるものであってよい。また、データバス1は、バスマスタ3−1〜3−4のインターフェース(I/F)及びメモリコントローラ2の内部構成によりデータラインとアドレスラインとがマルチプレックスされたアドレス/データバスであってもよい。
次に、メモリコントローラ2の内部構成について、図2の概略ブロック図を参照して説明する。メモリコントローラ2は、4つのバスマスタ3−1〜3−4から共有メモリ4へのデータ送信を中継するための内部パスとして、後述するバッファ14−1,14−2をそれぞれ介する2つのデータパス(バッファドパス)と、バッファ14−1,14−2のいずれも介さない1つのデータパス(ダイレクトパス)とを有する。
同図に示すように、メモリコントローラ2は、共有メモリ4に対する書き込み等のアクセスを直接制御するためのメモリアクセス制御部11と、後述するセレクタ16からのダイレクトパス及び2つのバッファ14−1,14−2それぞれからのバッファドパスのうち、いずれか1つのパスを切換えるためのセレクタ12(第2セレクタ)と、ダイレクトパス及び2つのバッファドパスのうちいずれか1つのパスを選択するためのアービタ13(第2アービタ)と、バスマスタ3−1〜3−4のうちいずれか3つ以内のバスマスタがそれぞれライトアクセスするデータを一時記憶するためのバッファ14−1,14−2(バッファメモリ)と、バスマスタ3−1〜3−4のうち前記いずれか3つ以内のバスマスタからのアクセスをバッファ14−1,14−2に接続させるためのセレクタ15−1,15−2(第1セレクタ)と、バスマスタ3−1〜3−4のうち前記3つのバスマスタを除いた残り1つのバスマスタをバッファ14−1,14−2のいずれのバッファをも介さずにセレクタ12に接続するためのセレクタ16(第1セレクタ)と、セレクタ15−1,15−2及びセレクタ16のそれぞれについて、バスマスタ3−1〜3−4のうちいずれか1つをアービトレーションするためのアービタ17(第1アービタ)とを備えている。
セレクタ15−1,15−2は、バッファ14−1,14−2にそれぞれ対応して設けられたものであるが、これらの各セレクタはバスマスタ3−1〜3−4の中からいずれか1つのバスマスタを選択可能なように構成されている。また、セレクタ16はダイレクトパスに対応したセレクタであるが、これもバスマスタ3−1〜3−4の中からいずれか1つのバスマスタを選択可能なように構成されている。
以上の構成によるメモリコントローラ2において、アービタ13は、バッファドパスをダイレクトパスよりも優先して制御するものであり、且つ2つのバッファドパスについては、説明の便宜上バッファ14−1をバッファ14−2よりも優先度を高く制御するものとする。また、アービタ17は、セレクタ16をセレクタ15−1,15−2よりも優先して制御するものであり、且つセレクタ15−1をセレクタ15−2よりも優先度を高く制御するものとする。
また、バッファ14−1,14−2それぞれは、少なくともバスマスタの単一ライトデータをバスマスタの個数分合計したデータ容量を有している。具体的には、例えばバスマスタ3−1〜3−4それぞれの単一ライトデータ長が32ビット(4バイト)である場合は、バッファ14−1,14−2それぞれは、少なくとも4×4バイト=16バイトの容量を有する。
以上説明したように、メモリコントローラ2が備えるバッファとこのバッファに接続されるセレクタとの数は、データバス1に接続されるバスマスタの数によらず各2つ固定である。
次に、本実施形態における共有メモリシステムの処理動作について説明する。バスマスタ3−1〜3−4のうちいずれか1つのバスマスタとメモリコントローラ2との基本的なアクセスシーケンスは、前述したバスリクエスト及びバスアクノリッジによって実現されるものである。図3は、バスマスタ3−1〜3−4のうちいずれか1つのバスマスタがメモリコントローラ2に対してバスリクエストを発行した場合について、メモリコントローラ2の動作を説明するためのフローチャートである。
まず、バスマスタ3−1〜3−4のいずれか1つからライトアクセスのためのバスリクエストが発行される(ステップS301)。次に、メモリコントローラ2のアービタ17は、バッファ14−1,14−2のいずれかに未処理のライトデータが格納されているか否かを判定する(ステップS302)。そして、いずれかのバッファに未処理のライトデータが格納されていた場合(ステップS302 Yes)は、バッファドパスによる処理をダイレクトパスによる処理よりも優先させるべくバッファドパスの処理(ステップS307以降)に移行する。
バッファ14−1,14−2のいずれにも未処理のライトデータが格納されてない場合(ステップS302 No)は、アービタ17は、他のバスマスタからのバスリクエストが発行されているか否かを判定する(ステップS303)。
そして、これら他のバスマスタのいずれからもバスリクエストが発行されていない場合(ステップS303 No)は、前記バスリクエストを発行したバスマスタからのライトデータが、ダイレクトパスによって共有メモリ4に書き込まれる(ステップS304)。
より具体的には、バスリクエストを発行したバスマスタと供給メモリ4とのアクセス経路を確立するために、アービタ17は、このバスマスタからのライトデータをダイレクトパスによって共有メモリ4に書き込み実行させるためにセレクタ16を選択する。そして、前記バスマスタからセレクタ16を通してセレクタ12に供給されたバスリクエストは、アービタ13によるアービトレーション(詳細は後述する。)によってメモリアクセス制御部11に供給され、メモリアクセス制御部11で共有メモリ4の書込み要求信号が生成されて供給メモリ4に出力される。このようにして、バスリクエストを発行したバスマスタと共有メモリ4との間にライトアクセス経路が確立されたのち、このバスマスタから供給メモリ4に所定のアドレスを指定してライトデータが転送される。
前記他のバスマスタのいずれかからバスリクエストが発行された場合(ステップS303 Yes)は、アービタ17によるアービトレーションが実行される(ステップS305)。このアービトレーションでは、バスリクエストが発行された全てのバスマスタのいずれかについて、ダイレクトパスによるライトアクセスとバッファドパスによるライトアクセスとが予め設定された各バスマスタの優先順位に基づいて設定される。すなわち、バスリクエストを発行している各バスマスタのうち最も優先順位の高いバスマスタについてはダイレクトパスが設定され、それ以外のバスマスタについてバッファドパスが設定される。
そして、アービタ17のアービトレーションによってダイレクトパスによるアクセス許可が与えられた場合(ステップS306 Yes)は、前述したステップS304によって共有メモリ4へのライトアクセスを実行する)。また、アービタ17のアービトレーションによってバッファドパスによるアクセス許可が与えられた場合(ステップS306 No)は、アービタ17は、バッファ14−1,14−2に空き容量があるか否かを判定する(ステップS307)。
そして、バッファ14−1,14−2ともに空き容量が無いと判定された場合(ステップS307 No)は、いずれかのバッファに空き容量が生じるまで待機する。また、いずれかのバッファに空き容量があると判定された場合(ステップS307 Yes)は、アービタ17は、バッファドパスによるアクセス許可が与えられたバスマスタが複数あるか否かを判定する(ステップS308)。
そして、バッファドパスによるアクセス許可が与えられたバスマスタが1つである場合(ステップS308 No)は、アービタ17は、バッファ14−1,14−2の空き容量を有しているバッファ(空きバッファ)に、各バッファの優先順位に基づいてライトデータを書き込むようセレクタ15−1,15−2を制御する(ステップS309)。
また、バッファドパスによるアクセス許可が与えられたバスマスタが複数ある場合(ステップS308 Yes)は、アービタ17は、バスリクエストの数に対して空きバッファの数が足りているか否かを判定する(ステップS310)。そして、バスリクエスト数が空きバッファ数よりも少ない場合(ステップS310 Yes)は、空きバッファにライトデータを書き込むためにステップS309に移行する。一方、バスリクエスト数が空きバッファ数よりも多い場合(ステップS310 No)は、アービタ17によるセレクタ15−1,15−2のアービトレーションを実行する(ステップS311)。
次に、アービタ17によるアービトレーションで優先されたバッファドパスのアクセス(ステップS312 Yes)は、ステップS309による空きバッファへのデータライトを行う。また、アービタ17によるアービトレーションで待機しているバッファドパスのアクセスは、バッファ14−1,14−2に空き容量が生じるまで待機する(ステップS313)。そして、バッファ14−1,14−2のいずれかに空き容量が生じた場合(ステップS313 Yes)は、その時点におけるバッファドパスによるアクセス許可が与えられたバスマスタが複数あるか否かを判定するためにステップS308に移行する。
次に、バスマスタ3−1〜3−4のうちいずれか1つのバスマスタから共有メモリ4にデータを書き込む場合のダイレクトパスと2つのバッファドパスとをアービトレーションするアービタ13の動作について、図4のフローチャートを参照して説明する。同図において、アービタ13は、バッファ14−1,14−2のうちいずれかのバッファにライトデータが格納されているか否かを判定する(ステップS401)。そして、バッファ14−1,14−2いずれにもライトデータが格納されていない場合(ステップS401 No)は、セレクタ16からのダイレクトパスによるバスリクエストがあるか否かを判定する(ステップS402)。そして、ダイレクトパスの要求がない場合(ステップS402 No)は入力待ちとなり、ダイレクトパスの要求がある場合(ステップS402 Yes)はダイレクトパスによって共有メモリ4へのアクセスが実行される(ステップS403)。
バッファ14−1,14−2の少なくともいずれかにライトデータが格納されている場合(ステップS401 Yes)は、バッファ14−1,14−2ともにライトデータが格納されているか否かを判定する(ステップS404)。そして、ライトデータが格納されたバッファが1つである場合(ステップS404 No)は、バッファドパスによってその格納されたライトデータを共有メモリ4に書き込むアクセスが実行される(ステップS405)。また、バッファ14−1,14−2ともにライトデータが格納されていると判定された場合(ステップS404 Yes)は、アービタ13によってアービトレーションが実行される(ステップS406)。そして、アービタ13によって選択されたバッファからの共有メモリ4へのアクセスが実行されたのち(ステップS407)、ステップS404に移行する。
以上説明した共有メモリシステムにおいて、4つのバスマスタ3−1〜3−4が同時に共有メモリ4にライトアクセスを実行した場合のタイミングの例を図5のタイミングチャートに示す。同図によれば、バスマスタ3−1がダイレクトパスによる共有メモリ4へのアクセスを実行し、そしてバスマスタ3−2〜3−4がバッファドパスによるアクセスを実行した例である。前述した従来例のタイミングチャート(図6)と比べて各バスマスタの待ち時間が十分に短くなっている。
また、バスマスタ3−1の2回目のバスリクエストについても発行タイミング51が図6に示した従来例のタイミングよりも早くなっている。
以上、詳述したように本実施形態の共有メモリシステムによれば、複数のバスマスタから共有メモリへのライトアクセスに際してアクセスの競合が発生した場合に、メモリコントローラが、各ライトデータを内部バッファに一旦格納してアービトレーションするため、従来のように優先順位の低いバスマスタのバスリクエストがバスアクノリッジを待ち続けることがなくライトアクセス効率が格段に改善される。また、このように各バスマスタ間のアービトレーションが効率化されることにより、1つのバスマスタの前回のアクセスから次のアクセスまでの待ち時間が飛躍的に短くすることができる。
さらには、接続されるバスマスタの数によらずメモリコントローラ内部のバッファ及びセレクタの個数を固定とし、並びにアービタの回路を略一定規模に保つことが可能であるため、バスマスタの接続数が増えることによるシステム規模の拡大がされたとしても、メモリコントローラ自体の回路規模の増大を回避することができるとともに、アービタのアービトレーション制御を複雑化させないことが可能である。
なお、本実施形態におけるメモリコントローラの動作説明においては、バスマスタ3−1〜3−4から共有メモリ4へのライトアクセスについてのみ具体的に説明したが、本発明の技術的思想は、バスマスタ3−1〜3−4から共有メモリへのリードアクセスについても適用できる。
本発明は、複数のプロセッサからなるマルチプロセッサシステムや複数のDMAデバイス等からなるマルチバスマスタシステムにおいて、高速性が要求されるリアルタイムシステムに有用である。
1 データバス
2 メモリコントローラ
3−1〜3−4 バスマスタ
4 共有メモリ
11 メモリアクセス制御部
12 セレクタ
13 アービタ
14−1,14−2 バッファ
15−1,15−2 セレクタ
16 セレクタ
17 アービタ
2 メモリコントローラ
3−1〜3−4 バスマスタ
4 共有メモリ
11 メモリアクセス制御部
12 セレクタ
13 アービタ
14−1,14−2 バッファ
15−1,15−2 セレクタ
16 セレクタ
17 アービタ
Claims (1)
- 複数のバスマスタがそれぞれ接続されたデータバスと共有メモリとを中継接続して、前記複数のバスマスタから前記共有メモリへのアクセス系統をアービトレーション制御するメモリコントローラにおいて、
前記複数のバスマスタそれぞれからの前記アクセス系統からいずれか1系統を選択するための3つの第1セレクタと、
前記各第1セレクタで選択されるアクセス系統が重複しないように入力を切換制御するための第1アービタと、
前記3つの第1セレクタのうち2つの第1セレクタそれぞれに接続されて、前記複数分のアクセスデータ単位長の記憶容量をそれぞれ有する2つのバッファメモリと、
これら2つのバッファメモリの各出力といずれのバッファメモリも接続されていない1つの前記第1セレクタの出力とから、1つの出力を選択するための前記各バッファメモリの出力段に設けられた第2セレクタと、
前記1つの第1セレクタから前記第2セレクタに供給されるアクセス系統の出力優先順位を最も低くして前記第2セレクタから1つの出力を選択する第2アービタとを具備し、
前記複数のバスマスタからのアクセス系統が競合した場合に、前記第1及び第2のアービタが、前記2つのバッファメモリを介さないダイレクトパスと前記2つのバッファメモリを介したバッファドパスとのうち、前記ダイレクトパスを前記バッファドパスよりも優先順位を高くして各アクセス系統をアービトレーション制御するようにしたことを特徴としたメモリコントローラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005366052A JP2007172112A (ja) | 2005-12-20 | 2005-12-20 | メモリコントローラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005366052A JP2007172112A (ja) | 2005-12-20 | 2005-12-20 | メモリコントローラ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007172112A true JP2007172112A (ja) | 2007-07-05 |
Family
ID=38298626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005366052A Pending JP2007172112A (ja) | 2005-12-20 | 2005-12-20 | メモリコントローラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007172112A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010039632A (ja) * | 2008-08-01 | 2010-02-18 | Canon Inc | バス調停システム |
JP2013178688A (ja) * | 2012-02-29 | 2013-09-09 | Kyocera Document Solutions Inc | 画像形成装置 |
JP2015077212A (ja) * | 2013-10-16 | 2015-04-23 | 株式会社三洋物産 | 遊技機 |
JP2015077211A (ja) * | 2013-10-16 | 2015-04-23 | 株式会社三洋物産 | 遊技機 |
JP2015233235A (ja) * | 2014-06-10 | 2015-12-24 | 株式会社リコー | 画像処理装置及び画像処理装置の制御方法 |
JP2017004554A (ja) * | 2016-08-24 | 2017-01-05 | ルネサスエレクトロニクス株式会社 | 情報処理装置 |
-
2005
- 2005-12-20 JP JP2005366052A patent/JP2007172112A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010039632A (ja) * | 2008-08-01 | 2010-02-18 | Canon Inc | バス調停システム |
JP2013178688A (ja) * | 2012-02-29 | 2013-09-09 | Kyocera Document Solutions Inc | 画像形成装置 |
JP2015077212A (ja) * | 2013-10-16 | 2015-04-23 | 株式会社三洋物産 | 遊技機 |
JP2015077211A (ja) * | 2013-10-16 | 2015-04-23 | 株式会社三洋物産 | 遊技機 |
JP2015233235A (ja) * | 2014-06-10 | 2015-12-24 | 株式会社リコー | 画像処理装置及び画像処理装置の制御方法 |
JP2017004554A (ja) * | 2016-08-24 | 2017-01-05 | ルネサスエレクトロニクス株式会社 | 情報処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090204771A1 (en) | Device for controlling access from a plurality of masters to shared memory composed of a plurality of banks each having a plurality of pages | |
JP2004171209A (ja) | 共有メモリデータ転送装置 | |
JP2010282405A (ja) | データ処理システム | |
KR100644596B1 (ko) | 버스 시스템 및 그 버스 중재방법 | |
JP2008276391A (ja) | メモリアクセス制御装置 | |
KR100708096B1 (ko) | 버스 시스템 및 그 실행 순서 조정방법 | |
JP2007172112A (ja) | メモリコントローラ | |
JP2000047974A (ja) | バス制御コントローラのバス調停方法、バス制御コントローラ及び電子機器のシステム | |
US20070156937A1 (en) | Data transfer in multiprocessor system | |
US8359419B2 (en) | System LSI having plural buses | |
JPH06231074A (ja) | システムバスの多重アクセス方式 | |
US20090013144A1 (en) | Integrated circuit, and integrated circuit system | |
US5627968A (en) | Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory | |
JP2009116702A (ja) | 半導体集積回路 | |
JP2005316546A (ja) | メモリコントローラ | |
JP2008140065A (ja) | アクセス調停装置、アクセス調停方法、及び情報処理装置 | |
JP2004355271A (ja) | データ転送システム | |
JP2008165463A (ja) | バス制御装置 | |
US8239652B2 (en) | Data processing system | |
JP2007506174A (ja) | 複数の通信用デジタル信号プロセッサを有する集積回路 | |
JPH09269927A (ja) | バスアクセス方法、バス、並びにバス接続システム | |
JP2003085125A (ja) | メモリ制御器及びメモリ制御方法 | |
JPH0844661A (ja) | 情報処理装置 | |
JP2000250850A (ja) | バス制御装置、マスタ装置及びスレーブ装置並びにバス制御方法 | |
JP2005062946A (ja) | メモリ制御装置 |