JP3124544B2 - バス制御装置 - Google Patents
バス制御装置Info
- Publication number
- JP3124544B2 JP3124544B2 JP02287313A JP28731390A JP3124544B2 JP 3124544 B2 JP3124544 B2 JP 3124544B2 JP 02287313 A JP02287313 A JP 02287313A JP 28731390 A JP28731390 A JP 28731390A JP 3124544 B2 JP3124544 B2 JP 3124544B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- data
- buses
- address
- allocated
- 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.)
- Expired - Fee Related
Links
Landscapes
- Multi Processors (AREA)
- Bus Control (AREA)
Description
【発明の詳細な説明】 [産業上の利用分野] 本発明は、複数のバスを共有するコンピユータシステ
ムにおけるバス制御装置に関し、特にバス使用の最適化
に関するものである。
ムにおけるバス制御装置に関し、特にバス使用の最適化
に関するものである。
[従来の技術] 従来、コンピユータシステムはバスを1組しか有しな
いものが普通である。しかしながら、バスが1組しか存
在しないようにすると、マルチプロセツサシステムのよ
うに、複数のモジユール単位がその1つのバスを共有す
るために、バスの転送能力が限界値に達し、システムの
高速性が阻害されるという欠点があつた。
いものが普通である。しかしながら、バスが1組しか存
在しないようにすると、マルチプロセツサシステムのよ
うに、複数のモジユール単位がその1つのバスを共有す
るために、バスの転送能力が限界値に達し、システムの
高速性が阻害されるという欠点があつた。
そのために、複数のバスを共有するシステムも提案さ
れている。この複数のバスを有するシステムにおいて
は、複数のバス使用要求に対し特定の固定のバスだけを
用いる方式や、バス使用要求を出力したモジユールが全
バスを獲得後に複数バスに転送を分割するというもので
ある。
れている。この複数のバスを有するシステムにおいて
は、複数のバス使用要求に対し特定の固定のバスだけを
用いる方式や、バス使用要求を出力したモジユールが全
バスを獲得後に複数バスに転送を分割するというもので
ある。
[発明が解決しようとしている課題] 上記複数バス方式のうち、固定的にバスが割り当てら
れる方式では、特定のバスに要求が集中したり、ほとん
ど使用されないバスが現れたりしてシステムの効率化が
阻害される可能性があるという欠点があつた。
れる方式では、特定のバスに要求が集中したり、ほとん
ど使用されないバスが現れたりしてシステムの効率化が
阻害される可能性があるという欠点があつた。
さらに、バス要求を出力したモジユールが全バスを獲
得後に複数バスに転送を分割する方式では、処理速度の
遅いモジユール間でのバス使用が開始されると、全バス
を必要時間以上に専有していまい、全システムとしての
高速性を阻害するという欠点があつた。
得後に複数バスに転送を分割する方式では、処理速度の
遅いモジユール間でのバス使用が開始されると、全バス
を必要時間以上に専有していまい、全システムとしての
高速性を阻害するという欠点があつた。
[課題を解決するための手段] 本発明の目的は、効率的なバス使用を実現するバス制
御装置を提案することにある。
御装置を提案することにある。
本発明のバス制御装置は、複数のデータリソースと、
これらのデータリソースのデータを要求する複数のデー
タリクエスタと、要求されたデータを載せる複数のバス
とを有するコンピュータシステムにおいて、前記複数の
データリソース中のデータを、該データに対応づけられ
たアドレスを指定することにより要求するデータリクエ
スタと、前記複数のデータリソースのアドレス空間を前
記複数のバスの数の部分空間に分割して、夫々の部分空
間を夫々のバスに割り当てた割り当てを記憶するバス割
り当て記憶手段と、前記データリクエスタからのデータ
要求に対して、前記バス割り当て記憶手段を参照して、
当該データ要求で指定されたアドレスに割り当てられた
バスを使用するように調停する調停手段と、前記複数の
バスの使用頻度をバス毎に計測する計測手段と、前記コ
ンピュータシステムの稼動中に、前記計測手段により計
測された各バスの使用頻度に基づいて、使用頻度の高い
バスに割り当てられた部分空間が使用頻度の低いバスに
割り当てられた部分空間より小さくなるように、前記バ
ス割り当て記憶手段に記憶された割り当てを動的に変更
する変更手段と、を設けたことを特徴とする。
これらのデータリソースのデータを要求する複数のデー
タリクエスタと、要求されたデータを載せる複数のバス
とを有するコンピュータシステムにおいて、前記複数の
データリソース中のデータを、該データに対応づけられ
たアドレスを指定することにより要求するデータリクエ
スタと、前記複数のデータリソースのアドレス空間を前
記複数のバスの数の部分空間に分割して、夫々の部分空
間を夫々のバスに割り当てた割り当てを記憶するバス割
り当て記憶手段と、前記データリクエスタからのデータ
要求に対して、前記バス割り当て記憶手段を参照して、
当該データ要求で指定されたアドレスに割り当てられた
バスを使用するように調停する調停手段と、前記複数の
バスの使用頻度をバス毎に計測する計測手段と、前記コ
ンピュータシステムの稼動中に、前記計測手段により計
測された各バスの使用頻度に基づいて、使用頻度の高い
バスに割り当てられた部分空間が使用頻度の低いバスに
割り当てられた部分空間より小さくなるように、前記バ
ス割り当て記憶手段に記憶された割り当てを動的に変更
する変更手段と、を設けたことを特徴とする。
かかるバス制御装置によれば、コンピュータシステム
の稼動中に、使用頻度の高いバスに割り当てられた部分
空間が使用頻度の低いバスに割り当てられた部分空間よ
り小さくなるように、記憶された割り当てを動的に変更
するようにしたので、各バスの使用頻度の偏りが解消さ
れ、各バスの利用状況の最適化を図ることができる。
の稼動中に、使用頻度の高いバスに割り当てられた部分
空間が使用頻度の低いバスに割り当てられた部分空間よ
り小さくなるように、記憶された割り当てを動的に変更
するようにしたので、各バスの使用頻度の偏りが解消さ
れ、各バスの利用状況の最適化を図ることができる。
[実施例] 以下添付図面を参照しながら、本発明に係る好適な実
施例を3挙げて説明する。
施例を3挙げて説明する。
〈第1実施例〉 第1図は、第1実施例の特徴を最もよく表す図面であ
り、同図における各部分は以下の通りである。
り、同図における各部分は以下の通りである。
本バスシステムは、2つのプロセサモジュール(PM1
とPM2)と2つのメモリモジュール(MM−1とMM−2)
とからなる。PM1は、後述のアービトレーシヨン部は除
いて、PM2と同じである。MM−1はMM−2と同様の構成
からなる。
とPM2)と2つのメモリモジュール(MM−1とMM−2)
とからなる。PM1は、後述のアービトレーシヨン部は除
いて、PM2と同じである。MM−1はMM−2と同様の構成
からなる。
上記4つのモジュールは2つのバスAとバスBとに接
続されている。PM1において、103はバスAを使用する場
合にイネーブルされるバツフアAであり、104はバスB
を使用する場合にイネーブルされるバツフアBである。
MM−1において、121はバスAは接続されるバツフアC
であり、122はバスBに接続されるバツフアDである。
また、メモリモジュールMM−2にも同じようなバツフア
が設けられているものとする。
続されている。PM1において、103はバスAを使用する場
合にイネーブルされるバツフアAであり、104はバスB
を使用する場合にイネーブルされるバツフアBである。
MM−1において、121はバスAは接続されるバツフアC
であり、122はバスBに接続されるバツフアDである。
また、メモリモジュールMM−2にも同じようなバツフア
が設けられているものとする。
上記2つのプロセサモジュールPM1とPM2とはメモリモ
ジュールMM−1とMM−2に対してデータを要求するデー
タリクエスタとなる。
ジュールMM−1とMM−2に対してデータを要求するデー
タリクエスタとなる。
105はバスAの使用回数をカウントするカウンタAで
あり、106はバスBの使用回数をカウントするカウンタ
Bである。カウンタAは、第2図のように、32ビツトの
カウンタ201とリードバツフア202とからなる。即ち、カ
ウンタAは、CPU−Aにより出力されるクリア信号でク
リアされ、バスA上のアドレスストローブ信号ASA/(こ
こで、/は負論理を示す)によってカウントアップされ
る。従って、カウンタAはバスAの使用回数を係数す
る。計数値は、リードバツフア202に対してCPU−Aがリ
ード信号を送ることによりCPU−Aにより読取られる。
カウンタBについてもその構成は同様である。
あり、106はバスBの使用回数をカウントするカウンタ
Bである。カウンタAは、第2図のように、32ビツトの
カウンタ201とリードバツフア202とからなる。即ち、カ
ウンタAは、CPU−Aにより出力されるクリア信号でク
リアされ、バスA上のアドレスストローブ信号ASA/(こ
こで、/は負論理を示す)によってカウントアップされ
る。従って、カウンタAはバスAの使用回数を係数す
る。計数値は、リードバツフア202に対してCPU−Aがリ
ード信号を送ることによりCPU−Aにより読取られる。
カウンタBについてもその構成は同様である。
PM1には2つのCPU(CPU−AとCPU−B)が設けられて
いる。このPM1において、本システムに課せられたある
ジヨブを実行するために、上記2つのバスにアクセスす
る主体のCPUはCPU−Bである。一方、CPU−Aは、本実
施例に係るところのバス制御を実行する主体である。10
8はCPU−Aが実行するバス制御のためのプログラムを格
納するROM−Aであり、109はCPU−Aのワークエリアと
なるRAM−Aである。また、110はCPU−Aに対し割り込
みをかけるインターバルタイマである。
いる。このPM1において、本システムに課せられたある
ジヨブを実行するために、上記2つのバスにアクセスす
る主体のCPUはCPU−Bである。一方、CPU−Aは、本実
施例に係るところのバス制御を実行する主体である。10
8はCPU−Aが実行するバス制御のためのプログラムを格
納するROM−Aであり、109はCPU−Aのワークエリアと
なるRAM−Aである。また、110はCPU−Aに対し割り込
みをかけるインターバルタイマである。
CPU−Bには、内部バス115を介してROM−BとI/O114
とが接続されている。ROM−BはCPU−Bの起動時に使用
される。I/O114はモジユール固有のI/Oである。
とが接続されている。ROM−BはCPU−Bの起動時に使用
される。I/O114はモジユール固有のI/Oである。
116は複数のモジユールから同時にバスAに使用要求
が出力されたときに調停を行うところのバスコントロー
ラアービタAであり、117はバスBに対して上記調停を
行なうバスコントローラアービタBである。アービタA
とアービタBは、後述のコンパレータ118の出力に基づ
いてバス調停を行なう。コンパレータ118は、CPU−Bが
内部バス115上に出力したアドレスをそのX端子に入力
し、CPU−Aがアドレスレジスタ111に格納したアドレス
をY端子に入力して、両者を比較する。即ち、Y>Xな
らば信号Y>Xを“1"とし、Y≦Xならば信号Y≦Xを
“1"とする。尚、前述アービタは、VMEバス等に用いら
れているものと同様の集中管理ラウンドロビン方式に従
って行なう。
が出力されたときに調停を行うところのバスコントロー
ラアービタAであり、117はバスBに対して上記調停を
行なうバスコントローラアービタBである。アービタA
とアービタBは、後述のコンパレータ118の出力に基づ
いてバス調停を行なう。コンパレータ118は、CPU−Bが
内部バス115上に出力したアドレスをそのX端子に入力
し、CPU−Aがアドレスレジスタ111に格納したアドレス
をY端子に入力して、両者を比較する。即ち、Y>Xな
らば信号Y>Xを“1"とし、Y≦Xならば信号Y≦Xを
“1"とする。尚、前述アービタは、VMEバス等に用いら
れているものと同様の集中管理ラウンドロビン方式に従
って行なう。
次に、メモリモジュール(MM)について説明する。MM
−1において、バツフアD,Cは夫々バスB,Aに接続されて
いる。123はバスコントローラアービタであり、その詳
細は第5図に示される。同図において、バスAからのア
ドレスストローブ信号ASAが入力されると、フリップフ
ロップ(F/F)503がリセットして、バスBからの要求を
保留する。この保留時間は、タイマ501によりセットさ
れ、MM内部の処理を終了させるのに必要な一定時間であ
る。タイマ501がタイムアウトすると、バスAにアクノ
レッジ信号を返すと同時に、F/F503はセットされ、バス
Bからの要求は受理可能となる。
−1において、バツフアD,Cは夫々バスB,Aに接続されて
いる。123はバスコントローラアービタであり、その詳
細は第5図に示される。同図において、バスAからのア
ドレスストローブ信号ASAが入力されると、フリップフ
ロップ(F/F)503がリセットして、バスBからの要求を
保留する。この保留時間は、タイマ501によりセットさ
れ、MM内部の処理を終了させるのに必要な一定時間であ
る。タイマ501がタイムアウトすると、バスAにアクノ
レッジ信号を返すと同時に、F/F503はセットされ、バス
Bからの要求は受理可能となる。
以上が、第1実施例のハードウエア構成の説明であ
る。次に、第1実施例の動作原理を説明する。
る。次に、第1実施例の動作原理を説明する。
第7図に示すように、PM−1のCPU−Bの全アドレス
空間は、00000000(H)からFFFFFFFF(H)まで達す
る。MM−1のRAM−Bは、PM1のCPU−Bを動作させるた
めのプログラム及びデータを格納する。RAM−Bの全デ
ータに対しては、アドレスが80000000(H)からFFFFFF
FF(H)まで割り当てられており、00000000(H)から
80000000(H)までのアドレス空間はプロセツサモジユ
ールのワークエリア(メモリマップI/O)とする。
空間は、00000000(H)からFFFFFFFF(H)まで達す
る。MM−1のRAM−Bは、PM1のCPU−Bを動作させるた
めのプログラム及びデータを格納する。RAM−Bの全デ
ータに対しては、アドレスが80000000(H)からFFFFFF
FF(H)まで割り当てられており、00000000(H)から
80000000(H)までのアドレス空間はプロセツサモジユ
ールのワークエリア(メモリマップI/O)とする。
第1実施例のバス制御の特徴は2つある。
:RAM−Bのデータは、そのアドレスに応じて、予めど
のバスを使用するかが決められている。即ち、第7図に
示すように、80000000(H)からFFFFFFFF(H)まで割
り当てられたRAM−Bのデータのうち、80000000(H)
からBFFFFFFFF(H)までのデータをCPU−Bが要求した
場合はバスBを使用し、C00000000(H)からFFFFFFFF
(H)までのデータをCPU−Bが要求した場合はバスA
を使用するというものである。即ち、RAM−Bのデータ
空間はバスの数だけの部分空間に分割されている。従っ
て、80000000(H)からBFFFFFFFF(H)までのいずれ
かの例えば10個のデータと、C00000000(H)からFFFFF
FFF(H)までのいずれかの例えば10個のデータとを、C
PU−Bが要求した場合にはバスA,Bは夫々10回ずつ使用
される。
のバスを使用するかが決められている。即ち、第7図に
示すように、80000000(H)からFFFFFFFF(H)まで割
り当てられたRAM−Bのデータのうち、80000000(H)
からBFFFFFFFF(H)までのデータをCPU−Bが要求した
場合はバスBを使用し、C00000000(H)からFFFFFFFF
(H)までのデータをCPU−Bが要求した場合はバスA
を使用するというものである。即ち、RAM−Bのデータ
空間はバスの数だけの部分空間に分割されている。従っ
て、80000000(H)からBFFFFFFFF(H)までのいずれ
かの例えば10個のデータと、C00000000(H)からFFFFF
FFF(H)までのいずれかの例えば10個のデータとを、C
PU−Bが要求した場合にはバスA,Bは夫々10回ずつ使用
される。
:更に、2つのバスA,Bに割り当てられた上記2つの
部分空間の大きさは、夫々のバス使用率に応じて変更さ
れる。即ち、バス−Bの使用率が高ければ、第7図のバ
スB領域の大きさは相対的に小さくなり、その結果、バ
スAに割り当てられたバスA領域は相対的に大きくな
る。反対に、バス−Aの使用率が高くなれば、第8図に
示すように、バスA領域の大きさは相対的に小さくな
り、その結果、バスBに割り当てられたバスB領域は相
対的に大きくなる。具体的に説明すると、第7図のよう
な分割状態の時点では、例えば、 C00000001(H) のデータはバスAを用いてCPU−Bに送られていた。し
かし、バス−Aが多く使用された結果、バスA領域が縮
小された結果、第8図に示すような分割状態になったと
すると、上記C00000001(H)のデータはバス−Bを用
いてCPU−Bに送られるようになる。
部分空間の大きさは、夫々のバス使用率に応じて変更さ
れる。即ち、バス−Bの使用率が高ければ、第7図のバ
スB領域の大きさは相対的に小さくなり、その結果、バ
スAに割り当てられたバスA領域は相対的に大きくな
る。反対に、バス−Aの使用率が高くなれば、第8図に
示すように、バスA領域の大きさは相対的に小さくな
り、その結果、バスBに割り当てられたバスB領域は相
対的に大きくなる。具体的に説明すると、第7図のよう
な分割状態の時点では、例えば、 C00000001(H) のデータはバスAを用いてCPU−Bに送られていた。し
かし、バス−Aが多く使用された結果、バスA領域が縮
小された結果、第8図に示すような分割状態になったと
すると、上記C00000001(H)のデータはバス−Bを用
いてCPU−Bに送られるようになる。
尚、第7図は、システムが電源投入された直後若しく
はリセットされた直後における空間分割状態を示すもの
である。即ち、電源投入直後若しくはリセット直後にお
いては、RAM−Bに対応する80000000(H)からFFFFFFF
F(H)までの部分空間は2分割される。そして、時間
の経過と共に、バスの使用状態に応じて、前記部分空間
の大きさは変化する。
はリセットされた直後における空間分割状態を示すもの
である。即ち、電源投入直後若しくはリセット直後にお
いては、RAM−Bに対応する80000000(H)からFFFFFFF
F(H)までの部分空間は2分割される。そして、時間
の経過と共に、バスの使用状態に応じて、前記部分空間
の大きさは変化する。
本実施例では、バスが2つ使用されているために、部
分空間の数は2つでよい。従って、その境界を示すポイ
ンタ(=PTR)(第7図の例では、C00000000)は1つで
よい。この境界を示すアドレスを保持するレジスタが第
1図のアドレスレジスタ111である。
分空間の数は2つでよい。従って、その境界を示すポイ
ンタ(=PTR)(第7図の例では、C00000000)は1つで
よい。この境界を示すアドレスを保持するレジスタが第
1図のアドレスレジスタ111である。
第6図は、このアドレスレジスタ111にセットされ
る、上記分割点ポインタPTRのCPU−Aによる更新制御手
順を示すフローチヤートであり、この更新制御手順は、
例えば、5ms毎に起動される。
る、上記分割点ポインタPTRのCPU−Aによる更新制御手
順を示すフローチヤートであり、この更新制御手順は、
例えば、5ms毎に起動される。
インターバルスタイマ110によって5msごとに割り込み
が行われると、CPU−Aは、ステツプS2において、105の
カウンタAによりバスAの使用回数(A)を得る。カウ
ンタAは第2図に関連して説明したように、CPU−Aの
クリア信号でクリアされ、バスA上のアドレスストロー
ブ信号によつてカウントアツプされる32ビツトカウンタ
である。次に、ステツプS4において、カウンタBにより
バスBの使用回数(B)を得る。ステツプS6では、読み
込んだカウンタAの値とカウンタBの値を比較する。A
>Bの場合は、ステツプS8において、 PTR=PTR+1000H として、バスB領域を拡張する、A<Bの場合は、 PTR=PTR−1000H として、バスA領域を拡張する。A=Bの場合はPTR値
はそのままとする。ステツプS14においては、この更新
したPTR値をアドレスレジスタ111に書込む。このレジス
タ111の更新は、CPU−Bがバスを使用していれば、バス
の使用終了後とする。ステツプS16では、カウンタA,Bを
クリアする。
が行われると、CPU−Aは、ステツプS2において、105の
カウンタAによりバスAの使用回数(A)を得る。カウ
ンタAは第2図に関連して説明したように、CPU−Aの
クリア信号でクリアされ、バスA上のアドレスストロー
ブ信号によつてカウントアツプされる32ビツトカウンタ
である。次に、ステツプS4において、カウンタBにより
バスBの使用回数(B)を得る。ステツプS6では、読み
込んだカウンタAの値とカウンタBの値を比較する。A
>Bの場合は、ステツプS8において、 PTR=PTR+1000H として、バスB領域を拡張する、A<Bの場合は、 PTR=PTR−1000H として、バスA領域を拡張する。A=Bの場合はPTR値
はそのままとする。ステツプS14においては、この更新
したPTR値をアドレスレジスタ111に書込む。このレジス
タ111の更新は、CPU−Bがバスを使用していれば、バス
の使用終了後とする。ステツプS16では、カウンタA,Bを
クリアする。
コンパレータ118のY端子には、アドレスレジスタ111
の前記分割点ポインタPTRが入力されている。一方、コ
ンパレータ118のX端子には、CPU−Bがメモリモジュー
ル1のRAM−Bから読もうとするデータアドレスが、800
00000(H)からFFFFFFFF(H)の範囲で与えられる。
コンパレータ118からは、RAM−Bのデータアドレス
(X)と上記PTR(Y)とが比較され、それらの大小に
応じて信号(Y>X)=1若しくは(Y≦X)=1が出
力される。
の前記分割点ポインタPTRが入力されている。一方、コ
ンパレータ118のX端子には、CPU−Bがメモリモジュー
ル1のRAM−Bから読もうとするデータアドレスが、800
00000(H)からFFFFFFFF(H)の範囲で与えられる。
コンパレータ118からは、RAM−Bのデータアドレス
(X)と上記PTR(Y)とが比較され、それらの大小に
応じて信号(Y>X)=1若しくは(Y≦X)=1が出
力される。
CPU−Bから出力される、RAM−Bのデータアドレス値
は内部バス115を介して、バツフア−Aとバツフア−B
に送られる。バスコントローラアービタ116,117は、前
記信号(Y≦X)=1若しくは(Y>X)=1を入力す
ると共に、バスA,Bのビジー状態を示すビジー信号をも
入力する。もし、(Y>X)=1で、バスBがビジーで
ないならば、アービタ117は付勢信号をバツフアBだけ
に送る。こうして、CPU−BのRAM−Bに対するデータ要
求は、結局、内部バス115上のアドレス値と分割点ポイ
ンタPTRの大小に応じて、バスA,Bが使い分けられる。
は内部バス115を介して、バツフア−Aとバツフア−B
に送られる。バスコントローラアービタ116,117は、前
記信号(Y≦X)=1若しくは(Y>X)=1を入力す
ると共に、バスA,Bのビジー状態を示すビジー信号をも
入力する。もし、(Y>X)=1で、バスBがビジーで
ないならば、アービタ117は付勢信号をバツフアBだけ
に送る。こうして、CPU−BのRAM−Bに対するデータ要
求は、結局、内部バス115上のアドレス値と分割点ポイ
ンタPTRの大小に応じて、バスA,Bが使い分けられる。
前述したように、カウンタA,カウンタBは夫々、バス
A,バスBの使用頻度を計数している。この使用頻度は、
PM1,PM2の両者による使用を含む。例えば、ある5ms間
に、PM1がバスAを100回、バスBを900回使用し、PM2が
バスAを900回、バスBを100回使用したとする。カウン
タA,Bには、夫々、計数値“1000"が格納される。これら
の計数値の意味するところは、PM1はバスBを極端に多
く使用し、PM2は極端にバスAを使用することとなる。
しかし、システム全体で見れば、バスA,Bは均等し使用
されている。従って、たとえPM1はバスBを極端に多く
使用しているものであっても、PM2がバスAを補完して
使用しているので、PM1のCPU−Aはポインタ値PTRを変
更する必要はない。具体的には、カウンタA,Bには夫
々、計数値“1000"が格納され、A=B(ステツプS10)
であるから、PTRの更新はない。換言すれば、PM1がバス
Bを偏重する状態が続いても、PM2によるバス使用はバ
スA上に確保されるのである。
A,バスBの使用頻度を計数している。この使用頻度は、
PM1,PM2の両者による使用を含む。例えば、ある5ms間
に、PM1がバスAを100回、バスBを900回使用し、PM2が
バスAを900回、バスBを100回使用したとする。カウン
タA,Bには、夫々、計数値“1000"が格納される。これら
の計数値の意味するところは、PM1はバスBを極端に多
く使用し、PM2は極端にバスAを使用することとなる。
しかし、システム全体で見れば、バスA,Bは均等し使用
されている。従って、たとえPM1はバスBを極端に多く
使用しているものであっても、PM2がバスAを補完して
使用しているので、PM1のCPU−Aはポインタ値PTRを変
更する必要はない。具体的には、カウンタA,Bには夫
々、計数値“1000"が格納され、A=B(ステツプS10)
であるから、PTRの更新はない。換言すれば、PM1がバス
Bを偏重する状態が続いても、PM2によるバス使用はバ
スA上に確保されるのである。
本実施例のバス制御方法は、上記,で説明したよ
うに、データ処理(プロセサモジュール)側が要求する
データメモリのデータ空間を、バスの数だけに分割し、
分割された部分空間と使用バスとを対応させるというも
のである。一方、従来技術の項でも説明したように、複
数バス方式では、種々の調停方法が採用されている。例
えば、複数のバスをプロセサモジュール毎に、あるいは
メモリモジュール毎に固定的に割り当てるというもので
あった。しかし、データリクエスタとしてのプロセサモ
ジュールが複数存在する場合には、個々のプロセサモジ
ュールにおける処理は独立しているので、上記プロセサ
モジュール単位の割り当てでは、ビジーなPM(あるい
は、MM)に割り当てられたバスは常にビジーとなり、暇
なPM(あるいは、MM)に割り当てられたバスは常に暇と
なる。
うに、データ処理(プロセサモジュール)側が要求する
データメモリのデータ空間を、バスの数だけに分割し、
分割された部分空間と使用バスとを対応させるというも
のである。一方、従来技術の項でも説明したように、複
数バス方式では、種々の調停方法が採用されている。例
えば、複数のバスをプロセサモジュール毎に、あるいは
メモリモジュール毎に固定的に割り当てるというもので
あった。しかし、データリクエスタとしてのプロセサモ
ジュールが複数存在する場合には、個々のプロセサモジ
ュールにおける処理は独立しているので、上記プロセサ
モジュール単位の割り当てでは、ビジーなPM(あるい
は、MM)に割り当てられたバスは常にビジーとなり、暇
なPM(あるいは、MM)に割り当てられたバスは常に暇と
なる。
このような従来方式に比して、第1図のシステムで
は、特定のPMによる特定のバス使用ではなく、全てのバ
スの全PMによる使用頻度を、1つの特定のPM(第1図の
例では、PM1)において調べている。そして、さらに、
共有されるデータリソースとしてのメモリモジュールの
データ空間を、バス毎に部分空間に分割すると共に、そ
の部分空間の大きさを上記使用頻度を反映するように、
上記1つの特定のPMにおいて変更している。従って、こ
の1つの特定のPM(第1図の例では、PM1)だけが、上
記部分空間の大きさに応じたバスの使い分けを行なえ
ば、他のPMには最適に空いたバスが確保されることが保
証されると共に、システム全体では、全バスが均等に使
用されるという効果が得られる。
は、特定のPMによる特定のバス使用ではなく、全てのバ
スの全PMによる使用頻度を、1つの特定のPM(第1図の
例では、PM1)において調べている。そして、さらに、
共有されるデータリソースとしてのメモリモジュールの
データ空間を、バス毎に部分空間に分割すると共に、そ
の部分空間の大きさを上記使用頻度を反映するように、
上記1つの特定のPMにおいて変更している。従って、こ
の1つの特定のPM(第1図の例では、PM1)だけが、上
記部分空間の大きさに応じたバスの使い分けを行なえ
ば、他のPMには最適に空いたバスが確保されることが保
証されると共に、システム全体では、全バスが均等に使
用されるという効果が得られる。
〈第2実施例〉 上記第1実施例の固有の効果としてインターバルタイ
マの周期を変化させることにより可変周期のバスの使用
率を測定できる点が上げられる。
マの周期を変化させることにより可変周期のバスの使用
率を測定できる点が上げられる。
第9図は第2実施例の特徴を最もよく表す図であり、
同図における各部品の構成はインターバルタイマが用い
られない点を除けば、第1図における各部品の構成と同
様である。
同図における各部品の構成はインターバルタイマが用い
られない点を除けば、第1図における各部品の構成と同
様である。
第2実施例においては、インターバルタイマを使用す
る代りに、CPU−AがROM−Aに格納されているプログラ
ムを用いて、常時バスAおよびバスBの使用率をチエツ
クする。このために、第1図のインタバルタイマは第2
実施例においては不要となる。
る代りに、CPU−AがROM−Aに格納されているプログラ
ムを用いて、常時バスAおよびバスBの使用率をチエツ
クする。このために、第1図のインタバルタイマは第2
実施例においては不要となる。
CPU−Aによるバス使用率の測定のフローチヤートを
第10図に示す。
第10図に示す。
まず、ステツプS20において、カウンタAからバスA
の使用回数(A)を読み込む。ステツプS22で、A<100
0の場合はAが1000より大きくなるまで、カウンタAか
らバスAの使用率を読み込み続ける。ステツプS22でA
が1000以上になると、カウンタBからバスBの使用回数
(B)を読み込む。ここで、AとBの値を比較する。以
下の処理は、第1実施例と同様となる。
の使用回数(A)を読み込む。ステツプS22で、A<100
0の場合はAが1000より大きくなるまで、カウンタAか
らバスAの使用率を読み込み続ける。ステツプS22でA
が1000以上になると、カウンタBからバスBの使用回数
(B)を読み込む。ここで、AとBの値を比較する。以
下の処理は、第1実施例と同様となる。
本実施例の固有の効果として、インターバルタイマを
用いないためシステム構成を安価に行うことができる点
が上げられる。
用いないためシステム構成を安価に行うことができる点
が上げられる。
〈第3実施例〉 第11図は第3実施例の特徴を最もよく表す図面であ
る。第3実施例におけるカウンタA以外の各部品の構成
は第2実施例と同様である。
る。第3実施例におけるカウンタA以外の各部品の構成
は第2実施例と同様である。
第11図に示されるように、カウンタAにあらかじめバ
スAの設定使用回数をスイツチ1101によつて設定してお
く。バスAの使用回数が設定使用回数に達すると割り込
みが起こり、CPU−Aによつて、第12図に示される処理
が行なわれる。
スAの設定使用回数をスイツチ1101によつて設定してお
く。バスAの使用回数が設定使用回数に達すると割り込
みが起こり、CPU−Aによつて、第12図に示される処理
が行なわれる。
すなわち、まずカウンタBからバスBの使用回路
(B)を読み込み、設定値と比較する。Bが設定値より
も大きければ、コンパレートアドレス値に1000Hを足
す。それ以外の場合、バスAの使用回数AとバスBの使
用回数Bを比較する。A=Bの場合はコンパレートアド
レス値はそのままとし、A=Bでない場合はコンパレー
トアドレス値から1000Hを引いてアドレスレジスタに書
き込む。
(B)を読み込み、設定値と比較する。Bが設定値より
も大きければ、コンパレートアドレス値に1000Hを足
す。それ以外の場合、バスAの使用回数AとバスBの使
用回数Bを比較する。A=Bの場合はコンパレートアド
レス値はそのままとし、A=Bでない場合はコンパレー
トアドレス値から1000Hを引いてアドレスレジスタに書
き込む。
以下の処理は第2実施例と同様である。
第3実施例の固有の効果として、バス使用回数が絶対
的に少ない場合にCPU−Aの処理が軽くなる点が上げら
れる。
的に少ない場合にCPU−Aの処理が軽くなる点が上げら
れる。
〈変形例〉 本発明は、更に種々変形が可能である。
例えば、上記実施例では、バスの数は2つであった
が、本発明においては、その数は2に限定されない。例
えば、バスが3本になれば、部分空間の数は3つにな
る。
が、本発明においては、その数は2に限定されない。例
えば、バスが3本になれば、部分空間の数は3つにな
る。
また、上記実施例では、PMの数は2つであったが、本
発明においては、その数は2に限定されない。例えば、
PMの数が3つになった場合でも、PM1に前述のアドレス
レジスタ111やカウンタ105,106やコンパレータ118を設
け、他のPM2,PM3には、通常のバスアービタを設ける。
発明においては、その数は2に限定されない。例えば、
PMの数が3つになった場合でも、PM1に前述のアドレス
レジスタ111やカウンタ105,106やコンパレータ118を設
け、他のPM2,PM3には、通常のバスアービタを設ける。
[発明の効果] 以上説明したように、本発明のバス制御装置は、複数
のデータリソースと、これらのデータリソースのデータ
を要求する複数のデータリクエスタと、要求されたデー
タを載せる複数のバスとを有するコンピュータシステム
において、前記複数のデータリソース中のデータを、該
データに対応づけられたアドレスを指定することにより
要求するデータリクエスタと、前記複数のデータリソー
スのアドレス空間を前記複数のバスの数の部分空間に分
割して、夫々の部分空間を夫々のバスに割り当てた割り
当てを記憶するバス割り当て記憶手段と、前記データリ
クエスタからのデータ要求に対して、前記バス割り当て
記憶手段を参照して、当該データ要求で指定されたアド
レスに割り当てられたバスを使用するように調停する調
停手段と、前記複数のバスの使用頻度をバス毎に計測す
る計測手段と、前記コンピュータシステムの稼動中に、
前記計測手段により計測された各バスの使用頻度に基づ
いて、使用頻度の高いバスに割り当てられた部分空間が
使用頻度の低いバスに割り当てられた部分空間より小さ
くなるように、前記バス割り当て記憶手段に記憶された
割り当てを動的に変更する変更手段とを設けたことを特
徴とする。
のデータリソースと、これらのデータリソースのデータ
を要求する複数のデータリクエスタと、要求されたデー
タを載せる複数のバスとを有するコンピュータシステム
において、前記複数のデータリソース中のデータを、該
データに対応づけられたアドレスを指定することにより
要求するデータリクエスタと、前記複数のデータリソー
スのアドレス空間を前記複数のバスの数の部分空間に分
割して、夫々の部分空間を夫々のバスに割り当てた割り
当てを記憶するバス割り当て記憶手段と、前記データリ
クエスタからのデータ要求に対して、前記バス割り当て
記憶手段を参照して、当該データ要求で指定されたアド
レスに割り当てられたバスを使用するように調停する調
停手段と、前記複数のバスの使用頻度をバス毎に計測す
る計測手段と、前記コンピュータシステムの稼動中に、
前記計測手段により計測された各バスの使用頻度に基づ
いて、使用頻度の高いバスに割り当てられた部分空間が
使用頻度の低いバスに割り当てられた部分空間より小さ
くなるように、前記バス割り当て記憶手段に記憶された
割り当てを動的に変更する変更手段とを設けたことを特
徴とする。
かかるバス制御装置によれば、コンピュータシステム
の稼動中に、使用頻度の高いバスに割り当てられた部分
空間が使用頻度の低いバスに割り当てられた部分空間よ
り小さくなるように、記憶された割り当てを動的に変更
するようにしたので、各バスの使用頻度の偏りが解消さ
れ、各バスの利用状況の最適化を図ることができる。
の稼動中に、使用頻度の高いバスに割り当てられた部分
空間が使用頻度の低いバスに割り当てられた部分空間よ
り小さくなるように、記憶された割り当てを動的に変更
するようにしたので、各バスの使用頻度の偏りが解消さ
れ、各バスの利用状況の最適化を図ることができる。
また、複数のバスマスタが存在し、複数のスレーブと
バスを用いてアクセスを行うシステムにおいては、高い
並列性を保持できるという効果がある。
バスを用いてアクセスを行うシステムにおいては、高い
並列性を保持できるという効果がある。
第1図は第1実施例の制御方式の特徴を最もよく表わす
図、 第2図はバス使用回数を計数するカウンタを表わす図、 第3図はバツフアAの1部分を表わす図、 第4図は分割点ポインタを保持するアドレスレジスタを
表わす図、 第5図はバスコントローラアービタを表わす図、 第6図は第1実施例におけるCPU−Aの処理のフローチ
ヤートを表わす図、 第7図は初期状態のメモリマツプを表わす図、 第8図は分割点ポインタの更新を1回行つた後のメモリ
マツプを表わす図、 第9図は第2実施例を示す図、 第10図は第2実施例におけるCPU−Aの処理のフローチ
ヤートを表わす図、 第11図は第3実施例におけるカウンタを表わす図、 第12図は第3実施例におけるCPU−Aの処理のフローチ
ヤートを表わす図である。 図中、101、102……バス、103、104……バツフア、10
5、106……カウンタ、107……CPU−A、108……ROM−
A、109……RAM−A、110……インターバルタイマ、111
……アドレスレジスタ、112……CPU−B、113……ROM−
B、114……モジユール固有のI/O、115……モジユール
固有の内部バス、116、117……バスコントローラアービ
タ、118……コンパレータ、119、120……プロセツサモ
ジユール、121、122……バツフア、123……バスコント
ローラアービタ、124……RAM−B、125、126……メモリ
モジユールである。
図、 第2図はバス使用回数を計数するカウンタを表わす図、 第3図はバツフアAの1部分を表わす図、 第4図は分割点ポインタを保持するアドレスレジスタを
表わす図、 第5図はバスコントローラアービタを表わす図、 第6図は第1実施例におけるCPU−Aの処理のフローチ
ヤートを表わす図、 第7図は初期状態のメモリマツプを表わす図、 第8図は分割点ポインタの更新を1回行つた後のメモリ
マツプを表わす図、 第9図は第2実施例を示す図、 第10図は第2実施例におけるCPU−Aの処理のフローチ
ヤートを表わす図、 第11図は第3実施例におけるカウンタを表わす図、 第12図は第3実施例におけるCPU−Aの処理のフローチ
ヤートを表わす図である。 図中、101、102……バス、103、104……バツフア、10
5、106……カウンタ、107……CPU−A、108……ROM−
A、109……RAM−A、110……インターバルタイマ、111
……アドレスレジスタ、112……CPU−B、113……ROM−
B、114……モジユール固有のI/O、115……モジユール
固有の内部バス、116、117……バスコントローラアービ
タ、118……コンパレータ、119、120……プロセツサモ
ジユール、121、122……バツフア、123……バスコント
ローラアービタ、124……RAM−B、125、126……メモリ
モジユールである。
フロントページの続き (56)参考文献 特開 昭61−292759(JP,A) 特開 昭62−120565(JP,A) 特開 昭55−217654(JP,A) 特開 昭63−159971(JP,A) 特開 平2−64841(JP,A) 特開 昭60−247763(JP,A) 特開 昭59−139464(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/00,12/02,13/16 G06F 13/36,13/362,15/16
Claims (6)
- 【請求項1】複数のデータリソースと、これらのデータ
リソースのデータを要求する複数のデータリクエスタ
と、要求されたデータを載せる複数のバスとを有するコ
ンピュータシステムにおいて、 前記複数のデータリソース中のデータを、該データに対
応づけられたアドレスを指定することにより要求するデ
ータリクエスタと、 前記複数のデータリソースのアドレス空間を前記複数の
バスの数の部分空間に分割して、夫々の部分空間を夫々
のバスに割り当てた割り当てを記憶するバス割り当て記
憶手段と、 前記データリクエスタからのデータ要求に対して、前記
バス割り当て記憶手段を参照して、当該データ要求で指
定されたアドレスに割り当てられたバスを使用するよう
に調停する調停手段と、 前記複数のバスの使用頻度をバス毎に計測する計測手段
と、 前記コンピュータシステムの稼動中に、前記計測手段に
より計測された各バスの使用頻度に基づいて、使用頻度
の高いバスに割り当てられた部分空間が使用頻度の低い
バスに割り当てられた部分空間より小さくなるように、
前記バス割り当て記憶手段に記憶された割り当てを動的
に変更する変更手段と、 を設けたことを特徴とするバス制御装置。 - 【請求項2】前記バスの数は2本であり、前記バス割り
当て記憶手段が前記アドレス空間を2つの部分空間に分
割する分割点となるアドレスを記憶し、前記調停手段が
当該分割点となるアドレスと前記データ要求で指定され
たアドレスとを比較して、当該データ要求で指定された
アドレスに割り当てられたバスを使用するように調停す
ることを特徴とする請求項1記載のバス制御装置。 - 【請求項3】所定時間を計時する計時手段を有し、当該
所定時間が経過する毎に、前記変更手段を起動すること
を特徴とする請求項1記載のバス制御装置。 - 【請求項4】前記計測手段が各バスの使用頻度として、
前記変更手段による最新の変更後の各バスの使用回数を
計測することを特徴とする請求項1記載のバス制御装
置。 - 【請求項5】前記計測手段により計測される特定のバス
の使用回数を所定回数と比較する比較手段と、 該比較手段の比較結果において、前記特定のバスの使用
回数が前記所定回数に達した場合に、前記変更手段を起
動することを特徴とする請求項4記載のバス制御装置。 - 【請求項6】前記複数のバスは2本であり、前記変更手
段は、前記特定のバスとは異なるバスの使用回数と前記
所定回数との大小関係に基づいて、当該バスの使用回数
の方が大きければ当該バスに割り当てられた部分空間が
小さくなるように、当該バスの使用回数の方が小さけれ
ば当該バスに割り当てられた部分空間が大きくなるよう
に、前記バス割り当て記憶手段に記憶された割り当てを
変更することを特徴とする請求項5記載のバス制御装
置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02287313A JP3124544B2 (ja) | 1990-10-26 | 1990-10-26 | バス制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02287313A JP3124544B2 (ja) | 1990-10-26 | 1990-10-26 | バス制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04162166A JPH04162166A (ja) | 1992-06-05 |
JP3124544B2 true JP3124544B2 (ja) | 2001-01-15 |
Family
ID=17715751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP02287313A Expired - Fee Related JP3124544B2 (ja) | 1990-10-26 | 1990-10-26 | バス制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3124544B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8380940B2 (en) * | 2010-06-25 | 2013-02-19 | Qualcomm Incorporated | Multi-channel multi-port memory |
JP5333467B2 (ja) * | 2011-01-25 | 2013-11-06 | 日本電気株式会社 | データ転送制御装置、データ転送制御方法およびプログラム |
-
1990
- 1990-10-26 JP JP02287313A patent/JP3124544B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH04162166A (ja) | 1992-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5168568A (en) | Delaying arbitration of bus access in digital computers | |
EP0581335B1 (en) | Data processing system having units competing for access to shared resources and arbitration unit responsive to the status of the shared resources | |
US6820152B2 (en) | Memory control device and LSI | |
JPH028948A (ja) | コンピュータ装置において資源へのアクセスを制御する方法および装置 | |
US5935234A (en) | Method and system for controlling access to a shared resource in a data processing system utilizing pseudo-random priorities | |
JPS5812611B2 (ja) | デ−タテンソウセイギヨホウシキ | |
EP0443557B1 (en) | Interrupt controller capable of realizing interrupt nesting function | |
US5528766A (en) | Multiple arbitration scheme | |
KR20070114179A (ko) | 고주파수 중재자를 통해 사이클마다 복수의 버스 중재를수행하는 스위치 매트릭스 시스템 | |
US20040059879A1 (en) | Access priority protocol for computer system | |
JPH08255126A (ja) | バスアクセス調停システムおよびバスアクセスを認める方法 | |
US9830195B2 (en) | Apparatus and method for controlling execution of processes in a parallel computing system | |
US5649209A (en) | Bus coupling information processing system for multiple access to system bus | |
US6212589B1 (en) | System resource arbitration mechanism for a host bridge | |
US5931924A (en) | Method and system for controlling access to a shared resource that each requestor is concurrently assigned at least two pseudo-random priority weights | |
US6442632B1 (en) | System resource arbitration mechanism for a host bridge | |
JP3124544B2 (ja) | バス制御装置 | |
JP3766377B2 (ja) | バス制御装置及び情報処理システム | |
JP5677007B2 (ja) | バス調停装置、バス調停方法 | |
EP0507954B1 (en) | Device for controlling bus | |
JPH0696014A (ja) | バス使用優先順位制御装置 | |
JP4151362B2 (ja) | バス調停方式、データ転送装置、及びバス調停方法 | |
JP2003016024A (ja) | メモリ制御装置及びlsi | |
JP2823663B2 (ja) | マルチプロセッサシステム | |
JP5111940B2 (ja) | 情報処理装置及びアクセス制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071027 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081027 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091027 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |