JPH1125035A - バス調停装置 - Google Patents

バス調停装置

Info

Publication number
JPH1125035A
JPH1125035A JP18225797A JP18225797A JPH1125035A JP H1125035 A JPH1125035 A JP H1125035A JP 18225797 A JP18225797 A JP 18225797A JP 18225797 A JP18225797 A JP 18225797A JP H1125035 A JPH1125035 A JP H1125035A
Authority
JP
Japan
Prior art keywords
bus
default
register
owner
devices
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
JP18225797A
Other languages
English (en)
Inventor
Katayuki Tomizawa
方之 冨沢
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP18225797A priority Critical patent/JPH1125035A/ja
Publication of JPH1125035A publication Critical patent/JPH1125035A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 パーキングを使うバス調停方式において、デ
フォルト・オーナである1つのデバイス以外の共通バス
使用が多い場合にも、効率の良いバス調停ができるバス
調整装置。 【解決手段】 コンピュータにおける共通バスを複数の
デバイスが使用する場合の使用競合を調停するバス調停
装置において、バス使用デバイスがないときに、デフォ
ルトでバス使用権をもたせるデフォルト・オーナを指定
するデータを保持できるレジスタ120と、このレジス
タ120にコンピュータからデータを書き込める手段
と、バス使用デバイスがいないときに前記レジスタ12
0のデータで指定されたデバイスにバス使用権を与える
GNT生成制御部130とを備えたもの。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータにお
ける共通バスを複数のデバイスが使用する場合の使用競
合を調停するバス調停装置に関するものである。
【0002】
【従来の技術】コンピュータは、一般にプロセッサや各
種IO(入出力装置)等のデバイスから構成されてい
る。これらのデバイスは、システムバスやIOバスとい
った、共通バスで接続されていることが多い。共通バス
を複数のデバイスが使用する場合、バス使用の競合が発
生する。共通バスを持つシステムには、この競合を解決
するために、一般に、各デバイスからのバス使用要求を
受け、ある一つのデバイスにのみバス使用許可を与え、
調停を行う回路(一般にアービタと呼ばれる)を設けて
いる。
【0003】図10は、一般的な共通バスとアービタの
構成例を示す図であり、図の1はアービタ、2は共通バ
ス、11,12,…13はそれぞれエージェント1,エ
ージェント2,…エージェントnである。またREQ1
〜REQnはそれぞれバス使用要求信号、GNT1〜G
NTnは、それぞれバス使用許可信号である。
【0004】共通バス規格の一例としては、米国インテ
ル社が中心となって規格化し、1992年6月に発表さ
れ、さらに1993年4月にRevision 2.0が規定された
ものでPC(パーソナルコンピュータ)の各種周辺IO
デバイスを接続するPCIバス(Peripheral Component
Interconnect バス)がある。このPCIバスのバス調
停方法については、下記文献の第55〜61頁に示され
ている。 文献:PCI Local Bus Specification,Rev.2.1 、P.5
5〜61、1995年6月、PCI Special Interest Gro
up(米)
【0005】上記文献によるPCIバスのバス調停方法
では、バス使用を要求するエージェント(デバイス)
が、バス使用要求(リクエスト)信号(以下REQ信号
という)をアサート(主張)し、それを受けたアービタ
が、バスを使用するエージェントを選択し、バス使用許
可(グラント)信号(以下GNT信号という)をアサー
トする。GNT信号を受けたエージェントは、バスが空
いてるのを確認してバスの使用を開始する。
【0006】アービタには、“パーキング”と呼ばれる
技術がある。これは、どのエージェントもバスを使って
おらず、かつ使用要求も出していない時に、アービタが
あるエージェントにGNT信号を与え、バス使用許可を
出すことであり、GNT信号を受けたエージェント(バ
スのデフォルト・オーナと呼ぶ)は、実際にバス使用要
求が発生した際に、バス・パーキングを使わないシステ
ムで必要なREQ→GNTという信号のやりとりのオー
バーヘッドを省略し、即、バス使用を開始できる。
【0007】図11はバス・パーキングを使わないシス
テム(デフォルト・オーナがいない場合)のエージェン
トのアービトレーション例のタイムチャートを、図12
はバス・パーキングを使った場合のデフォルト・オーナ
のアービトレーション例のタイムチャートをそれぞれ示
している。なお図においては、信号極性はすべて正論理
で示してある。図11と図12は、どちらも時刻T1で
バス使用要求が出ている(図12の場合はエージェント
1の内部で閉じて出ているためREQ1信号は出てきて
いない)が、デフォルト・オーナの場合の方が、アービ
トレーション・オーバヘッドがなく、早くバス使用を開
始できているのがわかる。
【0008】図13は、バス・パーキングを使った場合
のデフォルト・オート以外のアービトレーション例のタ
イムチャートを示している。即ちデフォルト・オーナに
GNT信号が与えられている場合に、オーナ以外のエー
ジェントが、バス使用要求を出した場合、図13に示し
たように、オーナのGNT1を時刻T2でディアサート
(取下げ)してから、時刻T3で要求者にGNT2を出
すため、デフォルト・オーナがいない通常のアービトレ
ーションよりもさらに時間がかかる。
【0009】アービタが、デフォルト・オーナを選ぶ方
式には、“fixed ”や“Last used”等がある。“fixed
”は、1つのエージェントを固定的にデフォルト・オ
ーナにするものである。“Last used ”は、最後にバス
を使用したエージェントに引き続きバス使用許可を与
え、デフォルト・オーナとするものである。
【0010】
【発明が解決しようとする課題】上記のパーキングを使
うアービトレーション方式において、従来の“fixed ”
のデフォルト・オーナ選択方式では、デフォルト・オー
ナが固定されているため、パーキング中にバス使用要求
が出て、アービトレーション・オーバーヘッドがなしで
バスが使えるのは、ある1つのエージェントに固定さ
れ、他のエージェントは必ずアービトレーション・オー
バーヘッドが入ってしまう。また、パーキングしている
時間に制限がないので、他のバス使用要求が来るまで
は、デフォルト・オーナにGNT信号を与え続け、デフ
ォルト・オーナ以外のエージェントがバス使用要求を出
しても、必ずデフォルト・オーナのパーキングに遭遇す
るため、常に大きなアービトレーション・オーバヘッド
(図13参照)が入る。このため、デフォルト・オーナ
である1個のエージェント以外のバス使用が多い場合
は、デフォルト・オーナがないシステムよりも性能が悪
くなるという問題があった。
【0011】
【課題を解決するための手段】本発明に係るバス調停装
置は、コンピュータにおける共通バスを複数のデバイス
が使用する場合の使用競合を調停するバス調停装置にお
いて、前記複数のどのデバイスも共通バスを使用してお
らず且つ使用要求も出していなときに、デフォルトでバ
ス使用権をもたせるデフォルト・オーナを指定するデー
タを保持できるレジスタと、前記コンピュータが前記レ
ジスタにデフォルト・オーナを指定するデータを書き込
める書込手段と、前記複数のどのデバイスも共通バスを
使用しておらず且つ使用要求も出していないときに、前
記レジスタに書き込まれたデータによって指定されたデ
バイスにバス使用権を与えるバス使用許可制御手段とを
備えたものである。
【0012】その結果、ソフトウェアによって最も共通
バスを使いそうなエージェントを予測してダイナミック
にデフォルト・オーナの指定を変更することにより、複
数のエージェントがパーキングできるようになり、従っ
てアービトレーション・オーバーヘッドなしに共通バス
を使用できる機会が増え、コンピュータの性能向上が期
待できる。
【0013】
【発明の実施の形態】
実施形態1 図1は本発明の実施形態1に係るデフォルト・オーナを
レジスタ設定で可変にしたアービタの構成図である。図
において、100は実施形態1のアービタであり、優先
度付け論理部110、デフォルト・オーナ指定レジスタ
120及びGNT生成制御部130により構成される。
図1において、共通バスの各エージェントのバス要求信
号REQ1,REQ2,…REQnは、アービタ100
内の優先度付け論理部110に入力される。優先度付け
論理部110では、入力信号のREQ1,REQ2,…
REQnのうちアサートされているものについて、優先
度を付け、その結果、出力信号のPREQ1,PREQ
2,…RPEQnのうちの最優先の1つのみをアサート
する。この優先度付け論理部110の出力信号PREQ
1,PREQ2,…PREQnは、GNT生成制御部1
30に入力される。
【0014】本実施形態1では、さらにデフォルト・オ
ーナを指定するためのレジスタ120を設け、このデフ
ォルト・オーナ指定レジスタ120にプロセッサからデ
ータを書き込めるようにした。このレジスタ値はデフォ
ルト・オーナ番号(DFNo)としてGNT生成制御部
130に入力され、デフォルト・オーナを選定する。プ
ロセッサからデフォルト・オーナ指定レジスタ120に
データを書き込むメカニズムはここでは、詳述しない
が、プロセッサの特定アドレスにレジスタを割り付け、
プロセッサのアクセスアドレスをデコードしてレジスタ
セット信号を作る等により、容易にデータを書き込むこ
とができる。GNT生成制御部130は、優先度付け論
理部110から入力するPREQ1,PREQ2,…P
REQnと、デフォルト・オーナ指定レジスタ120か
ら入力するデフォルト・オーナ番号DFNoとに基づ
き、バス使用許可信号GNT1,GNT2,…GNTn
を生成して出力する。
【0015】図1の動作を説明する。エージェントから
のバス要求信号REQ1,REQ2,…REQnを受け
たアービタ100は、優先付け論理部110によって優
先度付けを行い、入力信号のREQ1,REQ2,…R
EQnのうちアサートされているものについて、優先度
を付け、その結果、出力信号のPREQ1,PREQ
2,…PREQnのうちの最優先の1つのみをアサート
する。図2は図1の優先度付け論理部110の構成例を
示す図であり、図の111,112,113はそれぞれ
アンドゲートである。
【0016】図2においては、REQ1は優先度が最も
高く、REQ1がアサートされると、そのままPREQ
1として出力される。REQ2は2番目の優先度で、R
EQ1がアサートされていないときに(アンドゲート1
11の入力側で反転された正論理が入力されているの
で)、REQ2がアサートされると、PREQ2として
出力される。以下同様にREQ3が3番目の優先度で、
REQnが最も低い優先度である。優先度付け論理部1
10は、図2のように固定的な優先度を付けるものでも
良いが、これ以外の優先度付けアルゴリズムによるもの
でも良い。
【0017】図3は図1のGNT生成制御部130の動
作説明図である。優先度付け論理部110からのRPE
Q1,PREQ2,…PREQnと、デフォルト・オー
ナ指定レジスタ120からのDFNoの入力されるGN
T生成制御130は、誰にもバス権を与えていない状態
IDLEと、エージェントiにバス権を与えている状態
Gi(i=1,2,…n)からなる。いま初期状態をI
DLEとし、PREQiがアサートされたとすると、状
態はGiへと遷移する。状態Giに停滞している間、G
NTi信号がアサートされ、エージェントiにバス使用
許可が与えられる。
【0018】PREQiがディアサートされると、GN
T生成制御部130はデフォルト・オーナ番号(DFN
o)を参照する。DFNoがiでなかった場合、エージ
ェントiはデフォルト・オーナでないとみなし、すぐに
GiからIDLEにもどり、GNTiはディアサートさ
れる。DFNoがiだった場合は、PREQi以外のP
REQx信号すべてがディアサートされていれば、Gi
に停滞を続け、GNTiをアサートし続ける(バス・パ
ーキング状態)。またPREQi以外のPREQx信号
のどれか1つでもアサートされた場合は、すぐにGiか
らIDLEにもどり、GNTiをディアサートする。こ
れらの状態変移及びバス・パーキングの論理式が図3の
IDLE,G1,G2,…Gnについてそれぞれ示され
ている。
【0019】以上のように、本実施形態1によれば、デ
フォルト・オーナを指定するためのレジスタ120を設
け、このレジスタ値に基づきデフォルトオーナを決める
ことにより、デフォルトオーナをソフトウェアで変更す
ることができるようになる。これにより、ソフトウェア
で最もバスを使いそうなエージェントを予測してダイナ
ミックにデフォルト・オーナを変更することにより、複
数のエージェントが、パーキングできるようになり、従
ってアービトレーション・オーバーヘッドなしでバス使
用できる機会が増え、コンピュータの性能向上が期待で
きる。
【0020】実施形態2 前記実施形態1では、デフォルト・オーナをレジスタ設
定できるようにしたが、次のデフォルト・オーナをハー
ド的に予測し、ダイナミックにデフォルト・オーナを設
定することも考えられる。次のデフォルト・オーナをハ
ード的に予測する方法として、過去数回のバス使用者の
履歴を覚えておき、それをもとに、最もバスの使用回数
が多かったエージェントを次ぎのデフォルト・オーナと
する方式を提案する。この場合のアービタの構成は、図
1に示したアービタのデフォルト・オーナ指定レジスタ
120の代りに、デフォルト・オーナを予測する回路を
接続すれば良い。
【0021】図4は、本発明の実施形態2に係るデフォ
ルト・オーナ予測回路例を示す図であり、図の210
は、過去3回分のバス使用者の履歴を覚えておくバス使
用者履歴用FIFO(ファーストイン・ファーストアウ
ト)、220は、FIFO210の情報をもとに、最も
バスの使用回数が多かったエージェントを次のデフォル
ト・オーナとする次オーナ予測回路である。図4におい
ては、バス使用者履歴用FIFO210は、過去3回の
バス使用者の履歴情報を格納するため3段のFIFOに
より構成される。そしてこの3段構成のFIFO210
の入力端にGNT1,GNT2,…GNTn信号をそれ
ぞれ接続し、実際のバスの使用開始時にFIFO210
にデータを入力させる(PUSH IN)。バス使用者
履歴用FIFO210の各段からの出力は、それぞれ次
オーナ予測回路220に入力される。次オーナ予測回路
220は、入力される過去3回のFIFOのデータに基
づき、最も使用回数の多かったエージェントの番号をデ
フォルト・オーナ番号として出力する。
【0022】図5は図4の次オーナ予測回路例を示す図
である。図5において、221,231,241は使用
回数判定回路、222〜225はアンドゲート、226
〜228はオアゲート、229はマルチプレクサ(以下
MUXと記す)である。MUX229は、オアゲート2
28の出力が“1”の場合は、グループ入力信号E1T
2〜EnT2を順次選択出力し、オアゲート228の出
力が“0”の場合は、グループ入力信号E1T1〜En
T1を順次選択出力するものである。図5の230はプ
ライオリティエンコーダであり、MUX229がE1T
2〜EnT2を選択出力した場合には、この選択出力が
“1”になった時の入力信号をその選択順番に対応して
エンコード(コード化)したDFNoを出力し、MUX
229がE1T1〜EnT1を選択出力した場合には、
この選択出力が“1”となる信号が複数個存在する可能
性があるので、予め設定された優先順位に従い、複数個
の“1”入力のうちから最高順位の“1”入力に対応し
てエンコードしたDFNoを出力する。
【0023】図5において、バス使用者履歴用FIFO
210に記憶された過去3回分のデータをEi,E′
i,E″i(i=1,2,…n)とする。ここで、Ei
は前回バス使用開始時のGNTiの値、E′iは前々回
バス使用開始時のGNTiの値、E″iは前々々回バス
使用開始時のGNTiの値を示している。以下図5の次
オーナ予測回路例の動作を、i=1の例について説明す
る。E1は、前回バスが使われた時にエージェント1が
バスを使用したかどうかを意味する(E1=1なら使用
したを意味する)。同様にE′1は、前々回バスが使わ
れた時にエージェント1がバスを使用したかを意味し、
E″1は、前々々回バスが使われた時にエージェント1
がバスを使用したかどうかを意味する。
【0024】上記3つのデータE1,E′1,E″1
は、使用回数判定回路221に入力され、ここで、(E
1,E′1,E″1)の値に基づき、(1)エージェン
ト1が過去3回中2回以上使用したかどうか、(2)エ
ージェント1が過去3回中1回以上使用したかどうか、
の2つの判定を行う。
【0025】(1)のエージェント1が過去3回中2回
以上使用したかどうかは、(E1,E′1,E″1)
が、(1,1,1),(1,1,0),(1,0,
1),(0,1,1)のいずれかと合致するかどうかで
判定でき、回路的にはアンドゲート222,223,2
24,225及びオアゲート227により実現してい
る。オアゲート227の出力(E1T2信号)が“1”
であれば、エージェント1が過去3回中2回以上使用し
たことを示す。(2)のエージェント1が過去3回中1
回以上使用したかどうかは、E1,E′1,E″1のど
れか1つでも“1”であればよく、オアゲート226の
出力(E1T1信号)が“1”であれば、エージェント
1が過去3回中1回以上使用したことを示す。
【0026】このような使用回数判定回路221,23
1,…241が、(E1,E′1,E″1),(E2,
E′2,E″2),…(En,E′n,E″n)の各信
号セットに対してそれぞれ用意されており、エージェン
ト1,2…nについて、(1)そのエージェントが過去
3回中2回以上使用したかどうかの判定を行い、この判
定結果をEiT2信号として出力し、(2)そのエージ
ェントが過去3回中1回以上使用したかどうかの判定を
行い、この判定結果をEiT1信号として出力する(i
=1,2,…n)。
【0027】上記E1T2,E2T2…EnT2信号の
うちどれかが“1”であれば(つまりオアゲート228
の出力が“1”であれば)、過去3回中最も多くのバス
を使用したエージェントが、一意に決まる。この時は、
E1T2,E2T2…EnT2信号のうち、最多バス使
用エージェントの信号のみが“1”になっている。従っ
て、そのエージェントの番号をDFNoに出力すれば良
い。これは、MUX229にてE1T2,E2T2…E
nT2を選択出力し、この選択出力が“1”になった時
の選択番号に対応して、プライオリティエンコーダ23
0が、入力データをエンコード(コード化)したDFN
oを出力することにより、実現できる。
【0028】次に、E1T2,E2T2…EnT2信号
の全てが“0”であれば(つまりオアゲート228の出
力が“0”であれば)、過去3回中2回以上バスを使用
したエージェントが、いないことになる。この場合、E
1T1,E2T2…EnT1信号中で“1”なっている
信号があれば、該当するエージェントが過去3回中1回
バスを使ったことになる。ただし、“1”になっている
信号は1つとは限らない(つまり、過去3回中1回使用
したエージェントが複数ある)ため、E1T1,E2T
1…EnT1信号中で“1”になっていたものの間で優
先度付けしてデフォルトオーナーを決める必要がある。
これは、MUX229にてE1T1,E2T1…EnT
1を選択出力し、このうち出力が“1”であるものをプ
ライオリティエンコーダ230に供給する。プライオリ
ティエンコーダ230は、予め設定された優先順位(例
えば図2の優先度付け論理部を参照)により、複数個の
“1”入力より最高順位の“1”入力に対応するDFN
oにエンコードして出力することにより、実現できる。
【0029】以上のように、本実施形態2によれば、過
去数回のバス使用者の履歴を覚えておき、それをもと
に、最もバスの使用回数が多かったエージェントを次の
デフォルト・オーナにすることができる。一般に、過去
最もバスの使用回数が多かったエージェントは、今後も
バスの使用回数が多い可能性が高いので、これにより、
デフォルト・オーナとなったエージェントがパーキング
中にバス使用要求を出し、アービトレーション・オーバ
ーヘッドなしでバス使用できる機会が増え、コンピュー
タの性能向上が期待できる。
【0030】実施形態3 前記実施形態1,2では、パーキングする時間について
は、特に考慮がなされなかった。実施形態3では、パー
キングする時間を制限するレジスタを設けることを提案
する。図6は本発明の実施形態3に係るパーキングする
時間を制限するレジスタを設けたアービタの構成図であ
る。図において、300は実施形態3のアービタ、11
0は優先度付け論理部で図1と同一のものである。32
0は実施形態3のGNT生成制御部、330はカウン
タ、340はパーキング時間制限レジスタ、350は比
較器である。
【0031】図6において、共通バスの各エージェント
のバス要求信号REQ1,REQ2,…REQnは、ア
ービタ300内の優先度付け論理部110に入力され
る。優先度付け論理部110では、入力信号のREQ
1,REQ2,…REQnのうちアサートされているも
のについて、優先度を付け、その結果、出力信号のPR
EQ1,PREQ2,…PREQnのうちの最優先の1
つのみをアサートする。この優先度付け論理部110の
出力信号PREQ1,PREQ2,…PREQnは、G
NT生成制御部320に入力される。GNT生成制御部
320は、基本的には、これらの入力信号PREQ1,
PREQ2,…PREQnに基づきバス使用許可信号G
NT1,GNT2,…GNTnを生成する。
【0032】本実施形態3では、さらにパーキングする
時間を制限するためのレジスタ340を設け、このパー
キング時間制限レジスタ340にプロセッサからデータ
を書き込めるようにした(プロセッサからレジスタ34
0にデータを書き込むメカニズムはここでは、詳述しな
い)。また、パーキングしている時間を計測するために
カウンタを設け、GNT1,GNT2,…GNTnのい
ずれかをアサートしている間は、クロック信号(CL
K)によってカウントアップするように、GNT生成制
御部320からカウンタリセット信号(CRST)をカ
ウンタ330に出力する。カウンタ330の計数値は、
比較器350により、パーキング時間制限レジスタ34
0の値と比較され、パーキング時間制限レジスタ340
の値以上になった時、比較器350からTIMEOUT
信号が出力される。このTIMEOUT信号は、GNT
生成制御部320に入力され、GNT生成制御部320
は、このTIMEOUT信号がアサートされると、パー
キングを中止し、アサートしていたGNTiをディアサ
ートする。
【0033】図6の動作を説明する。エージェントから
のバス要求信号REQ1,REQ2,…REQnを受け
たアービタ300が、まず優先度付け論理部110によ
り、REQ1,REQ2,…REQnのうちアサートさ
れているものについて優先度を付け、その結果、PRE
Q1,PREQ2,…PREQnのうちの最優先の1つ
のみをアサートする動作は図1と同様である。
【0034】図7は図6のGNT生成制御部320の動
作説明図である。優先度付け論理部110からのPRE
Q1,PREQ2,…PREQnと、比較器350から
のTIMEOUTの入力されるGNT生成制御部320
は、誰にもバス権を与えていない状態IDLEと、エー
ジェントiにバス権を与えている状態Gi(i=1,
2,…n)からなる。いま初期状態をIDLEとし、P
REQiがアサートされたとすると、状態はGiへと遷
移する。状態Giに停滞している間、GNTi信号がア
サートされ、エージェントiにバス使用許可が与えられ
る。ここまでの動作は、実施形態1の場合と同様であ
る。
【0035】ここで、本実施形態3においては、デフォ
ルト・オーナを決定する方式として、“Last used ”方
式(最後にバスを使ったエージェントが引き続きパーキ
ングする方式)をとるものとする。“Last used ”方式
では、状態Giに停滞している間(GNTi信号をアサ
ートしている間)に、PREQiがディアサートされて
も、GNT生成制御部320は、他のPREQx信号全
てがディアサートされていれば、Giにそのまま停滞を
続け、GNTiをアサートし続ける(バス・パーキング
状態)。一方、パーキングしている時間を計測するため
に設けられたカウンタ330は、GNT生成制御部32
0が、状態IDLEにいる間は、カウンタリセット信号
(CRST)により、クリアされ続けるが、GNT生成
制御の状態がGiに移ると、CRSTはディアサートさ
れるため、カウントを開始する。
【0036】カウンタ330の計数値は、パーキング時
間制限レジスタ340の値と比較され、パーキング時間
制限レジスタ340の値以上になった時、TIMEOU
T信号がアサートされる。TIMEOUT信号がアサー
トされると、GNT生成制御は状態Giを抜け、IDL
Eに戻る。これにより、バス・パーキングは解除され
る。また、IDLEに戻ったときにカウンタは再びクリ
アされ、次のバス・パーキングに備える。これらの状態
変移及びバス・パーキングの論理式が図7のIDLE,
G1,G2,…Gnについてそれぞれ示されている。
【0037】以上のように、本実施形態3によれば、パ
ーキングする時間を制限するためのレジスタ340を設
け、このレジスタ340にプロセッサからデータを書き
込めるようにし、さらに、パーキングしている時間を計
測するためのカウンタ330を設け、このカウンタ33
0の値が前述のレジスタ340の値以上になった場合に
パーキングを中止することにより、ソフトウェアでパー
キングする時間を自由に変更できるようになる。これに
より、エージェントがバス使用要求を出すインターバル
に合わせ、パーキング時間を設定する等の調整が可能と
なるため、デフォルト・オーナとなったエージェント
が、バスを使わないのに長時間バスを持ち続け、他のエ
ージェントのバス使用時に、大きなアービトレーション
・オーバーヘッドを引き起こすケースが少なくなり、コ
ンピュータの性能向上が期待できる。
【0038】実施形態4 前記実施形態3では、パーキングする時間を制限するレ
ジスタを設けたが、レジスタはすべてのエージェントに
対向して共通に1個あるのみだった。本実施形態4で
は、各エージェント毎にレジスタを設け、エージェント
毎にパーキング時間を設定できるようにすることを提案
する。図8は本発明の実施形態4に係るパーキング時間
をエージェント毎に設定できるアービタの構成図であ
る。図において400は実施形態4のアービタ、41
0,411,…412はそれぞれエージェント1用、2
用、…n用のパーキング時間制限レジスタ、420はマ
ルチプレクサ(以下MUXと記す)、430はエンコー
ダである。また優先度付け論理部110、GNT生成制
御部320、カウンタ330及び比較器350は、図6
の実施形態3と同一のものである。
【0039】図8において、実施形態3と異なる点は、
各エージェント毎にパーキングする時間を制限するレジ
スタ410,411,…412を設け、これらのレジス
タの出力うち1つを選択できるようにMUX420を設
け、このMUX420の出力をカウンタ330との比較
に用いている点である。また、MUX420が入力する
複数のデータから1つを選択して出力できるように、エ
ンコーダ430がGNT1,GNT2,…GNTn信号
をエンコードして選択信号を生成し、この選択信号をM
UX420へ供給している。その他の動作は実施形態3
の場合と同様である。
【0040】図8においては、各エージェント毎にパー
キングする時間を制限するレジスタ410,411,…
412を設けておき、あるエージェントにバス権が与え
られると、その現在バス権を与えられているエージェン
ト用のレジスタを選択するために、エンコーダ430が
GNT1,GNT2,…GNTn信号をエンコードし
(これにより、バス権を与えられているエージェントの
番号が得られる)、このエンコード結果の番号をMUX
420に選択信号として供給する。MUX420は、エ
ンコーダ430から供給される選択信号に従い、複数n
個のパーキング時間制御レジスタのうちから現在バス権
を与えられているエージェント用のレジスタを選択し、
この選択したレジスタの値を比較器350へ供給する。
比較器350は選択されたレジスタの値とカウンタ33
0の値を比較して、カウンタ値がレジスタ値以上になっ
たらTIMEOUTを出力し、GNT生成制御部320
へ供給する。上記以外の動作は、実施形態3の場合とま
ったく同じであるため、説明は省略す。
【0041】以上のように、本実施形態4によれば、各
エージェント毎にパーキングする時間を制限するための
レジスタ410,411,…412を設け、これらのレ
ジスタにプロセッサからデータを書き込めるようにし、
さらに、パーキングしている時間を計測するためのカウ
ンタ330を設け、カウンタ330の値が現在バス権を
与えられているエージェントのレジスタの値以上になっ
た場合にパーキングを中止することにより、エージェン
ト毎にソフトウェアでパーキングする時間を自由に変更
できるようになる。これにより、各エージェントがバス
使用要求を出すインターバルに合わせ、エージェント毎
にパーキング時間を設定する等の調整が可能となり、デ
フォルト・オーナとなったエージェントが、バスを使わ
ないのに長時間バス権を持ち続け、他のエージェントの
バス使用時に、大きなアービトレーション・オーバーヘ
ッドを引き起こすケースが少なくなり、コンピュータの
性能向上が期待できる。
【0042】実施形態5 前記実施形態3では、パーキング時間をプロセッサのレ
ジスタ書き込みにより変更できるようにしたが、本実施
形態5では、ハードウェアにより、パーキング時間を変
更する方法を提案する。図9は本発明の実施形態5に係
るパーキング時間をハードウェアで変更可能なアービタ
の構成図である。図において、500は実施形態5のア
ービタ、520は実施形態5のGNT生成制御部であ
り、内部にパーキング時間変更ロジック521を含んで
いる。また優先度付け論理部110、カウンタ330、
パーキング時間制限レジスタ340及び比較器350
は、図6の実施形態3と同一のものである。
【0043】図9において、実施形態3と異なる点は、
GNT生成制御部520内にパーキング時間変更ロジッ
ク521を設け、パーキング時間制限レジスタ340の
現在の出力値(CD)をこのパーキング時間変更ロジッ
ク521に入力し、パーキング時間制限レジスタ340
に次に設定すべき値(ND)をこのロジック521から
出力する点のみである。なおパーキング時間制限レジス
タ340には、パーキング時間変更ロジック521によ
り、まず初期値が設定され、その後、後述する規則に従
い、この初期値を増加又は減少する変更制御が行われ
る。
【0044】図9のGNT生成制御部520内のパーキ
ング時間変更ロジック521は、以下の規則に従ってパ
ーキング時間をハード的に変更する。 (1)パーキング中にタイムアウトしてパーキングから
抜けた時は、パーキング時間を増やす。 (2)パーキング中に他のエージェントのリクエストが
来てパーキングから抜けた時は、パーキング時間を減ら
す。 (3)上記(1),(2)以外の時は、パーキング時間
を変えない。
【0045】前記(1)において、パーキング中にタイ
ムアウトしたことは、例えば、次式(a)で示すロジッ
クLG1で判別できる。 LG1=(G1+G2+…+Gn)・TIMEOUT …(a) また、このときパーキング時間を増やすのは、例えば、
次式(b)で示すロジックで実施できる。 ND=CD+α (但し α:定数) …(b) 前記(2)において、パーキング中に他のエージェント
のリクエストが来たことは、例えば、次式(c)で示す
ロジックLG2で判別できる。
【0046】
【数1】
【0047】また、このときパーキング時間を減らすの
は、例えば、次式(d)で示すロジックで実施できる。 ND=CD−α (但し α:定数) …(d) 前記(3)は、前記式(a)及び式(c)でない場合す
べてであり、このとき、パーキング時間を変えないこと
は、ND=CDとすることによって容易に実施できる。
【0048】以上のように、本実施形態5によれば、パ
ーキングする時間を制限するためのレジスタ340を設
け、このレジスタ340の値を、パーキング中にタイム
アウトした時は、パーキング時間を増やし、パーキング
中に他のエージェントのリクエストが来た時は、パーキ
ング時間を減らすようなロジックを設けたことにより、
エージェントのバス使用具合に応じて自動的にパーキン
グ時間を調節することができ、デフォルト・オーナとな
ったエージェントが、バスを使わないのに長時間バス権
を持ち続け、他のエージェントのバス使用時に、大きな
アービトレーション・オーバーヘッドを引き起こすケー
スが少なくなり、コンピュータの性能向上が期待でき
る。
【0049】前記実施形態1〜5においては、説明の都
合上、アービタの構成として、優先度付け論理部とGN
T生成制御部に分けたが、実際には分かれている必要は
なく、一体化した論理制御部(例えばゲートアレイ等)
として構成してもよい。また、優先度付け論理として
は、単純な固定優先度の例しか示さなかったが、優先順
位を可変設定できるとか、順番に変更する等、固定優先
度以外の論理を適用することも可能である。さらに実施
形態2では、過去数回のバス使用デバイスの履歴を記憶
する手段として、3段のFIFOを例示したが、使用回
数判定回路を変更すれば、4段、5段等のFIFOも適
用可能である。さらに本質的な問題として、各実施形態
は、共通バスを複数のエージェントが使用する際のバス
調停回路としたが、本発明は特に共通バスに限定されも
のではなく、複数のデバイスが、共通のリソースを使う
場合に、基本的に適用可能なものである。
【0050】
【発明の効果】以上のように本発明によれば、コンピュ
ータにおける共通バスを複数のデバイスが使用する場合
の使用競合を調停するバス調停装置において、前記複数
のどのデバイスも共通バスを使用しておらず且つ使用要
求も出していなときに、デフォルトでバス使用権をもた
せるデフォルト・オーナを指定するデータを保持できる
レジスタと、前記コンピュータが前記レジスタにデフォ
ルト・オーナを指定するデータを書き込める書込手段
と、前記複数のどのデバイスも共通バスを使用しておら
ず且つ使用要求も出していないときに、前記レジスタに
書き込まれたデータによって指定されたデバイスにバス
使用権を与えるバス使用許可制御手段とを備えるように
したので、ソフトウェアによって最も共通バスを使いそ
うなエージェントを予測してダイナミックにデフォルト
・オーナの指定を変更することにより、複数のエージェ
ントがパーキングできるようになり、その結果、アービ
トレーション・オーバヘッドなしに共通バスを使用でき
る機会が増え、コンピュータの性能向上が期待できる。
【図面の簡単な説明】
【図1】本発明の実施形態1に係るデフォルト・オーナ
を指定できるアービタの構成図である。
【図2】図1の優先度付け論理部の構成例を示す図であ
る。
【図3】図1のGNT生成制御部の動作説明図である。
【図4】本発明の実施形態2に係るデフォルト・オーナ
予測回路例を示す図である。
【図5】図4の次オーナ予測回路例を示す図である。
【図6】本発明の実施形態3に係るパーキングする時間
を制限するアービタの構成図である。
【図7】図6のGNT生成制御部の動作説明図である。
【図8】本発明の実施形態4に係るパーキング時間をエ
ージェント毎に設定するアービタの構成図である。
【図9】本発明の実施形態5に係るパーキングする時間
をハードウェアで変更可能なアービタの構成図である。
【図10】一般的な共通バスとアービタの構成例を示す
図である。
【図11】デフォルト・オーナがいない場合のエージェ
ントのアービトレーション例のタイムチャートである。
【図12】デフォルト・オーナのアービトレーション例
のタイムチャートである。
【図13】デフォルト・オーナ以外のアービトレーショ
ン例のタイムチャートである。
【符号の説明】
100,300,400,500 アービタ 110 優先度付け論理部 111〜113,222〜225 アンドゲート 120 デフォルトオーナ指定レジスタ 130 GNT生成制御部 210 バス使用者履歴用FIFO 220 次オーナ予測回路 221,231,241 使用回数判定回路 320,520 GNT生成制御部 330 カウンタ 340,410〜412 パーキング時間制限レジスタ 350 比較器 430 エンコーダ 521 パーキング時間変更ロジック

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータにおける共通バスを複数の
    デバイスが使用する場合の使用競合を調停するバス調停
    装置において、 前記複数のどのデバイスも共通バスを使用しておらず且
    つ使用要求も出していなときに、デフォルトでバス使用
    権をもたせるデフォルト・オーナを指定するデータを保
    持できるレジスタと、 前記コンピュータが前記レジスタにデフォルト・オーナ
    を指定するデータを書き込める書込手段と、 前記複数のどのデバイスも共通バスを使用しておらず且
    つ使用要求も出していないときに、前記レジスタに書き
    込まれたデータによって指定されたデバイスにバス使用
    権を与えるバス使用許可制御手段とを備えたことを特徴
    とするバス調停装置。
  2. 【請求項2】 コンピュータにおける共通バスを複数の
    デバイスが使用する場合の使用競合を調停するバス調停
    装置において、 前記共通バスを使用したデバイスの過去数回分の履歴デ
    ータを記憶するバス使用履歴記憶手段と、 前記バス使用履歴記憶手段に記憶された履歴データに基
    づき過去数回のうち最も共通バスの使用回数が多かった
    デバイスを次のデフォルト・オーナとして選択する次デ
    フォルト・オーナ選択手段と、 前記複数のどのデバイスも共通バスを使用しておらず且
    つ使用要求も出していないときに、前記次デフォルト・
    オーナ選択手段の選択したデバイスにバス使用権を与え
    るバス使用許可制御手段とを備えたことを特徴とするバ
    ス調停装置。
  3. 【請求項3】 コンピュータにおける共通バスを複数の
    デバイスが使用する場合の使用競合を調停するバス調停
    装置において、 前記複数のどのデバイスも共通バスを使用しておらず且
    つ使用要求も出していないときに、デフォルトでバス使
    用権を与えられるデフォルト・オーナがパーキングでき
    る上限時間データを保持できるレジスタと、 前記コンピュータが前記レジスタにパーキング上限時間
    データを書き込める書込手段と、 前記デフォルトでバス使用権を与えられたデフォルト・
    オーナがパーキングしている時間を計数する時間計数手
    段と、 前記複数のどのデバイスも共通バスを使用しておらず且
    つ使用要求もしていないときに、デフォルトでデフォル
    ト・オーナにバス使用権を与え、その後前記時間計数手
    段の計数値が前記レジスタに書き込まれたパーキング上
    限時間に達したときに一旦与えたバス使用権を剥奪する
    バス使用許可制御手段とを備えたことを特徴とするバス
    調停装置。
  4. 【請求項4】 コンピュータにおける共通バスを複数の
    デバイスが使用する場合の使用競合を調停するバス調停
    装置において、 前記複数のどのデバイスも共通バスを使用しておらず且
    つ使用要求も出していないときに、デフォルトでバス使
    用権を与えられる複数の各デフォルト・オーナがパーキ
    ングできる上限時間データをそれぞれ保持できる複数の
    レジスタと、 前記コンピュータが前記複数の各レジスタに対応する各
    デフォルト・オーナのパーキング上限時間データをそれ
    ぞれ書き込める書込手段と、 前記デフォルトでいずれかのデフォルト・オーナにバス
    使用権が与えられたとき、そのパーキングしている時間
    を計数する時間計数手段と、 前記複数のどのデバイスも共通バスを使用しておらず且
    つ使用要求もしていないときに、デフォルトでいずれか
    のデフォルト・オーナにバス使用権を与え、その後前記
    時間計数手段の計数値が前記複数のうちの対応するレジ
    スタに書き込まれたバス使用権を与えられたデフォルト
    ・オーナのパーキング上限時間に達したときに一旦与え
    たバス使用権を剥奪するバス使用許可制御手段とを備え
    たことを特徴とするバス調停装置。
  5. 【請求項5】 コンピュータにおける共通バスを複数の
    デバイスが使用する場合の使用競合を調停するバス調停
    装置において、 前記複数のどのデバイスも共通バスを使用しておらず且
    つ使用要求も出していないときに、デフォルトでバス使
    用権を与えられるデフォルト・オーナがパーキングでき
    る上限時間データを可変設定できるレジスタと、 前記デフォルトでバス使用権を与えられたデフォルト・
    オーナがパーキングしている時間を計数する時間計数手
    段と、 前記レジスタにパーキング上限時間データの初期値を設
    定しておき、前記複数のどのデバイスも共通バスを使用
    しておらず且つ使用要求もしていなときに、デフォルト
    でデフォルト・オーナにバス使用権を与え、その後前記
    時間計数手段の計数値が前記レジスタに設定されたパー
    キング上限時間に達したときに一旦与えたバス使用権を
    剥奪すると共に前記レジスタの現在値を増加して設定
    し、また前記時間計数手段の計数値が前記レジスタに設
    定されたパーキング上限時間に達する前に前記デフォル
    ト・オーナ以外のデバイスからバス使用要求があった場
    合に前記レジスタの現在値を減少して設定するバス使用
    許可制御手段とを備えたことを特徴とするバス調停装
    置。
JP18225797A 1997-07-08 1997-07-08 バス調停装置 Pending JPH1125035A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18225797A JPH1125035A (ja) 1997-07-08 1997-07-08 バス調停装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18225797A JPH1125035A (ja) 1997-07-08 1997-07-08 バス調停装置

Publications (1)

Publication Number Publication Date
JPH1125035A true JPH1125035A (ja) 1999-01-29

Family

ID=16115099

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18225797A Pending JPH1125035A (ja) 1997-07-08 1997-07-08 バス調停装置

Country Status (1)

Country Link
JP (1) JPH1125035A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000034876A1 (de) * 1998-12-07 2000-06-15 Infineon Technologies Ag Multimaster-bussystem und verfahren zum betreiben desselben
US6823410B2 (en) * 2001-04-04 2004-11-23 Nec Electronics Corporation Split transaction bus system
US10382928B2 (en) 2015-03-10 2019-08-13 Samsung Electronics Co., Ltd. Internet of things device and communication method thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000034876A1 (de) * 1998-12-07 2000-06-15 Infineon Technologies Ag Multimaster-bussystem und verfahren zum betreiben desselben
US6823410B2 (en) * 2001-04-04 2004-11-23 Nec Electronics Corporation Split transaction bus system
US10382928B2 (en) 2015-03-10 2019-08-13 Samsung Electronics Co., Ltd. Internet of things device and communication method thereof

Similar Documents

Publication Publication Date Title
EP1403773B1 (en) Resource management device
US5983302A (en) Method and apparatus for arbitration and access to a shared bus
RU2372645C2 (ru) Схема арбитража доступа к шине
US6073199A (en) History-based bus arbitration with hidden re-arbitration during wait cycles
US6393506B1 (en) Virtual channel bus and system architecture
EP1851641B1 (en) Switch matrix system with plural bus arbitrations per cycle via higher-frequency arbiter
US7051133B2 (en) Arbitration circuit and data processing system
JPH028948A (ja) コンピュータ装置において資源へのアクセスを制御する方法および装置
US11055243B1 (en) Hierarchical bandwidth allocation bus arbiter
JP2010282405A (ja) データ処理システム
KR100456696B1 (ko) 집적회로장치의 버스중재기
CN116028413A (zh) 一种总线仲裁器、总线仲裁的方法、装置及介质
US8140728B1 (en) Data packet arbitration system
US6889283B2 (en) Method and system to promote arbitration priority in a buffer queue
JPH1125035A (ja) バス調停装置
US7130947B2 (en) Method of arbitration which allows requestors from multiple frequency domains
JPH09153009A (ja) 階層構成バスのアービトレーション方法
KR20090128851A (ko) 버스 중재 방법 및 장치
JP2008059047A (ja) 情報処理システム及びこの制御方法
US6167478A (en) Pipelined arbitration system and method
JPH05257873A (ja) 優先判定方法および優先判定回路
JP2000259555A (ja) バスアービトレーション制御装置およびバスシステム
JP2004062333A (ja) 画像処理装置
JP2002288116A (ja) Dma制御装置
KR20050098334A (ko) 버스 브릿지의 버스사용권 제어를 위한 버스중재 장치 및방법