JP2006127408A - データ転送システム及びその制御方法 - Google Patents

データ転送システム及びその制御方法 Download PDF

Info

Publication number
JP2006127408A
JP2006127408A JP2004318240A JP2004318240A JP2006127408A JP 2006127408 A JP2006127408 A JP 2006127408A JP 2004318240 A JP2004318240 A JP 2004318240A JP 2004318240 A JP2004318240 A JP 2004318240A JP 2006127408 A JP2006127408 A JP 2006127408A
Authority
JP
Japan
Prior art keywords
bus
master
memory controller
request
bus master
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.)
Withdrawn
Application number
JP2004318240A
Other languages
English (en)
Inventor
Koichi Morishita
浩一 森下
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2004318240A priority Critical patent/JP2006127408A/ja
Publication of JP2006127408A publication Critical patent/JP2006127408A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】 メモリコントローラからのバス使用推薦情報に基づいて各バスマスタがバスアービターに対してバス使用要求を発行する。
【解決手段】 複数のバスマスタと、外部メモリの制御を行うメモリコントローラと、各バスマスタからのバス使用要求を調停するバスアービターとが接続されるバスのデータ転送システムにおいて、メモリコントローラが各バスマスタにバス使用推薦情報を通知し、各バスマスタがメモリコントローラから通知されたバス使用推薦情報に基づいてバスアービターにバス使用要求を発行する。
【選択図】 図4

Description

本発明は、複数のバスマスタが存在するバスにおいて、外部メモリのページモードアクセスを有効利用するためのバスマスタのバス使用要求制御に関する。
外部メモリ(DRAM)へのアクセス方法の一つとして、ページモードアクセスが良く知られている(例えば、特許文献1参照)。このページモードアクセスでは、連続するアクセスアドレスが同一ページ内、即ち、ロウアドレスと同一の場合、最初のロウアドレスのストローブ以外はカラムアドレスのストローブのみでアクセスが可能となり、アクセスサイクルを短縮できるというメリットがある。
但し、DRAMアクセスを行うバスマスタは複数存在する場合が殆どであり、それぞれのバスマスタが同時刻にアクセスするアドレスは必ずしも同一ページ内だとは限らない。従って、従来のようにバスアービターが優先順位に沿ってバスマスタのバス使用要求を調停しているだけでは、ページヒットの恩恵を受けることは比較的少ない。
図1は、従来のシンプルなバス構成の一例を示す図である。図1に示すバス105にはDRAM101にアクセスするためにDRAM101の専用信号102を制御するメモリコントローラ103と、3つのバスマスタ106、107、108と、これら複数のバスマスタからのバス使用要求を調停するためのバスアービター104とが存在している。
尚、ここではバスマスタの数を“3”として説明するが、これに限るものではない。
図1において、バスアービター104はシンプルなラウンドロビン方式の優先順位管理を行い、複数のバスマスタからのバス使用権要求から1つのマスタに対してのみバス使用許可を与える。
以上がこのシステムの簡単な構成であるが、特に本発明はバスアドレスとDRAMアドレスに関する内容であるので、バスマスタとバスアービター、またメモリコントローラ間のバスアドレスに関する信号に着目したブロック図を用いて、バスマスタのバス使用要求制御について説明する。
図2は、バスマスタとバスアービター、メモリコントローラ間のバスアドレスに関する信号を示す図である。各バスマスタはマスタアドレス201、202、203を確定させた上で、バス使用権要求信号bus_req216、217、218を“1”にしてバス使用権を要求する。そして、要求されたバス使用権要求信号bus_req216、217、218はバスアービター104に入力される。これにより、バスアービター104はアービトレーションサイクルにおいて優先順位と各バス使用権要求の状態から1つのバスマスタのみに対してバス使用権許可bus_gnt213、214、215を与える。
この信号の状態が1つのバスマスタがバス使用権を獲得したことになる。バス使用権を獲得したバスマスタは、アービター104が発行しているバス使用許可信号と同サイクルでバスマスタアドレスをバスMUXブロック210に出力する。このバスMUXブロック210は、バス使用時に選択されたバスマスタのバス信号をメモリコントローラ103に対して発行する役割を持っている。選択されたバスマスタを意味する信号がマスタアドレス選択信号adr_sel211で選択され、メモリコントローラ103へ発行されるアドレス信号がbus_adr212である。
アービター104がアービトレーションを終了し、メモリコントローラ103へ選択したバスマスタのバス要求をadr_req219で行う。この信号を受けたメモリコントローラ103は、このバスアドレスを受け取る準備ができていればadr_ack220を返送する。この期間、bus_adr212は一定の値で固定されている。
ここでは、簡単のためにメモリコントローラ103に受け渡す信号にはアドレスのみを仮定しているが、他にバースト長情報やバイトイネーブル情報も同様に受け渡される場合も当然有る。
図3は、図2に示すバス構成におけるバス使用権要求とバスアクセスの動作を示す図である。尚、説明を簡単にするために、バスマスタ106、107はバス使用権要求を常に出しており、バスマスタ108は常に出していない状態を仮定している。
図3に示すサイクル1において、バスはアイドル状態にあると仮定している。サイクル2でバスマスタ106、107が同時にバスリクエストを出している。このサイクル内で現在のプライオリティを鑑みた上で、アービター104はマスタ106に対してバス権を与える。尚、初期状態での優先権はバスマスタ106にあるものと仮定する。
次に、サイクル3でアービター104はバス使用権許可信号bus_gnt213をアサートする。また、バスマスタ107はバス使用権が取れないので、サイクル4以降もbus_req217をアサートし続ける。バス使用許可信号bus_req216、217をアサート中は、バスマスタ106、107共にバス要求アドレスmst_adr201、202を出力する。
バスMUXブロック210は、バス使用許可信号がアサートされたそのサイクルでbus_adrレジスタに選択されたmst_adrを格納する。このレジスタ(信号)と等価な信号が図2に示すbus_adr212である。図3に示すマスタ要求アドレスmst_adr、バスアドレスbus_adrにおける(row0,col0)はバスアドレスをDRAMアドレスに置き換えて表現したものである。ここでrow0はDRAM101のロウアドレスの0番地を意味し、col0はDRAM101のカラムアドレスの0番地を意味する。バスアクセスにおいて、このロウアドレスが連続で同じ番地であれば、そのアクセスはページヒットしたことになる。また逆にロウアドレスが同じでなければ、ページミスしたことになる。
このサイクル3でバス使用権を獲得できるバスマスタが確定すると、サイクル4でバスのアドレスフェーズ開始要求信号adr_req219をメモリコントローラ103に通知することでバスのアドレスフェーズ開始を要求する。これを許可する信号がアドレスフェーズ開始許可信号adr_ack220でメモリコントローラ103からアービター104に対して返される。このadr_ack220を検出するとアービター104はadr_req219をネゲートする。また、adr_req219がアクティブな状態のサイクル4から5までの期間でメモリコントローラ103に与えるバスアドレスbus_adr212が確定するように、アービター104はマスタアドレス選択信号adr_sel211をバスMUXブロック210に与える。
この例では、アービター104内の優先権のアルゴリズムはシンプルなラウンドロビンを想定しているので、最初のアービトレーションでバスマスタ106がバス使用権を獲得したので、その後のアービトレーションサイクルではバスマスタ107に対して優先権が与えられる。これがサイクル6である。次のアービトレーションではバスマスタ108の優先順位が最も高くなるが、バスマスタ108からはバス使用権要求が出ていないので、バスマスタ106がバス使用権を獲得する。これがサイクル9である。
結果として、図3に示すようなバス使用権要求と各バスマスタが出すアドレスの場合は、ロウアドレスが0、2、0の順にDRAM101へアクセスが行われるので、2度連続でページミスしてしまったことになる。
このように、従来の方法では、アービターがバス使用要求と、予め決められた優先順位情報だけでページヒットを起こし易くするようにバス使用許可を生成することは不可能である。
そこで、これを解決するための従来の提案では、DRAMコントローラ内で、DRAMアクセスの局所性をバスマスタの種類から予測したり、DRAMのロウアドレスと現在のバスアドレスからページヒットかミスを判定し、ページモードか非ページモードかを動的に切り替えたりしている。また、DRAMを制御するDRAMコントローラ内で、各バスマスタから発行され、キューイングされたDRAMアクセスコマンド群をページヒットするように、アクセス順序を入れ替えたりすることで、可能な限りページミスを起こさないような工夫をするという発明も提案されている。
特開平10-097788号公報
しかしながら、上述したように、DRAMコントローラ内にDRAMのアクセス順序を入れ替えるような回路を内蔵するのは可能であるが、設計難易度はかなり高い。また、既にメモリコントローラ内に予約されたDRAMアクセスコマンドについてページモードを活用するにしても、その自由度は制限されてしまう。
本発明は、上記課題を解決するためになされたもので、メモリコントローラからのバス使用推薦情報に基づいて各バスマスタがバスアービターに対してバス使用要求を発行することを目的とする。
また、ページヒットを複数のバスマスタが起こしうる状況になった場合は、その中でもより緊急度の高いバスマスタに対して優先的にバス使用権を与えることを目的とする。
本発明は、複数のバスマスタと、外部メモリの制御を行うメモリコントローラと、前記複数のバスマスタからのバス使用要求を調停するバスアービターとが接続されるバスにおけるデータ転送システムにおいて、メモリコントローラが各バスマスタにバス使用推薦情報を通知する通知手段と、各バスマスタが前記メモリコントローラから通知されたバス使用推薦情報に基づいて前記バスアービターにバス使用要求を発行する発行手段とを有することを特徴とする。
また、本発明は、複数のバスマスタと、外部メモリの制御を行うメモリコントローラと、前記複数のバスマスタからのバス使用要求を調停するバスアービターとが接続されるバスにおけるデータ転送システムの制御方法であって、メモリコントローラが各バスマスタにバス使用推薦情報を通知する工程と、各バスマスタが前記メモリコントローラから通知されたバス使用推薦情報に基づいて前記バスアービターにバス使用要求を発行するように制御する工程とを有することを特徴とする。
本発明によれば、メモリコントローラからのバス使用推薦情報に基づいて各バスマスタがバスアービターに対してバス使用要求を発行することにより、従来のようにメモリコントローラ内でページミスのデメリットをカバーするような機構を採用するよりも、比較的簡単な構成で自由度の高いページヒット利用が可能になる。
また、ページヒットが起こりうるバスマスタが複数存在する場合には、その時点でより緊急度の高いバスマスタに対して優先的にバス使用許可を与えることができる。
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
[第1の実施形態]
図4は、第1の実施形態におけるシステム構成の一例を示す図である。従来例で用いた図1に示すバスアーキテクチャ以外に追加した信号として、第1の実施形態では、各バスマスタ106、107、108からメモリコントローラ103に対して、マスタアドレス201、202、203を出力する。これらは、図2に示した信号であり、バス使用権をどのバスマスタがとったかには依存しない情報である。また、メモリコントローラ103から各バスマスタ106、107、108に対して、バス使用推奨信号401、402、403を出力する。
以上がこのシステムの簡単な構成であるが、特に本発明はバスアドレスとDRAMアドレスに関する内容であるので、バスマスタとバスアービター、またメモリコントローラ間のバスアドレスに関する信号に着目したブロック図を用いて、バスマスタのバス使用要求制御について説明する。
図5は、第1の実施形態におけるバスマスタとバスアービター、メモリコントローラ間のバスアドレスに関する信号を示す図である。尚、従来例で用いた図2に追加した信号は図4に示すバス使用推奨信号401、402、403である。
図6は、第1の実施形態におけるバス使用推奨信号を使用した場合のバス使用権要求とバスアクセスの動作を示す図である。尚、従来例で用いた図3に追加された信号は各バスマスタに対して出力されるバス使用推薦信号bus_rec401、402、403である。
第1の実施形態では、メモリコントローラ103内部で、既に受付済みである(メモリコントローラ103内でDRAMアクセスコマンドをキューイングできるキューを有している場合はキューの最下段にある)DRAMアクセスコマンドと各バスマスタが出力している次アクセスアドレスとを比較し、一致するアドレスを出力しているバスマスタに対してバス使用推薦信号bus_recをアサートする。
また、最初のDRAMアクセスについては、ページミスやヒットは関係ないので全てのバスマスタがbus_recをアサートして良い(サイクル1〜3)。その結果、図3に示した場合と同様に、バスアービター104は最初のバス使用権をバスマスタ106に与える。次に、バスマスタ106が最初のバス使用権を獲得した後、メモリコントローラ103はバスマスタ106に対してのみサイクル4〜6の期間でバス使用推薦信号bus_rec401を“1”にする。
これは、最初に使用許可したバスアドレスbus_adr212のロウアドレスがrow0であり、次の各バスマスタからのマスタアドレスmst_adr201、202、203のうち、同一ロウアドレスとなるのがバスマスタ106のみだからである。
一方、メモリコントローラ103からバス使用推薦信号bus_rec402の“0”を入力したバスマスタ107は、bus_rec402でバス使用要求bus_req217をマスクし、バス使用権をバスマスタ106に対して譲る。
バスアービター104はアービトレーションサイクルであるサイクル5において、バスマスタ106からのみバス使用要求が存在するので、バスマスタ106にバス使用許可を与える(サイクル6で、bus_gnt213を“1”)。
2番目のバス使用権が再びバスマスタ106に与えられた後、サイクル7でバスマスタ106が要求するバスアドレスのロウアドレスはrow1であり、バスマスタ107のロウアドレスは引き続きrow2である。このとき、前回のバスアクセス時のロウアドレスはrow0であり、両バスマスタ共にページミスを起こしているので、両方のバスマスタに対するバス使用推薦信号bus_rec401、402を“1”とし、どちらのバスマスタに対してもバス使用を促している。
ここで、公平なバスアービトレーションに従えば、次のバス使用権はバスマスタ107が獲得することになる。この図6に示す場合、ページヒットが1度起こっており、図3に示した場合より数サイクルの節約になる。
次に、バスマスタ107がメモリコントローラ103からのバス使用推薦信号を無視し、バス使用許可要求を出す場合を例に説明する。この場合、各バスマスタの出力するバスアドレスは図6に示す場合と同じであり、結果として、メモリコントローラ103が出力するバス使用推薦信号のアサートも同じである。
図7は、バスマスタがバス使用推薦信号を無視してバス使用許可要求を出す場合のバス使用権要求とバスアクセスの動作を示す図である。サイクル4〜6の期間で、バスマスタ106に対してのみバス使用推薦が出されており、バスマスタ107にはバス使用が推薦されていない。
しかし、この場合もバスマスタ107はバス使用要求信号bus_req217をマスクせずにアサートし続けている。この結果、通常のバスアービトレーションによってバスマスタ107にバス使用許可が与えられることとなる。これは、バスマスタ107が内部の状態をみてバス使用要求を強行したことによる。
図7に示す例では、この「内部の状態」をバスマスタ内部に有するFIFOの空き状態として仮定している。例えば、ライトDMAコントローラ(IOデバイス→DRAMへの方向へのDMA)であれば、FIFOがフルになっており(fifo_full702が“1”)、IOデバイスからのデータ受信が滞ってしまっている状況である。この場合、FIFOに溜まってしまったデータをできるだけ早くDRAMに書き込んでしまいたいということで、ページミスか否かに関わらずバス使用要求を出す。
これにより、DRAMのパフォーマンスとしてはページミスを連続で起こすので図6に示す例よりパフォーマンスは落ちてしまうが、バスマスタの都合によってはリアルタイム性が要求される処理の場合等、ページヒットを起こし易いバスマスタにバス使用権を譲り続けることがそのバスマスタにとっては致命的にもなり得る。図7に示す例はこのような状況を回避するための処置である。
図8は、第1の実施形態におけるバスマスタ内のバス使用要求信号の生成回路の一例を示す図である。図8に示すように、バスマスタ(ここでは、DMAコントローラとする)は、バスマスタI/F803、FIFO802とデバイスI/F804とに分割できる。更に、第1の実施形態では、バス使用要求制御回路801を追加する。尚、このバス使用要求制御回路801は、バスマスタI/F803内に追加することも可能である。
このバス使用要求制御回路801は、バスマスタI/F803から出力されるバス使用要求信号bus_req_raw807をバス使用推薦信号805か、FIFO802のフル状態を表す信号fifo_full60の何れかでマスクする回路であり、実際にバスアービター104に発行されるバス使用要求bus_req806を生成する。
図8に示す回路801は、第1の実施形態における最小構成であり、ORゲート808の入力信号やANDゲート809の入力信号にバスマスタ固有の情報を追加し、更にバスマスタの都合とバススレーブであるメモリコントローラ103の都合とを反映させたバス使用要求の発行を行うことも可能である。
また、第1の実施形態では、単純にバス使用推薦信号でバス使用要求をマスクしているが、マスクする回数の上限を決めておくことで有る特定のバスマスタが連続してバス権を獲得してしまうことを防ぐこともできる。その場合、バスマスタI/F803内にソフトウェアで設定可能なレジスタを内蔵しておき、バスマスタに要求されるバンド幅やリアルタイム性などを考慮した上で、マスク回数の上限値を設定すれば良い。
以上説明したように、第1の実施形態によれば、メモリコントローラとバスマスタとの間で信号を追加することで、ページヒットの確率が高まるようにバス使用要求自体を制御することが比較的簡単な回路を加えることで可能となる。
また、あくまでバス使用推薦信号はバスマスタに対して強制力の有る信号でないという条件を設定し、バスマスタ固有の状態によってはこれを無視しバス使用要求を発行できるようにすることで、ページヒットかミスかの条件だけで特定のバスマスタがバス使用権を獲得し続けるデメリットを回避できる。
[第2の実施形態]
次に、図面を参照しながら本発明に係る第2の実施形態について詳細に説明する。尚、第2の実施形態では、第1の実施形態で説明した各信号に、更にバス優先使用要求信号を付加し、ページヒットが起こりうるバスマスタが複数存在する場合には、その時点でより緊急度の高いバスマスタに対して優先的にバス使用許可を与えるものである。
図9は、第2の実施形態におけるシステム構成の一例を示す図である。第1の実施形態で用いた図4に示すバスアーキテクチャ以外に追加した信号として、第2の実施形態では各バスマスタ106、107、108バスアービター104に対して、バス優先使用要求信号901、902、903を出力する。
以上がこのシステムの簡単な構成であるが、特に本発明はバスアドレスとDRAMアドレスに関する内容であるので、バスマスタとバスアービター、またメモリコントローラ間のバスアドレスに関する信号に着目したブロック図を用いて、バスマスタのバス使用要求制御について説明する。
図10は、第2の実施形態におけるバスマスタとバスアービター、メモリコントローラ間のバスアドレスに関する信号を示す図である。
尚、第2の実施形態におけるバス使用推奨信号を使用した場合のバス使用権要求とバスアクセスの動作は、第1の実施形態で用いた図6、図7に示す動作と同様であり、詳細な説明は省略する。
次に、ページヒットが起こりうるバスマスタが複数存在し、緊急度の高いバスマスタに対して優先的にバス使用許可を与えるために、バス優先使用要求信号をバスアービターに出力する場合のバス使用権要求とバスアクセスの動作について説明する。
図11は、バス優先使用要求信号がアサートされた場合のバスの動作を示す図である。図11において、最初のバスアクセスはバスマスタ106のみのバス使用要求であるので、バスマスタ106がバスを使用する(サイクル2〜3)。次に、サイクル4〜6では、バスマスタ106、107がページヒットを起こすようなアドレスに対してバス使用要求を出している。この場合、バスアービター104は、通常のアービトレーションによってバスマスタ107にバス使用権を与える(サイクル6)。
次に、バス使用要求について再びバスマスタ106、107の双方からページヒットを起こすようなアドレスに対するバス使用要求が出される(サイクル7〜9)。このとき、バスマスタ107では、内部のFIFOがフル(fifo_full702が“1”)で、それと等価なバス優先使用要求bus_pri_req902をアサートする。
ここで、前回のバス使用権をバスマスタ107が獲得したため、現時点での優先順位はバスマスタ106の方がバスマスタ107より高い。しかし、バスアービター104は、バスマスタ107のバス優先使用要求bus_pri_req902がバス使用要求bus_req217と同時にアサートされているので、バスマスタ107に対してバス使用権を与える。
バススレーブであるメモリコントローラ103にとっては、どちらのバスマスタからのアクセスを受け付けたとしてもページヒットを起こすので、DRAMアクセスにおけるパフォーマンス上の問題は無いが、リアルタイム性の処理を要求されるバスマスタにとっては、優先的にバス使用権を獲得したい状況が有り得る。このバス優先使用要求信号はこのようなマスタのための信号である。
DRAMにとって同じページヒットを起こすアクセスであれば、何れのバスマスタからのアクセスでもパフォーマンス低下は起こらないが、一方でバスマスタの立場から考えると、その時点でより緊急な状況に置かれたバスマスタにとってはそのアクセス順序は重要である。
尚、バスマスタ106及び107の双方がバス優先使用要求信号を出している場合は、その中で現時点での優先度の高いほうにバス使用権が与えられる。
図12は、第2の実施形態におけるバスマスタ内のバス使用要求信号の生成回路の一例を示す図である。図12に示すバス使用要求制御回路1201は、第1の実施形態で説明した図8に示すバスマスタのバス使用要求制御回路801にANDゲート1203を追加し、バス優先使用要求信号bus_pri_req1202を出力するものである。
図12に示す回路1201は、第2の実施形態における最小構成であり、ORゲート808の入力信号やANDゲート809の入力信号にバスマスタ固有の情報を追加し、更にバスマスタの都合とバススレーブであるメモリコントローラ103の都合とを反映させたバス使用要求の発行を行うことも可能である。
尚、バス優先使用要求信号bus_pri_req1202は、FIFO802のフル情報810とバス使用推薦情報805とをANDゲート1203に入力し、FIFOのフル状態のみを仮定したが、有る一定の閾値を超えるとbus_pri_req1202がアサートされる仕組みでも良いし、他の要因と併せることも可能である。
また、第2の実施形態では、単純にバス使用推薦信号でバス使用要求をマスクしているが、マスクする回数の上限を決めておくことで有る特定のバスマスタが連続してバス権を獲得してしまうことを防ぐこともできる。その場合、バスマスタI/F803内にソフトウェアで設定可能なレジスタを内蔵しておき、バスマスタに要求されるバンド幅やリアルタイム性などを考慮した上で、マスク回数の上限値を設定すれば良い。
以上説明したように、第2の実施形態によれば、第1の実施形態での効果に加え、更に次アクセスがページヒットを起こし得るマスタの中で、より緊急度の高い状況に置かれたバスマスタに対しては最優先でバス使用権を与えることができる。
本発明は、バスマスタとバススレーブであるメモリコントローラとの間に信号を追加し、各バスマスタのバス使用要求発行の段階でページヒットを起こし易く並び替えることを目的としているので、DRAMアクセスに関する信号や、バスのデータフェーズに関する信号の説明を省略している。しかし、バスの仕様において、データフェーズの取り扱いに依存することなく、即ち、スプリット化されたバスであろうと非スプリットバスであろうと、それぞれにおいて一定の効果はある。
尚、本発明は複数の機器(例えば、ホストコンピュータ,インターフェース機器,リーダ,プリンタなど)から構成されるシステムに適用しても、1つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用しても良い。
また、本発明の目的は前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPU若しくはMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
このプログラムコードを供給するための記録媒体としては、例えばフロッピー(登録商標)ディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
更に、記録媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
従来のシンプルなバス構成の一例を示す図である。 バスマスタとバスアービター、メモリコントローラ間のバスアドレスに関する信号を示す図である。 図2に示すバス構成におけるバス使用権要求とバスアクセスの動作を示す図である。 第1の実施形態におけるシステム構成の一例を示す図である。 第1の実施形態におけるバスマスタとバスアービター、メモリコントローラ間のバスアドレスに関する信号を示す図である。 第1の実施形態におけるバス使用推奨信号を使用した場合のバス使用権要求とバスアクセスの動作を示す図である。 バスマスタがバス使用推薦信号を無視してバス使用許可要求を出す場合のバス使用権要求とバスアクセスの動作を示す図である。 第1の実施形態におけるバスマスタ内のバス使用要求信号の生成回路の一例を示す図である。 第2の実施形態におけるシステム構成の一例を示す図である。 第2の実施形態におけるバスマスタとバスアービター、メモリコントローラ間のバスアドレスに関する信号を示す図である。 バス優先使用要求信号がアサートされた場合のバスの動作を示す図である。 第2の実施形態におけるバスマスタ内のバス使用要求信号の生成回路の一例を示す図である。
符号の説明
101 DRAM
102 DRAMバス
103 メモリコントローラ
104 バスアービター
105 バス(アドレス、データ、制御線)
106 バスマスタ
107 バスマスタ
108 バスマスタ
201 マスタアドレス
202 マスタアドレス
203 マスタアドレス
210 バスMUX
211 マスタアドレス選択信号adr_sel
212 バスアドレスbus_adr
213 バス使用許可信号
214 バス使用許可信号
215 バス使用許可信号
216 バス使用要求信号
217 バス使用要求信号
218 バス使用要求信号
219 バスアドレスフェーズ要求信号adr_req
220 バスアドレスフェーズ許可信号adr_ack
401 バス使用推奨信号
402 バス使用推奨信号
403 バス使用推奨信号
801 バス使用要求制御回路
802 FIFO
803 バスマスタI/F
804 デバイスI/F
805 バス使用推薦信号
806 バス使用要求信号
807 オリジナルのバス使用要求信号
808 ORゲート
809 ANDゲート
810 FIFOフルステータス
901 バス優先使用要求信号
902 バス優先使用要求信号
903 バス優先使用要求信号
1201 バス使用要求制御回路
1202 バス優先要求信号

Claims (7)

  1. 複数のバスマスタと、外部メモリの制御を行うメモリコントローラと、前記複数のバスマスタからのバス使用要求を調停するバスアービターとが接続されるバスにおけるデータ転送システムにおいて、
    メモリコントローラが各バスマスタにバス使用推薦情報を通知する通知手段と、
    各バスマスタが前記メモリコントローラから通知されたバス使用推薦情報に基づいて前記バスアービターにバス使用要求を発行する発行手段とを有することを特徴とするデータ転送システム。
  2. 前記バス使用推薦情報は、各バスマスタが出力する次要求アドレス情報と、前記メモリコントローラが外部メモリに対して発行する予定のロウアドレスとに基づいて生成され、前記次要求アドレスとロウアドレスとが一致する場合には、該当するバスマスタに対してアクティブレベルを出力し、全てのバスマスタの次要求アドレス情報が前記ロウアドレスと一致しない場合には、前記全てのバスマスタに対してアクティブレベルを出力することを特徴とする請求項1記載のデータ転送システム。
  3. 各バスマスタは、前記メモリコントローラから通知されたバス使用推薦情報がインアクティブであれば、前記バス使用要求を取り下げることを特徴とする請求項1記載のデータ転送システム。
  4. 各バスマスタは、前記バス使用要求を取り下げた後、所定の時間が経過した場合、前記バス使用要求を発行することを特徴とする請求項3記載のデータ転送システム。
  5. 各バスマスタは、前記バス使用推薦情報がインアクティブであっても、バスマスタ内部のメモリ状態を優先させて前記バス使用要求の発行を強行することを特徴とする請求項3記載のデータ転送システム。
  6. 各バスマスタは、バスマスタ内部のメモリ状態から緊急度が高い場合に、バス優先使用要求を出力し、前記バスアービターが当該バス優先使用要求を発行したバスマスタに優先的にバス使用権を与えることを特徴とする請求項1記載のデータ転送システム。
  7. 複数のバスマスタと、外部メモリの制御を行うメモリコントローラと、前記複数のバスマスタからのバス使用要求を調停するバスアービターとが接続されるバスにおけるデータ転送システムの制御方法であって、
    メモリコントローラが各バスマスタにバス使用推薦情報を通知する工程と、
    各バスマスタが前記メモリコントローラから通知されたバス使用推薦情報に基づいて前記バスアービターにバス使用要求を発行するように制御する工程とを有することを特徴とするデータ転送システムの制御方法。
JP2004318240A 2004-11-01 2004-11-01 データ転送システム及びその制御方法 Withdrawn JP2006127408A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004318240A JP2006127408A (ja) 2004-11-01 2004-11-01 データ転送システム及びその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004318240A JP2006127408A (ja) 2004-11-01 2004-11-01 データ転送システム及びその制御方法

Publications (1)

Publication Number Publication Date
JP2006127408A true JP2006127408A (ja) 2006-05-18

Family

ID=36722073

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004318240A Withdrawn JP2006127408A (ja) 2004-11-01 2004-11-01 データ転送システム及びその制御方法

Country Status (1)

Country Link
JP (1) JP2006127408A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011113119A (ja) * 2009-11-24 2011-06-09 Internatl Business Mach Corp <Ibm> データフロー及びプロセッサのメモリ共有化ための装置、方法及びプログラム
US8301816B2 (en) 2008-12-01 2012-10-30 Ricoh Company, Ltd. Memory access controller, system, and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8301816B2 (en) 2008-12-01 2012-10-30 Ricoh Company, Ltd. Memory access controller, system, and method
JP2011113119A (ja) * 2009-11-24 2011-06-09 Internatl Business Mach Corp <Ibm> データフロー及びプロセッサのメモリ共有化ための装置、方法及びプログラム
US8412891B2 (en) 2009-11-24 2013-04-02 International Business Machines Corporation Arbitrated access to memory shared by a processor and a data flow

Similar Documents

Publication Publication Date Title
JP4408263B2 (ja) データ転送システムおよびデータ転送方法
JP3524337B2 (ja) バス管理装置及びそれを有する複合機器の制御装置
JP4786209B2 (ja) メモリアクセス装置
JPH028948A (ja) コンピュータ装置において資源へのアクセスを制御する方法および装置
JP2005258867A (ja) リソース管理装置
JP2019525271A (ja) 高速メモリインタフェースのためのコマンドアービトレーション
US6317813B1 (en) Method for arbitrating multiple memory access requests in a unified memory architecture via a non unified memory controller
JP2007058716A (ja) データ転送バスシステム
US5802330A (en) Computer system including a plurality of real time peripheral devices having arbitration control feedback mechanisms
US6973520B2 (en) System and method for providing improved bus utilization via target directed completion
JP2006127408A (ja) データ転送システム及びその制御方法
JP5668858B2 (ja) 情報処理装置及びスケジューリング方法
CN117546135A (zh) 具有混合dram/持久性存储器通道仲裁的存储器控制器
JP5383159B2 (ja) バス中継装置及び制御方法
JP4327081B2 (ja) メモリアクセス制御回路
JP2004046851A (ja) バス管理装置及びそれを有する複合機器の制御装置
JP3206656B2 (ja) バス上でのプリフェッチ装置およびプリフェッチ方法
US5799160A (en) Circuit and method for controlling bus arbitration
JP2008097462A (ja) 情報処理装置及び情報処理方法
JP2005063358A (ja) 命令供給制御装置および半導体装置
JP4624715B2 (ja) システムlsi
CN117099076A (zh) Dram命令拖尾效率管理
JP2010140440A (ja) バス調停装置
JP2005332125A (ja) メモリコントローラ及び共有メモリシステム
JP2007058424A (ja) メモリアクセス制御装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080108