JP3614281B2 - 調停回路 - Google Patents
調停回路 Download PDFInfo
- Publication number
- JP3614281B2 JP3614281B2 JP23501197A JP23501197A JP3614281B2 JP 3614281 B2 JP3614281 B2 JP 3614281B2 JP 23501197 A JP23501197 A JP 23501197A JP 23501197 A JP23501197 A JP 23501197A JP 3614281 B2 JP3614281 B2 JP 3614281B2
- Authority
- JP
- Japan
- Prior art keywords
- priority
- request
- arbitration
- circuit
- value
- 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.)
- Expired - Lifetime
Links
- 241001522296 Erithacus rubecula Species 0.000 description 14
- 238000000034 method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000001629 suppression Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 238000012913 prioritisation Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Multi Processors (AREA)
Description
【発明の属する技術分野】
本発明は、マルチプロセッサとメモリを結合した情報処理装置において、マルチプロセッサからの複数の要求を調停するラウンドロビン調停回路に関するものである。
【0002】
【従来の技術】
従来のラウンドロビン調停方法について図を用いて説明する。
図1は、従来のラウンドロビン調停回路におけるプライオリティエンコーダの調停方法を示す。従来のラウンドロビン調停においては、要求元がN個のとき、プライオリティエンコーダにおいて、N個(0〜N−1)の優先順位パターンを用意し、各優先順位パターンごとに、N個の要求元番号に対して最高優先から最低優先までを割り当てていた。
【0003】
そして、プライオリティエンコーダは、調停後は、選択された要求元が最低優先になるように優先順位パターンを選択して、次の調停を行う。例えば、図1のパターン0により優先順位を割り当てる場合、要求元番号0が最高優先となり、N−1が最低優先となる。そして、その要求元番号0が選択されて調停が終了すると、次の優先順位パターンとして、選択された要求元番号0が最低優先度となるパターンN−1が採用され、このパターンに従って次の調停が行われる。
【0004】
上記従来の調停方法においては、要求が資源の競合などの理由で抑止されることがある。つまり、複数の要求が同一のメモリに対して出されて資源の競合が発生すると、同一資源に対する複数の要求の内、1つの要求を除いて他の要求が抑止される。このようにある要求が抑止された状態では、要求の調停は資源の競合を起こしていない他の要求について行われ、他の要求から1つの要求が選択されて次の処理が進められる。このように、要求が抑止されている場合に、資源の競合を起こしていない他の要求が選択される方法では、ライブロックが発生する可能性がある。
【0005】
図2を用いてライブロックの発生について説明をする。いま、要求a,b,cがあり、要求a,bが繰り返し出され、要求bとcは同じ資源を使用すると仮定する。また、各期間において、調停の優先順位は図に示すとおりとする。
期間1では、初めに要求a,bが出されているので、優先順位パターン(c>a>b)に従って要求aが選択される。
【0006】
したがって、期間2では、期間1で選択された要求aの処理が実行される。調停の優先順位は、選択された要求aが最低優先度となる優先順位パターン(b>c>a)となるので、要求bとcが出されていると、要求bが選択される。
期間3では、期間2で選択された要求bの処理が実行される。この要求bの処理が実行されると、同じ資源を使用する要求cはマスクされる。このマスクされた状態は、図では点線で示されている。調停の優先順位は、選択された要求bが最低優先度となる優先順位パターン(c>a>b)となる。したがって、要求cが最優先となるが、要求cはマスクされているため、要求aが期間3で出されると、調停の結果としては要求aが選択される。
【0007】
期間4では、期間3で選択された要求aの処理が実行される。また、調停の優先順位は、選択された要求aが最低優先度となる優先順位パターン(b>c>a)となる。したがって、要求bの優先順位が要求cの優先順位より高くなるので、調停の結果としては要求bが選択される。
この結果、期間5は期間3と同一状況となり、以後は、期間3と期間4が繰り返されることとなる。つまり、要求の抑止と、優先順位の変更によって、ライブロックが発生し、これは、プログラミングによっては、永久に続く可能性がある。さらにプログラミングについて考察すれば、要求aと要求bがフラグの変化を検出するためのポーリングのループで、要求cがフラグを変化させるアクセスであれば、プログラム上永久にループをすることとなる。
【0008】
一方、N個の要求を調停する調停回路で、N値を取りうるレジスタを持ち、レジスタの値に対応してN個の優先順位パターンを切り換えて優先順位付けを行うプライオリティエンコーダを使用するラウンドロビン調停回路が提案されている。このラウンドロビン調停回路においては、レジスタの値に対応した優先順位パターンを用いて優先順位付けを行い、この調停後に、レジスタをあらかじめ設定された値の順番で更新する。
【0009】
この方法によれば、上記の理由によるライブロックの発生は防止できるが、一定アクセス数で調停の優先順位に周期的なパターンが生じる。一方、プログラムのなかで複数プロセッサが排他権を取り合うようなループがある場合でそのループと前記調停パターンの周期が同期した時に、ライブロックの可能性が発生する。
【0010】
図3を用いて、この方法におけるライブロックの発生の可能性について説明するため次の様なプログラミングを想定する。CPUaが資源を繰り返し使用する。その他のCPUは、CPUaの使用していないタイミングを検出するため、ポーリングを繰り返す。その他のCPUは空きを検出した後に資源を使用する予定であり、その他のCPUが資源を使用することにより、CPUaの繰り返しが解除される。
【0011】
このようなプログラミングがなされている時、その他のCPUのポーリングのタイミングが常にCPUaの資源使用中に行われると、永久に他のCPUが資源を使用できずに全CPUがループし続けるライブロックが発生する可能性がある。
ところで、資源の使用開始/終了は、全CPUで共有するメモリ上にフラグを持ち管理する。通常は、フラグへの全CPUのアクセスがラウンドロビン調停方式によって調停されるため擾乱され、ライブロックにはならない。しかしながら、ごく稀に発生するライブロックの発生の可能性としては次の2つのストーリーが考えられる。
【0012】
▲1▼ 全CPUのアクセスが散発的で、アクセスの競合がなく、調停の優先度が影響しない場合に、純粋にプログラムからのアクセスタイミングが前述のようなタイミングに陥るケース。このケースは、ソフトウェアの責任で回避すべき問題である。
▲2▼ 全CPUのアクセスが競合するが、全CPUのプログラムループが一周する際のアクセス数とラウンドロビン優先順位パターンの値が同数の時、調停による擾乱が行われず、プログラムループが何周しても毎回同じアクセスが選択される。このとき、図3のCPUa以外のマスタで資源未使用を検出できなければ、永久に使用できず、ライブロックとなる。このケースは排他権を全マスタへ均等に配分できておらず、問題となる。
【0013】
また、要求の抑止条件に他の要求の調停が前提にあると、やはりライブロックする可能性がある。例えば、キャッシュのブロックの入れ換え時に、新規ブロックの読み出し要求と吐き出すブロックのライト要求が別々の要求線で発行されている場合、システムの性能を重視して、読み出し後に吐き出しの要求を処理する方が望ましいので、吐き出し要求は、対応する読み出し要求が調停されるまで抑止する。
【0014】
もし、吐き出し要求が本条件で抑止され、しかも最高優先権が与えられていると、優先順位パターンは変化しなくなり固定優先調停となる。この時、抑止を解除する読み出し要求が最下位の優先順位で、その上位に定常的に要求を発生する要求元があった場合に、読み出し要求が永久に選択されないことが予想される。本ライブロックはあるCPUが排他フラグの解放ライトを行い、他のCPUが本フラグへTEST&SETを発行する場合に発生する。この時、排他フラグのライトに先立って読み出し要求が発生する。
【0015】
【発明が解決しようとする課題】
ラウンドロビン調停回路においては、制御上の資源獲得、データパス獲得のための調停時に、上記のような、ライブロック、デッドロックなどを起こさないような確実な制御方法が求められている。
本発明は、ラウンドロビン調停回路において、ライブロックの可能性を排除することを目的とするものである。
【0016】
【課題を解決するための手段】
本発明は、上記目的を達成するためになされたものである。
本発明の第1の態様においては、N個の要求を調停する調停回路であって、N値を取りうる記憶回路と、この記憶回路の値に対応してN個の優先順位パターンを切り換えて優先順位付けを行う回路と、あらかじめ設定された値の順番で、要求の調停と同期して記憶回路の値を更新する回路と、要求の調停と非同期な一定周期によって、あらかじめ設定された値の順番で記憶回路の値を更新する回路とから調停回路を構成する。
【0017】
この構成によれば、記憶回路の値は、要求の調停と同期して更新されていくが、要求の調停と非同期な一定周期で、記憶回路の値を更新する順番が飛ばされる。したがって、優先順位パターンとプログラムの1ループの中で発生する要求が同数となることによってライブロックが発生した場合でも、記憶回路の値を更新する順番が飛ばされた時に、優先順位パターンと1ループの中で発生する要求の数が不一致となるので、ライブロックが回避されることとなる。
【0018】
また、本発明の第2の態様においては、N個の要求を調停する調停回路であって、N値を取りうる記憶回路と、この記憶回路の値に対応してN個の優先順位パターンを切り換えて優先順位付けを行う回路と、あらかじめ設定された値の順番で、要求の調停と同期して記憶回路の値を更新する回路と、要求の調停と非同期な一定周期で、記憶回路の値をあらかじめ設定された値に更新することにより調停を構成する。
【0019】
この構成によれば、記憶回路の値は、要求の調停と同期して更新されていくが、要求の調停と非同期な一定周期で、記憶回路の値が順番と異なる値となり、その後は、記憶回路の値は、更新された値から出発して所定の順番で更新されていく。したがって、優先順位パターンとプログラムの1ループの中で発生する要求が同数となってライブロックが発生した場合でも、記憶回路の値を変更する順番が飛ばされた時に、優先順位パターンと1ループの中で発生する要求の数が不一致となるので、ライブロックが回避されることとなる。
【0020】
本発明の第3の態様においては、N個の要求を調停する調停回路であって、N値を取りうる記憶回路と、この記憶回路の値に対応してN個の優先順位パターンを切り換えて優先順位付けを行う回路と、あらかじめ設定された値の順番で、要求の調停と同期して記憶回路の値を更新する回路と、N個の要求の内のある要求が抑止されており、かつその要求が優先順位パターンの最高順位に割り当てられている場合、他の要求の調停後でも、記憶回路の値の更新を抑止する回路とからラウンドロビン調停回路を構成する。
【0021】
この構成によれば、記憶回路の値は要求の調停と同期して更新されていくが、抑止された要求が最高優先順位にあるときは、記憶回路の値の更新が抑止される。したがって、次の調停時には、抑止された要求の優先順位は高い状態で調停が行われるので、他の要求によって取り残されることなく確実にデータ転送の機会が与えられる。
【0022】
【発明の実施の形態】
以下、本発明の実施形態について図を用いて説明する。
図4は、本発明の実施形態におけるラウンドロビン調停回路の構成を示す。図示の例では、要求元が8個の場合について説明するが、この要求元の数は任意の数とすることができる。
【0023】
図4において、1は、要求の条件判定を行うためのアンドゲートであり、要求元のマスタの数8だけ設けられる。図では、第1のアンドゲート1−0の構成及び8番目のアンドゲート1−7の構成のみを示している。2は、アンドゲート1を通して入力された各要求について優先順位の判定を行い、選定したマスタの識別子を出力するプライオリティエンコーダである。プライオリティエンコーダ2の内容については後述する。
【0024】
7は、プライオリティエンコーダ2に対して優先順位パターンを指定するためのレジスタであり、3ビットカウンタにより構成されるプライオリティセレクタカウンタ8を持つ。
11は、プライオリティエンコーダ2における調停のタイミングを制御するタイミング制御部である。このタイミング制御部11のタイミング信号はオアゲート10とアンドゲート9を通してプライオリティセレクタカウンタ8にも入力される。
【0025】
オアゲート10の他方の入力には、32749クロックの周期で一周するフリーランカウンタ12の出力信号が入力される。この32749という値は素数である。アンドゲート9の他方の入力には、抑止回路3の出力信号が入力される。抑止回路3は、所定の条件においてプライオリティセレクタカウンタ8の更新の抑止信号を生成する回路である。抑止回路3において、4,5は、最高優先権を与えられたマスタが抑止をマスクされていることを検出する回路である。6は最高優先権が与えられたマスタを検出するデコーダである。4は、8つの要求ごとに設けられたアンドゲートで、マスタ要求、マスタアドレスの一致、マスタマスクがあること、最優先マスタであることを判定するゲートである。このアンドゲート4の出力はオアゲート5を通してアンドゲート9に出力される。
【0026】
アンドゲート9の出力信号は、カウントイネーブル信号と呼ばれ、プライオリティセレクタカウンタ8は、カウントイネーブル信号が入力されるたびにカウンタの値を進める。
図4の回路の動作について説明する。
各要求ごとに設けられたアンドゲート1は、アドレスにより要求が当調停回路宛のものであるか否かを判定すると同時に、この要求がアクセスとして要求している資源がビジーであるなどの理由によるマスク条件が無いか否かを判定する。このアンドゲート1における判定の結果、実行可能な要求がプライオリティエンコーダ2に入力される。なお、第8のアンドゲート1−7におけるムーブアウトイネーブルについては後述する。
【0027】
図5は、プライオリティエンコーダ2の論理値表である。プライオリティエンコーダ2は、プライオリティセレクタカウンタ8の値に従って優先順位パターンを切り換え、このパターンに従って調停を行う。例えば、カウンタ8の値が0であると、マスタ0の要求が最高優先でマスタ7の要求が最低優先となる。プライオリティエンコーダ2は、入力された要求の内、最高の優先順位にあるものを調停結果として選択し、マスタ識別子として出力する。
【0028】
このプライオリティセレクタカウンタ8の値は、アンドゲート9からのカウントイネーブル信号により、図5に矢印で示すように、あらかじめ設定された順序で更新されていく。抑止回路3から信号が出力されていない時は、タイミング制御部11からの信号により、プライオリティエンコーダ2における調停の完了と同期してカウンタ8の値が更新される。
【0029】
このように、プライオリティセレクタカウンタ8の値があらかじめ設定された順序で更新されていくので、要求が先行して処理されているデータ転送によって抑止されたり、他の要求によって、又は制御回路の状態によって抑止されるケースでも、他の要求に取り残されることなく確実にデータ転送の機会を与えることができる。つまり、図2を用いて説明した要求が抑止されたことによるライブロックの発生が防止される。
【0030】
オアゲート10を通して、フリーランカウンタ12の信号が、プライオリティセレクタカウンタ8の更新契機として入力される。このパルスは、プライオリティエンコーダ2における調停のタイミングとは非同期である。ここで、前述の図3を用いて説明した調停順序依存のライブロックが発生した場合、このように、調停とは非同期でしかも素数クロック周期で優先順位パターンがずらされるので、ライブロックを擾乱させて防止することができる。
【0031】
図6は、レジスタ7の変形例を示すものである。
この例では、フリーランカウンタ12の出力信号は、プライオリティセレクタカウンタ8のリセット端子に入力される。すると、プライオリティエンコーダ2の調停の完了とは非同期のタイミングでプライオリティセレクタカウンタ8はリセットされてその値が0となり、その後は、タイミング制御部11からの信号により、あらかじめ設定された順序でその値を更新していく。したがって、本例においても、調停順序依存のライブロックを擾乱させて防止することができる。なお、リセットの代りにあらかじめ設定した値をセットすることもできる。
【0032】
以上説明した動作において、他の要求との競合よりマスクされた要求が最高優先順位にあるとき、調停の完了と同期してプライオリティセレクタカウンタ8の値を更新すると、最高優先順位にある要求が最低優先順位となってしまう。これを防止するために、抑止回路3が設けられる。
図4に示す抑止回路3において、アンドゲート4は、要求元のマスタ0〜マスタ7までの数8だけ設けられる。6は、プライオリティセレクタカウンタ8が選定した最高優先権が与えられたマスタを検出するデコーダである。アンドゲート4は、要求が当調停回路宛のものであること、この要求がマスクされていること、最優先マスタであることを条件として信号を出力する。この信号はオアゲート5及びインバータを通してアンドゲート9に入力される。
【0033】
つまり、抑止回路3は、要求がマスクされており、プライオリティセレクタカウンタ8の値によって選択された優先度によって最高優先権が与えられていることを検出すると、プライオリティセレクタカウンタ8の更新を抑止する。これにより、最高優先権が与えられていた要求がマスクされていた場合であっても、プライオリティエンコーダ2における優先順位は更新されないため、マスクされていた要求が次の調停においても最高優先権を持つ。
【0034】
次に、図4のアンドゲート1−7の入力のムーブアウトイネーブルについて説明する。
例えば、ある要求元のマスタがキャッシュメモリを有し、要求線が複数あり、アクセスの優先度に応じて要求線を使い分ける場合がある。いま、マスタ0において、キャッシュのムーブインのためのリードアクセスに要求線Aを使用し、対応するキャッシュラインのムーブアウトのためのライトアクセスに要求線Bを使用するとする。この時、アクセスは、リード/ライトの順番で発生し、その対応がコマンドで明示される。
【0035】
図4の調停回路においては、マスタ0の要求線Aが第1のアンドゲート1−0に入力され、要求線Bが第8のアンドゲート1−7に入力される。このような要求線を調停するとき、リードとライトのペアの要求があれば、ライトの要求をリードの要求の調停後まで抑止する。これによってプログラムの動作時間に直接関連するリードを優先的に処理することができる。
【0036】
図7は、ライトの要求をリードの要求の調停後まで抑止するためのムーブアウトイネーブル信号を生成する回路を示す。
第1のアンドゲート21は、マスタ0から要求線Aの要求が出され、調停の結果その要求線Aが選択されるとオンとなり、オアゲート22を通してD−フリップフロップ(D−FF)23をセットする。D−FF23のセットによりムーブアウトイネーブル信号が出力される。
【0037】
第2のアンドゲート24は、マスタ0から要求線Bの要求が出され、調停の結果その要求線Bが選択されるとオンとなり、出力信号がインバータを介して第3のアンドゲート25に、ムーブアウトイネーブル信号と共に入力される。したがって、要求線0Aが選択されて確立したムーブアウトイネーブル信号は、要求線0Bが選択されるまで継続し、要求線0Bが選択されると消滅する。
【0038】
図4に戻ると、マスタ0の要求線Aのムーブインリードの要求が第1のアンドゲート1−0に入力され、マスタ0の要求線Bのムーブアウトライトの要求が第8のアンドゲート1−7に入力される。通常時、ムーブアウトイネーブル信号は確立していないのであるから、第8のアンドゲート1−7はオフとなる。そして、同一マスタ(マスタ0)のムーブインリードの要求が選択された後に、ムーブアウトイネーブル信号が生成されるので、アンドゲート1−7におけるムーブアウトライト要求は、プライオリティエンコーダ2に入力可能となる。
【0039】
したがって、ムーブアウトライト要求は、同一マスタのムーブインリード要求が調停されるまでの間抑止されることとなる。これによって、プログラムの動作時間に直接関連するリードを優先的に処理することができる。
次に、ラウンドロビン調停回路においては、CPU又はIOチャネルの数を後々増設できるようにしたものが存在する。この場合、アクセスの平等性を実現するために、最大構成時に合わせて機能モジュールの最大数の分だけラウンドロビンカウンタを用意する。このため、最大構成時以外にはアクセス機会の均一化が図れていなかった。
【0040】
このアクセス機会の均一化が図れなくなる理由について説明をする。
図8は、プライオリティエンコーダの論理値表の1例を示す。ここでは、要求元の機能モジュールの最大構成が6個であるとする。この場合、プライオリティセレクタカウンタのカウント値は1〜6をとり、6個の優先順位パターンが繰り返される。ここで、機能モジュールとして3個のモジュール31〜33のみが実装されるとして、モジュール31〜33の優先順位について見る。すると、カウント値1〜3では、モジュール31〜33間の優先順位が変化してアクセスの機会が均一である。しかしながら、カウント値4〜6では、モジュール31〜33については優先順位が変化しない。
【0041】
したがって、将来の増設を見込んで回路を作成した場合、最大構成時以外では、アクセスの均一性が保てない。これに対して、以下に説明する例は、機能モジュールの数に対応してラウンドロビンのカウント数を調整し、それに応じてプライオリティパターンを設定することにより、アクセスの均一性を保障する。
図9は、情報処理装置の全体構成を示す。
【0042】
図9において、31〜36は機能モジュールで、調停回路41に対してバス40を介して要求を出す要求元となる。図示の例では、機能モジュールは最大構成時に6個が実装される。なお、この機能モジュールの数は6個に限定されず、任意の数とすることができる。調停回路41において、42はプライオリティエンコーダ、43はプライオリティセレクタカウンタである。51は、メモリ、IO装置などの資源である。
【0043】
プライオリティセレクタカウンタ43にモジュール情報(モード信号)を取り入れることにより、機能モジュール数の変化に対応する。モード信号は、モジュール31〜36の全構成を使用するときは「1」とされ、31〜33のみを使用するときは「0」とされる。これにより後述のように、モード信号によりモジュール数が3個のときと6個のときとで優先順位を最適となるように調整する。
【0044】
図10に、プライオリティセレクタカウンタ43の回路構成を示す。
図10中のモード信号は、上述のとおり機能モジュールの実装数に応じて「1」又は「0」の値をとる。ENCODE<2:0>は、プライオリティセレクタカウンタの出力信号であり、プライオリティエンコーダ42の優先順位パターンを切り換える。SYSCLKは回路の動作クロックを示す。アービトレーションタイミングはアービトレーションを行うタイミングで「1」となる信号を示す。本図のFFはクロックの立ち下りで動作するものとする。この回路により生成されるプライオリティセレクタカウンタ43のエンコード表を図11に示す。プライオリティセレクタカウンタ43は、出力ENCODE<2:0>の値に応じてそのカウント値を1〜6に変化させる。プライオリティエンコーダ42では、プライオリティセレクタカウンタ43のカウント値に応じて優先順位パターンの設定を行う。
【0045】
ここで、プライオリティセレクタカウンタ43の出力ENCODEの最上位ビット<2>を図10に示すモード信号でマスクすることにより、プライオリティセレクタカウンタ43は、2ビット3進カウンタと3ビット6進カウンタとに切り換えることが可能となる。つまり、モード信号「1」のとき、プライオリティセレクタカウンタ43の出力信号の最上位ビットはマスクされないので、カウント値は1〜6の値をとる。一方、モード信号「0」のときは、最上位ビットがマスクされるためカウント値は、1〜3の値を繰り返す。
【0046】
図12に、プライオリティセレクタカウンタ43のカウント値とプライオリティエンコーダ42において設定されるプライオリティパターンとの関係を示す。(a)はモード信号が「1」の場合を示し、カウント値は1〜6をとり、6個のパターンが繰り返され、6個の機能モジュールのアクセスの均一性が保障されている。モード信号が「0」の場合は、カウント値は1〜3が繰り返され、(a)のパターンの内、最初の3個のパターンが繰り返される。したがって、機能モジュール31〜33については、見かけ上、(b)に示すように、優先順位がパターンごとに変更される。したがって、最大構成より少ない機能モジュールが実装された場合であっても、アクセスの均一性が保障される。
【0047】
【発明の効果】
以上説明したように、本発明によれば、調停時にライブロック/デッドロック等を回避することができまた、余分な調停を行なうことなく、モジュールの数に対応したラウンドロビンのカウント数を調節し、それに応じてプライオリティパターンを設定することにより、複数の機能モジュールからのアクセスの均一化を図ることができる。
【図面の簡単な説明】
【図1】従来のプライオリティエンコーダの調停方法を示す図。
【図2】従来の調停方法においてライブロックが発生する状況を説明する図。
【図3】従来の調停方法においてライブロックが発生する状況を説明する図。
【図4】本発明の実施形態における調停回路の構成を示す図。
【図5】図4におけるプライオリティエンコーダの論理値表を示す図。
【図6】図4におけるレジスタの変形例を示す図。
【図7】本発明の他の実施形態におけるムーブアウトイネーブル生成回路を示す図。
【図8】本発明の他の実施形態におけるプライオリティエンコーダ論理値表を示す図。
【図9】本発明の他の実施形態における情報処理装置の構成を示す図。
【図10】図9におけるプライオリティセレクタカウンタの構成を示す図。
【図11】図10のカウンタのエンコード表を示す図。
【図12】図9におけるカウンタとパターンとの関係を示す図。
【符号の説明】
1…アンドゲート
2…プライオリティエンコーダ
3…抑止回路
4…アンドゲート
5…オアゲート
6…デコーダ
7…レジスタ
8…プライオリティセレクタカウンタ
9…アンドゲート
10…オアゲート
11…タイミング制御部
12…フリーランカウンタ
21,24,25…アンドゲート
22…オアゲート
23…D−FF
31〜36…機能モジュール
40…バス
41…調停回路
42…プライオリティエンコーダ
43…プライオリティセレクタカウンタ
51…資源
Claims (1)
- N個の要求を調停する調停回路であって、
要求元の数に対応したN値を取りうるカウンタにより構成される記憶回路と、
前記記憶回路の値に対応してN個の優先順位パターンを切り換えて優先順位付けを行う回路と、
未実装の要求元があることを示すモード信号が入力された場合、この未実装の要求元を最高優先にする優先順位パターンを選択されないように前記記憶回路を構成するカウンタの値を制御する回路と、
を具備する調停回路。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23501197A JP3614281B2 (ja) | 1997-08-29 | 1997-08-29 | 調停回路 |
US09/030,279 US6029219A (en) | 1997-08-29 | 1998-02-25 | Arbitration circuit for arbitrating requests from multiple processors |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23501197A JP3614281B2 (ja) | 1997-08-29 | 1997-08-29 | 調停回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1173397A JPH1173397A (ja) | 1999-03-16 |
JP3614281B2 true JP3614281B2 (ja) | 2005-01-26 |
Family
ID=16979754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23501197A Expired - Lifetime JP3614281B2 (ja) | 1997-08-29 | 1997-08-29 | 調停回路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6029219A (ja) |
JP (1) | JP3614281B2 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6430618B1 (en) | 1998-03-13 | 2002-08-06 | Massachusetts Institute Of Technology | Method and apparatus for distributing requests among a plurality of resources |
US6553420B1 (en) | 1998-03-13 | 2003-04-22 | Massachusetts Institute Of Technology | Method and apparatus for distributing requests among a plurality of resources |
JP2001142844A (ja) | 1999-11-11 | 2001-05-25 | Nec Kofu Ltd | ライブロック防止方式 |
JP2002236658A (ja) * | 2001-02-13 | 2002-08-23 | Ricoh Co Ltd | 調停装置 |
US6842830B2 (en) * | 2001-03-31 | 2005-01-11 | Intel Corporation | Mechanism for handling explicit writeback in a cache coherent multi-node architecture |
US7308510B2 (en) * | 2003-05-07 | 2007-12-11 | Intel Corporation | Method and apparatus for avoiding live-lock in a multinode system |
US7296105B2 (en) * | 2003-10-03 | 2007-11-13 | Sonics, Inc. | Method and apparatus for configuring an interconnect to implement arbitration |
US7325082B1 (en) * | 2004-08-25 | 2008-01-29 | Unisys Corporation | System and method for guaranteeing transactional fairness among multiple requesters |
US7739436B2 (en) * | 2004-11-01 | 2010-06-15 | Sonics, Inc. | Method and apparatus for round robin resource arbitration with a fast request to grant response |
US20080091879A1 (en) * | 2006-10-12 | 2008-04-17 | International Business Machines Corporation | Method and structure for interruting L2 cache live-lock occurrences |
US20080091866A1 (en) * | 2006-10-12 | 2008-04-17 | International Business Machines Corporation | Maintaining forward progress in a shared L2 by detecting and breaking up requestor starvation |
US20080091883A1 (en) * | 2006-10-12 | 2008-04-17 | International Business Machines Corporation | Load starvation detector and buster |
JP6210187B2 (ja) * | 2012-10-23 | 2017-10-11 | セイコーエプソン株式会社 | 集積回路装置、物理量測定装置、電子機器および移動体 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5272131A (en) * | 1975-12-12 | 1977-06-16 | Univ Tokai | System for setting priority selecting sequence |
JPS54140845A (en) * | 1978-04-24 | 1979-11-01 | Nippon Telegr & Teleph Corp <Ntt> | Priority selector circuit |
JPS58192150A (ja) * | 1982-05-06 | 1983-11-09 | Oki Electric Ind Co Ltd | 割込み制御方式 |
JPH0322034A (ja) * | 1989-06-20 | 1991-01-30 | Fujitsu Ltd | 割込制御方式 |
JPH0353339A (ja) * | 1989-07-21 | 1991-03-07 | Nec Corp | 可変優先順位調停回路 |
JPH07244635A (ja) * | 1994-01-14 | 1995-09-19 | Fujitsu Ltd | バス使用権調停回路及び方法 |
US5519837A (en) * | 1994-07-29 | 1996-05-21 | International Business Machines Corporation | Pseudo-round-robin arbitration for a shared resource system providing fairness and high throughput |
US5564062A (en) * | 1995-03-31 | 1996-10-08 | International Business Machines Corporation | Resource arbitration system with resource checking and lockout avoidance |
US5640519A (en) * | 1995-09-15 | 1997-06-17 | Intel Corporation | Method and apparatus to improve latency experienced by an agent under a round robin arbitration scheme |
-
1997
- 1997-08-29 JP JP23501197A patent/JP3614281B2/ja not_active Expired - Lifetime
-
1998
- 1998-02-25 US US09/030,279 patent/US6029219A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6029219A (en) | 2000-02-22 |
JPH1173397A (ja) | 1999-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3614281B2 (ja) | 調停回路 | |
US4449183A (en) | Arbitration scheme for a multiported shared functional device for use in multiprocessing systems | |
US5862356A (en) | Pipelined distributed bus arbitration system | |
JP3791005B2 (ja) | バスアクセス調停装置及びバスアクセス調停方法 | |
US6047316A (en) | Multiprocessor computing apparatus having spin lock fairness | |
US5896539A (en) | Method and system for controlling access to a shared resource in a data processing system utilizing dynamically-determined weighted pseudo-random priorities | |
US6820152B2 (en) | Memory control device and LSI | |
EP2192496B1 (en) | Arbitration in multiprocessor device | |
KR100252752B1 (ko) | 다단계 제어 버스 중재장치 | |
US5935234A (en) | Method and system for controlling access to a shared resource in a data processing system utilizing pseudo-random priorities | |
JP2012512472A (ja) | データバースト間の競合の解決 | |
US5931924A (en) | Method and system for controlling access to a shared resource that each requestor is concurrently assigned at least two pseudo-random priority weights | |
JP2000047994A (ja) | 情報処理装置 | |
JPH0728758A (ja) | ダイナミックタイムループ調停及び装置 | |
JP2001216279A (ja) | リアルタイム・システム用時分割多重メモリーを用いた、複数のプロセッサーのインターフェース及び、同期化及びアービトレーション方法 | |
JPH11282815A (ja) | マルチスレッド計算機システム及びマルチスレッド実行制御方法 | |
JPH11353872A (ja) | メモリインタフェース回路 | |
JPH06110829A (ja) | バス使用要求調停装置 | |
US7130947B2 (en) | Method of arbitration which allows requestors from multiple frequency domains | |
JP2504818B2 (ja) | マルチプロセッサ装置における共通メモリ制御方法 | |
JP3987750B2 (ja) | メモリ制御装置及びlsi | |
JP3596402B2 (ja) | アクセス権調停装置 | |
US20240126710A1 (en) | Semiconductor device, bus control circuit and bus control method | |
JP3124544B2 (ja) | バス制御装置 | |
JPH11219585A (ja) | リフレッシュ制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040521 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040713 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040901 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040928 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041026 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081112 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081112 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091112 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101112 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101112 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111112 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111112 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121112 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121112 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131112 Year of fee payment: 9 |
|
EXPY | Cancellation because of completion of term |