(57)【要約】【課題】  複数のバスマスタが共有メモリにブロック転送する際に、アクセス待ち時間を格段に短縮することにある。【解決手段】  バスマスタ３−１，３−２が共有メモリ４にブロック転送を行うために供給した先頭アドレス値とブロックデータサイズとに基づき、ブロックデータが共有メモリ４における特定ロウアドレスが示す範囲内に収まるか否かを判別するためのページ境界判別回路２２と、ブロックデータを記憶可能なバッファ２４とを備え、ページ境界判別回路２２によってブロックデータが同一ロウアドレスで示される範囲内に収まると判別された場合はバッファ２４を介さずに共有メモリ４に転送し、そしてブロックデータが同一ロウアドレスで示される範囲内に収まらないと判別された場合はバッファ２４に転送し、バッファ２４に記憶されたブロックデータは、共有メモリ４に他のデータ転送が行われていない時に転送されるよう制御するように構成した。【選択図】      図２
2005332125.tif 000002
【特許請求の範囲】
【請求項１】
ＤＲＡＭで構成された共有メモリと複数のバスマスタとを中継接続し、前記複数のバスマスタから前記共有メモリへの各ブロックデータ転送によるアクセスをアービトレーション制御するメモリコントローラにおいて、
前記各バスマスタが前記共有メモリにブロックデータ転送を行うために供給した先頭アドレス値とブロックデータのデータサイズとに基づき、前記ブロックデータが前記共有メモリにおける特定ロウアドレスが示す範囲内に収まるか否かを判別するためのページ境界判別手段と、
前記ブロックデータを記憶可能な記憶手段とを備え、
前記ページ境界判別手段によって前記ブロックデータが同一ロウアドレスで示される範囲内に収まると判別された場合には前記記憶手段を介さずに前記共有メモリに前記ブロックデータを転送し、
前記ブロックデータが同一ロウアドレスで示される範囲内に収まらないと判別された場合には前記記憶手段に前記ブロックデータを転送し、
前記記憶手段に転送されたブロックデータは、前記共有メモリに他のデータ転送が行われていない時にブロック転送されるよう制御される構成とした
ことを特徴とするメモリコントローラ。
【請求項２】
ＤＲＡＭで構成された共有メモリと複数のバスマスタとがメモリコントローラを介してそれぞれ接続された共有メモリシステムにおいて、
前記複数のバスマスタは、それぞれがブロックデータ転送の先頭アドレス値とブロックデータのデータサイズとを発行する手段を備え、
前記メモリコントローラは、前記各バスマスタから供給された前記先頭アドレス値とブロックデータのデータサイズとに基づき、前記ブロックデータが前記共有メモリにおける特定ロウアドレスが示す範囲内に収まるか否かを判別するためのページ境界判別手段と、
前記ブロックデータを記憶可能な記憶手段とを備え、
前記ページ境界判別手段によって前記ブロックデータが同一ロウアドレスで示される範囲内に収まると判別された場合には前記記憶手段を介さずに前記共有メモリに前記ブロックデータを転送し、
前記ブロックデータが同一ロウアドレスで示される範囲内に収まらないと判別された場合には前記記憶手段に前記ブロックデータを転送し、
前記記憶手段に転送されたブロックデータは、前記共有メモリに他のデータ転送が行われていない時にブロック転送されるよう制御される構成とした
ことを特徴とする共有メモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のバスマスタがメモリを共有する共有メモリシステム及びこの共有メモリシステムにおいて使用されるメモリコントローラに関し、特にバスマスタからのライトアクセスにおいてアクセス待ち時間を短縮することのできるメモリコントローラ及び共有メモリシステムに関する。
【背景技術】
【０００２】
デジタル情報を扱う装置においては大容量データが処理されることが多い。特にデジタル画像記録再生装置等の画像データを扱う装置においては、ストリームデータとも呼ばれる大容量のデータが連続的に処理される。このような大容量の連続データの一時記憶に利用するメモリとしては、集積度が高くビット単価が安価なＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）が用いられることが多い。このＤＲＡＭは、基本的にロウアドレス（行アドレス）及びカラムアドレス（列アドレス）によってメモリ内のアクセス位置（番地）が特定されるようになっており、同一のロウアドレス内の連続したカラムアドレスで示される位置の範囲（これを１ページという。）にはＤＲＡＭ特有の単純なアクセスサイクルによる連続アクセスが可能であるという利点を有するものである。
【０００３】
ところで、画像データ等のストリームデータをＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）デバイス等のバスマスタからＤＲＡＭにデータ転送する場合、その転送データ容量がＤＲＡＭの１ページ分の容量に収まる程少量の場合を除き、通常は複数のページにわたってデータが転送されることとなる。このような場合、バスマスタはロウアドレスを変化させる度にあらためてデータ転送のアクセス要求を発行しなければならず、大容量連続データの転送効率を悪くする要因であると共に、バスマスタ側のアドレス制御を煩雑にするという問題を有していた。
【０００４】
そこで、このような問題を解決するために、メモリコントローラにロウアドレスの変化点を検出するロウアドレス変化点検出回路を内蔵させ、そしてこの検出回路がロウアドレスの変化点を検出したときにデータ転送の停止及び再開を自動的に制御するようにして煩雑な外部制御を改善したメモリコントローラが特許文献１に記載されている。この特許文献１の発明によれば、バスマスタがロウアドレスの変化点を跨いだ大容量のデータ転送を行った場合でも、バスマスタ側はロウアドレスの変化を気にすることなくデータ転送を実行できる利点がある。
【０００５】
次に、特許文献１に記載された発明を複数のバスマスタがアクセス可能なメモリコントローラに適用した場合の一例について説明する。図５はその一例を示したものであり、２つのバスマスタのアービトレーションが可能な、従来の共有メモリシステムの概略ブロック図である。同図によれば、従来の共有メモリシステムは、共有メモリ５１がメモリコントローラ５２を介してバスマスタ５３−１及び５３−２に接続された構成である。そして、メモリコントローラ５２は、バスマスタ５３−１及び５３−２の共有メモリ５１へのアクセスを調停するための調停回路５４と、各バスマスタからのアドレスバスのうちいずれか一方を選択するためのアドレスバスセレクタ５５と、各バスマスタからのデータバスのうちいずれか一方を選択するためのデータバスセレクタ５６と、アドレスバスセレクタ５５から供給されたバスマスタのアドレス入力からロウアドレスの変化点つまりページ境界を判別するためのページ境界判別回路５７とから構成される。
【０００６】
このような構成による従来の共有メモリシステムは、各バスマスタから共有メモリ５１にライトアクセスをする場合の動作について以下のように行われる。すなわち、バスマスタ５３−１及び５３−２又はいずれか１つから、メモリコントローラ５２に対してアクセスを要求すると、調停回路５４は予め決定され設定されている優先順位に基づき選択された１つのバスマスタに対してのみアクセスの許可を返信する。次に、このアクセス許可信号を受信したバスマスタは、共有メモリ５１に対してデータ転送を開始する。このデータ転送動作においては、選択されたバスマスタは調停回路５４から供給されるアクセス許可信号に同期して変化させたアドレスをアドレスバスセレクタ５５に供給してライトデータをデータバスセレクタ５６に供給する。そして、アドレス指定においてロウアドレスの指定がページ境界を跨いだ場合、ページ境界判別回路５７はロウアドレスの変化点を判別してデータ転送の一時停止及び再開の処理等を自動制御する。これにより、データ転送を実行しているバスマスタ側は、特別な制御を行うことなくページを跨いだデータ転送を続行することが可能である。
【０００７】
次に、従来の共有メモリシステムにおけるバスマスタ５３−１及び５３−２の基本的なアクセスタイミングの例について図を参照して説明する。まず、図６（ａ）は、バスマスタ５３−１のアクセスがバスマスタ５３−２のアクセスと競合せずに、且つページ境界を跨がずに共有メモリ５１にライトアクセスした場合のアクセスタイミングの例を示した図である。同図によれば、バスマスタ５３−１がアクセス要求信号ＲＥＱＡを出力し、次にメモリコントローラ５２からアクセス許可信号ＡＣＫＡが返信され、そしてこのＡＣＫＡに同期してバスマスタ５３−１は各アドレス値を変化させている様子が分かる。
【０００８】
そして、図６（ｂ）は、バスマスタ５３−１のアクセスがバスマスタ５３−２のアクセスと競合せずに、且つページ境界を跨いで共有メモリ５１にライトアクセスした場合のアクセスタイミングの例を示した図である。同図によれば、アドレス値６１とアドレス値６２との間がページ境界であることを示している。なお、アドレス値６２の発生期間が他のアドレスよりも長くなっているのは、共有メモリ５１がページ切り換え時に発生させたリフレッシュ動作を実行しているためである。このように、通常、共有メモリ５１を構成するＤＲＡＭは、記憶されたデータを消失させないためにリフレッシュ動作と呼ばれる記憶データの書き戻し動作をページ切り換え時に実行してデータ記憶を継続させている。
【０００９】
次に、図６（ｃ）は、バスマスタ５３−１がページ境界を跨ぐデータ転送アクセスを実行中にバスマスタ５３−２がアクセス要求を出力した場合のアクセスタイミングの例を示した図である。同図によれば、バスマスタ５３−１がページ境界を跨ぐデータ転送アクセスを実行中にバスマスタ５３−２がアクセス要求を出力した場合、バスマスタ５３−２はバスマスタ５３−１によるデータ転送が終了するまで待たされた後、データ転送を開始していることを示している。
【特許文献１】特開平６−１８７２２９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
図６（ｃ）に示したように、従来の共有メモリシステムにおいては、複数のバスマスタから重複したアクセス要求が出力された場合に排他的な処理しかできないため、優先順位の低いバスマスタはアクセス要求信号を出力したままアクセス許可信号の供給を受けるまで待たされることとなり、大容量のデータ転送を行うメモリシステムにおいては転送効率の点において大きな改善すべき課題を有していた。
【００１１】
そこで、本発明は、メモリコントローラ内に任意容量のバッファを備え、バスマスタからの１回のデータ転送容量がバッファ容量以下に抑えられたブロック転送の要求が発行された際に、このブロック転送がページ境界を跨ぐアクセスである場合はバッファにブロックデータを一時記憶させて共有メモリに書き込むよう制御し、そしてバッファに一時記憶させている間は他のバスマスタの共有メモリへのライトアクセスを許可するよう制御することで、従来はメモリコントローラに対して排他的であったアクセスについて複数のバスマスタ間での重複アクセスを可能とし、ストリームデータの転送全体としてメモリアクセスタイミングを短縮させることが可能なメモリコントローラ及び共有メモリシステムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、上述した課題を解決するために以下（１）及び（２）の手段より構成したものである。
【００１３】
（１）ＤＲＡＭで構成された共有メモリと複数のバスマスタとを中継接続し、前記複数のバスマスタから前記共有メモリへの各ブロックデータ転送によるアクセスをアービトレーション制御するメモリコントローラにおいて、前記各バスマスタが前記共有メモリにブロックデータ転送を行うために供給した先頭アドレス値とブロックデータのデータサイズとに基づき、前記ブロックデータが前記共有メモリにおける特定ロウアドレスが示す範囲内に収まるか否かを判別するためのページ境界判別手段と、前記ブロックデータを記憶可能な記憶手段とを備え、前記ページ境界判別手段によって前記ブロックデータが同一ロウアドレスで示される範囲内に収まると判別された場合には前記記憶手段を介さずに前記共有メモリに前記ブロックデータを転送し、前記ブロックデータが同一ロウアドレスで示される範囲内に収まらないと判別された場合には前記記憶手段に前記ブロックデータを転送し、前記記憶手段に転送されたブロックデータは、前記共有メモリに他のデータ転送が行われていない時にブロック転送されるよう制御される構成としたことを特徴とするメモリコントローラ。
【００１４】
（２）ＤＲＡＭで構成された共有メモリと複数のバスマスタとがメモリコントローラを介してそれぞれ接続された共有メモリシステムにおいて、前記複数のバスマスタは、それぞれがブロックデータ転送の先頭アドレス値とブロックデータのデータサイズとを発行する手段を備え、前記メモリコントローラは、前記各バスマスタから供給された前記先頭アドレス値とブロックデータのデータサイズとに基づき、前記ブロックデータが前記共有メモリにおける特定ロウアドレスが示す範囲内に収まるか否かを判別するためのページ境界判別手段と、前記ブロックデータを記憶可能な記憶手段とを備え、前記ページ境界判別手段によって前記ブロックデータが同一ロウアドレスで示される範囲内に収まると判別された場合には前記記憶手段を介さずに前記共有メモリに前記ブロックデータを転送し、前記ブロックデータが同一ロウアドレスで示される範囲内に収まらないと判別された場合には前記記憶手段に前記ブロックデータを転送し、前記記憶手段に転送されたブロックデータは、前記共有メモリに他のデータ転送が行われていない時にブロック転送されるよう制御される構成としたことを特徴とする共有メモリシステム。
【発明の効果】
【００１５】
本発明に係るメモリコントローラ及び共有メモリシステムによれば、複数のバスマスタによって共有使用されるＤＲＡＭを備えた共有メモリシステムにおいて、バスマスタからブロック転送されるブロックデータが共有メモリの同一ロウアドレスで示されるアドレス空間に収まらない場合はメモリコントローラに内蔵された記憶手段に一時記憶されるため、この記憶手段にブロックデータが記憶されている間に他のバスマスタからブロック転送のアクセス要求があった場合であって、このアクセスが同一ロウアドレスで示されるアドレス空間内である場合には記憶手段を介さずに直接共有メモリにデータ転送を行うことが可能である。よって、メモリコントローラ内部の記憶手段を介したデータ転送と記憶手段を介さないデータ転送とを重複させることによって従来のデータ転送アクセスをアービトレーションする際に生じていたオーバヘッドを少なくし、これによってストリームデータ転送全体として共有メモリへのアクセス時間を短縮することができるという格別な効果を奏する。
【発明を実施するための最良の形態】
【００１６】
以下、本発明に係るメモリコントローラ及び共有メモリシステムを実施するための最良の形態について図を参照して説明する。
まず、図１は本共有メモリシステムの概略ブロック図の例を示したものである。同図に示すように、本共有メモリシステムは、バス１−１及び１−２を介してメモリコントローラ２とバスマスタ３−１及び３−２とがそれぞれ接続され、メモリコントローラ２にはこれら２つのバスマスタによって共有使用される共有メモリ４がバス接続された構成である。ここに、本実施の形態例では説明を簡略化するためにバスマスタ数を２つとした場合を例とするが、本発明思想はバスマスタの数が２つに限定されず、２つ以上のバスマスタの接続も可能なようにメモリコントローラ及び共有メモリシステムを構成することも可能である。
【００１７】
上述した概略構成による共有メモリシステムにおいて、バス１−１及び１−２は、バスマスタ３−１及び３−２とメモリコントローラ２との間でそれぞれデータが送受信されるデータバスやそれぞれ共有メモリ４のアドレスを指定するためのアドレスバス、そしてそれぞれ共有メモリ４の書き込みや読み出しを制御する制御線等からなるものである。この中で、各データバスは各バスマスタとメモリコントローラ２との共通データ端子が必要なバス幅に応じて必要本数分が接続され、これと同様に各アドレスバスは各バスマスタとメモリコントローラ２との共通アドレス端子が必要なデータ容量に応じて必要本数分が接続される。メモリコントローラ２は、詳細については後述するが、バスマスタ３−１及び３−２から共有メモリ４へのアクセスのアービトレーションを行って１つの共有メモリ４が排他的にアクセスされるよう制御する機能を有したメモリインターフェースである。
【００１８】
バスマスタ３−１及び３−２は、それぞれメモリコントローラ２を介して共有メモリ４に連続データを転送するためのデバイスであり、例えばＣＰＵ等のプロセッサやＤＭＡデバイス等を指すものである。共有メモリ４は、バスマスタ３−１又は３−２によってアクセスされる全バスマスタ共有のメモリであり、前述したようにロウアドレスとカラムアドレスによってアクセスされるメモリ内番地を指定する方式であって、且つロウアドレスの変化に伴って記憶されたデータが消失されないようにリフレッシュ動作を実行する機能を有したＤＲＡＭ方式によるものである。
【００１９】
次に、２つのバスマスタに対応した場合のメモリコントローラ２の内部構成例について説明する。メモリコントローラ２は、バスマスタ３−１又は３−２から共有メモリ４にアクセスするための内部パスとして、後述するバッファを介してアクセスするバッファドパスと、このバッファを介さないでアクセスするダイレクトパスとに分けることができる。
【００２０】
次に、図２にメモリコントローラ２の概略内部ブロック図の例を示す。同図に示すように、メモリコントローラ２は、バスマスタ３−１及び３−２の共有メモリ４への各ライトアクセスが競合した場合に予め決定され設定された優先順位に基づき一方を優先してアクセスさせて他方を待たせるよう制御するための調停回路２１と、各バスマスタから各バスを介してそれぞれ供給される先頭アドレスと転送データ数（この転送データ数分のデータを１ブロックと定義する。）との情報に基づき、先頭アドレスから１ブロック分のデータアクセスが共有メモリ４を構成するＤＲＡＭ内部のページ境界を跨ぐか否かをそれぞれ判別するためのページ境界判別回路２２と、バス１−１及び１−２を介して各バスマスタからのデータバス及びアドレスバスがそれぞれ入力され、調停回路２１によるアービトレーションの結果とページ境界判別回路２２のページ境界判別結果とに基づき２つのバスマスタからの２系統入力がバッファドパスとダイレクトパスとにそれぞれ切り換え可能な第１のセレクタ回路２３と、各バスマスタの１ブロック転送がページ境界判別回路２２の判別によりページを跨ぐアクセスである場合に、バッファドパスによるデータ転送となるようにその１ブロック転送データ全てを一時記憶するためのバッファ２４と、バッファドパスによるデータ転送とダイレクトパスによるデータ転送とを切り換えて共有メモリ４にインターフェースするための第２のセレクタ回路２５とから構成される。
【００２１】
以上の構成による本共有メモリシステムの動作についてフローチャートを参照して説明する。図３は、本共有メモリシステムにおいて、いずれかのバスマスタ（本例の場合バスマスタ３−１とする。）がアクセス要求を発行してから１ブロック分のデータ転送を行うまでの基本動作の流れを示したフローチャートの例である。同図に示すように、動作を開始後（ステップＳ３０１）、上述のとおり例としてバスマスタ３−１がアクセス要求信号、データ転送の先頭アドレス、及び１ブロック分のデータ転送数をメモリコントローラ２に送信する（ステップＳ３０２）。これにおいて、バスマスタ３−１側は１ブロック分のデータ転送数をバッファ２４の容量を越えない範囲で設定する。
【００２２】
アクセス要求信号はメモリコントローラ２の調停回路２１に入力され、バスマスタ３−１が共有メモリ４へのアクセス要求をかけたことを通知する。そして、データ転送の先頭アドレス及び１ブロック分のデータ転送数はページ境界判別回路２２に入力され、１ブロック分のデータ転送に必要な共有メモリ４のアドレス範囲を計算する（ステップＳ３０３）。これは、例えば本共有メモリシステムが８ビット幅のデータバスを有している場合は先頭アドレスに転送バイト数分を加算することでアドレス範囲を算出することができ、又データバス幅が３２ビットである場合は、４バイトのデータにつきアドレスが１つインクリメントされるため先頭アドレスに転送バイト数の１／４を加算することでアドレス範囲を算出することができる。
【００２３】
次に、ページ境界判別回路２２は、上記算出されたアドレス範囲が共有メモリ４を構成するＤＲＡＭ内のページを跨ぐか否かを判別する（ステップＳ３０４）。これは、先頭アドレスにおけるロウアドレスと算出後のアドレスにおけるロウアドレスとを比較することにより、両ロウアドレスが同じであれば１ページ内のデータ転送であると判断し、両ロウアドレスが異なればページを跨いだデータ転送であると判断することができる。
【００２４】
そして、先頭アドレスからの１ブロックのデータ転送が共有メモリ４において１ページ内に収まると判断された場合（ステップＳ３０４  Ｙｅｓ）、ページ境界判別回路２２は他のバスマスタ（本例の場合はバスマスタ３−２）によってダイレクトパスによるライトアクセスが実行されているか否かを判別する（ステップＳ３０５）。そして、他のバスマスタからダイレクトパスによって共有メモリ４にデータ書き込み中であった場合（ステップＳ３０５  Ｙｅｓ）は、この他のバスマスタによるデータ書き込み処理が終了するまで待機状態となる。
【００２５】
一方、他のバスマスタによるダイレクトパスでのライトアクセスがない場合（ステップＳ３０５  Ｎｏ）は、ページ境界判別回路２２はバスマスタ３−１のデータバス及びアドレスバスを第２のセレクタ回路２５に接続するよう第１のセレクタ回路２３を設定し、第１のセレクタ回路２３からのデータバス及びアドレスバスを共有メモリ４に接続するよう第２のセレクタ回路２５を設定する（ステップＳ３０６）。
【００２６】
また一方、ステップＳ３０４において、先頭アドレスからの１ブロックのデータ転送が共有メモリ４においてページを跨ぐと判断された場合（ステップＳ３０４  Ｎｏ）、ページ境界判別回路２２は他のバスマスタ（本例の場合はバスマスタ３−２）によってバッファドパスによるライトアクセスが実行されているか否かを判別する（ステップＳ３０７）。そして、他のバスマスタからバッファドパスによってバッファ２４にデータ書き込み中であった場合（ステップＳ３０７  Ｙｅｓ）は、この他のバスマスタによるデータ書き込み処理が終了するまで待機状態となる。
【００２７】
一方、他のバスマスタによるバッファドパスでのライトアクセスがない場合（ステップＳ３０７  Ｎｏ）は、ページ境界判別回路２２はバスマスタ３−１のデータバス及びアドレスバスをバッファ２４に接続するよう第１のセレクタ回路２３を設定する（ステップＳ３０８）。
【００２８】
ステップＳ３０６によるダイレクトパスの設定、又はステップＳ３０８によるバッファドパスの設定が完了した後、調停回路２１はバスマスタ３−１に対してアクセス許可信号を発行し、１ブロックのデータ転送を許可したことを通知する（ステップＳ３０９）。そして、アクセス許可信号を受信したバスマスタは１ブロックのデータ転送を実行し（ステップＳ３１０）、１ブロックのデータ転送サイクルを終了する（ステップＳ３１１）。
【００２９】
以上のようにして、アクセス要求を発行したバスマスタの内、アクセス許可されたバスマスタは１ブロック分のデータ転送を実行する。前述の説明において明らかなように、ダイレクトパス及びバッファドパスにおいて、共有メモリ４にブロックデータを書き込むアクセスを実行するのはダイレクトパスのみであるため、ダイレクトパスとバッファドパスとは重複して実行することが可能である。つまり、２つのバスマスタそれぞれがダイレクトパスとバッファドパスである場合においては、両パスによるアクセスを重複してそれぞれ実行することが可能である。
【００３０】
そして、一旦バッファ２４に記憶されたブロックデータは、他のバスマスタからのダイレクトパスによる共有メモリ４へのデータ転送アクセスが実行されていない時間に、ページ境界判別回路２２がバッファ２４からのデータバス及びアドレスバスを共有メモリ４に接続するよう第２のセレクタ回路２５を設定して、バッファ２４に記憶された１ブロック分のデータを共有メモリ４にブロック転送するよう制御する。
【００３１】
次に、本発明に係る共有メモリシステムにおけるバスマスタ３−１及び３−２の基本的なアクセスタイミングの例について図４を参照して説明する。同図は、バスマスタ３−１がページ境界を跨ぐデータ転送アクセスを実行中にバスマスタ３−２がページ境界を跨がないデータ転送アクセスのアクセス要求を発行したときの様子を示したタイミングチャートである。同図によれば、バスマスタ３−１がページ境界を跨ぐデータ転送アクセスを実行中にバスマスタ３−２がアクセス要求を出力した場合、特に図６（ｃ）との比較において明らかなように、バスマスタ３−２はバスマスタ３−１によるデータ転送が終了するまで待つことなく重複してそれぞれのバスマスタからメモリコントローラ２に対してデータ転送を行うことができ、メモリコントローラ２が両バスマスタからブロックデータを取り込む時間を従来の方式よりも早くすることができる。
【００３２】
この１ブロックのデータ転送の後、バッファ２４に一時記憶されたバスマスタ３−１の１ブロック分のデータはダイレクトパスによるデータ転送が実行されていない間に共有メモリ４にブロック転送されるが、大量のページに跨ってアクセスされるストリームデータ転送全体においては、アービトレーションのオーバヘッドが減少することにより全体的なアクセス時間を短縮することができる。
【産業上の利用可能性】
【００３３】
本発明に係る共有メモリシステム及びメモリコントローラは、複数のプロセッサからなるマルチプロセッサシステムや複数のＤＭＡデバイス等からなるマルチバスマスタシステムにおいて、高速性が要求されるリアルタイムシステムに適用できるものである。
【図面の簡単な説明】
【００３４】
【図１】本発明に係る共有メモリシステムに含まれるメモリコントローラの一例概略ブロック図を示したものである。
【図２】本発明に係るメモリコントローラの一例概略内部ブロック図である。
【図３】本発明に係る共有メモリシステムにおいて、いずれかのバスマスタがアクセス要求を発行してから１ブロック分のデータ転送を行うまでの基本動作の流れを示したフローチャートの例である。
【図４】本発明に係る共有メモリシステムにおいて、バスマスタ３−１がページ境界を跨ぐデータ転送アクセスを実行中にバスマスタ３−２がページ境界を跨がないデータ転送アクセスのアクセス要求を発行したときの様子を示したタイミングチャートである。
【図５】従来の共有メモリシステムにおける一例概略ブロック図である。
【図６】従来の共有メモリシステムにおけるバスマスタ５３−１及び５３−２の基本的なアクセスタイミングの例である。
【符号の説明】
【００３５】
１−１，１−２  バス
２  メモリコントローラ
３−１，３−２  バスマスタ
４  共有メモリ
２１  調停回路
２２  ページ境界判別回路
２３  第１のセレクタ回路
２４  バッファ
２５  第２のセレクタ回路
【図１】
2005332125.tif 000003
【図２】
2005332125.tif 000004
【図３】
2005332125.tif 000005
【図４】
2005332125.tif 000006
【図５】
2005332125.tif 000007
【図６】
2005332125.tif 000008