JP2000250853A - バス調整制御装置 - Google Patents

バス調整制御装置

Info

Publication number
JP2000250853A
JP2000250853A JP11053496A JP5349699A JP2000250853A JP 2000250853 A JP2000250853 A JP 2000250853A JP 11053496 A JP11053496 A JP 11053496A JP 5349699 A JP5349699 A JP 5349699A JP 2000250853 A JP2000250853 A JP 2000250853A
Authority
JP
Japan
Prior art keywords
bus
node
request
arbitration
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.)
Pending
Application number
JP11053496A
Other languages
English (en)
Inventor
Hidekazu Uehara
秀和 植原
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 Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP11053496A priority Critical patent/JP2000250853A/ja
Publication of JP2000250853A publication Critical patent/JP2000250853A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 特定のノードのバスリクエストが必要以上に
待たされるのを回避し、各ノードが公平にバスを使用す
ることができる密結合バスシステムのバスアービトレー
ション方式の提供。 【解決手段】 リクエストカウンタの値を、カウンタ値
識別回路17で監視し、特定のノードのリクエストカウ
ンタの値が予め設定しておいた値よりも大きくなった場
合、カウンタ値識別回路17は当該特定のノードが長期
間バスを獲得できていないと判断し、バスリクエストマ
スク信号により、自ノードがシステムバスリクエスト線
101に発行しようとしていたバスリクエストの発行を
抑止する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、バス調整制御装置
に関し、特に、特定のノードのバスリクエストが必要以
上に待たされるのを回避し、各ノードが公平にバスを使
用できるようにすることを図ったバス調整制御装置に関
する。
【0002】
【従来の技術】共通のシステムバスに複数のプロセッサ
が接続されているマルチプロセッサシステムでは、ある
一時点にシステムバスを使用できるノードは一つだけで
ある。従って、その時点毎に、どのノードが、システム
バスを使用するかということに関してノード間の調停作
業が必要となる。この調停作業のことをアービトレーシ
ョン(arbitration )と呼ぶ。
【0003】このアービトレーションは、次のような制
御を行う。 (1)各ノードからバス使用のリクエスト(以下、バス
リクエストという)を受信する。 (2)同時に二つ以上のノードからバスリクエストが来
ている時には、どのノードにバス使用権を与えるのかを
決定する。 (3)バス使用権を獲得したノードにその旨を通知す
る。
【0004】そして、このアービトレーションを行う制
御方式は大きく分けて次のような2つの方式がある。 (1)〔集中アービトレーション方式〕 この方式は、マルチプロセッサシステムの各ノードとは
別にアービタが存在して各ノードのバスリクエストを集
中管理する方式である。 (2)〔分散アービトレーション方式〕 この方式は、アービタが各ノード内部に存在し、ノード
内の全アービタが同じアービトレーション結果を出すよ
うに制御することで各ノードへの結果通知作業を省いた
方式である。
【0005】本発明は、このうち分散アービトレーショ
ン方式に適用されるものであり、この分散アービトレー
ション方式についての従来の技術を以下に説明する。
【0006】分散アービトレーション方式では、複数の
ノードが同時にバスリクエストを発行した場合に、バス
を割り当てるための優先順位を決定する。この優先順位
の決定規則をアービトレーションアルゴリズムと呼ぶ。
このアービトレーションアルゴリズムは幾つもの方式が
存在し、どの方式を採用するかはシステムの特徴等を考
慮して設計者が決定する。
【0007】ところで、アービトレーションアルゴリズ
ムを決めるにあたって一般的に考慮しなければならない
ことは、ある程度の公平さを保つことである。同時に複
数のノードがバスリクエストを発行した場合に、いつも
特定のノードばかりがバスの使用権を得たり、特定のノ
ードがいつもバスの使用権を得られないと言うのではシ
ステム全体としてのパフォーマンスに悪い影響を与えて
しまう。
【0008】ここで考えられるアービトレーションアル
ゴリズムとして最も単純なのは、各ノードに固定的に優
先順位を割り当てる固定優先順位方式である。この方式
は、複数のノードから同時にバスリクエストが発行され
た場合、予め割り当てられている優先順位を比較し、優
先順位の高いノードにバス使用権を与える方式である。
しかしながら、この固定優先順位方式は、公平さという
観点からはかけ離れている。
【0009】通常、公平さを保つためには、各ノードに
固定的に優先順位を与えるのではなく、アービトレーシ
ョンを行う毎に優先順位が順番に変更されるようなアル
ゴリズムを採用することが望ましい。
【0010】このような優先順位が変更されるアービト
レーション方式としてよく使用されるものに、ラウンド
ロビン方式がある。この方式は、各ノードに優先順位を
付け、バスリクエストを発行したノードのうち優先順位
の高いノードがバスを獲得し、そのノードがバスを獲得
すると優先順位が順番に別のノードに移動していく方式
である。優先順位が全ノードを移動すると、再び自分の
ところに戻ってきてノード間でまわるように移動するこ
とからラウンドロビン方式と呼ばれている。
【0011】また、ラウンドロビン方式以外でよく使用
されるものとして、LRU(Least Recent Used) 方式が
ある。この方式は、バスを使用したノードの順番を記録
しておき、記録されている内で最も長期間バスを使用し
ていなかったノードが最も優先順位が高く、一番最近バ
スを使用したノードが最も優先順位が低くなるように優
先順位が移動する方式である。この方式では、バスリク
エストが発行されると、バスリクエストを発行したノー
ドのうち、最も長期間バスを獲得していなかったノード
がバスを獲得し、バスを獲得したノードは次のアービト
レーションでは最低の優先順位に順番が下げられる。
【0012】しかしながら、ラウンドロビン方式にしろ
LRU方式にしろ、単純に優先順位を移動していけば全
て公平さが保たれるというわけではない。実際のシステ
ムでは、各ノードそれぞれに特徴があり、ノードによっ
て、ある程度待たされてもシステム全体のパフォーマン
スに影響が少ないものと、速く処理しなればシステムの
パフォーマンスに大きな影響があるものが存在するため
である。
【0013】このような場合、単純なラウンドロビン方
式やLRU方式に2レベル以上の優先順位を取り入れる
ことがある。図6は、このような2レベルのアービトレ
ーション方式を採用したコンピュータシステムの構成例
を示す図である。
【0014】図6に示すように、システムバス上のノー
ドを、その特徴によりグループAとグループBに分け
る。ここでグループAは速い処理が必要なノードで優先
順位が高く、グループBは速い処理を必要としないノー
ドで優先順位が低いというように固定的に優先順位を付
ける。また、固定優先順位とは別にノードA1→B1→
A2→B2の順に優先順位が循環するようなラウンドロ
ビン方式が採用されていたとする。
【0015】グループA,Bから複数ノードが同時にバ
スリクエストを発行した場合には、固定優先順位が高い
グループAの中で、巡回する優先順位が最も高いノード
がバスを獲得する。この場合、グループBのノードがバ
スを獲得できるのは、グループAのノードからのバスリ
クエストが同時に発行されていない場合に限られる。
【0016】図7は、図6の構成に基づくアービトレー
ションの具体的な動作例を示す図である。この図では各
時間において左側にあるノードほど優先順位が高い。図
中、「REQ」はノードがバスリクエストを発行したこ
とを示している。
【0017】時間1では循環優先順位は高い方から順に
A1→B1→A2→B2となっている。バスリクエスト
はバス上の全ノードから発行されているため、ここでバ
スを獲得するのは固定優先順位が高いグループAのう
ち、循環優先順位が最も高いノードA1となる。
【0018】時間2になると循環優先順位は1つ移動
し、B1→A2→B2→A1となる。ここで循環優先順
位はB1が最も高いが、固定優先順位の高いA2がバス
リクエストを発行しているため、バスを獲得するのはA
2となる。以下、時間3,時間4でもバスリクエストを
発行しているノードの中での循環優先順位はB2が最も
高いが、グループAのバスリクエストが発行されている
ためにB2はバスを獲得できない。
【0019】グループBのノードがバスを獲得できるの
は、グループAからのバスリクエストが発行されなくな
る時間5,時間6になってからであり、この時にバスリ
クエストを発行していたグループBの中で循環優先順位
の高い方のノードからバスを獲得できる。このように2
レベル以上の優先順位を採用することにより、システム
全体のパフォーマンス向上を見込むことができる。
【0020】
【発明が解決しようとする課題】しかしながら、従来の
分散方式のバスアービトレーション方式によると、グル
ープ間に不平等なバス割り当てを行っていることによる
弊害も存在する。例えば、上記例でいうと、グループB
はグループAのノードがバスリクエストを発行していな
い場合にはバスを獲得できるが、これは逆に言えば、グ
ループAが常にバスリクエストを発行していた場合に、
グループBはいつまでもバスを獲得できないということ
である。
【0021】しかし、グループAがどの程度の割合でバ
スリクエストを発行するかということはプロセッサやシ
ステムバスの仕様に加え、ソフトウェアの動作にも依存
するために予想することが極めて困難である。従って、
例えば、グループAからのバスリクエストが長時間切れ
目なく発行され続けた場合、グループBのバスリクエス
トが必要以上に待たされ、かえってシステム全体のパフ
ォーマンスが低下したり、場合によってはバスリクエス
トが発行されないことによるタイムアウトが発生するこ
とにもなり得る。
【0022】一般に、不平等で複雑なアービトレーショ
ンアルゴリズムを採用するほど、どのような順番でバス
を獲得するかという予想は難しく、実際に動作するまで
必要以上にバスリクエストが待たされることに気づかな
いということが起こりやすい。
【0023】従って、本発明の目的は、特定のノードの
バスリクエストが必要以上に待たされるのを回避し、各
ノードが公平にバスを使用することができるバス調整制
御装置を提供することにある。
【0024】
【課題を解決するための手段】本発明は、上記の目的を
達成するため、共通のバスに複数のバスマスタが接続さ
れ、複数のバスマスタがそれぞれバスの使用権を主張し
た場合に生じるバス使用要求の競合を調整するバス調整
制御装置において、複数のバスマスタのそれぞれに設け
られ複数のバスマスタからのバス使用要求に応じて所定
の優先順位でバスの使用権を決定するバスアービトレー
ション手段と、複数のバスマスタのそれぞれに対応して
設けられ複数のバスマスタからのバス使用要求の回数を
計数する複数の計数手段と、複数の計数手段の計数値を
監視して所定のバス使用要求を抑止する計数値識別手段
と、を有することを特徴とするバス調整制御装置を提供
するものである。
【0025】以上の構成において、計数値識別手段は、
特定のバスマスタのバス使用要求回数の計数値が所定の
設定値以上となったとき、自バスマスタのバス使用要求
を抑止することが望ましい。
【0026】また、計数値識別手段は、自バスマスタ以
外のバスマスタのバス使用要求回数の計数値と自バスマ
スタのバス使用要求回数の計数値とがともに所定の設定
値以上となったとき、自バスマスタのバス使用要求の抑
止を行わないことが望ましい。
【0027】更に、複数の計数手段は、バスの使用権が
決定したとき、バスの使用権が決定したバスマスタに対
応する計数手段のみリセットされることが望ましい。
【0028】また、本発明は、上記の目的を達成するた
め、共通のバスに複数のバスマスタが接続され、複数の
バスマスタがそれぞれバスの使用権を主張した場合に生
じるバス使用要求の競合を調整するバス調整制御装置に
おいて、複数のバスマスタのそれぞれに設けられ複数の
バスマスタからのバス使用要求に応じて所定の優先順位
でバスの使用権を決定するバスアービトレーション手段
と、バスアービトレーション手段により自バスマスタに
バスの使用権が決定されたとき、バスに自バスマスタの
バス使用の命令を発行するバス命令発行手段と、複数の
バスマスタのそれぞれに対応して設けられ複数のバスマ
スタからのバス使用要求の回数を計数する複数の計数手
段と、複数の計数手段の計数値を監視する計数値識別手
段と、バスアービトレーション手段によるバスの使用権
の決定を変更するアービトレーション結果変更手段と、
を有することを特徴とするバス調整制御装置を提供する
ものである。
【0029】以上の構成において、アービトレーション
結果変更手段は、自バスマスタにバス使用権が決定され
た場合であって、自バスマスタ以外のバス使用要求回数
の計数値が所定の設定値以上であったとき、自バスマス
タのバス使用の命令の発行を抑止することが望ましい。
【0030】また、アービトレーション結果変更手段
は、自バスマスタ以外にバス使用権が決定された場合で
あって、自バスマスタのバス使用要求回数の計数値が所
定の設定値以上であったとき、自バスマスタのバス使用
の命令の発行の抑止を行わないことが望ましい。
【0031】更に、複数の計数手段は、バスの使用権の
決定が変更されたとき、バスの使用権の決定が変更され
たバスマスタに対応する計数手段のみリセットされるこ
とが望ましい。
【0032】
【発明の実施の形態】以下、添付図面を参照しながら、
本発明の実施の形態を詳細に説明する。
【0033】〔第1の実施の形態〕図1は、第1の実施
の形態によるバス調整制御装置のバスアービトレーショ
ン方式が適用されるコンピュータシステムの構成例を示
す図である。ここでは、4つのプロセッサそれぞれが1
つのノードを構成するような密結合マルチプロセッサシ
ステムの場合について説明するが、ノードはバスマスタ
となり得るノードなら、I/Oやメモリでも適用可能で
ある。
【0034】図1では、4つのプロセッサは、直接、共
通のシステムバス100に接続され、それぞれのプロセ
ッサ毎に一つのノードを形成している。即ち、プロセッ
サ10がノード1を形成し、プロセッサ20がノード2
を形成し、プロセッサ30がノード3を形成し、プロセ
ッサ40がノード4を形成している。この構成の場合、
バスアービトレーションを行なうアービトレーション回
路は各プロセッサ10,20,30,40の内部に存在
する。
【0035】ここで、4つのプロセッサ10,20,3
0,40を、その特徴に基づき、グループに分ける。即
ち、プロセッサ10,20,30で形成されるノード
1,2,3をグループAとし、プロセッサ40で形成さ
れるノード4をグループBとする。ここでは、グループ
Aは速い処理が必要なノードで優先順位が高く、グルー
プBは速い処理を必要としないノードで優先順位が低い
というように固定的に優先順位を付けるものとする。
【0036】図2は、各プロセッサ10,20,30,
40とシステムバス100との接続の詳細を示す図であ
る。図に示すように、システムバス100には、各ノー
ド1,2,3,4からのバスリクエストを送受信するた
めにシステムバスリクエスト線101,102,10
3,104が設けられ、このシステムバスリクエスト線
101,102,103,104は各ノード1,2,
3,4とそれぞれ接続されている。
【0037】このシステムバスリクエスト線は、システ
ムバス上のノード数と同じ本数だけ存在し、各ノード
1,2,3,4は対応する1本のシステムバスリクエス
ト線をドライブすることによりバスリクエストを発行す
る。
【0038】各プロセッサは自分がドライブする以外の
システムバスリクエスト線とも接続されていて信号の受
信ができるようになっており、これにより他ノードが発
行したバスリクエストを監視している。
【0039】図3は、図1,図2におけるノード1のプ
ロセッサ10の内部構成を示すブロック図である。な
お、この図では、各ノードのプロセッサ内部構成を説明
するためにノード1のプロセッサ10の内部構成を代表
例として挙げたものであり、ノード2のプロセッサ2
0,ノード3のプロセッサ30,ノード4のプロセッサ
40の内部構成も、ノード1のプロセッサ10の内部構
成と同様である。
【0040】図に示すように、ノード1のプロセッサ1
0は、自ノードのバスリクエストを生成するバスリクエ
スト生成回路11と、バスリクエスト生成回路11で生
成されたバスリクエストおよび他のノード2,3,4か
らのバスリクエストをシステムバスリクエスト線10
1,102,103,104から受信しアービトレーシ
ョンを行ってバス獲得信号を生成するバスアービトレー
ション回路12と、各ノードに対応して設けられこれら
の各ノードのバスリクエストの発行回数を計数するリク
エストカウンタ13,14,15,16と、リクエスト
カウンタ13,14,15,16の値を監視しこの値に
より自ノードのバスリクエストをマスクするバスリクエ
ストマスク信号を生成するカウンタ値識別回路17と、
から構成されている。
【0041】以上の構成において、プロセッサ10内部
のバスリクエスト生成回路11は、システムバスリクエ
スト線101に接続されており、ノード1がシステムバ
スリクエスト線101にバスリクエストを送信できるよ
うになっている。
【0042】また、プロセッサ10は、全システムバス
リクエスト線101,102,103,104と接続さ
れていてバスリクエストを受信できるようになってお
り、自ノードに対応するシステムバスリクエスト線10
1とは双方向で接続され、他ノードに対応するシステム
バスリクエスト線102,103,104とは受信専用
で接続されている。
【0043】システムバスリクエスト線101,10
2,103,104から受信した信号は、バスアービト
レーション回路12に取り込まれてアービトレーション
を行いバス獲得信号を生成する。バス獲得信号は各ノー
ド毎に存在し、アービトレーションによりバスを獲得し
たノードに対応する信号だけがアサートされる。
【0044】また、プロセッサ10の内部には、各ノー
ドに対応するリクエストカウンタ13,14,15,1
6が設けられている。ここで、ノード1リクエストカウ
ンタ13は、自ノードのバスリクエスト発行回数を数え
るカウンタであり、ノード2,3,4の各リクエストカ
ウンタ14,15,16は、他ノードのバスリクエスト
発行回数を数えるカウンタである。
【0045】カウンタ値識別回路17は、ノード1,
2,3,4のリクエストカウンタ13,14,15,1
6の値を監視していて、この値により自ノードのバスリ
クエストをマスクするバスリクエストマスク信号を生成
する。
【0046】以下、図3に基づいて、ノード1のプロセ
ッサ10におけるバスアービトレーションの動作を説明
する。
【0047】図3において、バスリクエスト生成回路1
1により生成されたバスリクエストは、自ノードに対応
するシステムバスリクエスト線101に送信される。
【0048】プロセッサ10は常に自ノードを含む全シ
ステムバスリクエスト線101,102,103,10
4の信号を受信し、発行されたバスリクエストを監視し
ている。バスリクエストが発行されると、システムバス
リクエスト線101,102,103,104から受信
したバスリクエストにより発行元ノードに対応するリク
エストカウンタ13,14,15あるいは16をカウン
トアップする。
【0049】バスリクエストは同時にバスアービトレー
ション回路12に取り込まれ、複数のノードからバスリ
クエストがあった場合には、ここでアービトレーション
が行われバスの使用者を決定する。例えば、アービトレ
ーションによりノード1がバスの使用者と決定されたと
する。
【0050】ノード1がバスの使用者に決定されると、
バス獲得信号によりバスを獲得したノードに対応するノ
ード1リクエストカウンタ13がリセットされる。この
とき、バスを獲得できなかった他ノード2,3,4のリ
クエストカウンタ14,15,16はリセットされな
い。このため、ノード2,3,4のリクエストカウンタ
14,15,16は、対応するノードがバス使用権を獲
得するまでバスリクエストを発行する毎にカウントアッ
プされ続けることになる。
【0051】一方、リクエストカウンタの値は、カウン
タ値識別回路17により監視される。例えば、他ノード
にあたるノード2,3,4のいずれかのリクエストカウ
ンタの値(ここでは、ノード2のリクエストカウンタ1
4の値とする)が予め設定しておいた値よりも大きくな
った場合、カウンタ値識別回路17は他ノードのうちノ
ード2が長期間バスを獲得できていないと判断し、バス
リクエストマスク信号により、自ノードがシステムバス
リクエスト線101に発行しようとしていたバスリクエ
ストの発行を抑止する。
【0052】これにより、設定値よりも長期間バスを獲
得できないノード2だけがシステムバスにバスリクエス
トを発行することになり、アービトレーションでバスを
獲得できるようになる。
【0053】ただし、他ノードのリクエストカウンタの
値と同時に自ノードのカウンタ値も設定値を越えていた
場合には、自ノードのバスリクエストの発行を抑止して
しまうと互いに相手のバス使用待ち状態となりデッドロ
ックを引き起こすため、この場合は、バスリクエストの
発行の抑止を行わない。
【0054】バスリクエストマスク信号でバスリクエス
トの発行を抑止したことにより、長期間バスを獲得でき
なかったノード2のバスリクエストが発行されると、こ
のノード2に対応するリクエストカウンタ14がリセッ
トされるため、バスリクエストの発行を抑止していたノ
ード1は再びバスリクエストを発行できるようになる。
【0055】図4は、図1の構成に基づくアービトレー
ションの具体的な動作例を示す図である。図1の構成で
は、前述したように、2レベルのアービトレーションア
ルゴリズムを採用している。即ち、速い処理が必要なノ
ード1,2,3で優先順位が高いグループAと、速い処
理を必要としないノード4で優先順位が低いグループB
よりなる。このため、グループBのノード4がバスを獲
得できるのは、グループAのノード1,2,3からのバ
スリクエストが発行されていない時のみとなる。なお、
グループAのノード間ではラウンドロビン方式のアルゴ
リズムが採用されていて、ノード1→ノード2→ノード
3の順に優先順位が移動しているものとする。
【0056】図4では、各ノードのリクエストカウンタ
の値と、バスリクエストの発行の有無およびバスを獲得
するノードを示している。図中、「REQ」はノードが
バスリクエストを発行したことを示す。ここで、特定の
ノードがバスを獲得できなくなってから、他のノードが
バスリクエストを抑止するまでの時間が「5」に設定さ
れていたとする。
【0057】時間1において各ノードのリクエストカウ
ンタの値は全て“0”である。このとき、全ノードから
バスリクエストが発行されたとすると、バスを獲得する
のはグループAのノードのうち最もラウンドロビンの優
先順位が高いノードとなる。ここではノード1が最も優
先順位が高く、ノード1がバスを獲得する。時間1にお
いて、ノード1がバスを獲得すると、バスを獲得したノ
ード1のリクエストカウンタの値は“0”にリセットさ
れ、それ以外のノード2,3,4のカウンタ値がカウン
トアップされ“1”となる。
【0058】時間1でバスを獲得したノード1も含めて
全ノードがバスリクエストを発行し続けたとすると、時
間2から時間5まではラウンドロビンの優先順位が移動
することにより、ノード2→ノード3→ノード1→ノー
ド2の順にバスを獲得し、バスを獲得する毎に対応する
リクエストカウンタの値がリセットされる。この間、固
定優先順位の低いグループBのノード4はバスを獲得で
きないため、リクエストカウンタの値がアップしつづけ
る。
【0059】このため、時間6ではグループBのノード
4のリクエストカウンタの値は“5”となる。グループ
Aのノード1,2,3はそれぞれの内部にあるノード4
のリクエストカウンタの値が設定値である“5”に達し
たことから,バスリクエストマスク信号により時間6に
おけるノード1,2,3のバスリクエストの発行を抑止
する。
【0060】これにより、時間6においてバスリクエス
トを発行するノードはノード4だけとなり、ノード4が
バスを獲得する。時間6でノード4がバスを獲得したこ
とにより、ノード4のリクエストカウンタの値はリセッ
トされ、時間7では全てのノードがバスリクエストを発
行できるようになる。
【0061】本実施の形態においては、以上に述べたよ
うに、システムバス上の各ノードが、バスに発行された
バスリクエストの回数を、発行したノード毎に数えるよ
うなリクエストカウンタを持つ。このリクエストカウン
タは、システムバスにバスリクエストが発行されると、
発行したノードに対応するリクエストカウンタをカウン
トアップし、アービトレーションによりシステムバスの
バス使用権が確定したときに、そのバス使用権を獲得し
たノードに対応するリクエストカウンタのみリセットす
る。
【0062】このように制御することにより、リクエス
トカウンタは、ノードがバスリクエストを発行したにも
かかわらず、システムバスのバス使用権を獲得できず待
たされている回数をカウントする。各ノードは、自ノー
ドを含む全ノードに対応するリクエストカウンタを有し
ているので、各ノードは、自ノードおよび他ノードがシ
ステムバスのバス使用権を獲得できなかった回数を知る
ことができる。
【0063】各ノードは他ノードのリクエストカウンタ
値を監視し、予め設定した回数を越えて特定のノードが
システムバスのバス使用権を獲得できない場合は、自ノ
ードからのバスリクエストを発行しないようにする。こ
れにより、設定値よりも長期間システムバスのバス使用
権を獲得できないノードだけがシステムバスにバスリク
エストを発行することになり、システムバスのバス使用
権を獲得することができる。
【0064】このように、設定した回数を越えて特定の
ノードがバスを獲得できない時に、それ以外のノードが
システムバスへのバスリクエスト発行を抑止するように
したので、長期間バスを獲得できないノードを無くし、
各ノードが公平にバスを使用できるようになる。
【0065】なお、カウンタ値識別回路内にある設定値
を変更すれば、バスリクエストが待たされる回数を簡単
に調節できるため、ソフトウェア動作も考慮した最適な
値を設定することができる。
【0066】〔第2の実施の形態〕図5は、第2の実施
の形態によるバス調整制御装置のバスアービトレーショ
ン方式が適用されるコンピュータシステムにおけるノー
ド1のプロセッサ10の内部構成を示すブロック図であ
る。
【0067】なお、この図では、各ノードのプロセッサ
内部構成を説明するためにノード1のプロセッサ10の
内部構成を代表例として挙げたものであり、ノード2の
プロセッサ20,ノード3のプロセッサ30,ノード4
の内部構成も、ノード1のプロセッサ10の内部構成と
同様である。
【0068】図3と同一の部分については同一の符号を
付したので重複する説明は省略するが、図に示すよう
に、このノード1のプロセッサ10は、図3の構成に加
え、更に、バスアービトレーション回路12により生成
されるバス獲得信号のうち自ノードに対応する信号がア
サートされた場合にこの信号を命令発行許可信号として
命令を発行するバス命令発行回路51と、リクエストカ
ウンタ値を見てバスのアービトレーション結果を強制的
に変更するアービトレーション結果変更回路52と、バ
スアービトレーション回路12により生成されるバス獲
得信号とアービトレーション結果変更回路52からの変
更命令を選択するセレクタ53,54,55,56と、
を有して構成されている。
【0069】共通のシステムバスを持つような密結合バ
スシステムでは、通常、バスに命令を発行する場合、ま
ずバスリクエストを発行してバス使用要求を行い、バス
アービトレーション回路によりバスを獲得したノード
が、システムバスのアドレス・データ線に命令を発行す
る。即ち、バスアービトレーション回路により生成され
るバス獲得信号のうち自ノードに対応する信号がアサー
トされた場合に、この信号を命令発行許可信号として命
令を発行するようにしている。バスを獲得できなかった
ノードはバス獲得信号がアサートされないため、命令発
行許可信号がアサートされず命令が発行できない。
【0070】この実施の形態では、この点に着目し、こ
の命令発行許可信号を抑止することで、長期間バスを獲
得できなかったノードがバスを使用できるように制御す
るようにしたものである。即ち、第1の実施の形態にお
いては、各ノードのリクエストカウンタの値によりバス
リクエスト発行を抑止することで長期間バスを獲得でき
ないノードがバスを使用できるように制御を行うように
したが、第2の実施の形態では、リクエストカウンタの
値を見て特定のノードが長期間バスを獲得できなくても
バスリクエスト抑止を行わず、バスのアービトレーショ
ン結果を強制的に変更することにより長期間バスを獲得
できないノードにバス使用許可を与えるようにしたもの
である。換言すれば、第1の実施の形態では、バスアー
ビトレーション回路の入口に入るバスリクエストを制御
したのに対して、第2の実施の形態では、バスアービト
レーション回路の出口であるアービトレーション結果を
変更するようにしている。
【0071】図5に基づいてこれを詳細に説明する。自
ノードであるノード1がバスアービトレーションを獲得
していたとしても、他ノードであるノード2,3あるい
は4のリクエストカウンタの値が設定値を越えていた場
合、アービトレーション結果変更回路52によりバス命
令発行回路51からの命令発行許可信号を抑止してシス
テムバスのアドレス・データ線500へのバス命令発行
を抑止する。
【0072】反対に他ノードのノード2,3あるいは4
のいずれかがバスを獲得していて、自ノードのノード1
のリクエストカウンタ13の値が設定値を越えていた場
合には、命令発行許可信号を強制的にアサートすること
によりバス命令発行回路51からシステムバスのアドレ
ス・データ線500へバス命令を発行する。
【0073】また、この場合のように、アービトレーシ
ョン結果が変更された場合、アービトレーション結果変
更回路52により強制的に決定されたバス使用ノードの
リクエストカウンタのみがリセットされる。これによ
り、特定のリクエストカウンタの値が設定値を越えてい
た場合には、アービトレーション結果に関わらずそのノ
ードの命令発行許可信号だけをアサートすることで長期
間バスを獲得できなかったノードがバスを使用できるよ
うに制御する。
【0074】このように、特定のノードが長期間バスを
獲得できなくてもバスリクエスト抑止を行わず、リクエ
ストカウンタの値を見てバスのアービトレーション結果
を強制的に変更するようにしたので、長期間バスを獲得
できないノードにバス使用許可を与えることができる。
【0075】なお、以上の各実施の形態において、リク
エストカウンタはバスアービトレーション回路とは別に
設置するため、バスアービトレーションのアルゴリズム
自体は固定優先方式、ラウンドロビン方式、LRU方式
いずれでも自由に選択することができる。
【0076】
【発明の効果】以上説明したとおり、本発明のバス調整
制御装置によれば、複数のバスマスタのそれぞれに設け
られ複数のバスマスタからのバス使用要求に応じて所定
の優先順位でバスの使用権を決定するバスアービトレー
ション手段と、複数のバスマスタのそれぞれに対応して
設けられ複数のバスマスタからのバス使用要求の回数を
計数する複数の計数手段と、複数の計数手段の計数値を
監視して所定のバス使用要求を抑止する計数値識別手段
と、を備えるようにしたので、また、複数のバスマスタ
のそれぞれに設けられ複数のバスマスタからのバス使用
要求に応じて所定の優先順位でバスの使用権を決定する
バスアービトレーション手段と、バスアービトレーショ
ン手段により自バスマスタにバスの使用権が決定された
とき、バスに自バスマスタのバス使用の命令を発行する
バス命令発行手段と、複数のバスマスタのそれぞれに対
応して設けられ複数のバスマスタからのバス使用要求の
回数を計数する複数の計数手段と、複数の計数手段の計
数値を監視する計数値識別手段と、バスアービトレーシ
ョン手段によるバスの使用権の決定を変更するアービト
レーション結果変更手段と、を備えるようにしたので、
特定のノードのバスリクエストが必要以上に待たされる
のを回避し、各ノードが公平にバスを使用することがで
きる。特に、不平等で複雑なアービトレーションアルゴ
リズムを採用したシステム程有効である。
【図面の簡単な説明】
【図1】第1の実施の形態によるバス調整制御装置のバ
スアービトレーション方式が適用されるコンピュータシ
ステムの構成例を示す図である。
【図2】図1における各プロセッサとシステムバスとの
接続の詳細を示す図である。
【図3】図1,図2における1つのノードのプロセッサ
の内部構成を示すブロック図である。
【図4】図1の構成に基づくアービトレーションの具体
的な動作例を示す図である。
【図5】第2の実施の形態によるバス調整制御装置のバ
スアービトレーション方式が適用されるコンピュータシ
ステムにおける1つのノードのプロセッサの内部構成を
示すブロック図である。
【図6】従来のラウンドロビン方式とLRU方式の2レ
ベルのアービトレーション方式を採用したコンピュータ
システムの構成例を示す図である。
【図7】図6の構成に基づくアービトレーションの具体
的な動作例を示す図である。
【符号の説明】
10 プロセッサ(ノード1) 11 バスリクエスト生成回路 12 バスアービトレーション回路 13 ノード1リクエストカウンタ 14 ノード2リクエストカウンタ 15 ノード3リクエストカウンタ 16 ノード4リクエストカウンタ 17 カウンタ値識別回路 20 プロセッサ(ノード2) 30 プロセッサ(ノード3) 40 プロセッサ(ノード4) 51 バス命令発行回路 52 アービトレーション結果変更回路 53 セレクタ 54 セレクタ 55 セレクタ 56 セレクタ 100 システムバス 101 システムバスリクエスト線 102 システムバスリクエスト線 103 システムバスリクエスト線 104 システムバスリクエスト線 500 システムバスアドレスデータ線

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 共通のバスに複数のバスマスタが接続さ
    れ、前記複数のバスマスタがそれぞれ前記バスの使用権
    を主張した場合に生じるバス使用要求の競合を調整する
    バス調整制御装置において、 前記複数のバスマスタのそれぞれに設けられ前記複数の
    バスマスタからの前記バス使用要求に応じて所定の優先
    順位で前記バスの使用権を決定するバスアービトレーシ
    ョン手段と、 前記複数のバスマスタのそれぞれに対応して設けられ前
    記複数のバスマスタからの前記バス使用要求の回数を計
    数する複数の計数手段と、 前記複数の計数手段の計数値を監視して所定のバス使用
    要求を抑止する計数値識別手段と、 を有することを特徴とするバス調整制御装置。
  2. 【請求項2】 前記計数値識別手段は、特定のバスマス
    タの前記バス使用要求回数の前記計数値が所定の設定値
    以上となったとき、自バスマスタの前記バス使用要求を
    抑止することを特徴とする請求項1に記載のバス調整制
    御装置。
  3. 【請求項3】 前記計数値識別手段は、前記自バスマス
    タ以外のバスマスタの前記バス使用要求回数の前記計数
    値と前記自バスマスタの前記バス使用要求回数の前記計
    数値とがともに所定の設定値以上となったとき、前記自
    バスマスタの前記バス使用要求の抑止を行わないことを
    特徴とする請求項1に記載のバス調整制御装置。
  4. 【請求項4】 前記複数の計数手段は、前記バスの使用
    権が決定したとき、前記バスの使用権が決定したバスマ
    スタに対応する計数手段のみリセットされることを特徴
    とする請求項1に記載のバス調整制御装置。
  5. 【請求項5】 共通のバスに複数のバスマスタが接続さ
    れ、前記複数のバスマスタがそれぞれ前記バスの使用権
    を主張した場合に生じるバス使用要求の競合を調整する
    バス調整制御装置において、 前記複数のバスマスタのそれぞれに設けられ前記複数の
    バスマスタからの前記バス使用要求に応じて所定の優先
    順位で前記バスの使用権を決定するバスアービトレーシ
    ョン手段と、 前記バスアービトレーション手段により自バスマスタに
    前記バスの使用権が決定されたとき、前記バスに前記自
    バスマスタのバス使用の命令を発行するバス命令発行手
    段と、 前記複数のバスマスタのそれぞれに対応して設けられ前
    記複数のバスマスタからの前記バス使用要求の回数を計
    数する複数の計数手段と、 前記複数の計数手段の計数値を監視する計数値識別手段
    と、 前記バスアービトレーション手段による前記バスの使用
    権の決定を変更するアービトレーション結果変更手段
    と、 を有することを特徴とするバス調整制御装置。
  6. 【請求項6】 前記アービトレーション結果変更手段
    は、前記自バスマスタに前記バス使用権が決定された場
    合であって、前記自バスマスタ以外の前記バス使用要求
    回数の前記計数値が所定の設定値以上であったとき、前
    記自バスマスタの前記バス使用の命令の発行を抑止する
    ことを特徴とする請求項5に記載のバス調整制御装置。
  7. 【請求項7】 前記アービトレーション結果変更手段
    は、前記自バスマスタ以外に前記バス使用権が決定され
    た場合であって、前記自バスマスタの前記バス使用要求
    回数の前記計数値が所定の設定値以上であったとき、前
    記自バスマスタの前記バス使用の命令の発行の抑止を行
    わないことを特徴とする請求項5に記載のバス調整制御
    装置。
  8. 【請求項8】 前記複数の計数手段は、前記バスの使用
    権の決定が変更されたとき、前記バスの使用権の決定が
    変更されたバスマスタに対応する計数手段のみリセット
    されることを特徴とする請求項5に記載のバス調整制御
    装置。
JP11053496A 1999-03-02 1999-03-02 バス調整制御装置 Pending JP2000250853A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11053496A JP2000250853A (ja) 1999-03-02 1999-03-02 バス調整制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11053496A JP2000250853A (ja) 1999-03-02 1999-03-02 バス調整制御装置

Publications (1)

Publication Number Publication Date
JP2000250853A true JP2000250853A (ja) 2000-09-14

Family

ID=12944455

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11053496A Pending JP2000250853A (ja) 1999-03-02 1999-03-02 バス調整制御装置

Country Status (1)

Country Link
JP (1) JP2000250853A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3447725B2 (ja) 2001-10-23 2003-09-16 沖電気工業株式会社 競合調停装置
JP2007310532A (ja) * 2006-05-17 2007-11-29 Renesas Technology Corp バスアクセス調停方法及び半導体集積回路
US7665069B2 (en) 2003-10-31 2010-02-16 Sonics, Inc. Method and apparatus for establishing a quality of service model
JP2010198624A (ja) * 2004-07-27 2010-09-09 Fujitsu Component Ltd 情報処理システムの制御方法
US8504992B2 (en) 2003-10-31 2013-08-06 Sonics, Inc. Method and apparatus for establishing a quality of service model
US8868397B2 (en) 2006-11-20 2014-10-21 Sonics, Inc. Transaction co-validation across abstraction layers
US9087036B1 (en) 2004-08-12 2015-07-21 Sonics, Inc. Methods and apparatuses for time annotated transaction level modeling

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3447725B2 (ja) 2001-10-23 2003-09-16 沖電気工業株式会社 競合調停装置
US7665069B2 (en) 2003-10-31 2010-02-16 Sonics, Inc. Method and apparatus for establishing a quality of service model
US8504992B2 (en) 2003-10-31 2013-08-06 Sonics, Inc. Method and apparatus for establishing a quality of service model
JP2010198624A (ja) * 2004-07-27 2010-09-09 Fujitsu Component Ltd 情報処理システムの制御方法
US9087036B1 (en) 2004-08-12 2015-07-21 Sonics, Inc. Methods and apparatuses for time annotated transaction level modeling
JP2007310532A (ja) * 2006-05-17 2007-11-29 Renesas Technology Corp バスアクセス調停方法及び半導体集積回路
US8868397B2 (en) 2006-11-20 2014-10-21 Sonics, Inc. Transaction co-validation across abstraction layers

Similar Documents

Publication Publication Date Title
US5572686A (en) Bus arbitration scheme with priority switching and timer
US8209493B2 (en) Systems and methods for scheduling memory requests during memory throttling
EP2538340B1 (en) Shared resource arbitration
US6286068B1 (en) Queued arbitration mechanism for data processing system
EP0382469B1 (en) Arbitration of bus access in digital computers
US6519666B1 (en) Arbitration scheme for optimal performance
CN1230758C (zh) 在高速缓存脉冲周期期间控制总线仲裁的系统和方法
EP0676699A2 (en) Method of managing resources shared by multiple processing units
US20050138621A1 (en) Method of resource allocation using an access control mechanism
EP2192496B1 (en) Arbitration in multiprocessor device
US20100005209A1 (en) Arbitration device for arbitrating among a plurality of master devices, arbitration method, and video processing device including the arbitration device
US7617344B2 (en) Methods and apparatus for controlling access to resources in an information processing system
US6393505B1 (en) Methods and apparatus for data bus arbitration
JP2015530679A (ja) 高効率アトミック演算を使用した方法および装置
US7007138B2 (en) Apparatus, method, and computer program for resource request arbitration
US7080174B1 (en) System and method for managing input/output requests using a fairness throttle
JP2000250853A (ja) バス調整制御装置
US6571306B1 (en) Bus request mechanism for bus master which is parked on a shared bus
JPH10307747A (ja) データ転送制御装置
KR100973419B1 (ko) 버스 중재 방법 및 장치
JP4151362B2 (ja) バス調停方式、データ転送装置、及びバス調停方法
US6167478A (en) Pipelined arbitration system and method
KR101167245B1 (ko) 실시간으로 변경되는 중재 파라미터를 이용한 버스 중재 장치 및 중재 방법
US7747806B2 (en) Resource use management device, resource use management system, and control method for a resource use management device
JP2002091903A (ja) バスシステム

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20011204