JPH04335457A - バスアービトレーション・システム - Google Patents
バスアービトレーション・システムInfo
- Publication number
- JPH04335457A JPH04335457A JP10591591A JP10591591A JPH04335457A JP H04335457 A JPH04335457 A JP H04335457A JP 10591591 A JP10591591 A JP 10591591A JP 10591591 A JP10591591 A JP 10591591A JP H04335457 A JPH04335457 A JP H04335457A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- shared memory
- controller
- priority
- split
- 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
Links
- 230000015654 memory Effects 0.000 claims abstract description 31
- 238000007616 round robin method Methods 0.000 claims description 9
- 241001522296 Erithacus rubecula Species 0.000 abstract description 3
- 230000008878 coupling Effects 0.000 abstract 1
- 238000010168 coupling process Methods 0.000 abstract 1
- 238000005859 coupling reaction Methods 0.000 abstract 1
- 230000004044 response Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000000034 method Methods 0.000 description 5
- 239000000470 constituent Substances 0.000 description 1
Landscapes
- Bus Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、バス結合型マルチプロ
セッサ・システムのバス獲得優先権に関するもので、特
にバス上に接続されるモジュールがすべてバスマスタと
なり得るようなスプリット(Split )バスにおけ
る優先順位の決定方式に係わるものである。
セッサ・システムのバス獲得優先権に関するもので、特
にバス上に接続されるモジュールがすべてバスマスタと
なり得るようなスプリット(Split )バスにおけ
る優先順位の決定方式に係わるものである。
【0002】
【従来の技術】従来より、バス結合型マルチプロセッサ
・システムでは、単一バスに多数のプロセッサが接続さ
れているため、バスを使用するにあたってバス権獲得の
ための調停を行う必要性がある。その調停は、あらかじ
め決められた優先順位にしたがって行われ、新たなバス
マスタが決定される。この優先順位にはあらかじめ固定
された優先順位に従ってバスマスタが決定される固定方
式と現在のマスタが次に行われる調停では最下位の順位
となり、バス権獲得順位を動的に変化させるラウンドロ
ビン方式とがある。マルチプロセッサ構成のシステムで
はタスクが各プロセッサに分割されて実行されるので、
なるべくバス獲得優先順位は公平でなければならない。 したがって、ラウンドロビン方式の方が有利であると考
えられる。
・システムでは、単一バスに多数のプロセッサが接続さ
れているため、バスを使用するにあたってバス権獲得の
ための調停を行う必要性がある。その調停は、あらかじ
め決められた優先順位にしたがって行われ、新たなバス
マスタが決定される。この優先順位にはあらかじめ固定
された優先順位に従ってバスマスタが決定される固定方
式と現在のマスタが次に行われる調停では最下位の順位
となり、バス権獲得順位を動的に変化させるラウンドロ
ビン方式とがある。マルチプロセッサ構成のシステムで
はタスクが各プロセッサに分割されて実行されるので、
なるべくバス獲得優先順位は公平でなければならない。 したがって、ラウンドロビン方式の方が有利であると考
えられる。
【0003】
【発明が解決しようとする課題】しかしながら、プロセ
ッサのリード要求に対し共有メモリがスレーブとして即
座に応答するようなNon−Split バスにおいて
は、共有メモリがバス使用権を獲得する必要がなく、ラ
ウンドロビン方式の優位性は成立するが、リード要求に
対しそのレスポンスをすぐに返さないSplit バス
においては次のような問題がある。スプリットバスとは
リード要求とそれに対するレスポンスとが分離し、その
間に他のバルス・アクセスが生じてもよいバスである。 このスプリットバスを採用することにより、プロセッサ
はバスを占有した状態で入出力(I/O)装置やメモリ
などの、プロセッサに比べて動作の遅いモジュールの応
答を待機する必要がなくなるので、バス使用効率を向上
させることができる。このスプリットバスは高速マルチ
プロセッサ・システムで注目されている技術である。ス
プリットバスを構成するには共有メモリもバスマスタと
なり得るバス・コントローラを介してバスに接続しなけ
ればならない。
ッサのリード要求に対し共有メモリがスレーブとして即
座に応答するようなNon−Split バスにおいて
は、共有メモリがバス使用権を獲得する必要がなく、ラ
ウンドロビン方式の優位性は成立するが、リード要求に
対しそのレスポンスをすぐに返さないSplit バス
においては次のような問題がある。スプリットバスとは
リード要求とそれに対するレスポンスとが分離し、その
間に他のバルス・アクセスが生じてもよいバスである。 このスプリットバスを採用することにより、プロセッサ
はバスを占有した状態で入出力(I/O)装置やメモリ
などの、プロセッサに比べて動作の遅いモジュールの応
答を待機する必要がなくなるので、バス使用効率を向上
させることができる。このスプリットバスは高速マルチ
プロセッサ・システムで注目されている技術である。ス
プリットバスを構成するには共有メモリもバスマスタと
なり得るバス・コントローラを介してバスに接続しなけ
ればならない。
【0004】スプリットバスにおいては、ラウンドロビ
ン方式のようなすべてのバスマスタに公平なプロトコル
が最適とは言えない。その理由は次の通りである。通常
バス結合型マルチプロセッサ・システムは各プロセッサ
にキャッシュ・メモリをそれぞれ装備させることによっ
てアクセスタイムの改善を図ると共に、共有メモリへの
バス競合をできるだけ避ける構成をとっている。しかし
、キャッシュにミスした場合など共有メモリへのアクセ
スは依然として存在する。さらに、プロセッサ数が増加
すると共有メモリへの要求は集中する。このような時、
ラウンドロビン方式ではバス権を一旦獲得すると優先順
位が最下位に落ちるので、バス使用要求の多発する共有
メモリはなかなかレスポンスを返すことができなくなる
状況に陥る。共有メモリからのレスポンスが遅いと、そ
のレスポンスが返ってくるまでプロセッサは待機してい
るので、パフォーマンスも低下する。
ン方式のようなすべてのバスマスタに公平なプロトコル
が最適とは言えない。その理由は次の通りである。通常
バス結合型マルチプロセッサ・システムは各プロセッサ
にキャッシュ・メモリをそれぞれ装備させることによっ
てアクセスタイムの改善を図ると共に、共有メモリへの
バス競合をできるだけ避ける構成をとっている。しかし
、キャッシュにミスした場合など共有メモリへのアクセ
スは依然として存在する。さらに、プロセッサ数が増加
すると共有メモリへの要求は集中する。このような時、
ラウンドロビン方式ではバス権を一旦獲得すると優先順
位が最下位に落ちるので、バス使用要求の多発する共有
メモリはなかなかレスポンスを返すことができなくなる
状況に陥る。共有メモリからのレスポンスが遅いと、そ
のレスポンスが返ってくるまでプロセッサは待機してい
るので、パフォーマンスも低下する。
【0005】本発明の目的は、このような点に鑑みてな
されたもので、スプリットバスにおいてプロセッサが接
続されているバスコントローラ間での優先順位は公平さ
を保つと共に、アクセスの集中する共有メモリ・バスコ
ントローラのバス権獲得率を向上させることのできるバ
スアービトレーション・システムを提供することにある
。
されたもので、スプリットバスにおいてプロセッサが接
続されているバスコントローラ間での優先順位は公平さ
を保つと共に、アクセスの集中する共有メモリ・バスコ
ントローラのバス権獲得率を向上させることのできるバ
スアービトレーション・システムを提供することにある
。
【0006】
【課題を解決するための手段】このような目的を達成す
るために、本発明は、スプリットバス形式のシステムバ
スに、複数個のプロセッサがシステムバスとのインタフ
ェースを備えたバスコントローラを介してそれぞれ接続
されると共に、共有メモリがメモリのインタフェースと
システムバスのインタフェースを備えたバスコントロー
ラを介して前記システムバスに接続された構成の単一バ
ス結合型のマルチプロセッサ・システムにおいて、前記
プロセッサに接続される各バスコントローラでは、バス
使用要求がある場合にはバス使用要求を前記システムバ
スに送出すると共に、システムバスよりバス使用要求信
号が来たときにはラウンドロビン方式を用いてバス権獲
得優先順位を決定し、マスタになったバスコントローラ
は前記システムバスに出力する承認信号をアサートし、
共有メモリに接続されるバスコントローラは、システム
内でのバス獲得権優先順位が最高位に固定されるように
したことを特徴とする。
るために、本発明は、スプリットバス形式のシステムバ
スに、複数個のプロセッサがシステムバスとのインタフ
ェースを備えたバスコントローラを介してそれぞれ接続
されると共に、共有メモリがメモリのインタフェースと
システムバスのインタフェースを備えたバスコントロー
ラを介して前記システムバスに接続された構成の単一バ
ス結合型のマルチプロセッサ・システムにおいて、前記
プロセッサに接続される各バスコントローラでは、バス
使用要求がある場合にはバス使用要求を前記システムバ
スに送出すると共に、システムバスよりバス使用要求信
号が来たときにはラウンドロビン方式を用いてバス権獲
得優先順位を決定し、マスタになったバスコントローラ
は前記システムバスに出力する承認信号をアサートし、
共有メモリに接続されるバスコントローラは、システム
内でのバス獲得権優先順位が最高位に固定されるように
したことを特徴とする。
【0007】
【作用】共有メモリに接続されるバスコントローラはシ
ステム内でのバス獲得権の優先順位を最高位に固定する
。プロセッサにそれぞれ接続される各バスコントローラ
については、ラウンドロビン方式に基づいてバス権獲得
優先順位を決定する。これにより、プロセッサ間のバス
権獲得機会は均等でありながらも、システムバスへのア
クセス要求が最も頻繁に発生する共有メモリのバス権の
獲得率を向上させることができる。
ステム内でのバス獲得権の優先順位を最高位に固定する
。プロセッサにそれぞれ接続される各バスコントローラ
については、ラウンドロビン方式に基づいてバス権獲得
優先順位を決定する。これにより、プロセッサ間のバス
権獲得機会は均等でありながらも、システムバスへのア
クセス要求が最も頻繁に発生する共有メモリのバス権の
獲得率を向上させることができる。
【0008】
【実施例】以下図面を参照して本発明を詳細に説明する
。図1は本発明に係るバス・アービトレーション方法を
実現するためのマルチプロセッサ・システムの一実施例
構成図である。このシステムはn個のモジュール#1〜
#nがスプリットバス30に接続されている様子を示す
図である。図において、101 〜10n−1 はID
(例えばスロット番号など)が#1〜#(n−1) の
プロセッサであり、10nは共有メモリ10nである。 これらのプロセッサおよび共有メモリはそれぞれバスコ
ントローラ201 〜20nを介してスプリットバス3
0に接続されている。各バスコントローラは、プロセッ
サに対するインタフェースであるプロセッサ・インタフ
ェース211 ,...21n−1 を有しているもの
(#1〜#(n−1) )と、共有メモリ10nに対す
るインタフェースであるメモリ・インタフェース21n
を所有しているものとがある。また、各バスコントロ
ーラは、バス・アービターとシステムバス・インタフェ
ースとをそれぞれ有している。各バス・アービター23
1 ,232 ,...23n は同一構成であり、ま
たシステムバス・インタフェース221 ,222 ,
...22n もそれぞれ同一の構成である。
。図1は本発明に係るバス・アービトレーション方法を
実現するためのマルチプロセッサ・システムの一実施例
構成図である。このシステムはn個のモジュール#1〜
#nがスプリットバス30に接続されている様子を示す
図である。図において、101 〜10n−1 はID
(例えばスロット番号など)が#1〜#(n−1) の
プロセッサであり、10nは共有メモリ10nである。 これらのプロセッサおよび共有メモリはそれぞれバスコ
ントローラ201 〜20nを介してスプリットバス3
0に接続されている。各バスコントローラは、プロセッ
サに対するインタフェースであるプロセッサ・インタフ
ェース211 ,...21n−1 を有しているもの
(#1〜#(n−1) )と、共有メモリ10nに対す
るインタフェースであるメモリ・インタフェース21n
を所有しているものとがある。また、各バスコントロ
ーラは、バス・アービターとシステムバス・インタフェ
ースとをそれぞれ有している。各バス・アービター23
1 ,232 ,...23n は同一構成であり、ま
たシステムバス・インタフェース221 ,222 ,
...22n もそれぞれ同一の構成である。
【0009】図2はバス・アービタの詳細な構成を示す
図である。231はトランシーバであり、バスコントロ
ーラ内のバス使用要求に対し自分がバス使用要求を出し
ていることをすべてのバスコントローラに認識できる形
に信号変換するものである。トランシーバより出力され
る信号はバッファ232経由でスプリットバス30に送
出される。スプリットバス30上の信号はバッファ23
3を介してレシーバ234に受信され、マスタ決定回路
235に送られる。マスタ決定回路235は、レシーバ
234を介して取り込んだ信号からバス調停開始時にバ
ス・アービタはどのマスタがバス使用要求を出している
かを認識する。さらに、現在のバスマスタのID番号を
格納しているマスタ格納レジスタ236と後述する本発
明のプロトコルに従って次のバスマスタを決定するもの
である。
図である。231はトランシーバであり、バスコントロ
ーラ内のバス使用要求に対し自分がバス使用要求を出し
ていることをすべてのバスコントローラに認識できる形
に信号変換するものである。トランシーバより出力され
る信号はバッファ232経由でスプリットバス30に送
出される。スプリットバス30上の信号はバッファ23
3を介してレシーバ234に受信され、マスタ決定回路
235に送られる。マスタ決定回路235は、レシーバ
234を介して取り込んだ信号からバス調停開始時にバ
ス・アービタはどのマスタがバス使用要求を出している
かを認識する。さらに、現在のバスマスタのID番号を
格納しているマスタ格納レジスタ236と後述する本発
明のプロトコルに従って次のバスマスタを決定するもの
である。
【0010】このような構成における動作を次に説明す
る。図3および図4に示すフローチャートはマスタ決定
のフローを示すものである。ここで、説明を簡略化する
ためにID番号は#4までとし、#1〜#3はプロセッ
サ、#4は共有メモリとする。このとき、#4は常に最
高位の優先順位に固定し、#1〜#3はラウンドロビン
方式に基づき動的に優先順位を変化させるようにする。 まず、調停開始信号によってシステムのすべてのバス・
アービタは一斉に調停を始める。直前にバスを使用した
マスタのID番号(マスタ格納レジスタ236の内容)
と、調停開始時においてバス権を要求しているバスマス
タのID番号(レシーバ234の出力)の2つの情報を
用いてマスタ決定回路235が新マスタを決定する。
る。図3および図4に示すフローチャートはマスタ決定
のフローを示すものである。ここで、説明を簡略化する
ためにID番号は#4までとし、#1〜#3はプロセッ
サ、#4は共有メモリとする。このとき、#4は常に最
高位の優先順位に固定し、#1〜#3はラウンドロビン
方式に基づき動的に優先順位を変化させるようにする。 まず、調停開始信号によってシステムのすべてのバス・
アービタは一斉に調停を始める。直前にバスを使用した
マスタのID番号(マスタ格納レジスタ236の内容)
と、調停開始時においてバス権を要求しているバスマス
タのID番号(レシーバ234の出力)の2つの情報を
用いてマスタ決定回路235が新マスタを決定する。
【0011】調停開始信号がアサートされると、マスタ
格納レジスタ236の内容によって図3のフローに示す
ように分岐する。いずれの場合でも#4が最優先でバス
権を獲得できるようになっている。#4がバス要求を出
していないときにはラウンドロビン方式でバスマスタを
決定する。自分がマスタになった場合、自身のマスタ決
定回路はバス30に出力する承認信号をアサートする。 これにより当該バスコントローラのバス使用が可能とな
る。 ここで最も優先順位の高い#4がバス権を獲得
した場合は、マスタ格納レジスタ236の値は変更しな
い。これにより、#1〜#3までのラウンドロビン方式
に基づいた優先順位は破壊されずにすむ。なお、本発明
の構成要素は必ずしも実施例に限定されるものではない
。例えば実施例で説明したような分散方式のアービタ以
外に、システム内唯一のアービタでバス調停を管理する
集中方式のアービタであっても本発明は成立する。
格納レジスタ236の内容によって図3のフローに示す
ように分岐する。いずれの場合でも#4が最優先でバス
権を獲得できるようになっている。#4がバス要求を出
していないときにはラウンドロビン方式でバスマスタを
決定する。自分がマスタになった場合、自身のマスタ決
定回路はバス30に出力する承認信号をアサートする。 これにより当該バスコントローラのバス使用が可能とな
る。 ここで最も優先順位の高い#4がバス権を獲得
した場合は、マスタ格納レジスタ236の値は変更しな
い。これにより、#1〜#3までのラウンドロビン方式
に基づいた優先順位は破壊されずにすむ。なお、本発明
の構成要素は必ずしも実施例に限定されるものではない
。例えば実施例で説明したような分散方式のアービタ以
外に、システム内唯一のアービタでバス調停を管理する
集中方式のアービタであっても本発明は成立する。
【0012】
【発明の効果】以上詳細に説明したように、本発明によ
れば、共有メモリもバス権を獲得しなければならないス
プリットバスにおいてバス使用要求が最も頻繁に発生す
る共有メモリの待ち時間が削減でき、システム全体のス
ループットの向上を図ることができる。
れば、共有メモリもバス権を獲得しなければならないス
プリットバスにおいてバス使用要求が最も頻繁に発生す
る共有メモリの待ち時間が削減でき、システム全体のス
ループットの向上を図ることができる。
【図1】本発明に係るバスアービトレーション・システ
ムの一実施例を示す要部構成図である。
ムの一実施例を示す要部構成図である。
【図2】バス・アービタの詳細を示す構成図である。
【図3】マスタ決定のフローを示すフローチャートであ
る。
る。
【図4】図3に続くフローチャートである。
Claims (1)
- 【請求項1】スプリットバス形式のシステムバスに、複
数個のプロセッサがシステムバスとのインタフェースを
備えたバスコントローラを介してそれぞれ接続されると
共に、共有メモリがメモリのインタフェースとシステム
バスのインタフェースを備えたバスコントローラを介し
て前記システムバスに接続された構成の単一バス結合型
のマルチプロセッサ・システムにおいて、前記プロセッ
サに接続される各バスコントローラでは、バス使用要求
がある場合にはバス使用要求を前記システムバスに送出
すると共に、システムバスよりバス使用要求信号が来た
ときにはラウンドロビン方式を用いてバス権獲得優先順
位を決定し、マスタになったバスコントローラは前記シ
ステムバスに出力する承認信号をアサートし、共有メモ
リに接続されるバスコントローラは、システム内でのバ
ス獲得権優先順位が最高位に固定されるようにしたこと
を特徴とするバスアービトレーション・システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10591591A JPH04335457A (ja) | 1991-05-10 | 1991-05-10 | バスアービトレーション・システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10591591A JPH04335457A (ja) | 1991-05-10 | 1991-05-10 | バスアービトレーション・システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04335457A true JPH04335457A (ja) | 1992-11-24 |
Family
ID=14420163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10591591A Pending JPH04335457A (ja) | 1991-05-10 | 1991-05-10 | バスアービトレーション・システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04335457A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8245232B2 (en) * | 2007-11-27 | 2012-08-14 | Microsoft Corporation | Software-configurable and stall-time fair memory access scheduling mechanism for shared memory systems |
-
1991
- 1991-05-10 JP JP10591591A patent/JPH04335457A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8245232B2 (en) * | 2007-11-27 | 2012-08-14 | Microsoft Corporation | Software-configurable and stall-time fair memory access scheduling mechanism for shared memory systems |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0706137B1 (en) | Queued arbitration mechanism for data processing system | |
EP0581335B1 (en) | Data processing system having units competing for access to shared resources and arbitration unit responsive to the status of the shared resources | |
US6490642B1 (en) | Locked read/write on separate address/data bus using write barrier | |
US5901295A (en) | Address and data bus arbiter for pipelined transactions on a split bus | |
US6519666B1 (en) | Arbitration scheme for optimal performance | |
US5418914A (en) | Retry scheme for controlling transactions between two busses | |
US5528766A (en) | Multiple arbitration scheme | |
JPH0652096A (ja) | データ処理システム内でアービタを用いてバス仲裁を実行する方法および装置 | |
JPH076124A (ja) | 情報転送システムおよび方法 | |
KR970029121A (ko) | 병렬처리 컴퓨터 시스템에서의 메모리 데이타경로 제어장치 | |
JP3519182B2 (ja) | 情報処理システムおよびバスアービタならびにバス制御方法 | |
KR100347473B1 (ko) | 버스시스템 | |
US5649209A (en) | Bus coupling information processing system for multiple access to system bus | |
US20150234759A1 (en) | Method and apparatus using high-efficiency atomic operations | |
KR100708096B1 (ko) | 버스 시스템 및 그 실행 순서 조정방법 | |
JPH0679305B2 (ja) | 保留バスを用いて割り込みに応じる装置及び方法 | |
US6604159B1 (en) | Data release to reduce latency in on-chip system bus | |
US7543093B2 (en) | Method and system for stream burst data transfer | |
US5822549A (en) | Computer system and bus controller for controlling access to a computer bus | |
US6826644B1 (en) | Peripheral component interconnect arbiter implementation with dynamic priority scheme | |
US5708783A (en) | Data bus arbiter for pipelined transactions on a split bus | |
JPH04335457A (ja) | バスアービトレーション・システム | |
EP0507954B1 (en) | Device for controlling bus | |
US5815676A (en) | Address bus arbiter for pipelined transactions on a split bus | |
JPH0844662A (ja) | 情報処理装置 |