JP2000187639A - バス調停装置 - Google Patents

バス調停装置

Info

Publication number
JP2000187639A
JP2000187639A JP10364807A JP36480798A JP2000187639A JP 2000187639 A JP2000187639 A JP 2000187639A JP 10364807 A JP10364807 A JP 10364807A JP 36480798 A JP36480798 A JP 36480798A JP 2000187639 A JP2000187639 A JP 2000187639A
Authority
JP
Japan
Prior art keywords
bus
arbitration
arbiter
bus arbitration
gate
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
Application number
JP10364807A
Other languages
English (en)
Inventor
Teruya Kobayashi
輝也 小林
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.)
NEC Engineering Ltd
Original Assignee
NEC Engineering Ltd
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 NEC Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP10364807A priority Critical patent/JP2000187639A/ja
Publication of JP2000187639A publication Critical patent/JP2000187639A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】階層構造の複数のバス調停ユニットを有し、複
数のバス要求者を公平に調停するバス調停装置を提供す
ること。 【解決手段】階層構造に接続された複数の調停ユニット
10〜16の各調停ユニット300は、調停をロックす
る手段と、ロックする数をカウントするカウント手段2
3と、外部設定手段500で設定された最大数をレジス
タ24に移し両者を比較する比較器25とを有し、カウ
ント手段23が最大値に達するとロックを解除する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はバス調停装置、特に
複数のバス使用者が1つのバスを共有し、そのバス要求
を調停(アービトレーション)する装置に関する。
【0002】
【従来の技術】コンピュータをはじめ、多くのデジタル
機器にはCPU(中央演算装置)又はMPU(マイクロ
プロセッサ)の付属デバイスがアドレスバス及びデータ
バスを介して相互接続され、これらデバイスは共通バス
を、アクセス順又は優先度順に使用する使用権が与えら
れる。この使用権はバス調停装置により調停される。
【0003】従来のバス調停装置の一例は特開平5―1
97674号公報の「マルチプロセッサシステム用アー
ビトレーション装置及び同方法」に開示されている。こ
の従来のバス調停装置を図7に示す。このバス調停装置
は、バスに接続された16個のエージェント00〜0
f、これらエージェントを4個のグループに分け、各グ
ループに接続された4個の調停ユニット10〜13及び
これら4個の調停ユニット10〜13に接続された1個
の調停ユニット14より構成される。
【0004】この従来のバス調停装置は、ラウンドロビ
ンアービタ同士を階層構造状に接続することによって、
システム構成の柔軟性の向上、公平なバス調停の実現を
目ざしている。ラウンドロビンアービタとは、複数のバ
ス要求者よりバス要求が発行されると、直前に処理され
た要求者を最低優先順位にして次要求を調停する方式で
ある。
【0005】図8は、図7に示したバス調停装置の各構
成素子の動作を説明するタイミングチャートである。
尚、クロック(CLOCK)の立上がりで動作するもの
とする。
【0006】
【発明が解決しようとする課題】上述した従来のバス調
停装置では、階層構造のラウンドロビンであって必ずし
も公平な調停ができないという問題があった。その理由
を図7及び図8を参照して説明する。
【0007】先ず、図7の構成のバス調停装置におい
て、ある時間にバス要求がエージェント00、01、0
2、03で同時に発生したと仮定する。この場合の動作
概要を図8にタイムチャートで示す。クロック(CLO
CK)1において同時にREQ00、REQ01、RE
Q02、REQ20が同時にアサートされると、調停ユ
ニット(以下アービタという)10、11、12、1
3、14は、初期値として全て最若番を優先する状態で
あった場合、REQ40、REQ42がセットされ、ア
ービタ14は優先順位に従ってクロック2でGNT40
をアサートし、アービタ10に対してバス要求を受付け
たことを示す。これを受けたアービタ10も、内部に保
持する優先順位に従ってエージェント00に対してGN
T00をセットし、エージェント00に対してバス要求
を受付けたことを示すと、エージェント00はREQ0
0をセットしてバス要求を終了する。
【0008】次の調停タイミングであるクロック6で
は、アービタ14は、前回の調停者(エージェント0
0)を最低優先とする為に、今度はアービタ12側のバ
ス要求、即ちREQ42を受付けてGNT42をアサー
トする。これを検出したアービタ12は、GNT20を
アサートする。更に次の調停タイミングであるクロック
10では、再びアービタ10が優先されてGNT40が
アサートされ、これを検出したアービタ10はGNT0
1をアサートする。
【0009】従って、この従来のバス調停装置により調
停される順番は、エージェント00→03→01→02
となる。しかし、エージェント03のバス要求を処理
後、エージェント01がバス使用中に再びエージェント
03がバス要求を発行すると(図8のREQ20)、ア
ービタ14はクロック14の調停時には前回アービタ1
0を選択したことにより、今度はアービタ12を優先す
る。この結果、再びエージェント03のバス要求が選択
され、エージェント03は、2度目のバス使用権を獲得
した(クロック14でのGNT20)にも拘らず、エー
ジェント02は1度もバス使用権が得られないことにな
る。つまり、調停される確率は、隣接するエージェント
がバス要求を発行しているか否かに依存し、隣接エージ
ェントの範囲はバスアービタのハードウェア構成に依存
する。それ故に、この方式は、ラウンドロビンによるバ
ス調停を行っているにも拘らず必ずしも公平な調停はで
きていないこととなる。
【0010】従って、本発明の目的は、細分化/階層化
されたアービタにおいても公平にバス調停を行うことが
可能なバス調停装置を提供することである。
【0011】
【課題を解決するための手段】前述の課題を解決するた
め、本発明によるバス調停装置は、次のような特徴的な
構成を採用している。
【0012】(1)共通バスに接続される複数のバス要
求者に対して階層構造に接続された複数のバス調停ユニ
ットを有する情報処理装置のバス調停装置において、上
位層と下位層のバス調停ユニット間のインタフェースと
して、下位層からのバス要求を示す信号と上位層からバ
ス要求を受けたことを示す2本の信号に加え、下位層バ
ス調停ユニットの管理下にあるバス要求が2以上保留中
であることを示す信号を設け、上記バス要求が2以上保
留中であることを示す信号がアクティブである場合、調
停動作をロックして前回調停した要求者を再び最高優先
とするバス調停装置。
【0013】(2)共通バスに接続される複数のエージ
ェントと、夫々該エージェントを対として接続される複
数のバス調停ユニットと、該バス調停ユニットを対とし
て接続する次の階層のバス調停ユニットとを順次階層構
造に接続し、前記各バス調停ユニットは、バス要求が2
以上保留中である場合には調停をロックする手段と、該
ロック手段でロックするよう制御した回数を計数するカ
ウント手段と、該カウント手段の計数値が所定値に達す
ると前記ロックを解除する手段とを具えるバス調停装
置。
【0014】(3)前記所定値は、外部設定手段により
任意に設定可能にした上記(2)のバス調停装置。
【0015】(4)前記カウント手段と前記外部設定手
段との両出力を比較する比較手段を有する上記(3)の
バス調停装置。
【0016】(5)前記バス調停ユニットは、前回調停
したエージェントを記憶する記憶手段を有し、前回調停
したエージェントを次回調停では最低優先とする上記
(2)、(3)又は(4)のバス調停装置。
【0017】
【発明の実施の形態】以下、本発明のバス調停装置の好
適実施形態例の構成及び動作を添付した図1乃至図6を
参照して詳細に説明する。
【0018】先ず、図1は本発明のバス調停装置の好適
実施形態例のブロック図であって、バスにて相互接続さ
れた8個のエージェント00〜07からの複数の同時発
生するバス要求を階層構造の7個の調停ユニット10〜
16により調停する場合を示す。調停ユニット10、1
1、12、13は、夫々隣接するエージェント00〜0
1、02〜03、04〜05、06〜07間に接続され
る。調停ユニット14、15は、夫々調停ユニット10
〜11、12〜13に接続される。また、調停ユニット
16は、調停ユニット14、15に接続される。この調
停ユニット16には、D形フリップフロップ(D−F/
F)17及び2入力AND(論理積)ゲート18が接続
されている。
【0019】図1において、REQA00〜REQA1
4の各信号はバス要求を1つ以上保留しており調停が必
要であることを示す。REQM00〜REQM13は本
発明の特徴でありバス要求を2つ以上保留していること
を示す。そしてGNTA00〜GNTA14は調停の結
果バス要求を受付けバスの使用を許可することを示す。
エージェント00、01、02、03、04、05、0
6、07は、バスを使用しデータ転送を行うためにバス
要求を発行するユニットである。
【0020】バス調停ユニット10、11、12、1
3、14、15、16は、2つのバス要求者よりバス要
求信号を入力しバス要求を調停する機能ユニットであ
る。17は遅延回路として機能するD−F/Fであり、
本実施例ではREQA00〜REQA14のいずれかが
アサートされると、次のクロックで調停結果を返却する
ように仮定しているので、タイミングを合わせる為に設
けられている。18はD−F/F17の出力と、バス調
停タイミングを示すARBCYCLEとの論理積(AN
Dゲート)であり、ARBCYCLE信号が”0”のと
き(調停タイミングではないとき)、GNTA14信号
を抑止する。GNTA14信号が抑止されると、他の全
てのGNTA信号(GNTA00〜GNTA13)もア
クティブにならない為に調停動作が行われない。
【0021】次に、図2は図1に示す調停ユニット10
〜16の詳細ブロック図である。図2において、100
及び200は、バス調停ユニット(アービタ)300の
調停対象となる要求者であり、図1においてエージェン
ト又はバス調停ユニットがこの要求者に該当する。アー
ビタ300の入力信号REQA_100とREQA_20
0は図1におけるREQA00〜REQA14と同じ機
能であり、各々要求者100及び200から1つ以上バ
ス要求を保留中であることを示す信号である。REQM
_100とREQM_200も同様に図1のREQM00
〜REQM13と同機能の信号で、各々要求者100及
び200から2つ以上バス要求を保留していることを示
す。
【0022】ANDゲート00は、REQA_100と
REQA_200の論理積で双方からのバス要求がアク
ティブである場合(ここでは00の出力が"1"である場
合とする)には、アービタ300はREQM_100と
REQM_200のいずれも"1"でない場合においても
2つ以上のバス要求を保留していることを示すために設
ける。ORゲート01はREQM_100とREQM_2
00の論理和で、この出力が"1"の場合、要求者100
又は200のいずれかがバス要求を2つ以上保留してい
ることを示す。
【0023】ORゲート02は、ANDゲート00の出
力とANDゲート27の出力の論理和であり、次段アー
ビタ400に対しバス要求を2つ以上保留していること
を示すREQM_300を生成している。ORゲート0
3はREQA_100とREQA_200の論理和で、次
段のアービタ400に対しバス要求を1つ以上保留して
いることを示す信号REQA_300を生成している。
NOTゲート04は、REQA_100の論理反転であ
る。選択器05は、NOTゲート04の出力とREQA
_200を遅延回路11の出力に従って選択する選択器
であり、遅延回路11の出力が"0”ならばNOTゲー
ト04の出力を選択し、遅延回路11の出力が“1”な
らばREQA_200を選択する。
【0024】遅延回路12は、GNT_300がアクテ
ィブになった際に、GNT_100とGNT_200のど
ちらへ出力するかを決定する。NOTゲート06はAN
Dゲート27の出力を論理反転する。遅延回路10は、
要求者100又は200のいずれも2つ以上要求を保留
していないことを意味する。XORゲート07は、D−
F/F10の出力とD−F/F12の出力の排他的論理
和で、D−F/F10の出力が”0”ならば現在調停さ
れた要求者を保持し、次の調停でも再び優先させてい
る。D−F/F10の出力が”0”ならば、現在調停さ
れた要求者ではない側の要求者を優先させる機能を実現
している。
【0025】このように2つ以上のバス要求を保留して
いる要求者が存在する場合、この要求者を次回の調停に
おいても再び優先させる機能をここでは「アービトレー
ションロック機能」という。選択器08は、D−F/F
11の出力とORゲート07の出力をGNT_300に
従って選択する選択器であり、GNT_300がアクテ
ィブでない間(”0”の間)はD−F/F11に対し直
前の値を保持する目的で設けられている。遅延回路(D
−F/F)11は、現在優先する要求者の記憶手段であ
り、”0”のときは要求者100を優先する。遅延回路
12は、調停の結果GNT_300がアクティブになっ
た場合、GNT_100とGNT_200のどちらへ中継
するか選択する方向を記憶する。ANDゲート09及び
0a、NOTゲート0bは前述したGNT_300信号の
中継を行う機能を実現する。
【0026】また、「アービトレーションロック機能」
によって調停を行った回数をカウントするための計数手
段(カウンタ)23と、「アービトレーションロック」
回数の最大値を設定するための手段(外部設定手段)5
00及び最大値を格納する記憶手段(レジスタ)24を設
ける。
【0027】更に、最大値記憶手段24と計数手段23
の出力を比較し一致したことを検出する比較器25を追
加する。比較器25が一致したことを検出したら、RE
QM_300をノンアクティブにし、D−F/F10の
値を"1"にすることによって強制的に「アービトレーシ
ョンロック」状態を解除する機能を実現する為に、論理
反転を行うNOTゲート26、更にD−F/F11の出
力を論理反転するNOTゲート21、この出力とGNT
_300信号の論理積を出力するANDゲート20、D
−F/F10の出力とGNT_300信号の論理積を出
力するANDゲート22、そしてORゲート01とNO
Tゲート06の間に両出力の論理積を出力するANDゲ
ート27を設ける。
【0028】次に図3によって図1の基本的動作の一例
をタイムチャートで示す。 図3の中でクロックCLO
CK信号に関して動作説明中ではn番目のクロックの立
ち上がりエッジをクロックnと記述する。これはタイム
チャート中のCLOCK信号内に書かれた番号と対応
し、この実施例で記述されるF/Fは全てこのクロック
信号の立ち上がりで入力を取込むものとする。
【0029】先ず、図3の例では、クロック1でエージ
ェント00がREQA00をアクティブにすることによ
りバス要求を行う。このとき、この例ではエージェント
00はバス要求を1つしか保留していないものとし、R
EQM00はアクティブにしない。次にREQA00が
アクティブになったことをバス調停ユニット(以下アー
ビタと略す)10が検出すると、REQA08をアクテ
ィブにしてバス要求が保留中であることを次段のアービ
タ14へ通知する。
【0030】同様にして、アービタ14がREQA08
のアクティブを検出すると、REQA12をアクティブ
にする。そしてアービタ16は、REQA14をアクテ
ィブにし、D−F/F17に入力する。そしてクロック
2のタイミングでD−F/Fの出力がアクティブになる
と、ANDゲート18によってバス調停タイミング信号
ARBCYCLEと論理積をとり、この出力をGNTA
14としてアービタ16へ返却する。
【0031】そしてアービタ16は直前に調停した要求
者(ここではアービタ14)を記憶しておき、この要求
者に対してGNTA12をアクティブにすることによっ
て、バス要求受付を表示する。同様に、GNTA12が
アクティブになったことを検出したアービタ10は、G
NTA08をアクティブにする。そしてアービタ10は
GNTA00をアクティブにすることによってエージェ
ント00のバス要求が受付けられたことを表示して、エ
ージェント00がBUS信号を使用してデータ転送を行
う。 また、ここでGNTA00を検出したエージェン
ト00は、REQA00信号をリセットしバス要求を終
了させる。
【0032】以上が基本的な調停動作であり、次に本発
明の特徴である2つ以上のバス要求を保留中である信号
を用いた調停動作を図4のタイミングチャートに示す。
【0033】この例は図1のエージェント00、01、
04の3つが同時にバス要求を発行した場合を例にして
いる。従って、REQA00、REQA01、REQA
04がクロック1で同時にアクティブになる。次に、ア
ービタ10ではREQA00とREQA01がアクティ
ブになったことを検出し、REQA08をアクティブに
すると同時に、アービタ10ではバス要求を2つ保留し
ていることになるため、REQM08もアクティブにす
る。
【0034】そしてアービタ14はREQA08、RE
QM08のアクティブを検出すると、REQA12、R
EQM12をアクティブにする。一方エージェント04
側のバス要求はアービタ12、15を経由しREQA0
4→REQA10→REQA13の順に伝達される。そ
してアービタ16でREQA12とREQA13がアク
ティブになったことを検出し、REQA14をアクティ
ブにする。そしてクロック2のタイミングでD−F/F
17の出力がアクティブになる。このとき、この動作例
ではクロック2のタイミングでバス調停タイミング信号
ARBCYCLEがアクティブになったと仮定してい
る。このタイミングでバス要求を受付けたことを示すG
NTA14をアービタ16に返却する。
【0035】ここで、アービタ16では、優先順位の状
態がアービタ14側、即ちREQA12側を優先する状
態であったと仮定し、これによってアービタ14側への
GNTA12をアクティブにし、GNTA13はノンア
クティブのままにする。同時に、ここでREQM12が
アクティブであることにより本発明の特徴である「アー
ビトレーションロック」動作が行なわれる。これは通常
ならばラウンドロビンのアルゴリズムに従い現在調停し
たアービタ14側の優先順位を下げ次回の調停ではアー
ビタ15側を優先させるが、REQM12がアクティブ
になっている為に、次回の調停においてもアービタ14
側を優先させてアービタ14配下に保留になっているも
う一つのバス要求を受け付けるように設定する。
【0036】次に、アービタ14はGNTA12のアク
ティブを検出したら、GNTA08をアクティブにす
る。ここでは、もう一方のアービタ11側にはバス要求
はないので、調停は行わずに無条件で中継するだけであ
るが、REQM08がアクティブであることにより優先
順位のロックは行う。これは、次回の調停までにアービ
タ11側より新規にバス要求が行われてもこれを優先さ
せずにアービタ10側で保留になっているバス要求を優
先させる機能を実現している。
【0037】次に、アービタ10がGNTA08のアク
ティブを検出すると、アービタ内部に記憶している優先
順位に従い調停を行う。図4の例では、先ずエージェン
ト00側を優先させてGNTA00をアクティブにして
いる。これによって、エージェント00はバス使用の許
可を与えられクロック3でバス要求信号REQA00を
リセットし、クロック3とクロック4で共有バスとなっ
ているBUS信号を用いてデータ転送を行う。(この例
では説明を簡潔にする為にデータ転送は1回の調停につ
き2クロック間のみ行われるものと仮定している。)
【0038】REQA00がリセットされると、アービ
タ10で保留中のバス要求は1つだけとなる為にREQ
M08もリセットされる。REQM08がリセットされ
ると、アービタ14のREQM12もリセットされる。
エージェント00がデータ転送を行っている間もまだバ
ス要求が受付けられていないエージェント01及びエー
ジェント04は、バス要求信号をアクティブにしている
為にREQA01、 REQA04はアクティブの状態
のままでいる。この為、これに連動しREQA08、
REQA12、 REQA10、 REQA13、 RE
QA14はアクティブになったままである。
【0039】この2クロックの転送終了後、クロック5
で再び調停タイミングであるARBCYCLEがアクテ
ィブになると、GNTA14が再びアクティブになる。
これを検出したアービタ16はクロック1における前回
の調停時に「アービトレーションロック」機能によって
再びアービタ14側が優先されるように設定されてい
る。この為、この優先順位に従ってGNTA12をアク
ティブにする。ここでは、既にREQM12はリセット
されてノンアクティブとなっている為に、「アービトレ
ーションロック」は行われず、次回調停時の優先順位は
今回と逆側、即ちアービタ15側へ切り替える。アービ
タ14がGNTA12のアクティブを検出すると、アー
ビタ10側のGNTA08をアクティブにする。ここで
も、「アービトレーションロック」状態は解除されてい
る為に、優先順位を入替えて次回の調停時にはアービタ
11側を優先するように設定する。
【0040】次に、アービタ10は、GNTA08がア
クティブになったことを検出すると、既にREQA00
はリセットされており、アクティブなのはREQA01
のみであるので、GNTA01をアクティブにし、エー
ジェント01に対してバス使用権を与える。これによ
り、エージェント01はクロック6でREQA01をリ
セットし、クロック6とクロック7の間バス信号BUS
を用いてデータ転送を実行する。
【0041】このとき、まだバス要求が受付けられてい
ないエージェント04によってREQA04がアクティ
ブになっているため、連動してREQA10、 REQ
A13、 REQA14がアクティブのままになってい
る。エージェント01の転送終了後、再びクロック8
で、バス調停タイミングARBCYCLEがアクティブ
になるので、GNTA14がアクティブになり、アービ
タ16に伝達される。これにより、アービタ16はGN
TA13をアクティブにしてアービタ15へ伝達する。
【0042】同様に、アービタ15はGNTA10をア
クティブにしてアービタ12に伝達し、アービタ12は
GNTA04をアクティブにしてエージェント04にバ
ス要求使用許可を通知する。これにより、エージェント
04はクロック9でREQA04をリセットし、クロッ
ク9とクロック10の間にバス信号BUSを用いてデー
タ転送を行う。
【0043】次に、図2に示す各アービタ10〜16の
具体的回路動作を、図5のタイミングチャートを参照し
て説明する。これは「アービトレーションロック」機構
及び「アービトレーションロック」回数によるロック抑
止機構が動作しない基本動作例である。先ず、クロック
2においてREQA_100とREQA_200が同時に
アサートされアクティブになり、REQM_100及び
REQM_200はノンアクティブのままである。RE
QA_100とREQA_200が同時にアクティブにな
ると、ORゲート03の出力が"1"になりREQA_3
00がアクティブになる為に、次段アービタ400に対
し1つ以上のバス要求を保留していることを通知する。
【0044】また、REQA_100とREQA_200
が共にアクティブであることにより、ANDゲート00
及びORゲート02の出力が”1”になる。これによっ
て、REQM_300がアクティブになり、次段アービ
タ400へバス要求を2つ以上保留していることを通知
する。またREQM_100及びREQM_200はノン
アクティブのままなので、ORゲート01の出力は”
0”のままであり、ANDゲート27の出力も”0”で
ある。このANDゲート27の出力がNOTゲート06
により反転されてD−F/F10は”1”の状態となっ
ている。
【0045】D−F/F10が”1”の場合はアービト
レーションのロックを行わないことを意味する。(逆
に”0”の場合は「アービトレーションロック」を行う
ことを意味する。)また、次調停時での優先順位を記憶
するD−F/F11は、このタイミングチャートの例で
は初期値を”0”として最初の調停時には要求者100
側を優先する。このD−F/F11が”0”であること
により、選択器05はNOTゲート04の出力が選ばれ
る。
【0046】ここでは、REQA_100がアクティ
ブ(”1”)であることにより、選択器05は”0”を出
力する。この値は次クロック3でD−F/F12に取込
まれ、NOTゲート0bの出力が”1”になる。クロッ
ク3で、次段アービタ400よりGNT_300がアク
ティブになると、ANDゲート09を介してGNT_1
00側へ中継する。GNT_300がアクティブになっ
たことにより、選択器08はXORゲート07の出力を
選択し、ここでは”1”を出力する。これにより、次ク
ロックのクロック4でD−F/F11には”1”が格納
され、選択器05はREQA_200の値を出力する。
REQA_200は依然としてアクティブである為に、
選択器05は”1”を出力し、次クロックのクロック5
でD−F/F12の値が”1”に変わる。
【0047】また、クロック3でのGNT_100のア
クティブにより、バスの使用許可を得た要求者100
は、クロック4でREQA_100をリセットする。A
NDゲート00及びORゲート02の出力が”0”とな
りREQM_300はノンアクティブとなる。しかし、
REQA_200はアクティブである為に、REQA_3
00もアクティブのままである。また、クロック3にお
ける調停タイミングで、REQM_300がアクティブ
であった為に次段アービタ400で「アービトレーショ
ンロック」機構が働いて、次回の調停時にもアービタ3
00を優先するように設定される。そこで、クロック6
での調停タイミングにおいても、GNT_300がアク
ティブになる。このときに、D−F/F12の出力が”
1”であることにより、ANDゲート0aを経由してG
NT_200がアクティブとなる。GNT_200がアク
ティブになったことを検出した要求者200は、REQ
A_200をリセットしバスを使用する。
【0048】次に、図6のタイミングチャートを用いて
本発明のバス調停装置の動作の説明を行う。この例がア
ービトレーション機構及び本発明の特徴である「アービ
トレーションロック」回数計測によるロック抑止機構を
用いた場合の動作例である。前提条件として、最大値格
納手段24に”1”を設定したものと仮定し「アービト
レーションロック」を一度行ったら強制解除を行う。動
作は先ずクロック2で要求者100よりREQA_10
0及びREQM_100がアサートされてアクティブに
なる。REQA_100のアクティブにより、ORゲー
ト03の出力が”1”になり、REQA_300がアク
ティブになる。一方、REQM_100がアクティブに
なったことにより、ORゲート01とANDゲート27
とORゲート02の出力が”1”になり、REQM_3
00がアクティブになる。またこのとき、NOTゲート
06の出力が”0”になる為に、クロック3でD−F/
F10に”0”が格納される。
【0049】これによって「アービトレーションロッ
ク」機構が働きXORゲート07の出力にはD−F/F
12の内容がそのまま選択器08に入力される。また、
D−F/F11の初期値は”0”であると仮定している
為に、選択器05にはNOTゲート04の出力(REQ
A_100の反転)が選択され、現在REQA_100は
アクティブ(”1”)であり、選択器05はこれを反転し
た内容すなわち”0”が出力される。これがD−F/F
12に入力されるので、D−F/F12はクロック3
で”0”を格納する。この例ではクロック3で調停タイ
ミングARBCYCLEがアクティブになり、次段アー
ビタ400よりGNT_300がアサートされたと想定
する。
【0050】選択器08は、XORゲート07の出力を
選択し”0”を出力する。また同時に、D−F/F12
が”0”であることにより、NOTゲート0bの出力
は”1”である。これとGNT_300とによってAN
Dゲート09の出力が”1”になりGNT_100がア
クティブになる。更に、このとき、ANDゲート20の
出力が”1”になることでCOUNTUP信号が”1”
になり、クロック4でカウンタ23がカウントアップ
し”0”から”1”に変化する。比較器25は、カウン
タ23の出力とレジスタ24の出力が一致したことを検
出して”1”を出力し、これを受けたNOTゲート26
は”0”になる。これにより、ANDゲート27の出力
は”0”となり、REQM_300はノンアクティブと
なる。この動作によって、次の調停時には「アービトレ
ーションロック」が働かずに抑止される。この例では、
要求者100はGNT_100を検出しても更にまだ保
留中のバス要求が2つ以上あると仮定し、REQA_1
00及びREQM_100もアクティブとなったままと
する。
【0051】次段アービタ400では前回の調停時に
「アービトレーションロック」機構が働いた為に、クロ
ック6の次調停タイミングARBCYCLEのタイミン
グで、再びGNT_300をアサートする。アービタ3
00においても、前回の調停時に「アービトレーション
ロック」を行いD−F/F12の内容が”0”である為
に、再びGNT_100がアクティブになる。このとき
同時に選択器08がXORゲート07の出力を選択する
と、D−F/F12の内容を反転した値、即ち”1”が
出力され、次クロックのクロック7でD−F/F11に
格納される。これによって次回の調停時には要求者20
0側を優先するように設定された。
【0052】他方、クロック6に戻りGNT_300
が”1”で、D−F/F10の内容が”1”あるので、
ANDゲート22の出力が”1”となりRESET信号
がアクティブになる。これによりカウンタ23の内容は
次クロック(クロック7)のタイミングでリセットさ
れ、再び”0”となる。比較器25の出力は、”0”と
なり、NOTゲート26の出力は”1”となるので、A
NDゲート27の出力が”1”となり、再びREQM_
300がアクティブになる。
【0053】このように、上述の実施例では、2つ以上
バス要求を保留している信号を用いた「アービトレーシ
ョンロック」機構と、「アービトレーションロック」機
能を用いて調停した回数をカウントし、予め設定してお
いた最大数と一致したときに、「アービトレーションロ
ック」機能の強制解除を行う機能を追加している。これ
らの手段により、保留中となっているバス要求の数に応
じたアービトレーションを行い、更に同一要求者が「ア
ービトレーションロック」機能を用いてバスの優先権を
独占することを防止している。
【0054】これによって、調停装置を複数の調停ユニ
ットに分割して相互接続しても調停の公平さが失われる
ことが無くなる。 また調停装置を分割しても調停の公
平さが失われることがない為に本実施例のように1つの
調停ユニットを2対1の調停機能にして相互接続すれば
機構の単純化が図れ、調停ユニット間のインタフェース
も統一されているので、バスエージェント数の拡張も容
易に行うことが可能となる。
【0055】以上、本発明のバス調停装置の好適実施形
態例の構成及び動作を説明した。しかし、本発明は斯る
特定実施形態例のみに限定されるべきではなく、本発明
の要旨を逸脱することなく種々の変形変更が可能である
ことが当業者には容易に理解できよう。
【0056】
【発明の効果】上述の説明から理解される如く、本発明
のバス調停装置によると、バス要求が2以上保留中であ
ることを予め知っておくことにより、次回の調停時にも
同一要求者に優先権を与え、且つ1つの要求者に集中し
て調停されることを抑止する「アービトレーションロッ
ク機能」を付加することにより、公平なラウンドロビン
制御を可能にする。
【0057】また、上述した効果により、1つのバス調
停ユニット(アービタ)は、調停対象を極力減らして設
計することにより、多数の要求者にも対応させることが
可能である。そして要求者の数を増やす場合においても
バス調停回路を変更することなく相互接続する台数を増
やすのみで対応可能であり、バス調停装置の構成を簡単
且つ柔軟に構成することができる。
【図面の簡単な説明】
【図1】本発明のバス調停装置の構成例を示すブロック
図である。
【図2】図1に示すバス調停装置の各調停ユニット(ア
ービタ)の具体的回路構成図である。
【図3】本発明のバス調停装置の動作を説明するタイミ
ングチャートである。
【図4】図3と同様のタイミングチャートである。
【図5】図2の調停ユニットの動作を説明するタイミン
グチャートである。
【図6】図5と同様のタイミングチャートである。
【図7】従来のバス調停装置の構成図である。
【図8】図7のバス調停装置の動作を説明するタイミン
グチャートである。
【符号の説明】 00〜07、100、200 エージェント(バス要
求者) 10〜16、300 調停ユニット(アービタ) 23 カウンタ(計数手段) 24 レジスタ 25 比較器(比較手段) 500 外部設定手段

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】共通バスに接続される複数のバス要求者に
    対して階層構造に接続された複数のバス調停ユニットを
    有する情報処理装置のバス調停装置において、上位層と
    下位層のバス調停ユニット間のインタフェースとして、
    下位層からのバス要求を示す信号と上位層からバス要求
    を受けたことを示す2本の信号に加え、下位層バス調停
    ユニットの管理下にあるバス要求が2以上保留中である
    ことを示す信号を設け、上記バス要求が2以上保留中で
    あることを示す信号がアクティブである場合、調停動作
    をロックして前回調停した要求者を再び最高優先とする
    ことを特徴とするバス調停装置。
  2. 【請求項2】共通バスに接続される複数のエージェント
    と、夫々該エージェントを対として接続される複数のバ
    ス調停ユニットと、該バス調停ユニットを対として接続
    する次の階層のバス調停ユニットとを順次階層構造に接
    続し、前記各バス調停ユニットは、バス要求が2以上保
    留中である場合には調停をロックする手段と、該ロック
    手段でロックするよう制御した回数を計数するカウント
    手段と、該カウント手段の計数値が所定値に達すると前
    記ロックを解除する手段とを具えることを特徴とするバ
    ス調停装置。
  3. 【請求項3】前記所定値は、外部設定手段により任意に
    設定可能にしたことを特徴とする請求項2に記載のバス
    調停装置。
  4. 【請求項4】前記カウント手段と前記外部設定手段との
    両出力を比較する比較手段を有することを特徴とする請
    求項3に記載のバス調停装置。
  5. 【請求項5】前記バス調停ユニットは、前回調停したエ
    ージェントを記憶する記憶手段を有し、前回調停したエ
    ージェントを次回調停では最低優先とすることを特徴と
    する請求項2、3又は4に記載のバス調停装置。
JP10364807A 1998-12-22 1998-12-22 バス調停装置 Pending JP2000187639A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10364807A JP2000187639A (ja) 1998-12-22 1998-12-22 バス調停装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10364807A JP2000187639A (ja) 1998-12-22 1998-12-22 バス調停装置

Publications (1)

Publication Number Publication Date
JP2000187639A true JP2000187639A (ja) 2000-07-04

Family

ID=18482715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10364807A Pending JP2000187639A (ja) 1998-12-22 1998-12-22 バス調停装置

Country Status (1)

Country Link
JP (1) JP2000187639A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014514662A (ja) * 2011-04-20 2014-06-19 マーベル ワールド トレード リミテッド 可変長アービトレーション

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014514662A (ja) * 2011-04-20 2014-06-19 マーベル ワールド トレード リミテッド 可変長アービトレーション
US9507742B2 (en) 2011-04-20 2016-11-29 Marvell World Trade Ltd. Variable length arbitration

Similar Documents

Publication Publication Date Title
JP2625589B2 (ja) マルチプロセッサ・システム
KR100932359B1 (ko) 고주파수 중재자를 통해 사이클마다 복수의 버스 중재를수행하는 스위치 매트릭스 시스템
US4698753A (en) Multiprocessor interface device
US5459840A (en) Input/output bus architecture with parallel arbitration
US4953072A (en) Node for servicing interrupt request messages on a pended bus
US5428794A (en) Interrupting node for providing interrupt requests to a pended bus
CA1306068C (en) Apparatus and method for servicing interrupts utilizing a pended bus
US5894562A (en) Method and apparatus for controlling bus arbitration in a data processing system
CN116028413A (zh) 一种总线仲裁器、总线仲裁的方法、装置及介质
US20100070667A1 (en) Arbitration Based Allocation of a Shared Resource with Reduced Latencies
EP1096387B1 (en) An arbitration unit for a bus
US6973520B2 (en) System and method for providing improved bus utilization via target directed completion
US7099972B2 (en) Preemptive round robin arbiter
US7130947B2 (en) Method of arbitration which allows requestors from multiple frequency domains
EP0886218B1 (en) Time multiplexed scheme for deadlock resolution in distributed arbitration
JP2000187639A (ja) バス調停装置
US6167478A (en) Pipelined arbitration system and method
JP2000112876A (ja) バス調停装置
KR930001586B1 (ko) 다중 버스 마이크로 컴퓨터 시스템
JP2643776B2 (ja) アービタ装置およびアービタ方法
JP4170506B2 (ja) 調停回路および方法
JPH04168560A (ja) バス・アービトレーション制御回路
GB2202975A (en) Computer system with direct memory access channel arbitration
JP2000259555A (ja) バスアービトレーション制御装置およびバスシステム
JPH10326253A (ja) バス調停回路

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040511

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040921