JPH07134689A - バスアービトレーション装置 - Google Patents
バスアービトレーション装置Info
- Publication number
- JPH07134689A JPH07134689A JP27959293A JP27959293A JPH07134689A JP H07134689 A JPH07134689 A JP H07134689A JP 27959293 A JP27959293 A JP 27959293A JP 27959293 A JP27959293 A JP 27959293A JP H07134689 A JPH07134689 A JP H07134689A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- priority
- priority information
- unit
- bus arbitration
- 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
Landscapes
- Multi Processors (AREA)
- Bus Control (AREA)
Abstract
(57)【要約】
【目的】 共有バス型のマルチプロセッサ計算機システ
ムにおいて、バスアービトレーションにおける即時応答
性の改善を図る。 【構成】 バスアービター103と共有バス102に接
続されるユニットを信号線104で結び、バス競合があ
る時は、該信号線に送出されるプライオリティ情報によ
って、バス使用を許可するユニットを決定する。また、
バスアービター自身も共有バスに接続されることによ
り、プロセッサユニット105から優先順位の情報の更
新を可能とする。
ムにおいて、バスアービトレーションにおける即時応答
性の改善を図る。 【構成】 バスアービター103と共有バス102に接
続されるユニットを信号線104で結び、バス競合があ
る時は、該信号線に送出されるプライオリティ情報によ
って、バス使用を許可するユニットを決定する。また、
バスアービター自身も共有バスに接続されることによ
り、プロセッサユニット105から優先順位の情報の更
新を可能とする。
Description
【0001】
【産業上の利用分野】本発明は、計算機システムにおけ
るバスアービトレーション装置に係わり、特に、バス共
有型のマルチプロセッサシステムにおけるバスアービト
レーション方式に関する。
るバスアービトレーション装置に係わり、特に、バス共
有型のマルチプロセッサシステムにおけるバスアービト
レーション方式に関する。
【0002】
【従来の技術】バスは計算機システムにおいて、CPU
や入力装置や主記憶装置等を接続し、相互にデータ交
換、あるいは、通信を行うために用いられる。接続され
た複数の機器同士が1つの通信路を共有するため、その
使用に当っては使用に係わる以外の機器からの妨害を避
けるために、バスの使用権を獲得した上でバスを使用す
ることにより、共有の通信路を排他的に使用している。
このバスの使用権の獲得をアービトレーションと呼んで
いるが、同時に2つ以上の機器よりバス使用要求があっ
た時は、バスアービターと呼ばれる調停装置により、い
ずれかの要求を選択する方式が一般的である。選択のた
めの方式として、必ずあらかじめそれぞれの機器に対し
て設定された優先順位に従うフィックストプライオリテ
ィ方式や、機器を順番に選択するラウンドロビン方式な
どが知られている。更に、きめの細かい制御方式とし
て、特開昭62−263557号公報に示された「バス
アービトレーション制御方式」では、各機器からの使用
要求回数を記憶しておき、それに基づいて、機器に与え
られる優先順位を巡回させる方式が紹介されている。ま
た、特開平4−24857号公報に示された「マルチC
PUシステムのバスアービトレーション方法」には、マ
ルチプロセッサシステム上の共有バスに関するハードウ
ェアの結線量の削減を目的として、各々のCPUに与え
られた優先順位をCPU間に施されたワイアードオア結
線上に送出、監視を行いバス使用権を確保する方法が述
べられており、使用権確保失敗時には優先順位に応じた
再試行までのタイムインターバルが与えられることを特
徴にしている。上記2件のアイデアはバスを均等に分配
することを目的としている。
や入力装置や主記憶装置等を接続し、相互にデータ交
換、あるいは、通信を行うために用いられる。接続され
た複数の機器同士が1つの通信路を共有するため、その
使用に当っては使用に係わる以外の機器からの妨害を避
けるために、バスの使用権を獲得した上でバスを使用す
ることにより、共有の通信路を排他的に使用している。
このバスの使用権の獲得をアービトレーションと呼んで
いるが、同時に2つ以上の機器よりバス使用要求があっ
た時は、バスアービターと呼ばれる調停装置により、い
ずれかの要求を選択する方式が一般的である。選択のた
めの方式として、必ずあらかじめそれぞれの機器に対し
て設定された優先順位に従うフィックストプライオリテ
ィ方式や、機器を順番に選択するラウンドロビン方式な
どが知られている。更に、きめの細かい制御方式とし
て、特開昭62−263557号公報に示された「バス
アービトレーション制御方式」では、各機器からの使用
要求回数を記憶しておき、それに基づいて、機器に与え
られる優先順位を巡回させる方式が紹介されている。ま
た、特開平4−24857号公報に示された「マルチC
PUシステムのバスアービトレーション方法」には、マ
ルチプロセッサシステム上の共有バスに関するハードウ
ェアの結線量の削減を目的として、各々のCPUに与え
られた優先順位をCPU間に施されたワイアードオア結
線上に送出、監視を行いバス使用権を確保する方法が述
べられており、使用権確保失敗時には優先順位に応じた
再試行までのタイムインターバルが与えられることを特
徴にしている。上記2件のアイデアはバスを均等に分配
することを目的としている。
【0003】ところで、一般にバスのアービトレーショ
ン機能を考える時、主に2つの側面が考慮される。1つ
は、上記2件のアイデアが解決しようとしているよう
に、各機能にいかに均等にバス分配を行うかという側面
であり、もう1つは、本発明の改善しようとする即時応
答性である。既存のバス共有型マルチプロセッサシステ
ムにおいては、バスアービトレーション方式として、単
にラウンドロビン方式等を採用するものが多く、共有バ
スのアービトレーションにおいて即時応答性を主眼とし
て行うものはなかった。
ン機能を考える時、主に2つの側面が考慮される。1つ
は、上記2件のアイデアが解決しようとしているよう
に、各機能にいかに均等にバス分配を行うかという側面
であり、もう1つは、本発明の改善しようとする即時応
答性である。既存のバス共有型マルチプロセッサシステ
ムにおいては、バスアービトレーション方式として、単
にラウンドロビン方式等を採用するものが多く、共有バ
スのアービトレーションにおいて即時応答性を主眼とし
て行うものはなかった。
【0004】
【発明が解決しようとする課題】マルチプロセッサ計算
機システムにおいて、アプリケーションプログラムの即
時応答性が課題となる場合に、従来のバスアービトレー
ション方式では、ソフトウェアによって優先順位を設定
することができないため、例えば、マスタースレーブ方
式と呼ばれる方式によってフィックストプライオリティ
方式で、高い優先度の設定されたCPUに即時応答性の
要求されるアプリケーションプログラムを割り当てる等
の方法が取られている。この方法によると、マルチプロ
セッサシステム内のCPU数が増えるほど優先度が高く
設定されているCPUに負担がかかり、即時応答性の面
から逆に不利になることが多かった。また、特にCPU
を限定せずに実行すると、バスアービトレーションはラ
ウンドロビン等に準ずる方法によるしかなく、バスアー
ビトレーションにおける即時応答性を保証することがで
きなかった。
機システムにおいて、アプリケーションプログラムの即
時応答性が課題となる場合に、従来のバスアービトレー
ション方式では、ソフトウェアによって優先順位を設定
することができないため、例えば、マスタースレーブ方
式と呼ばれる方式によってフィックストプライオリティ
方式で、高い優先度の設定されたCPUに即時応答性の
要求されるアプリケーションプログラムを割り当てる等
の方法が取られている。この方法によると、マルチプロ
セッサシステム内のCPU数が増えるほど優先度が高く
設定されているCPUに負担がかかり、即時応答性の面
から逆に不利になることが多かった。また、特にCPU
を限定せずに実行すると、バスアービトレーションはラ
ウンドロビン等に準ずる方法によるしかなく、バスアー
ビトレーションにおける即時応答性を保証することがで
きなかった。
【0005】本発明は、上記問題点を解決するためなさ
れたもので、ソフトウェアによってバスアービトレーシ
ョンの優先順位を設定する手段を与えることにより、マ
ルチプロセッサ計算機システム特に、全てのCPUをソ
フトウェアで対等に扱う対称型マルチプロセッサ計算機
システムにおいて、即時応答性の改善を測ることを目的
とする。
れたもので、ソフトウェアによってバスアービトレーシ
ョンの優先順位を設定する手段を与えることにより、マ
ルチプロセッサ計算機システム特に、全てのCPUをソ
フトウェアで対等に扱う対称型マルチプロセッサ計算機
システムにおいて、即時応答性の改善を測ることを目的
とする。
【0006】
【課題を解決するための手段】第1の発明に係るバスア
ービトレーション装置は、バスアービターと各CPU間
にそれぞれ信号線を設け、バス使用権要求時には該信号
線にプライオリティ情報を送出することにより、2つ以
上のバス使用権要求が同時にあった時は、バスアービタ
ーがより高い優先順位に対応するプライオリティ情報を
送出した機器にバス使用権を与えることによって行う。
ただし、プライオリティ情報によってその勝者が決定し
ない時は、従来方式、つまりフィックストプライオリテ
ィあるいはラウンドロビンにより決定する。
ービトレーション装置は、バスアービターと各CPU間
にそれぞれ信号線を設け、バス使用権要求時には該信号
線にプライオリティ情報を送出することにより、2つ以
上のバス使用権要求が同時にあった時は、バスアービタ
ーがより高い優先順位に対応するプライオリティ情報を
送出した機器にバス使用権を与えることによって行う。
ただし、プライオリティ情報によってその勝者が決定し
ない時は、従来方式、つまりフィックストプライオリテ
ィあるいはラウンドロビンにより決定する。
【0007】第2の発明に係るバスアービトレーション
装置は、共有バスに対するバストランザクションにおい
てアクセスするアドレスをプライオリティ情報とするも
のである。信号線の結線量を考慮し、アドレスは必ずし
も全ビット送出される必要はない。バスアービターはア
ドレス情報と優先順位の対応をあらかじめ決めておく
か、または対応表を持っており、2つ以上のバス使用要
求が同時にあった時は、該対応関係に基づいて最も優先
順位の高い機器にバス使用権を与える。
装置は、共有バスに対するバストランザクションにおい
てアクセスするアドレスをプライオリティ情報とするも
のである。信号線の結線量を考慮し、アドレスは必ずし
も全ビット送出される必要はない。バスアービターはア
ドレス情報と優先順位の対応をあらかじめ決めておく
か、または対応表を持っており、2つ以上のバス使用要
求が同時にあった時は、該対応関係に基づいて最も優先
順位の高い機器にバス使用権を与える。
【0008】第3の発明に係るバスアービトレーション
装置は、プライオリティ情報と優先順位の対応表をプロ
セッサユニットからの指示により、バスアービターにロ
ードすることによって、ソフトウェアから柔軟にバスア
ービトレーションの優先順位制御を行うことを可能とす
る。
装置は、プライオリティ情報と優先順位の対応表をプロ
セッサユニットからの指示により、バスアービターにロ
ードすることによって、ソフトウェアから柔軟にバスア
ービトレーションの優先順位制御を行うことを可能とす
る。
【0009】
【作用】本発明によれば、バス共有型のマルチプロセッ
サ計算機システムにおいて、即時応答性が要求されるア
プリケーションプログラムを実行する際に、ソフトウェ
アによって共有バスの使用権獲得における優先順位の制
御が可能となり、即時応答性の改善を図ることができ
る。
サ計算機システムにおいて、即時応答性が要求されるア
プリケーションプログラムを実行する際に、ソフトウェ
アによって共有バスの使用権獲得における優先順位の制
御が可能となり、即時応答性の改善を図ることができ
る。
【0010】第1の発明におけるバスアービトレーショ
ン装置は、バスアービターと各CPU間にそれぞれ信号
線を設け、バス使用権要求時には該信号線にプライオリ
ティ情報を送出することにより、2つ以上のバス使用権
要求が同時にあった時は、バスアービターがより高い優
先順位に対応するプライオリティ情報を送出した機器に
バス使用権を与えることによってバスアービトレーショ
ンの即時応答性を改善することができる。
ン装置は、バスアービターと各CPU間にそれぞれ信号
線を設け、バス使用権要求時には該信号線にプライオリ
ティ情報を送出することにより、2つ以上のバス使用権
要求が同時にあった時は、バスアービターがより高い優
先順位に対応するプライオリティ情報を送出した機器に
バス使用権を与えることによってバスアービトレーショ
ンの即時応答性を改善することができる。
【0011】第2の発明におけるバスアービトレーショ
ン装置は、共有バスに対するバストランザクションにお
いてアクセスするアドレスをプライオリティ情報とする
ものである。信号線の結線量を考慮し、アドレスは必ず
しも全ビット送出される必要はない。バスアービター
は、アドレス情報と優先順位の対応をあらかじめ決めて
おくか、又は対応表を持っており、2つ以上のバス使用
要求が同時にあった時は、該対応関係に基づいて、最も
優先順位の高い機器にバス使用権を与える。これにより
主記憶上のどのアドレスをアクセスするかによってバス
アービトレーションにおける優先順位の制御が可能にな
る。
ン装置は、共有バスに対するバストランザクションにお
いてアクセスするアドレスをプライオリティ情報とする
ものである。信号線の結線量を考慮し、アドレスは必ず
しも全ビット送出される必要はない。バスアービター
は、アドレス情報と優先順位の対応をあらかじめ決めて
おくか、又は対応表を持っており、2つ以上のバス使用
要求が同時にあった時は、該対応関係に基づいて、最も
優先順位の高い機器にバス使用権を与える。これにより
主記憶上のどのアドレスをアクセスするかによってバス
アービトレーションにおける優先順位の制御が可能にな
る。
【0012】第3の発明におけるバスアービトレーショ
ン装置は、プライオリティ情報と優先順位の対応表をプ
ロセッサユニットからの指示によってバスアービターに
ロードすることによって、ソフトウェアから柔軟にバス
アービトレーションの優先順位制御を行うことが可能と
なる。
ン装置は、プライオリティ情報と優先順位の対応表をプ
ロセッサユニットからの指示によってバスアービターに
ロードすることによって、ソフトウェアから柔軟にバス
アービトレーションの優先順位制御を行うことが可能と
なる。
【0013】
実施例1.図1に本発明の一実施例によるバスアービト
レーション方式を適用した共有バス型マルチプロセッサ
計算機システムのシステム構成図を示す。共有バス10
2には、主記憶装置101、バスアービター103、プ
ロセッサユニット105が4つ、入出力装置106がそ
れぞれ接続されている。この実施例では、バスアービタ
ー103は、共有バス102に接続されているが接続し
なくても構わない。また、全てのプロセッサユニット及
び入出力装置はバスアービターに信号線104でそれぞ
れ別個に接続されている。ここで、以降CPU、入出力
装置、及びプロセッサユニットを総称してユニットとい
うことにする。図2は、各ユニットに設置されるバス獲
得ロジック202の構成を示したものである。該ユニッ
トの内部バス203にプライオリティ情報を送出するバ
ス獲得ロジック202が接続され、信号線104によっ
てバスアービターに接続される。
レーション方式を適用した共有バス型マルチプロセッサ
計算機システムのシステム構成図を示す。共有バス10
2には、主記憶装置101、バスアービター103、プ
ロセッサユニット105が4つ、入出力装置106がそ
れぞれ接続されている。この実施例では、バスアービタ
ー103は、共有バス102に接続されているが接続し
なくても構わない。また、全てのプロセッサユニット及
び入出力装置はバスアービターに信号線104でそれぞ
れ別個に接続されている。ここで、以降CPU、入出力
装置、及びプロセッサユニットを総称してユニットとい
うことにする。図2は、各ユニットに設置されるバス獲
得ロジック202の構成を示したものである。該ユニッ
トの内部バス203にプライオリティ情報を送出するバ
ス獲得ロジック202が接続され、信号線104によっ
てバスアービターに接続される。
【0014】また、バス獲得ロジック202はプロセッ
サユニット105から可視のプライオリティ情報レジス
タ204を持っており、ここにプライオリティ情報を格
納し、バス獲得試行時には信号線104を通しバスアー
ビターへ送出する。入出力装置106に設置されるプラ
イオリティ情報レジスタ204は、該装置の内部バス経
由で共有バス空間上にマップされているので、これもま
た任意のプロセッサユニット105よりアクセス可能で
ある。
サユニット105から可視のプライオリティ情報レジス
タ204を持っており、ここにプライオリティ情報を格
納し、バス獲得試行時には信号線104を通しバスアー
ビターへ送出する。入出力装置106に設置されるプラ
イオリティ情報レジスタ204は、該装置の内部バス経
由で共有バス空間上にマップされているので、これもま
た任意のプロセッサユニット105よりアクセス可能で
ある。
【0015】これは、例えばCPU0,CPU1,CP
U3,I/Oのプライオリティ情報レジスタがCPU2
からアクセス可能であるということである。これは、緊
急度の高いアプリケーションプログラムをCPU2で実
行する時に、そのプログラムの初期処理の部分で他のユ
ニットのプライオリティを低くするように、プライオリ
ティ情報レジスタの内容を書き換えられるようにするた
めである。これにより、CPU2上の当該プログラムが
常に最優先で共有バスを獲得することができる。
U3,I/Oのプライオリティ情報レジスタがCPU2
からアクセス可能であるということである。これは、緊
急度の高いアプリケーションプログラムをCPU2で実
行する時に、そのプログラムの初期処理の部分で他のユ
ニットのプライオリティを低くするように、プライオリ
ティ情報レジスタの内容を書き換えられるようにするた
めである。これにより、CPU2上の当該プログラムが
常に最優先で共有バスを獲得することができる。
【0016】図3にキャッシュ記憶装置200におかれ
たバス獲得ロジック202を示す。プロセッサユニット
と共有バスの間にキャッシュ記憶装置が設置される時
は、図3に示すようにバス獲得ロジック202はキャッ
シュ記憶装置におかれ、キャッシュ記憶装置に接続され
たプロセッサユニットからプライオリティ情報レジスタ
204はアクセス可能である。
たバス獲得ロジック202を示す。プロセッサユニット
と共有バスの間にキャッシュ記憶装置が設置される時
は、図3に示すようにバス獲得ロジック202はキャッ
シュ記憶装置におかれ、キャッシュ記憶装置に接続され
たプロセッサユニットからプライオリティ情報レジスタ
204はアクセス可能である。
【0017】このような構成によりプライオリティ情報
の送出は、プロセッサユニット、あるいは、入出力装置
から行われる。図4に例えば、CPU0がバス確保をす
るときのタイミング図を示す。バスグラント信号は、共
有バスが使用されていない時は、Lレベルであり使用さ
れている間はHレベルとなる。バスリクエスト信号は、
バス使用リクエストが出されるとLレベルからHレベル
になる。
の送出は、プロセッサユニット、あるいは、入出力装置
から行われる。図4に例えば、CPU0がバス確保をす
るときのタイミング図を示す。バスグラント信号は、共
有バスが使用されていない時は、Lレベルであり使用さ
れている間はHレベルとなる。バスリクエスト信号は、
バス使用リクエストが出されるとLレベルからHレベル
になる。
【0018】図4でバスグラント信号は(a)の時、あ
るユニットがバスを使用しているのでHレベルにある。
このバス使用が終了し、バスが開放されている間は
(b)のLレベルとなる。この時CPU0がバスリクエ
スト信号を出すとする。CPU0のプライオリティ情報
−1は、バスリクエスト信号と同じタイミングで出され
る。バスグラント信号は、バスリクエストが受け付けら
れた時点(c)でHレベルとなり、バスリクエスト信号
は、Lレベルになりリクエスト要求とプライオリティ情
報−1の送出は停止される。バスグラント信号は、CP
U0が共有バスを使用している間はHレベルとなり、他
のユニットがバスリクエスト信号を出してもこの間は受
け付けない。CPU0が共有バスの使用を終了した時点
(e)で、バスグラント信号は、Lレベルとなり、他の
ユニットからのリクエスト信号を受け付けることができ
る。
るユニットがバスを使用しているのでHレベルにある。
このバス使用が終了し、バスが開放されている間は
(b)のLレベルとなる。この時CPU0がバスリクエ
スト信号を出すとする。CPU0のプライオリティ情報
−1は、バスリクエスト信号と同じタイミングで出され
る。バスグラント信号は、バスリクエストが受け付けら
れた時点(c)でHレベルとなり、バスリクエスト信号
は、Lレベルになりリクエスト要求とプライオリティ情
報−1の送出は停止される。バスグラント信号は、CP
U0が共有バスを使用している間はHレベルとなり、他
のユニットがバスリクエスト信号を出してもこの間は受
け付けない。CPU0が共有バスの使用を終了した時点
(e)で、バスグラント信号は、Lレベルとなり、他の
ユニットからのリクエスト信号を受け付けることができ
る。
【0019】次に、この実施例におけるバスアービター
の動作を図5のフローチャートを用いて説明する。ただ
し、当実施例においてプライオリティ情報は2ビットで
表現される0〜3の値で信号線2本で表現され、そのま
ま優先順位に対応しており0が最も高いとする。バスア
ービターがバスリクエスト信号を受けると、301で同
時に2つ以上のプロセッサユニット、あるいは、入出力
装置から使用要求があるかチェックする。もし、1つで
あれば305にとび、該ユニットを後に説明するラウン
ドロビンアルゴリズムのために内部レジスタに登録し、
該ユニットにバスグラント信号を送出する。もし2つ以
上のユニットからの使用要求があったら、302におい
てプライオリティ情報を比較し、優先順位の最も高いユ
ニットを選択する。プライオリティが同一である場合
は、302で1つを選択できず依然2つ以上のバス要求
が競合している。そこで、303で依然2つ以上の同一
プライオリティのユニットが競合しているかのチェック
をする。もしなければ、305の処理を行い終了する。
の動作を図5のフローチャートを用いて説明する。ただ
し、当実施例においてプライオリティ情報は2ビットで
表現される0〜3の値で信号線2本で表現され、そのま
ま優先順位に対応しており0が最も高いとする。バスア
ービターがバスリクエスト信号を受けると、301で同
時に2つ以上のプロセッサユニット、あるいは、入出力
装置から使用要求があるかチェックする。もし、1つで
あれば305にとび、該ユニットを後に説明するラウン
ドロビンアルゴリズムのために内部レジスタに登録し、
該ユニットにバスグラント信号を送出する。もし2つ以
上のユニットからの使用要求があったら、302におい
てプライオリティ情報を比較し、優先順位の最も高いユ
ニットを選択する。プライオリティが同一である場合
は、302で1つを選択できず依然2つ以上のバス要求
が競合している。そこで、303で依然2つ以上の同一
プライオリティのユニットが競合しているかのチェック
をする。もしなければ、305の処理を行い終了する。
【0020】同じプライオリティで2つ以上のバス獲得
要求が競合する時は、304においてラウンドロビン方
式によって、バス使用権を与えるユニットを決定する。
305の処理にあるように、バス獲得に成功したユニッ
トをバスアービターの内部レジスタに登録しておくこと
により、あらかじめ登録された環状順位に従って同一プ
ライオリティのもので前回のバス獲得に成功したユニッ
トに近いもの(前回バス獲得したユニットは含まない)
を選択し、処理305を実行して終了する。図6に示す
環状順位の例を用いてラウンドロビン方式を説明する。
CPU1が前回バス獲得に成功したユニットとして登録
されているとする。今回CPU3とI/Oが同じプライ
オリティで競合したとすると、前回のバス獲得に成功し
たユニットCPU1に近いCPU3が選択され処理30
5が実行され終了する。
要求が競合する時は、304においてラウンドロビン方
式によって、バス使用権を与えるユニットを決定する。
305の処理にあるように、バス獲得に成功したユニッ
トをバスアービターの内部レジスタに登録しておくこと
により、あらかじめ登録された環状順位に従って同一プ
ライオリティのもので前回のバス獲得に成功したユニッ
トに近いもの(前回バス獲得したユニットは含まない)
を選択し、処理305を実行して終了する。図6に示す
環状順位の例を用いてラウンドロビン方式を説明する。
CPU1が前回バス獲得に成功したユニットとして登録
されているとする。今回CPU3とI/Oが同じプライ
オリティで競合したとすると、前回のバス獲得に成功し
たユニットCPU1に近いCPU3が選択され処理30
5が実行され終了する。
【0021】以上のように本実施例では、バスに接続さ
れるユニット毎にプライオリティ情報の信号線を有し、
2つ以上のユニットからバス使用要求があった時は、各
々ユニットから該信号線に送出されるプライオリティ情
報によりバス調停を行うことを特徴とするバスアービト
レーション装置について述べた。
れるユニット毎にプライオリティ情報の信号線を有し、
2つ以上のユニットからバス使用要求があった時は、各
々ユニットから該信号線に送出されるプライオリティ情
報によりバス調停を行うことを特徴とするバスアービト
レーション装置について述べた。
【0022】実施例2.本実施例は、図1の構成におい
て、共有バスに対するバストランザクションにおいてア
クセスするアドレスをプライオリティ情報とするもので
ある。本共有バスのアドレス空間は32ビットで表現さ
れるが、図7、図8を用いてプライオリティ情報をアド
レスからどの部分を抽出し、また、どのように用いてい
るかを説明する。
て、共有バスに対するバストランザクションにおいてア
クセスするアドレスをプライオリティ情報とするもので
ある。本共有バスのアドレス空間は32ビットで表現さ
れるが、図7、図8を用いてプライオリティ情報をアド
レスからどの部分を抽出し、また、どのように用いてい
るかを説明する。
【0023】図7に示すように、本システムには16M
Bの主記憶装置が実装されており、0x0〜0x100
0000の空間にマップされている。また、0xfff
f0000以上の空間には、入出力装置のI/Oスペー
ス、実施例4で説明する、バスアービターのI/Oスペ
ースがマップされている。アクセスするアドレスをプラ
イオリティ情報とするにあたり、本実施例では16MB
を1MBずつの16に区分する。ただし、入出力装置、
バスアービターのI/Oスペースがマップされている0
xffff0000以上の空間に割り当てられる優先順
位は一律とする。図8には、32ビットで表現される共
有バス上の物理アドレスが示されている。プライオリテ
ィ情報生成用ビット402に示す20から23ビットの
4ビットで、主記憶装置上の16の区分が表現され、プ
ライオリティ情報生成用ビット401に示す24ビット
の1ビットで、主記憶上かI/Oスペースかが表現され
ている。この5ビットを抽出してプライオリティ情報と
して、各ユニットは信号線104に送出する。この場
合、信号線104は1つのユニットに対し5本線とな
る。
Bの主記憶装置が実装されており、0x0〜0x100
0000の空間にマップされている。また、0xfff
f0000以上の空間には、入出力装置のI/Oスペー
ス、実施例4で説明する、バスアービターのI/Oスペ
ースがマップされている。アクセスするアドレスをプラ
イオリティ情報とするにあたり、本実施例では16MB
を1MBずつの16に区分する。ただし、入出力装置、
バスアービターのI/Oスペースがマップされている0
xffff0000以上の空間に割り当てられる優先順
位は一律とする。図8には、32ビットで表現される共
有バス上の物理アドレスが示されている。プライオリテ
ィ情報生成用ビット402に示す20から23ビットの
4ビットで、主記憶装置上の16の区分が表現され、プ
ライオリティ情報生成用ビット401に示す24ビット
の1ビットで、主記憶上かI/Oスペースかが表現され
ている。この5ビットを抽出してプライオリティ情報と
して、各ユニットは信号線104に送出する。この場
合、信号線104は1つのユニットに対し5本線とな
る。
【0024】本実施例では、16に区分されたその区分
番号を即ち、20から23ビットの4ビットで与えられ
る番号ををのまま優先順位とする。アドレスの低い順又
は高い順のプライオリティと決め、0xffff000
0以上の空間に割り当てられる優先順位を0より前又は
15より後、又は0〜15の間の任意の位置にあらかじ
め決めておく。これにより、対応表を用いて優先順位を
決める後述の実施例に比べ、自由度はないが対応表によ
る変換がないのでより速いバスアービトレーションが行
える。
番号を即ち、20から23ビットの4ビットで与えられ
る番号ををのまま優先順位とする。アドレスの低い順又
は高い順のプライオリティと決め、0xffff000
0以上の空間に割り当てられる優先順位を0より前又は
15より後、又は0〜15の間の任意の位置にあらかじ
め決めておく。これにより、対応表を用いて優先順位を
決める後述の実施例に比べ、自由度はないが対応表によ
る変換がないのでより速いバスアービトレーションが行
える。
【0025】バスアービターではこの5ビットのプライ
オリティ情報を用いて実施例1の図5と同様の処理を行
う。
オリティ情報を用いて実施例1の図5と同様の処理を行
う。
【0026】次に、アクセスするアドレスをプライオリ
ティ情報とするということの意味を説明する。例えば、
Aプログラムは主記憶装置の1MB目を使用し、Bプロ
グラムは2〜3MB目を使用する。このように決めるこ
とにより、ソフトウェアにプライオリティを付与するこ
とを意味している。上記実施例では、ユニット毎に優先
順位が識別されたがアクセスするアドレスをプライオリ
ティとすれば、アプリケーションプログラム毎にどのユ
ニットを使うかによらず、優先順位を決めることができ
る。
ティ情報とするということの意味を説明する。例えば、
Aプログラムは主記憶装置の1MB目を使用し、Bプロ
グラムは2〜3MB目を使用する。このように決めるこ
とにより、ソフトウェアにプライオリティを付与するこ
とを意味している。上記実施例では、ユニット毎に優先
順位が識別されたがアクセスするアドレスをプライオリ
ティとすれば、アプリケーションプログラム毎にどのユ
ニットを使うかによらず、優先順位を決めることができ
る。
【0027】以上のように本実施例では、各々のユニッ
トがアクセスするアドレスを示す所定のビットをプライ
オリティ情報として送出し、この情報によりバス調停を
行うことを特徴とするバスアービトレーション装置につ
いて述べた。
トがアクセスするアドレスを示す所定のビットをプライ
オリティ情報として送出し、この情報によりバス調停を
行うことを特徴とするバスアービトレーション装置につ
いて述べた。
【0028】実施例3.本実施例は、前記実施例と同様
の構成であり、アクセスするアドレスをプライオリティ
情報としている。しかし、本実施例はバスアービターの
内部に図9に示す上記プライオリティ情報と優先順位の
対応表を持っている点が違っている。図9では、それぞ
れの領域に別個に0〜16までの優先順位が与えられて
いるが、同位の優先順位を複数の領域に与えても構わな
い。ただし、優先順位は0が最高位である。
の構成であり、アクセスするアドレスをプライオリティ
情報としている。しかし、本実施例はバスアービターの
内部に図9に示す上記プライオリティ情報と優先順位の
対応表を持っている点が違っている。図9では、それぞ
れの領域に別個に0〜16までの優先順位が与えられて
いるが、同位の優先順位を複数の領域に与えても構わな
い。ただし、優先順位は0が最高位である。
【0029】バスアービターは各ユニットがバストラン
ザクションにおいてアクセスするアドレスを元に、抽出
され送出されるプライオリティ情報をバスアービター内
に持つプライオリティ情報と優先順位の対応表を使って
比較し、最も優先順位の高いユニットを選出することに
より実施例1の図5における302に相当する処理を行
い、他は実施例1と同様に処理することにより、バスア
ービトレーションを行う。
ザクションにおいてアクセスするアドレスを元に、抽出
され送出されるプライオリティ情報をバスアービター内
に持つプライオリティ情報と優先順位の対応表を使って
比較し、最も優先順位の高いユニットを選出することに
より実施例1の図5における302に相当する処理を行
い、他は実施例1と同様に処理することにより、バスア
ービトレーションを行う。
【0030】以上のように本実施例は、各々ユニットが
アクセスするアドレスを構成する複数ビットの中から少
なくとも一部のビットをプライオリティ情報として送出
し、あらかじめ与えられた該アドレス情報に対応するア
ドレス領域の優先順位により、バス調停を行うことを特
徴とするバスアービトレーション装置について述べた。
アクセスするアドレスを構成する複数ビットの中から少
なくとも一部のビットをプライオリティ情報として送出
し、あらかじめ与えられた該アドレス情報に対応するア
ドレス領域の優先順位により、バス調停を行うことを特
徴とするバスアービトレーション装置について述べた。
【0031】実施例4.本実施例は図1に示すとおり、
バスアービター103は共有バス102に接続されてお
り、自身のレジスタ共有バス空間にマップしている。従
って、このレジスタにプロセッサユニットはアクセスす
ることができる。このレジスタは、プロセッサユニット
から見てライトオンリーとなっている。主記憶上には、
図10のように、図9のような対応表をあらかじめn種
類用意しておく。例えば、対応表2を新たな対応表とし
て使いたい場合、プロセッサユニットは、バスアービタ
ー103のレジスタに対応表2の物理アドレス200を
書込む。これにより、バスアービターはプロセッサユニ
ットが指定したアドレスにある対応表2を読み込み、更
新する。以降、更新された対応表に従って実施例2,3
と同様に動作する。
バスアービター103は共有バス102に接続されてお
り、自身のレジスタ共有バス空間にマップしている。従
って、このレジスタにプロセッサユニットはアクセスす
ることができる。このレジスタは、プロセッサユニット
から見てライトオンリーとなっている。主記憶上には、
図10のように、図9のような対応表をあらかじめn種
類用意しておく。例えば、対応表2を新たな対応表とし
て使いたい場合、プロセッサユニットは、バスアービタ
ー103のレジスタに対応表2の物理アドレス200を
書込む。これにより、バスアービターはプロセッサユニ
ットが指定したアドレスにある対応表2を読み込み、更
新する。以降、更新された対応表に従って実施例2,3
と同様に動作する。
【0032】このようにプロセッサユニットに書き込み
を行わせることによって、対応表をソフトウェアにより
更新することができるので、アプリケーションプログラ
ムに対する優先順位付けをより柔軟に行うことができ
る。
を行わせることによって、対応表をソフトウェアにより
更新することができるので、アプリケーションプログラ
ムに対する優先順位付けをより柔軟に行うことができ
る。
【0033】以上のように本実施例では、各々のユニッ
トから送出されるプライオリティ情報とその優先順位の
対応表をプロセッサユニットからの指示によりロードす
る手段を有することを特徴とするバスアービトレーショ
ン装置について述べた。
トから送出されるプライオリティ情報とその優先順位の
対応表をプロセッサユニットからの指示によりロードす
る手段を有することを特徴とするバスアービトレーショ
ン装置について述べた。
【0034】
【発明の効果】第1の発明によれば、バスアービトレー
ションにおける即時応答性の改善を、ソフトウェアによ
る制御により、図ることができる。
ションにおける即時応答性の改善を、ソフトウェアによ
る制御により、図ることができる。
【0035】第2の発明によれば、主記憶上のデータ配
置によって、バスアービトレーションにおける優先順位
の制御が可能であり、どのユニットを使うかに係わら
ず、アプリケーションプログラム毎に優先順位を付与す
ることが可能となる効果がある。
置によって、バスアービトレーションにおける優先順位
の制御が可能であり、どのユニットを使うかに係わら
ず、アプリケーションプログラム毎に優先順位を付与す
ることが可能となる効果がある。
【0036】第3の発明によれば、バスアービターが保
持する優先順位の対応表を、ソフトウェアによって更新
することが可能となるので、より柔軟なバスアービトレ
ーションにおける優先順位制御を可能とする効果があ
る。
持する優先順位の対応表を、ソフトウェアによって更新
することが可能となるので、より柔軟なバスアービトレ
ーションにおける優先順位制御を可能とする効果があ
る。
【図1】本発明における共有バス型マルチプロセッサ計
算機システムのブロック図。
算機システムのブロック図。
【図2】本発明における共有バスに接続されるユニット
のプライオリティ情報送出ロジックを示すブロック図。
のプライオリティ情報送出ロジックを示すブロック図。
【図3】本発明におけるキャッシュ記憶装置にバス獲得
ロジックが置かれた場合のブロック図。
ロジックが置かれた場合のブロック図。
【図4】本発明におけるバスグラント信号、バスリクエ
スト信号、プライオリティ情報の送出タイミング図。
スト信号、プライオリティ情報の送出タイミング図。
【図5】本発明におけるバスアービターの実行フローの
一例を示すフローチャート図。
一例を示すフローチャート図。
【図6】本発明におけるラウンドロビン方式を説明する
ための図。
ための図。
【図7】本発明におけるアドレス空間マップ図。
【図8】本発明における共有バス上の物理アドレスの構
成を示す図。
成を示す図。
【図9】本発明におけるバスアービターが保持するプラ
イオリティ情報と優先順位の対応表例を示す図。
イオリティ情報と優先順位の対応表例を示す図。
【図10】本発明における複数の対応表例とそれが格納
されている主記憶上のアドレスの例を示す図。
されている主記憶上のアドレスの例を示す図。
101 主記憶装置 102 共有バス 103 バスアービター 104 信号線 105 プロセッサユニット 106 入出力装置 200 キャッシュ記憶装置 202 バス獲得ロジック 203 内部バス 204 プライオリティ情報レジスタ 401 プライオリティ情報生成用ビット 402 プライオリティ情報生成用ビット
Claims (3)
- 【請求項1】 バスに接続されるユニット毎にプライオ
リティ情報の信号線を有し、2つ以上のユニットからバ
ス使用要求があった時は、各々のユニットから該信号線
に送出されるプライオリティ情報によりバス調停を行う
ことを特徴とするバスアービトレーション装置。 - 【請求項2】 上記バスアービトレーション装置の各々
のユニットはアクセスするアドレスを構成する複数ビッ
トの中から少なくとも一部のビットをプライオリティ情
報として送出し、該プライオリティ情報に対応する優先
順位によりバス調停を行うことを特徴とする請求項1記
載のバスアービトレーション装置。 - 【請求項3】 上記バスアービトレーション装置の各々
のユニットから送出されるプライオリティ情報とその優
先順位の対応表を記憶する手段と、上記対応表を変更す
る手段を有することを特徴とする請求項1又は2記載の
バスアービトレーション装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP27959293A JPH07134689A (ja) | 1993-11-09 | 1993-11-09 | バスアービトレーション装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP27959293A JPH07134689A (ja) | 1993-11-09 | 1993-11-09 | バスアービトレーション装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07134689A true JPH07134689A (ja) | 1995-05-23 |
Family
ID=17613139
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP27959293A Pending JPH07134689A (ja) | 1993-11-09 | 1993-11-09 | バスアービトレーション装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH07134689A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2013018230A1 (ja) * | 2011-08-04 | 2013-02-07 | 富士通株式会社 | データ処理システムおよびデータ処理方法 |
| US8694705B2 (en) | 2010-06-28 | 2014-04-08 | Renesas Electronics Corporation | Information processing device |
| JPWO2013018230A1 (ja) * | 2011-08-04 | 2015-03-05 | 富士通株式会社 | データ処理システムおよびデータ処理方法 |
| JP2018139120A (ja) * | 2018-04-11 | 2018-09-06 | 日立オートモティブシステムズ株式会社 | 情報処理システム |
-
1993
- 1993-11-09 JP JP27959293A patent/JPH07134689A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8694705B2 (en) | 2010-06-28 | 2014-04-08 | Renesas Electronics Corporation | Information processing device |
| WO2013018230A1 (ja) * | 2011-08-04 | 2013-02-07 | 富士通株式会社 | データ処理システムおよびデータ処理方法 |
| JPWO2013018230A1 (ja) * | 2011-08-04 | 2015-03-05 | 富士通株式会社 | データ処理システムおよびデータ処理方法 |
| JP2018139120A (ja) * | 2018-04-11 | 2018-09-06 | 日立オートモティブシステムズ株式会社 | 情報処理システム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4449183A (en) | Arbitration scheme for a multiported shared functional device for use in multiprocessing systems | |
| CA1218467A (en) | Arbitration mechanism for assigning control of a communications path in a digital computer system | |
| EP0381325B1 (en) | Synchronising and processing of memory access operations | |
| US5490253A (en) | Multiprocessor system using odd/even data buses with a timeshared address bus | |
| US6385678B2 (en) | Method and apparatus for bus arbitration with weighted bandwidth allocation | |
| US4536839A (en) | Memory request arbitrator | |
| EP0497600B1 (en) | Memory access method and apparatus | |
| US7533206B2 (en) | Resource management device | |
| US4661905A (en) | Bus-control mechanism | |
| EP0140751A2 (en) | Cache invalidation mechanism for multiprocessor systems | |
| JPH04260954A (ja) | アービトレーション・システム及び方法 | |
| JP2009508247A (ja) | バス調停に関する方法及びシステム | |
| JPH09231123A (ja) | データ完全性を維持するためのスピン・バッファおよび方法 | |
| EP0138676A2 (en) | Retry mechanism for releasing control of a communications path in a digital computer system | |
| JPH06324987A (ja) | データ処理方式 | |
| JP4531223B2 (ja) | 集合的メモリを共有する複数のプロセッサを備えたデータ処理装置 | |
| US5249297A (en) | Methods and apparatus for carrying out transactions in a computer system | |
| JPH0728758A (ja) | ダイナミックタイムループ調停及び装置 | |
| EP0139568B1 (en) | Message oriented interrupt mechanism for multiprocessor systems | |
| JPH07134689A (ja) | バスアービトレーション装置 | |
| US7299311B1 (en) | Apparatus and method for arbitrating for a resource group with programmable weights | |
| JP2003517681A (ja) | 共用資源アービトレーション方法及び装置 | |
| JP2806672B2 (ja) | ダイレクトメモリアクセス転送制御装置 | |
| JPH06195313A (ja) | コンピュータシステムおよびそれに適した集積回路並びに要求選択回路 | |
| JPH0210459A (ja) | バス使用権決定方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20011002 |