JPH05257873A - 優先判定方法および優先判定回路 - Google Patents

優先判定方法および優先判定回路

Info

Publication number
JPH05257873A
JPH05257873A JP5555992A JP5555992A JPH05257873A JP H05257873 A JPH05257873 A JP H05257873A JP 5555992 A JP5555992 A JP 5555992A JP 5555992 A JP5555992 A JP 5555992A JP H05257873 A JPH05257873 A JP H05257873A
Authority
JP
Japan
Prior art keywords
priority
bus
modules
fixed
module
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
JP5555992A
Other languages
English (en)
Inventor
Tetsuya Mochida
哲也 持田
Masataka Kobayashi
正隆 小林
Akira Ido
明 井戸
Hideo Haruta
日出雄 春田
Yasuhiro Furukawa
泰宏 古川
Masatsugu Shinozaki
雅継 篠崎
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.)
Hitachi Ltd
Hitachi Industry and Control Solutions Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Microsoftware Systems 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 Hitachi Ltd, Hitachi Microsoftware Systems Inc filed Critical Hitachi Ltd
Priority to JP5555992A priority Critical patent/JPH05257873A/ja
Publication of JPH05257873A publication Critical patent/JPH05257873A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 (修正有) 【目的】モジュールに固有のバスアクセスの最大待ち時
間を越えることなく、効率的なバス転送を実現可能とす
る。 【構成】固定優先度レジスタ210はモジュールごとに
予め決めた固定優先度を格納しており、固定優先度比較
部220で各モジュール間の比較をする。変動優先度比
較部240は各モジュールが格納していてバス許可信号
が出されるたびに変動する変動優先度を比較する。優先
判定制御部260は固定優先度比較部220および変動
優先度比較部240の比較結果に基づくバス要求信号の
うち、固定優先度が最も高いモジュールにバス許可信号
を出し、固定優先度が最も高いモジュールが2つ以上あ
る場合は、変動優先度が最も高いものにバス許可信号を
出す。なお、変動優先度比較部240は、バス許可信号
が出力されたモジュールの変動優先度を最低とし他のモ
ジュールを1つずつ高くする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、バスアービタや割込み
コントローラにおいて、複数のバス要求信号や割込み信
号の優先度を判定する優先判定回路に関する。
【0002】
【従来の技術】バスアービタにおいて、バスアービトレ
ーションを行う際の優先判定方法としては、モジュール
の優先度を固定的に決定する固定優先判定方法やアービ
トレーションを行うたびに優先度を変化させる変動優先
方法がある。
【0003】固定優先判定方法は、モジュールごとに、
予め優先度を固定的に決定しておき、複数のモジュール
からバス要求信号が出力された場合に、これらのモジュ
ールの固定優先度を比較して、固定優先度が最も高いモ
ジュールに対して、バス許可信号を出力するようにする
方法である。そこで、固定優先度は、全て異なる値が設
定されるようになっており、バス権獲得の必要性が高い
モジュールの順に、高い値が設定されている。
【0004】また、変動優先方法は、バスアービトレー
ションを行うたびにモジュールの優先度を変動させ、複
数のモジュールからバス要求信号が出力された場合に、
これらのモジュールのその時点の変動優先度を比較し
て、変動優先度が最も高いモジュールに対して、バス許
可信号を出力するようにする方法である。
【0005】変動優先方法としては、LRUアルゴリズ
ムを用いて、バスアービトレーションを行うたびに、バ
ス許可信号が出力されたモジュールの優先度を最低に
し、他のモジュールの優先度を1つずつ高くすることに
より、優先度を各モジュールで平均化させる巡回優先判
定方法が一般的である。この方法については、特開平2
−59950号公報に詳しく記載されている。
【0006】また、特開平2−219156号公報で
は、巡回優先判定方法に加えて、各モジュールを高優先
レベルと低優先レベルとに分けることにより、バス権を
獲得するまでの時間を短くする必要があるモジュールに
対する対策を行っている。
【0007】
【発明が解決しようとする課題】固定優先判定方法で
は、高い優先度のモジュールがバス権を必ず獲得できる
ため、1つのモジュールがバスを占有してしまう可能性
がある。
【0008】また、巡回優先判定方法では、全モジュー
ルの優先度が平等であるため、通信系のI/O等の短い
応答時間が必要なモジュールに対してバス権を早く与え
ることができない。この問題は、上述したように、各モ
ジュールを高優先レベルと低優先レベルとに分けること
により、ある程度解決できるが、バス使用率やバス権獲
得までの最大待ち時間がモジュールによって異なってい
るため、2つのレベルに分類するだけでは柔軟な対応に
欠ける。
【0009】本発明の目的は、バスアービトレーション
における優先判定において、モジュールに固有のバスア
クセスの最大待ち時間を越えることなく、効率的なバス
転送を実現可能とすることにある。
【0010】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、固定優先判定方法および巡回優先判定方
法の2つの方法を組合せるようにしている。
【0011】すなわち、最初に、固定優先判定方法によ
り、バス権を要求しているモジュールのうち、固定優先
度が最も高いモジュールを選択する。このとき、固定優
先度が最も高いモジュールが複数ある場合には、巡回優
先判定方法により、今回より前にバス権が与えられた時
刻が最も古いモジュールを選択する。
【0012】具体的には、本発明は、システムバスに接
続された複数のモジュールのいずれか1つに、システム
バスに対するバス権を与える制御を行うバスアービタに
適用され、2つ以上のモジュールからバス権が要求され
た場合に、これらのモジュールのうちからバス権を与え
る1つのモジュールを決定する優先判定回路において、
複数のモジュールごとに、予め決められた固定優先度を
格納している固定優先度記憶部と、固定優先度記憶部に
格納されている固定優先度を各モジュール間で比較する
固定優先度比較部と、複数のモジュールごとに、複数の
モジュールのいずれか1つにバス権が与えられるたびに
変動する変動優先度を格納している変動優先度記憶部
と、変動優先度記憶部に格納されている変動優先度を各
モジュール間で比較する変動優先度比較部と、固定優先
度比較部の比較結果、バス権を要求している2つ以上の
モジュールのうち、最も高い固定優先度のモジュールが
1つならば、そのモジュールにバス権を与えるよう決定
し、最も高い固定優先度のモジュールが2つ以上なら
ば、変動優先度比較部の比較結果、それらのモジュール
のうち、最も高い変動優先度のモジュールにバス権を与
えるよう決定する優先判定制御部とを備えるようにして
いる。
【0013】そして、バスアービタは、1つのモジュー
ルからバス権が要求された場合には、このモジュールに
バス権を与え、2つ以上のモジュールからバス権が要求
された場合には、優先判定回路によりバス権を与えるよ
う決定されたモジュールにバス権を与える。
【0014】なお、変動優先度比較部は、優先判定制御
部によりバス権が与えられるよう決定されたモジュール
の変動優先度を最低とし、他のモジュールの変度優先度
を1つずつ高くすることにより、複数のモジュールのい
ずれか1つにバス権が与えられるたびに、変動優先度を
変動させるようにすることができる。
【0015】このような優先判定回路を適用したバスア
ービタは、システムバスと、システムバスに接続された
複数のモジュールとを備えたコンピュータシステムに用
いられることができる。
【0016】また、本発明は、複数のI/Oから要求さ
れる割込み権についても優先判定を行うことが可能であ
る。
【0017】すなわち、最初に、固定優先判定方法によ
り、割込み権を要求しているI/Oのうち、固定優先度
が最も高いI/Oを選択する。このとき、固定優先度が
最も高いI/Oが複数ある場合には、巡回優先判定方法
により、今回より前に割込み権が与えられた時刻が最も
古いI/Oを選択する。
【0018】具体的には、本発明は、システムバスに接
続された複数のI/Oのいずれか1つに、システムバス
に接続されたプロセッサに対する割込み権を与える制御
を行う割込みコントローラに適用され、2つ以上のI/
Oから割込み権が要求された場合に、これらのI/Oの
うちから割込み権を与える1つのI/Oを決定する優先
判定回路において、複数のI/Oごとに、予め決められ
た固定優先度を格納している固定優先度記憶部と、上記
固定優先度記憶部に格納されている固定優先度を各I/
O間で比較する固定優先度比較部と、複数のI/Oごと
に、複数のI/Oのいずれか1つに割込み権が与えられ
るたびに変動する変動優先度を格納している変動優先度
記憶部と、変動優先度記憶部に格納されている変動優先
度を各I/O間で比較する変動優先度比較部と、上記固
定優先度比較部の比較結果、割込み権を要求している2
つ以上のI/Oのうち、最も高い固定優先度のI/Oが
1つならば、そのI/Oに割込み権を与えるよう決定
し、最も高い固定優先度のI/Oが2つ以上ならば、上
記変動優先度比較部の比較結果、それらのI/Oのう
ち、最も高い変動優先度のI/Oに割込み権を与えるよ
う決定する優先判定制御部とを備えるようにしている。
【0019】そして、割込みコントローラは、1つのI
/Oから割込み権が要求された場合には、このI/Oに
割込み権を与え、2つ以上のI/Oから割込み権が要求
された場合には、優先判定回路により割込み権を与える
よう決定されたI/Oに割込み権を与える。
【0020】なお、変動優先度比較部は、優先判定制御
部により割込み権が与えられるよう決定されたI/Oの
変動優先度を最低とし、他のI/Oの変度優先度を1つ
ずつ高くすることにより、複数のI/Oのいずれか1つ
に割込み権が与えられるたびに、変動優先度を変動させ
るようにすることができる。
【0021】このような優先判定回路を適用した割込み
コントローラは、システムバスと、システムバスに接続
された複数のI/Oと、システムバスに接続されたプロ
セッサとを備えたコンピュータシステムに用いられるこ
とができる。
【0022】
【作用】本発明においては、直ちにバス権獲得が必要な
モジュールに対しては、固定優先度を高くすることによ
り、今回より前にバス権が与えられた時刻に関係なく、
すぐにバス権を与えるようにすることができる。また、
固定優先度が等しいモジュールについては、巡回優先判
定方法により、均等にバス権を与えるようにすることが
できる。これにより、モジュールに固有のバスアクセス
の最大待ち時間を越えることなく、効率的なバス転送を
実現することが可能となる。
【0023】なお、本発明では、固定優先度を全て異な
る値に設定することにより、固定優先判定方法のみを行
うようにすることができ、同様に、固定優先度を全て等
しい値に設定することにより、巡回優先判定方法のみを
行うようにすることもできる。
【0024】
【実施例】以下、本発明の実施例について図面を参照し
て説明する。
【0025】まず、本発明の優先判定回路をバスアービ
タに適用したコンピュータシステムの例について説明す
る。
【0026】図2は本実施例に係るコンピュータシステ
ムの構成図である。
【0027】図中、1はCPU、2は主記憶装置、3は
本実施例の優先判定回路を用いたバスアービタ、4〜7
はモジュール、8はプロセッサバス、9はシステムバス
である。
【0028】CPU1と主記憶装置2とは、プロセッサ
バス8により接続されており、CPU1は、主記憶装置
2に対して、プログラムのフェッチやデータのリード/
ライト転送を行う。また、CPU1は、モジュール0
(4)を通して、システムバス9のモジュール1(5)
〜モジュールn(7)へアクセスすることができる。
【0029】バスアービタ3は、システムバス9のアー
ビトレーションを集中制御する。
【0030】例えば、モジュール0(4)が、システム
バス9のバス権を獲得するために、バスアービタ3に対
して、バス要求信号BREQ[0]301をアサートす
ると、バスアービタ3は、モジュール0(4)にバス権
を与えてもよいならば、モジュール0(4)に対して、
バス許可信号BGRT[0]401をアサートする。モ
ジュール0(4)は、バス許可信号BGRT[0]40
1がアサートされると、システムバス9のバスマスタと
なり、バスアクセスが終了すると、バスアービタ3に対
して、バス要求信号BREQ[0]301をネゲートし
て、バス権の開放を知らせる。バスアービタ3は、バス
要求信号BREQ[0]301のネゲートを検出する
と、バス許可信号BGRT[0]401をネゲートす
る。他のモジュールについても同様である。なお、バス
アービトレーションに用いる制御信号は、全てバスクロ
ックに同期して出力されるものとする。
【0031】図1は本実施例におけるバスアービタの構
成図である。
【0032】図中、210は固定優先度レジスタ、22
0は固定優先度比較部、240変動優先度比較部、26
0は優先判定制御部である。
【0033】固定優先度レジスタ210は、各モジュー
ルに対して予め固定的に割当てられた優先度を格納して
おり、固定優先度を示す固定優先度信号SLVL[0:
n]<2..0>320を出力する。ここで、[0:n]
は、[0],[1],…,[n]の集合を示し、[ ]
の中はモジュール番号を示す。固定優先度信号SLVL
[0:n]<2..0>320は、3ビットのビット幅を
持っており、<2..0>は、<2>,<1>,<0>の
ビット列を示す。このビット列に、固定優先度を示す数
値が設定されており、値が大きいほど固定優先度が高い
ことを示す。ただし、本実施例ではビット幅は問題には
ならない。
【0034】固定優先度比較部220は、固定優先度レ
ジスタ210に設定されている固定優先度について、各
モジュール間で互いに比較し、比較結果を出力する。す
なわち、固定優先度比較部220は、モジュールiの固
定優先度とモジュールjの固定優先度とを比較し、比較
結果を示す信号SiGTj330,SiEQj340,
SjGTi350を出力する。信号SiGTj330
は、モジュールiの固定優先度がモジュールjの固定優
先度より大きいことを示し、信号SiEQj340は、
モジュールiの固定優先度とモジュールjの固定優先度
とが等しいことを示す。また、信号SjGTi350
は、モジュールiの固定優先度がモジュールjの固定優
先度より小さいことを示す。ここで、添字i,jはモジ
ュール番号を示し、iは0以上n−1以下の任意の数を
示し、jはi+1以上n以下の任意の数を示す。
【0035】変動優先度比較部240は、バスアービト
レーションごとに変動する変動優先度について、各モジ
ュール間で互いに比較し、比較結果を出力する。すなわ
ち、変動優先度比較部240は、モジュールiの変動優
先度とモジュールjの変動優先度とを比較し、比較結果
を示す信号DiGTj360,DjGTi370を出力
する。信号DiGTj360は、モジュールiの変動優
先度がモジュールjの変動優先度より大きいことを示
し、信号DjGTi370は、モジュールiの変動優先
度がモジュールjの変動優先度より小さいことを示す。
【0036】優先判定制御部260は、これらの情報に
基づいて、バス許可信号BREQ[0]〜[n]400
を生成する。
【0037】なお、固定優先度レジスタ210を除いた
各ブロックのフリップフロップは、リセット信号BRS
T390により「0」に初期化され、バスクロックBC
LK380に同期して動作する。固定優先度レジスタ2
10は、ソフトウェアで設定することを可能にするが、
具体的な実現方法については特に言及しない。
【0038】以下、バスアービトレーションの手順につ
いて、図3を用いて説明する。
【0039】1つのモジュールからバス要求信号BRE
Q[0:n]300がアサートされた場合には(ステッ
プ3000,ステップ3100)、該モジュールに対し
てバス許可信号をアサートする(ステップ3200)。
【0040】また、2つ以上のモジュールからバス要求
信号BREQ[0:n]300がアサートされた場合に
は(ステップ3000,ステップ3100)、固定優先
度によって優先判定を行い、固定優先度が最も高いモジ
ュール(固定優先度レジスタ210から出力された固定
優先度信号SLVL[0:n]<2..0>320に設定
された値が最も大きいモジュール)を選択する(ステッ
プ3300)。
【0041】この選択は、固定優先度比較部220にお
いて、互いのモジュールの固定優先度を比較することに
より行われる。そして、0≦i<j≦nの任意のモジュ
ール番号i,jに対して、モジュールiの固定優先度が
モジュールjの固定優先度より高い場合には、SiGT
j330が「1」(真)になる。逆に、モジュールjが
モジュールiに対して固定優先度が高い場合には、Sj
GTi340が「1」(真)になる。モジュールiとモ
ジュールjの優先度が等しい場合には、SiEQj40
0が「1」(真)になる。
【0042】そして、選択されたモジュールが1つなら
ば(ステップ3400)、このモジュールに対してバス
許可信号をアサートする(ステップ3500)。
【0043】また、選択されたモジュールが2つ以上な
らば(ステップ3400)、変動優先度によって優先判
定を行い、その時点で変動優先度が最も高いモジュール
を選択し、このモジュールに対してバス許可信号をアサ
ートする(ステップ3600)。
【0044】変動優先度は、バスアービトレーションご
とに変化する優先度であり、バスマスタになったモジュ
ールは、変動優先度が最低となり、それ以下の変動優先
度であったモジュールは、各々、変動優先度が1つ上が
る。変動優先度は、バスアービトレーションごとに変化
するので、上述した固定優先度のようにエンコードした
データを比較する方法ではディレイが不足する。このた
め、変動優先度比較部240において、各モジュール間
の変動優先度の比較結果(上下関係)を内部のレジスタ
に保持するようにしている。そして、0≦i<j≦nの
任意のモジュール番号i,jに対して、モジュールiが
モジュールjより変動優先度が高い場合には、DiGT
j360が「1」(真)になる。逆に、モジュールjが
モジュールiに対して変動優先度が高い場合には、Dj
GTi370が「1」(真)になる。DiGTj360
およびDjGTi370は、常に反対の値を持ち、両方
が「1」または両方が「0」になることはあり得ない。
これらの値は、バス許可信号BGRT[0:n]400
がフィードバックされて変動する。すなわち、モジュー
ルiに対してバス許可信号BGRT[i]400がアサ
ートされると、モジュールiがバスマスタになる。これ
により、モジュールiの変動優先度が最低となり,i≠
jの全てのjに対して、DiGTj360が「0」にな
り、DjGTi370が「1」になる。
【0045】図4は固定優先度比較部220の内容構成
図である。
【0046】図4において、固定優先度比較部220
は、モジュール0〜モジュールnのn+1個のモジュー
ルに対して、各モジュール間の固定優先度を比較する
(n+1)×n/2個の固定優先度比較回路221の集
合からなる。また、信号分配器222は、2組の3ビッ
トにエンコードされた信号SLVL[i]<2..0>3
21およびSLVL[j]<2..0>322を固定優先
度比較回路221に与えるために、図面の便宜上設けた
ものである。
【0047】固定優先度比較回路221には、2組の3
ビットにエンコードされた信号SLVL[i]<2..0
>321およびSLVL[j]<2..0>322が入力
される。SLVL[i]<2..0>321がSLVL
[j]<2..0>322より大きい場合には、SiGT
j330が「1」になる。逆に、SLVL[i]<2..
0>321がSLVL[j]<2..0>322より小さ
い場合には、SjGTi350が「1」になる。SLV
L[i]<2..0>321とSLVL[j]<2..0>
322とが等しい場合には、SiEQj340が「1」
になる。
【0048】図5は固定優先度比較回路221の内部構
成図である。
【0049】図5において、固定優先度比較回路221
は、2組の3ビットにエンコードされた信号SLVL
[i]<2..0>321およびSLVL[j]<2..0
>322の大小を比較する回路となっている。
【0050】表1は変動優先度比較部240が保持する
各モジュール間の変動優先度の比較結果の状態を示す真
理値表である。
【0051】表1において、モジュールiに対してバス
許可信号BGRT[i]405がアサートされると、モ
ジュールiの変動優先度が最低となるので、i≠jの全
てのjに対して、DiGTj360が「0」になる。逆
に、i≠jの全てのjに対して、DjGTi370が
「1」になる。同様に、モジュールjに対するバス許可
信号BGRT[j]406がアサートされると、i≠j
の全てのiに対して、DiGTj360が「1」にな
り、DjGTi370が「0」になる。同時に2個のモ
ジュールに対してバス許可信号がアサートされることは
あり得ないので、バス許可信号BGRT[i]405お
よびバス許可信号BGRT[j]406の両方がアサー
トされたときのDiGTj360およびDjGTi37
0の状態は考慮していない。
【0052】図6は変動優先比較部240の内部構成図
である。
【0053】図6において、変動優先度比較部240
は、モジュール0〜モジュールnのn+1個のモジュー
ルに対して、各モジュール間の変動優先度を比較し保持
する(n+1)×n/2個の変動優先度比較回路241
の集合からなる。なお、信号分配器242は、2つのバ
ス許可信号BGRT[i]405およびBGRT[j]
406を変動優先度比較回路241に与えるために、図
面の便宜上設けたものである。ここで、添字iは0以上
n−1以下の任意の数を示し、添字jはi+1以上n以
下の任意の数を示す。
【0054】図7は変動優先度比較回路241の内部構
成図である。
【0055】図7において、変動優先度比較回路241
は、図8に示す真理値表を実際の論理に展開したもので
ある。
【0056】変動優先度比較回路241においては、リ
セット信号BRST390が「LOW」レベルになる
と、フリップフロップ244が初期化されて、0≦i<
j≦nの任意のi,jに対して、DiGTj360が
「0」になり、DjGTi370が「1」になる。この
場合、常にi<jであるから、初期状態では、モジュー
ル番号の大きい方が変動優先度が高くなる。また、この
フリップフロップ244は、バスクロックBCLK38
0に同期して動作する。NOR回路242およびNOR
回路243は、表1の真理値表を実現するための組合せ
論理である。
【0057】図9は優先判定制御部260の内部構成図
である。
【0058】優先判定制御部260は、モジュール0〜
モジュールnのn+1個のモジュールに対して、各モジ
ュールのバス許可信号BGRT[0:n]400を生成
するn+1個のバス許可信号生成回路261〜263か
ら構成されている。
【0059】モジュール0へのバス許可信号BGRT
[0]401は、BGRT[0]生成回路261が生成
する。また、BGRT[1]402は、BGRT[1]
生成回路262が生成し、BGRT[n]403は、B
GRT[n]生成回路263が生成する。
【0060】図10はモジュール0のバス許可信号BG
RT[0]401を生成するBGRT[0]生成回路2
61の内部構成図である。
【0061】なお、信号分配器269は、入力信号をバ
ス許可信号BGRT[0]401のアサートを判定する
組合せ回路に分配するために、図面の便宜上設けたもの
である。
【0062】バス許可信号BGRT[0]401がアサ
ートされてモジュール0がバスマスタとなるためには、
以下の2つの条件を満足する必要がある。
【0063】第1の条件は、モジュール0からバス要求
信号BREQ[0]301がアサートされていることで
あり、第2の条件は、モジュール0がバス要求信号をア
サートする他の全てのモジュールに対して優先状態にあ
ることである。モジュール0が他のモジュールに対して
優先状態にあるとは、次の場合を指す。他のモジュール
からバス要求信号がアサートされていない場合、モジュ
ール0の固定優先度が他のモジュールの固定優先度より
大きい場合、モジュール0の固定優先度が他のモジュー
ルの固定優先度と等しく変動優先度が大きい場合のうち
のいずれかに該当する場合である。
【0064】ここでは、モジュール1との優先度の比較
を例にとって説明する。
【0065】モジュール0の優先度がモジュール1より
優先状態にあるとは、モジュール1からバス要求信号B
REQ[1]302がアサートされていない場合、モジ
ュール0の固定優先度がモジュール1の固定優先度より
高い場合(S0GT1(331)が「1」の場合)、モ
ジュール0の固定優先度がモジュール1の固定優先度と
等しくモジュール0の変動優先度がモジュール1の変動
優先度より高い場合(S0EQ1(341)が「1」、
かつ、D0GT1(361)が「1」の場合)のうちの
いずれかに該当する場合である。これらの判定は、AN
D回路262およびOR回路264で行われる。同様
に、他の全てのモジュールとの間で優先度を比較してい
る。
【0066】また、バスアービトレーションが行われる
時期は、どのモジュールにもバス許可信号が割当てられ
ていない場合、バス権を開放するためにバスマスタとな
っているモジュールがバス要求信号をネゲートした場合
のいずれかである。逆に、バス許可信号を与えられバス
マスタとなっているモジュールがバス要求信号をアサー
トしている間は、バスアービトレーションを行わない。
この判定は、AND−NOR回路263で行われる。
【0067】これらの全ての条件を満足すると、AND
回路268の出力結果が「1」になり、モジュール0の
バス許可信号BGRT[0]401がアサートされる。
BGRT[0]401のネゲートは、BREQ[0]3
01がネゲートすることにより行われる。これは、AN
D回路266によって行われる。他モジュールのバス許
可信号の生成方法も同様である。
【0068】図11はバスアービトレーションのタイミ
ングチャートである。
【0069】D0GT1(361),D0GT2(36
2),D0GT3(364)は、初期状態において
「0」であり、変動優先度がモジュール2,モジュール
1,モジュール0の順になっていることを示す。また、
モジュール0の固定優先度はモジュール1の固定優先度
より高く、モジュール1の固定優先度とモジュール2の
固定優先度トは等しいものと仮定する。
【0070】サイクル番号1で、モジュール0およびモ
ジュール1は、バス要求信号BREQ[0]301およ
びバス要求信号BREQ[1]302を、それぞれ、同
時にアサートする。ここでは、モジュール0の固定優先
度がモジュール1の固定優先度より高いので、バスアー
ビタ3は、モジュール0を選択し、サイクル番号2で、
バス許可信号BGRT[0]401をアサートする。ま
た、モジュール2は、サイクル番号2で、バス要求信号
BREQ[2]304をアサートする。
【0071】次に、サイクル番号3で、モジュール0
は、バス要求信号BREQ[0]301をネゲートす
る。このとき、モジュール1およびモジュール2からバ
ス要求信号BREQ[1]302およびバス要求信号B
REQ[2]304がアサートされているが、ここで
は、モジュール1の固定優先度とモジュール2の固定優
先度とが等しく、モジュール1およびモジュール2の変
動優先度は、D1GT2(364)が「0」であるの
で、モジュール1の方が高い。そこで、バスアービタ3
は、モジュール2を選択し、サイクル番号4で、バス許
可信号BGRT[0]401をネゲートすると同時に、
バス許可信号BGRT[2]404をアサートする。バ
ス許可信号BGRT[2]404のアサートにより、モ
ジュール2の変動優先度が最低になるので、D0GT2
(362)およびD1GT2(364)が「1」にな
る。
【0072】次に、サイクル番号5で、モジュール2
は、バス要求信号BREQ[2]304をネゲートす
る。このとき、モジュール1のみからバス要求信号BR
EQ[1]302がアサートされているので、バスアー
ビタ3は、モジュール1を選択し、サイクル番号6で、
バス許可信号BGRT[2]404をネゲートすると同
時に、バス許可信号BGRT[1]402をアサートす
る。バス許可信号BGRT[1]402のアサートによ
り、モジュール1の変動優先度が最低になるので、D0
GT1(362)が「1」になり、D1GT2(36
4)が「0」になる。
【0073】上述したように、本実施例によれば、最初
に、固定優先判定方法により、バス要求信号を出力して
いるモジュールのうち、固定優先度が最も高いモジュー
ルを選択し、固定優先度が最も高いモジュールが複数あ
る場合には、巡回優先判定方法により、今回より前にバ
ス許可信号が出力された時刻が最も古いモジュールを選
択して、バス許可信号を出力するようにしている。そこ
で、直ちにバス権獲得が必要なモジュールに対しては、
固定優先度を高くすることにより、今回より前にバス許
可信号が出力された時刻に関係なく、すぐにバス許可信
号を出力するようにすることができる。また、固定優先
度が等しいモジュールについては、均等にバス権を与え
るようにすることができる。これにより、モジュールに
固有のバスアクセスの最大待ち時間を越えることなく、
効率的なバス転送を実現することが可能となる。
【0074】なお、本実施例においては、バス権獲得の
手順をバス要求信号およびバス許可信号の2つの信号を
用いることによって行っているが、本発明は優先判定方
法に関するものであるので、バス権獲得の手順について
は一切規定していない。バス権の獲得方法については、
他にも各種の方法が考えられる。また、1つのモジュー
ルを機能で分割することにより、1つのモジュールで固
定優先度および変動優先度を複数持つことも考えられ
る。また、本実施例の一部または全部をソフトウエアで
実現することも考えられる。
【0075】次に、本発明の優先判定回路を割込みコン
トローラに適用したコンピュータシステムの例について
説明する。
【0076】図12は本実施例に係るコンピュータシス
テムの構成図である。
【0077】図中、1はCPU、2は主記憶装置、8は
プロセッサバス、9はシステムバス、10はI/Oコン
トローラ、11は本実施例の優先判定回路を用いた割込
みコントローラ、12〜14はI/Oである。
【0078】割込みコントローラ11は、I/O12〜
14から出力された割込み信号411〜413のうち、
割込み優先度が最も高いものを、割込み信号410とし
てCPU1に出力する。割込み優先度の判定は、上記実
施例と同様に、I/O12〜14単位で、固定優先度と
割込み発生ごとに変動する変動優先度とにより行われ
る。
【0079】次に、本発明の優先判定回路をバスアービ
タに適用したマルチプロセッサシステムの例について説
明する。
【0080】図13は本実施例に係るマルチプロセッサ
システムの構成図である。
【0081】図中、2は主記憶装置、3はバスアービ
タ、10はI/Oコントローラ、20〜22はプロセッ
サエレメント(PE)、24はマルチプロセッサバスで
ある。
【0082】PE0(20)〜PEn(22),I/O
コントローラ23,主記憶装置2を接続するマルチプロ
サッサバス24は、PE内のキャッシュメモリの内容を
他のPE内のキャッシュメモリおよび主記憶装置2と一
致させるために、スヌーププロコトルをサポートする。
【0083】バスアービタ3は、バスマスタになる可能
性のあるPE0(20)〜PEn(22)およびI/O
コントローラ23からのバス要求信号BREQ[0:n
+1]301〜304を入力し、バス許可信号BGRT
[0:n+1]401〜404のうちのいずれかを出力
する。バスアービトレーションの優先判定は、上記実施
例と同様に、固定優先度と変動優先度とにより行われ
る。
【0084】次に、本発明の優先判定回路バスアービタ
に適用した1チップマイコンの例について説明する。
【0085】図14は本実施例に係る1チップマイコン
の構成図である。
【0086】図中、30は1チップマイコン、31はプ
ロセッサコア、32はDMAコントローラ、33はバス
アービタ、34は周辺回路、35は内部バスである。
【0087】DMAコントローラ32は、周辺回路34
やメモリのリフレッシュによるDMAを制御し、バスア
ービタ33は、内部バス35のバス制御を行う。
【0088】内部バス35のバスアービトレーションの
優先判定は、上記実施例と同様に、固定優先度と変動優
先度とにより行われる。
【0089】以上に本発明の優先判定回路を適用した様
々な実施例について説明したが、本発明の優先判定回路
は、複数の対象の優先度を判定するものであるので、ネ
ットワークシステムにおける複数端末の処理優先度な
ど、このほかにも適用することができる。
【0090】
【発明の効果】以上説明したように、本発明の優先判定
回路は、複数の対象の優先度を判定する際に、複数の対
象に予め固定的に決められた固定優先度を判定し、最も
高い固定優先度の対象を選択する固定優先判定方法を行
い、固定優先判定方法を行った結果、最も高い固定優先
度の対象が複数選択されたならば、それらの対象のうち
の今回より前に選択された時刻が最も古い対象を選択す
る変動優先判定方法を行うようにしている。
【0091】そこで、本発明の優先判定回路をバスアー
ビタに適用した場合は、直ちにバス権獲得が必要なモジ
ュールに対しては、固定優先度を高くすることにより、
今回より前にバス権が与えられた時刻に関係なく、バス
権の獲得が容易になるようにすることができる。また、
固定優先度が等しいモジュールについては、バス権獲得
までの待ち時間が平均されるようにすることができる。
これにより、モジュールに固有のバスアクセスの最大待
ち時間を越えることなく、効率的なバス転送を実現する
ことが可能となる。
【0092】また、本発明の優先判定回路を割込みコン
トローラに適用した場合は、緊急の割込みが必要なモジ
ュールに対しては、固定優先度を高くすることにより、
割込みが容易になるようにすることができる。また、割
込みの必要性が同程度のモジュールに対しては、割込み
の機会が平等になるようにすることができる。これによ
り、割込みのバランスを良くすることが可能となる。
【図面の簡単な説明】
【図1】本発明の優先判定回路を適用したバスアービタ
の構成図。
【図2】本実施例に係るコンピュータシステムの構成
図。
【図3】本実施例のバスアービトレーションの手順を示
すフローチャート。
【図4】固定優先度比較部の内容構成図。
【図5】固定優先度比較回路の内部構成図。
【図6】変動優先比較部の内部構成図。
【図7】変動優先度比較回路の内部構成図。
【図8】変動優先度比較部が保持する各モジュール間の
変動優先度の比較結果の状態を示す真理値表を示す説明
図。
【図9】優先判定制御部の内部構成図。
【図10】バス許可信号生成回路の内部構成図。
【図11】バスアービトレーションのタイミングチャー
ト。
【図12】本発明の優先判定回路を割込みコントローラ
に適用したコンピュータシステムの構成図。
【図13】本発明の優先判定回路をバスアービタに適用
したマルチプロセッサシステムの構成図。
【図14】本発明の優先判定回路をバスアービタに適用
した1チップマイコンの構成図。
【符号の説明】
1…CPU、2…主記憶装置、3…バスアービタ、4〜
7…モジュール、8…プロセッサバス、9…システムバ
ス、10…I/Oコントローラ、11…割込みコントロ
ーラ、12〜14…I/O、20〜22…プロセッサエ
レメント、30…1チップマイコン、31…プロセッサ
コア、32…DMAコントローラ、33…内部バスアー
ビタ、34…周辺回路、35…内部バス、210…固定
優先度レジスタ、220…固定優先度比較部、240…
変動優先度比較部、260…優先判定制御部、300〜
304…バス要求信号、310〜313…イネーブルレ
ジスタの値、320〜328…固定優先度レジスタの
値、330〜333,340〜343,350…固定優
先度の比較情報、360〜363,370…変動優先度
の比較情報、380…クロック信号、390…リセット
信号、400〜404…バス許可信号、401〜414
…割込み信号。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 小林 正隆 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立マイクロソフトウェアシステム ズ内 (72)発明者 井戸 明 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立マイクロソフトウェアシステム ズ内 (72)発明者 春田 日出雄 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立マイクロソフトウェアシステム ズ内 (72)発明者 古川 泰宏 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立マイクロソフトウェアシステム ズ内 (72)発明者 篠崎 雅継 神奈川県海老名市下今泉810番地 株式会 社日立製作所オフィスシステム設計開発セ ンタ内

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】複数の対象の優先度を判定する優先判定回
    路において、 複数の対象に予め固定的に決められた固定優先度を判定
    し、最も高い固定優先度の対象を選択する固定優先判定
    方法を行い、固定優先判定方法を行った結果、最も高い
    固定優先度の対象が複数選択されたならば、それらの対
    象のうちの今回より前に選択された時刻が最も古い対象
    を選択する変動優先判定方法を行うことを特徴とする優
    先判定回路の優先判定方法。
  2. 【請求項2】複数のモジュールのいずれか1つにバス権
    を与える制御を行うバスアービタにおいて、 複数のモジュールに予め固定的に決められた固定優先度
    と、複数のモジュールのいずれか1つにバス権が与えら
    れるたびに変動する変動優先度とを格納しておき、 2つ以上のモジュールからバス権が要求された場合に、
    これらのモジュールの固定優先度を判定し、最も高い固
    定優先度のモジュールが1つならば、そのモジュールに
    バス権を与え、最も高い固定優先度のモジュールが2つ
    以上ならば、それらのモジュールの変動優先度を判定
    し、最も高い変動優先度のモジュールにバス権を与える
    ことを特徴とするバスアービタのバスアービトレーショ
    ン方法。
  3. 【請求項3】請求項2記載のバスアービトレーション方
    法において、 上記変動優先度は、複数のモジュールのいずれか1つに
    バス権が与えられるたびに、バス権が与えられたモジュ
    ールの変動優先度が最低となり、その他のモジュールの
    変動優先度が1つずつ高くなることを特徴とするバスア
    ービタのバスアービトレーション方法。
  4. 【請求項4】複数のI/Oに割込み権を与える制御を行
    う割込みコントローラにおいて、 複数のI/Oに予め固定的に決められた固定優先度と、
    複数のI/Oのいずれか1つに割込み権が与えられるた
    びに変動する変動優先度とを格納しておき、 2つ以上のI/Oから割込み権が要求された場合に、こ
    れらのI/Oの固定優先度を判定し、最も高い固定優先
    度のI/Oが1つならば、そのI/Oにバス権を与え、
    最も高い固定優先度のI/Oが2つ以上ならば、それら
    のI/Oの変動優先度を判定し、最も高い変動優先度の
    I/Oに割込み権を与えることを特徴とする割込みコン
    トローラの割込み制御方法。
  5. 【請求項5】請求項4記載の割込み制御方法において、 上記変動優先度は、複数のI/Oのいずれか1つに割込
    み権が与えられるたびに、割込み権が与えられたI/O
    の変動優先度が最低となり、その他のI/Oの変動優先
    度が1つずつ高くなることを特徴とする割込みコントロ
    ーラの割込み制御方法。
  6. 【請求項6】システムバスに接続された複数のモジュー
    ルのいずれか1つに、システムバスに対するバス権を与
    える制御を行うバスアービタにおいて、2つ以上のモジ
    ュールからバス権が要求された場合に、これらのモジュ
    ールのうちからバス権を与える1つのモジュールを決定
    する優先判定回路であって、 複数のモジュールごとに、予め決められた固定優先度を
    格納している固定優先度記憶部と、上記固定優先度記憶
    部に格納されている固定優先度を各モジュール間で比較
    する固定優先度比較部と、複数のモジュールごとに、複
    数のモジュールのいずれか1つにバス権が与えられるた
    びに変動する変動優先度を格納している変動優先度記憶
    部と、上記変動優先度記憶部に格納されている変動優先
    度を各モジュール間で比較する変動優先度比較部と、上
    記固定優先度比較部の比較結果、バス権を要求している
    2つ以上のモジュールのうち、最も高い固定優先度のモ
    ジュールが1つならば、そのモジュールにバス権を与え
    るよう決定し、最も高い固定優先度のモジュールが2つ
    以上ならば、上記変動優先度比較部の比較結果、それら
    のモジュールのうち、最も高い変動優先度のモジュール
    にバス権を与えるよう決定する優先判定制御部とを備え
    たことを特徴とする優先判定回路。
  7. 【請求項7】請求項6記載の優先判定回路において、 上記複数のモジュールは、システムバスに接続されたプ
    ロセッサおよびキャッシュメモリからなる複数のプロセ
    ッサエレメントと、システムバスに接続されたI/Oコ
    ントローラとであることを特徴とする優先判定回路。
  8. 【請求項8】請求項6記載の優先判定回路において、 上記複数のモジュールは、1チップマイコンの内部バス
    に接続されたプロセッサと、1チップマイコンの内部バ
    スに接続されたダイレクトメモリアクセス制御装置と、
    1チップマイコンの内部バスに接続された周辺回路とで
    あることを特徴とする優先判定回路。
  9. 【請求項9】請求項6,7または8記載の優先判定回路
    において、 上記変動優先度比較部は、上記優先判定制御部によりバ
    ス権が与えられるよう決定されたモジュールの変動優先
    度を最低とし、他のモジュールの変度優先度を1つずつ
    高くすることを特徴とする優先判定回路。
  10. 【請求項10】システムバスに接続された複数のI/O
    のいずれか1つに、システムバスに接続されたプロセッ
    サに対する割込み権を与える制御を行う割込みコントロ
    ーラにおいて、2つ以上のI/Oから割込み権が要求さ
    れた場合に、これらのI/Oのうちから割込み権を与え
    る1つのI/Oを決定する優先判定回路であって、 複数のI/Oごとに、予め決められた固定優先度を格納
    している固定優先度記憶部と、上記固定優先度記憶部に
    格納されている固定優先度を各I/O間で比較する固定
    優先度比較部と、複数のI/Oごとに、複数のI/Oの
    いずれか1つに割込み権が与えられるたびに変動する変
    動優先度を格納している変動優先度記憶部と、上記変動
    優先度記憶部に格納されている変動優先度を各I/O間
    で比較する変動優先度比較部と、上記固定優先度比較部
    の比較結果、割込み権を要求している2つ以上のI/O
    のうち、最も高い固定優先度のI/Oが1つならば、そ
    のI/Oに割込み権を与えるよう決定し、最も高い固定
    優先度のI/Oが2つ以上ならば、上記変動優先度比較
    部の比較結果、それらのI/Oのうち、最も高い変動優
    先度のI/Oに割込み権を与えるよう決定する優先判定
    制御部とを備えたことを特徴とする優先判定回路。
  11. 【請求項11】請求項10記載の優先判定回路におい
    て、 上記変動優先度比較部は、上記優先判定制御部により割
    込み権が与えられるよう決定されたI/Oの変動優先度
    を最低とし、他のI/Oの変度優先度を1つずつ高くす
    ることを特徴とする優先判定回路。
  12. 【請求項12】システムバスと、システムバスに接続さ
    れた複数のモジュールと、複数のモジュールのいずれか
    1つにシステムバスに対するバス権を与える制御を行う
    バスアービタとを備えたコンピュータシステムにおい
    て、 上記バスアービタは、複数のモジュールごとに、予め決
    められた固定優先度を格納している固定優先度記憶部
    と、上記固定優先度記憶部に格納されている固定優先度
    を各モジュール間で比較する固定優先度比較部と、複数
    のモジュールごとに、複数のモジュールのいずれか1つ
    にバス権が与えられるたびに変動する変動優先度を格納
    している変動優先度記憶部と、上記変動優先度記憶部に
    格納されている変動優先度を各モジュール間で比較する
    変動優先度比較部と、バス権を要求しているモジュール
    が1つの場合は、そのモジュールにバス権を与え、バス
    権を要求しているモジュールが2つ以上の場合は、上記
    固定優先度比較部の比較結果、それらのモジュールのう
    ち、最も高い固定優先度のモジュールが1つならば、そ
    のモジュールにバス権を与え、最も高い固定優先度のモ
    ジュールが2つ以上ならば、上記変動優先度比較部の比
    較結果、それらのモジュールのうち、最も高い変動優先
    度のモジュールにバス権を与える優先判定制御部とを備
    えたことを特徴とするコンピュータシステム。
  13. 【請求項13】システムバスと、システムバスに接続さ
    れた複数のI/Oと、システムバスに接続されたプロセ
    ッサと、複数のI/Oのいずれか1つにプロセッサに対
    する割込み権を与える制御を行う割込みコントローラと
    を備えたコンピュータシステムにおいて、 上記割込みコントローラは、複数のI/Oごとに、予め
    決められた固定優先度を格納している固定優先度記憶部
    と、上記固定優先度記憶部に格納されている固定優先度
    を各I/O間で比較する固定優先度比較部と、複数のI
    /Oごとに、複数のI/Oのいずれか1つに割込み権が
    与えられるたびに変動する変動優先度を格納している変
    動優先度記憶部と上記変動優先度記憶部に格納されてい
    る変動優先度を各I/O間で比較する変動優先度比較部
    と、割込み権を要求しているI/Oが1つの場合は、そ
    のI/Oに割込み権を与え、割込み権を要求しているI
    /Oが2つ以上の場合は、上記固定優先度比較部の比較
    結果、それらのI/Oのうち、最も高い固定優先度のI
    /Oが1つならば、そのI/Oに割込み権を与え、最も
    高い固定優先度のI/Oが2つ以上ならば、上記変動優
    先度比較部の比較結果、それらのI/Oのうち、最も高
    い変動優先度のI/Oに割込み権を与える優先判定制御
    部とを備えたことを特徴とするコンピュータシステム。
JP5555992A 1992-03-13 1992-03-13 優先判定方法および優先判定回路 Pending JPH05257873A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5555992A JPH05257873A (ja) 1992-03-13 1992-03-13 優先判定方法および優先判定回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5555992A JPH05257873A (ja) 1992-03-13 1992-03-13 優先判定方法および優先判定回路

Publications (1)

Publication Number Publication Date
JPH05257873A true JPH05257873A (ja) 1993-10-08

Family

ID=13002061

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5555992A Pending JPH05257873A (ja) 1992-03-13 1992-03-13 優先判定方法および優先判定回路

Country Status (1)

Country Link
JP (1) JPH05257873A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0749072A3 (en) * 1995-06-07 1999-07-21 Tandem Computers Incorporated Routing arbitration for shared resources
JP2009543183A (ja) * 2006-06-27 2009-12-03 トムソン ライセンシング 調停を実行する方法及び装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0749072A3 (en) * 1995-06-07 1999-07-21 Tandem Computers Incorporated Routing arbitration for shared resources
JP2009543183A (ja) * 2006-06-27 2009-12-03 トムソン ライセンシング 調停を実行する方法及び装置
US8260993B2 (en) 2006-06-27 2012-09-04 Thomson Licensing Method and apparatus for performing arbitration

Similar Documents

Publication Publication Date Title
JP4266619B2 (ja) 調停回路
US5996037A (en) System and method for arbitrating multi-function access to a system bus
US6490642B1 (en) Locked read/write on separate address/data bus using write barrier
US6775727B2 (en) System and method for controlling bus arbitration during cache memory burst cycles
US5623672A (en) Arrangement and method of arbitration for a resource with shared user request signals and dynamic priority assignment
US8145815B2 (en) Data processing system
US7032046B2 (en) Resource management device for managing access from bus masters to shared resources
JP3791005B2 (ja) バスアクセス調停装置及びバスアクセス調停方法
CN110297710B (zh) 用于多资源仲裁的公共优先级信息
KR100252752B1 (ko) 다단계 제어 버스 중재장치
JPH11191075A (ja) メモリアーキテクチャーのための優先符号化及び復号化
JPH028948A (ja) コンピュータ装置において資源へのアクセスを制御する方法および装置
CN116028413A (zh) 一种总线仲裁器、总线仲裁的方法、装置及介质
WO1996013774A1 (en) Multiprocessor system bus protocol for optimized accessing of interleaved storage modules
JP2000047994A (ja) 情報処理装置
US8356128B2 (en) Method and system of reducing latencies associated with resource allocation by using multiple arbiters
US20070016709A1 (en) Bus control system and a method thereof
KR100456696B1 (ko) 집적회로장치의 버스중재기
JPH0728758A (ja) ダイナミックタイムループ調停及び装置
US7814253B2 (en) Resource arbiter
KR960042385A (ko) 엘알유(lru)에 의한 중재기
JPH05257873A (ja) 優先判定方法および優先判定回路
US7130947B2 (en) Method of arbitration which allows requestors from multiple frequency domains
JPH0210459A (ja) バス使用権決定方式
KR100973419B1 (ko) 버스 중재 방법 및 장치